own CVS tree will help minimize CVS conflicts. Maybe not.
Blame Graff for getting me to trim all trailing whitespace.
* Shorten timeouts to match v8's behavior
344. [bug] When shutting down, lwresd sometimes tried
- to shut down its client tasks twice,
+ to shut down its client tasks twice,
triggering an assertion.
343. [bug] Although zone maintenance SOA queries and
dns_name_dup() when generating a TSIG
key using TKEY.
- 341. [func] Support 'key' clause in named.conf zone masters
+ 341. [func] Support 'key' clause in named.conf zone masters
statement:
- masters {
+ masters {
10.0.0.1 port 666 key "foo";
10.0.0.2 ;
};
response after a number of retransmissions.
This is to allow queries some chance of succeeding
even if all the authoritative servers of a zone
- silently discard EDNS0 requests instead of
+ silently discard EDNS0 requests instead of
sending an error response like they ought to.
323. [bug] dns_rbt_findname() did not ignore empty rbt nodes.
- Because of this, servers authoritative for a parent
+ Because of this, servers authoritative for a parent
and grandchild zone but not authoritative for the
intervening child zone did not correctly issue
referrals to the servers of the child zone.
- 322. [bug] Queries for KEY RRs are now sent to the parent
+ 322. [bug] Queries for KEY RRs are now sent to the parent
server before the authoritative one, making
DNSSEC insecurity proofs work in many cases
where they previously didn't.
315. [bug] Handle non-empty blanks lines. (RT #163)
- 314. [func] The named.conf controls statement can now have
+ 314. [func] The named.conf controls statement can now have
more than one key specified for the inet clause.
313. [bug] When parsing resolv.conf, don't terminate on an
- allow "port xxx" to be left out of statement,
in which case it defaults to omapi's default port
of 953.
-
+
309. [bug] When sending a referral, the server did not look
for name server addresses as glue in the zone
holding the NS RRset in the case where this zone
306. [bug] Reading HMAC-MD5 private key files didn't work.
- 305. [bug] When reloading the server with a config file
+ 305. [bug] When reloading the server with a config file
containing a syntax error, it could catch an
assertion failure trying to perform zone
maintenance on tentatively created zones whose
303. [bug] Add additional sanity checks to differentiate a AXFR
response vs a IXFR response. (RT #157)
- 302. [bug] In dig, host, and nslookup, MXNAME should be large
+ 302. [bug] In dig, host, and nslookup, MXNAME should be large
enough to hold any legal domain name in presentation
format + terminating NULL.
disabled until named supports the "controls" statement,
post-9.0.0.
- 286. [bug] On Solaris 2, when named inherited a signal state
+ 286. [bug] On Solaris 2, when named inherited a signal state
where SIGHUP had the SIG_IGN action, SIGHUP would
be ignored rather than causing the server to reload
its configuration.
283. [cleanup] The 'lwresd' program is now a link to 'named'.
- 282. [bug] The lexer now returns ISC_R_RANGE if parsed integer is
+ 282. [bug] The lexer now returns ISC_R_RANGE if parsed integer is
too big for an unsigned long.
281. [bug] Fixed list of recognized config file category names.
276. [bug] dig now supports maximum sized TCP messages.
- 275. [bug] The definition of lwres_gai_strerror() was missing
+ 275. [bug] The definition of lwres_gai_strerror() was missing
the lwres_ prefix.
274. [bug] TSIG AXFR verify failed when talking to a BIND 8
failure by causing clone_results() to be called with
with hevent->node == NULL.
- 268. [doc] A plain text version of the Administrator
+ 268. [doc] A plain text version of the Administrator
Reference Manual is now included in the distribution,
as doc/arm/Bv9ARM.txt.
237. [bug] If connect() returned ENOBUFS when the resolver was
initiating a TCP query, the socket didn't get
- destroyed, and the server did not shut down cleanly.
+ destroyed, and the server did not shut down cleanly.
236. [func] Added new listen-on-v6 config file statement.
- 235. [func] Consider it a config file error if a listen-on
- statement has an IPv6 address in it, or a
+ 235. [func] Consider it a config file error if a listen-on
+ statement has an IPv6 address in it, or a
listen-on-v6 statement has an IPv4 address in it.
-
+
234. [bug] Allow a trusted-key's first field (domain-name) be
either a quoted or an unquoted string, instead of
requiring a quoted string.
230. [func] Replace the dst sign/verify API with a cleaner one.
- 229. [func] Support config file sig-validity-interval statement
- in options, views and zone statements (master
+ 229. [func] Support config file sig-validity-interval statement
+ in options, views and zone statements (master
zones only).
- 228. [cleanup] Logging messages in config module stripped of
+ 228. [cleanup] Logging messages in config module stripped of
trailing period.
227. [cleanup] The enumerated identifiers dns_rdataclass_*,
217. [func] Also-notify and trusted-keys can now be used in
the 'view' statement.
- 216. [func] The 'max-cache-ttl' and 'max-ncache-ttl' options
+ 216. [func] The 'max-cache-ttl' and 'max-ncache-ttl' options
now work.
215. [bug] Failures at certain points in request processing
193. [func] changed dst_key_free() prototype.
- 192. [bug] Zone configuration validation is now done at end
+ 192. [bug] Zone configuration validation is now done at end
of config file parsing, and before loading
callbacks.
191. [func] Patched to compile on UnixWare 7.x. This platform
is not directly supported by the ISC.
- 190. [cleanup] The DNSSEC tools have been moved to a separate
+ 190. [cleanup] The DNSSEC tools have been moved to a separate
directory dnssec/ and given the following new,
more descriptive names:
to comment out the entire zone statement.
176. [func] New global and per-view option:
-
+
max-cache-ttl number
175. [func] New global and per-view option:
quota so that a new transfer can be dispatched
immediately whenever quota becomes available.
- 172. [bug] $TTL directive was sometimes missing from dumped
+ 172. [bug] $TTL directive was sometimes missing from dumped
master files because totext_ctx_init() failed to
initialize ctx->current_ttl_valid.
153. [func] dns_rdata_tostruct() 'mctx' is now optional. If 'mctx'
is NULL then you need to preserve the 'rdata' until
you have finished using the structure as there may be
- references to the associated memory. If 'mctx' is
+ references to the associated memory. If 'mctx' is
non-NULL it is guaranteed that there are no references
to memory associated with 'rdata'.
come after the 'type' clause.
150. [func] Support optional ports in masters and also-notify
- statements:
+ statements:
masters [ port xxx ] { y.y.y.y [ port zzz ] ; }
are replaced by dns_zone_setnotifyalso().
dns_zone_clearmasters() and dns_zone_addmaster()
are replaced by dns_zone_setmasters().
-
+
116. [func] Added <isc/offset.h> for isc_offset_t (aka off_t
on Unix systems).
<isc/mutex.h>. isc_random_t moved to <isc/types.h>.
99. [cleanup] Rate limiter now has separate shutdown() and
- destroy() functions, and it guarantees that all
+ destroy() functions, and it guarantees that all
queued events are delivered even in the shutdown case.
98. [cleanup] <isc/print.h> does not need <stdarg.h> or <stddef.h>
consistency with other *_test programs.
77. [cleanup] typedef of isc_time_t and isc_interval_t moved from
- <isc/time.h> to <isc/types.h>.
+ <isc/time.h> to <isc/types.h>.
76. [cleanup] Rewrote keygen.
40. [func] Introduced new logging category "dnssec" and
logging module "dns/validator".
- 39. [cleanup] Moved the typedefs for isc_region_t, isc_textregion_t,
+ 39. [cleanup] Moved the typedefs for isc_region_t, isc_textregion_t,
and isc_lex_t to <isc/types.h>.
38. [bug] TSIG signed incoming zone transfers work now.
- 37. [bug] If the first RR in an incoming zone transfer was
+ 37. [bug] If the first RR in an incoming zone transfer was
not an SOA, the server died with an assertion failure
instead of just reporting an error.
31. [bug] Use ${LIBTOOL} to compile bin/named/main.@O@.
- 30. [func] config file grammer change to support optional
+ 30. [func] config file grammer change to support optional
class type for a view.
29. [func] support new config file view options:
fetch-glue notify rfc2308-type1 lame-ttl
max-ncache-ttl min-roots
- 28. [func] support lame-ttl, min-roots and serial-queries
+ 28. [func] support lame-ttl, min-roots and serial-queries
config global options.
-
+
27. [bug] Only include <netinet6/in6.h> on BSD/OS 4.[01]*.
Including it on other platforms (eg, NetBSD) can
cause a forced #error from the C preprocessor.
17. [func] Do configuration file post-load validation of zones.
- 16. [bug] put quotes around key names on config file
+ 16. [bug] put quotes around key names on config file
output to avoid possible keyword clashes.
15. [func] Add dns_name_dupwithoffsets(). This function is
7. [cleanup] removed 'listen-on' from view statement.
- 6. [bug] quote RR names when generating config file to
- prevent possible clash with config file keywords
+ 6. [bug] quote RR names when generating config file to
+ prevent possible clash with config file keywords
(such as 'key').
- 5. [func] syntax change to named.conf file: new ssu grant/deny
+ 5. [func] syntax change to named.conf file: new ssu grant/deny
statements must now be enclosed by an 'update-policy'
block.
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.28 2000/07/27 09:36:18 tale Exp $
+# $Id: Makefile.in,v 1.29 2000/08/01 01:10:53 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
This is an unreleased alpha version of BIND 9.1.0.
For a detailed list of user-visible changes from
- previous releases, see the CHANGES file.
+ previous releases, see the CHANGES file.
Building
If your operating system has integrated support for IPv6, it
will be used automatically. If you have installed KAME IPv6
separately, use "--with-kame[=PATH]" to specify its location.
-
+
To see additional configure options, run "configure --help".
"make install" will install "named" and the various BIND 9 libraries.
to stderr, ignoring any "logging"
statement in in the config file.
- -n <number_of_cpus>
+ -n <number_of_cpus>
-t <directory> Chroot to <directory> before running.
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: acconfig.h,v 1.24 2000/07/27 09:36:19 tale Exp $ */
+/* $Id: acconfig.h,v 1.25 2000/08/01 01:10:56 tale Exp $ */
/***
*** This file is not to be included by any public header files, because
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.18 2000/07/27 09:36:24 tale Exp $
+# $Id: Makefile.in,v 1.19 2000/08/01 01:11:11 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.12 2000/07/27 09:36:25 tale Exp $
+# $Id: Makefile.in,v 1.13 2000/08/01 01:11:12 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
CINCLUDES = -I${srcdir}/include ${DNS_INCLUDES} ${ISC_INCLUDES}
-CDEFINES =
+CDEFINES =
CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@
OBJS = dig.@O@ dighost.@O@ host.@O@ nslookup.@O@
-UOBJS =
+UOBJS =
SRCS = dig.c dighost.c host.c nslookup.c
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dig.c,v 1.81 2000/08/01 00:53:16 mws Exp $ */
+/* $Id: dig.c,v 1.82 2000/08/01 01:11:14 tale Exp $ */
#include <config.h>
#include <stdlib.h>
" global d-opts and servers (before host name) affect all queries.\n"
" local d-opts and servers (after host name) affect only that lookup.\n"
, stderr);
-}
+}
/*
* Callback from dighost.c to print the received message.
result = isc_time_now(&now);
check_result(result, "isc_time_now");
-
+
if (query->lookup->stats) {
diff = isc_time_microdiff(&now, &query->time_sent);
printf(";; Query time: %ld msec\n", (long int)diff/1000);
query->name_count, query->rr_count);
} else {
printf(";; MSG SIZE rcvd: %d\n", bytes);
-
+
}
if (key != NULL) {
if (!validated)
dns_name_t empty_name;
char t[4096];
dns_rdata_t rdata;
-
+
UNUSED(flags);
dns_name_init(&empty_name, NULL);
else if (result != ISC_R_SUCCESS)
return (result);
}
-
+
return (ISC_R_SUCCESS);
}
if ((msg->flags & DNS_MESSAGEFLAG_TC) != 0) {
printf("%stc", did_flag ? " " : "");
did_flag = ISC_TRUE;
- }
+ }
if ((msg->flags & DNS_MESSAGEFLAG_RD) != 0) {
printf("%srd", did_flag ? " " : "");
did_flag = ISC_TRUE;
printf("%scd", did_flag ? " " : "");
did_flag = ISC_TRUE;
}
-
+
printf("; QUERY: %u, ANSWER: %u, "
"AUTHORITY: %u, ADDITIONAL: %u\n",
msg->counts[DNS_SECTION_QUESTION],
result = dns_message_pseudosectiontotext(msg,
DNS_PSEUDOSECTION_OPT,
flags, buf);
- check_result(result,
+ check_result(result,
"dns_message_pseudosectiontotext");
}
}
}
check_result(result, "dns_message_sectiontotext");
}
- }
+ }
if (query->lookup->section_answer) {
if (!short_form) {
answer_again:
result = short_answer(msg, flags, buf, query);
check_result(result, "short_answer");
}
- }
+ }
if (query->lookup->section_authority) {
if (!short_form) {
authority_again:
}
check_result(result, "dns_message_sectiontotext");
}
- }
+ }
if (query->lookup->section_additional) {
if (!short_form) {
additional_again:
msg,
DNS_PSEUDOSECTION_SIG0,
flags, buf);
-
+
check_result(result,
"dns_message_pseudosectiontotext");
}
}
- }
+ }
if (headers && query->lookup->comments && !short_form)
printf("\n");
bargc++;
bargv[bargc] = strtok(NULL, " \t\r\n");
}
-
+
bargv[0] = argv[0];
argv0 = argv[0];
-
+
reorder_args(bargc, (char **)bargv);
parse_args(ISC_TRUE, ISC_TRUE, bargc,
(char **)bargv);
rv = argv;
for (rc--, rv++; rc > 0; rc--, rv++) {
debug("main parsing %s", rv[0]);
- if (strncmp(rv[0], "%", 1) == 0)
+ if (strncmp(rv[0], "%", 1) == 0)
break;
if (strncmp(rv[0], "@", 1) == 0) {
srv = make_server(&rv[0][1]);
tr.length = strlen(ptr);
if (strncmp(rv[0], "ixfr=", 5) == 0) {
lookup->rdtype = dns_rdatatype_ixfr;
- lookup->ixfr_serial =
+ lookup->ixfr_serial =
atoi(&rv[0][5]);
} else {
result = dns_rdatatype_fromtext(&rdtype,
}
strncpy(keyfile, ptr, MXNAME);
} else if (strncmp(rv[0], "-p", 2) == 0) {
- if (rv[0][2] != 0) {
+ if (rv[0][2] != 0) {
port = atoi(&rv[0][2]);
} else {
if (rc <= 1) {
&adrs[2], &adrs[3]);
if (n == 0)
show_usage();
-
+
lookup = clone_lookup(default_lookup, ISC_TRUE);
for (i = n - 1; i >= 0; i--) {
rc--;
} else {
/*
- * Anything which isn't an option
+ * Anything which isn't an option
*/
tr.base = rv[0];
tr.length = strlen(rv[0]);
if (strncmp(rv[0], "ixfr=", 5) == 0) {
lookup->rdtype = dns_rdatatype_ixfr;
- lookup->ixfr_serial =
+ lookup->ixfr_serial =
atoi(&rv[0][5]);
continue;
}
/* XXX Error message */
}
}
- /*
+ /*
* If we have a batchfile, seed the lookup list with the
* first entry, then trust the callback in dighost_shutdown
* to get the rest
char batchline[MXNAME];
int bargc;
char *bargv[16];
-
+
if (batchname == NULL) {
isc_app_shutdown();
bargc++;
bargv[bargc] = strtok(NULL, " \t\r\n");
}
-
+
bargv[0] = argv0;
-
+
reorder_args(bargc, (char **)bargv);
parse_args(ISC_TRUE, ISC_FALSE, bargc, (char **)bargv);
start_lookup();
s, default_lookup);
s2 = s;
s = ISC_LIST_NEXT(s, link);
- ISC_LIST_DEQUEUE(default_lookup->my_server_list,
+ ISC_LIST_DEQUEUE(default_lookup->my_server_list,
(dig_server_t *)s2, link);
isc_mem_free(mctx, s2);
}
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dighost.c,v 1.105 2000/08/01 00:53:18 mws Exp $ */
+/* $Id: dighost.c,v 1.106 2000/08/01 01:11:15 tale Exp $ */
/*
* Notice to programmers: Do not use this code as an example of how to
va_list args;
fprintf(stderr, "%s: ", progname);
- va_start(args, format);
+ va_start(args, format);
vfprintf(stderr, format, args);
va_end(args);
fprintf(stderr, "\n");
va_list args;
if (debugging) {
- va_start(args, format);
+ va_start(args, format);
vfprintf(stderr, format, args);
va_end(args);
fprintf(stderr, "\n");
return (srv);
}
-/*
+/*
* Produce a cloned server list. The dest list must have already had
* ISC_LIST_INIT applied.
*/
void
-clone_server_list(dig_serverlist_t src,
+clone_server_list(dig_serverlist_t src,
dig_serverlist_t *dest)
{
dig_server_t *srv, *newsrv;
lookold, lookold->link.next, looknew, looknew->link.next);
ISC_LIST_PREPEND(lookup_list, looknew, link);
debug("after insertion, init -> "
- "%p, new = %p, new -> %p",
+ "%p, new = %p, new -> %p",
lookold, looknew, looknew->link.next);
return (looknew);
-}
+}
static void
}
secretsize = isc_buffer_usedlength(&secretbuf);
isc_stdtime_get(&now);
-
+
result = dns_name_fromtext(&keyname, namebuf,
dns_rootname, ISC_FALSE,
namebuf);
dst_key_t *dstkey = NULL;
isc_stdtime_t now;
-
+
debug("setup_file_key()");
result = dst_key_fromnamedfile(keyfile, DST_TYPE_PRIVATE,
mctx, &dstkey);
dig_server_t *srv;
dig_searchlist_t *search;
isc_boolean_t get_servers;
-
+
debug("setup_system()");
if (fixeddomain[0] != 0) {
fatal("Memory "
"allocation "
"failure in %s:"
- "%d", __FILE__,
+ "%d", __FILE__,
__LINE__);
strncpy(search->
origin,
fatal("Memory "
"allocation "
"failure in %s:"
- "%d", __FILE__,
+ "%d", __FILE__,
__LINE__);
strncpy(search->
origin,
else if (keysecret[0] != 0)
setup_text_key();
}
-
+
/*
* Setup the ISC and DNS libraries for use by the system.
*/
check_result(result, "dns_message_gettemprdatalist");
result = dns_message_gettemprdata(msg, &rdata);
check_result(result, "dns_message_gettemprdata");
-
+
debug("setting udp size of %d", udpsize);
rdatalist->type = dns_rdatatype_opt;
rdatalist->covers = 0;
}
/*
- * Add a question section to a message, asking for the specified name,
+ * Add a question section to a message, asking for the specified name,
* type, and class.
*/
static void
dns_rdataset_t *rdataset;
isc_result_t result;
- debug("add_question()");
+ debug("add_question()");
rdataset = NULL;
result = dns_message_gettemprdataset(message, &rdataset);
check_result(result, "dns_message_gettemprdataset()");
isc_buffer_invalidate(&query->lengthbuf);
isc_mem_free(mctx, query);
}
-
+
/*
* Try and clear out a lookup if we're done with it. Return ISC_TRUE if
* the lookup was successfully cleared. If ISC_TRUE is returned, the
s, lookup);
ptr = s;
s = ISC_LIST_NEXT(s, link);
- ISC_LIST_DEQUEUE(lookup->my_server_list,
+ ISC_LIST_DEQUEUE(lookup->my_server_list,
(dig_server_t *)ptr, link);
isc_mem_free(mctx, ptr);
}
}
if (lookup->timer != NULL)
isc_timer_detach(&lookup->timer);
- if (lookup->sendspace != NULL)
+ if (lookup->sendspace != NULL)
isc_mempool_put(commctx, lookup->sendspace);
-
+
isc_mem_free(mctx, lookup);
return (ISC_TRUE);
-}
-
+}
+
/*
* If we can, start the next lookup in the queue running.
*/
static void
check_next_lookup(dig_lookup_t *lookup) {
-
+
INSIST(!free_now);
debug("check_next_lookup(%p)", lookup);
-
+
if (ISC_LIST_HEAD(lookup->q) != NULL) {
debug("still have a worker");
return;
INSIST(!free_now);
- debug("followup_lookup()");
+ debug("followup_lookup()");
result = dns_message_firstname(msg,section);
if (result != ISC_R_SUCCESS) {
INSIST(!free_now);
- debug("next_origin()");
+ debug("next_origin()");
debug("following up %s", query->lookup->textname);
if (!usesearch)
dns_rdatalist_t *rdatalist = NULL;
dns_rdataset_t *rdataset = NULL;
dns_name_t *soaname = NULL;
-
+
debug("insert_soa()");
soa.mctx = mctx;
soa.serial = lookup->ixfr_serial;
dns_name_clone(lookup->name, &soa.origin);
dns_name_clone(lookup->name, &soa.mname);
-
+
isc_buffer_init(&lookup->rdatabuf, lookup->rdatastore,
sizeof(lookup->rdatastore));
result = dns_message_gettemprdatalist(lookup->sendmsg, &rdatalist);
check_result(result, "dns_message_gettemprdatalist");
-
+
result = dns_message_gettemprdataset(lookup->sendmsg, &rdataset);
check_result(result, "dns_message_gettemprdataset");
isc_region_t r;
isc_buffer_t b;
char store[MXNAME];
-
+
REQUIRE(lookup != NULL);
INSIST(!free_now);
-
+
debug("setup_lookup(%p)", lookup);
result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER,
isc_buffer_init(&b, lookup->textname, len);
isc_buffer_add(&b, len);
result = dns_name_fromtext(lookup->name, &b,
- lookup->oname, ISC_FALSE,
+ lookup->oname, ISC_FALSE,
&lookup->namebuf);
}
if (result != ISC_R_SUCCESS) {
"(%s)", lookup->textname,
dns_result_totext(result));
}
- }
+ }
isc_buffer_init(&b, store, sizeof(store));
/* XXX Move some of this into function, dns_name_format. */
dns_name_totext(lookup->name, ISC_FALSE, &b);
debug("AA query");
lookup->sendmsg->flags |= DNS_MESSAGEFLAG_AA;
}
-
+
if (lookup->adflag) {
debug("AD query");
lookup->sendmsg->flags |= DNS_MESSAGEFLAG_AD;
/*
* If the timer already exists, that means we're calling this
- * a second time (for a retry). Don't need to recreate it,
+ * a second time (for a retry). Don't need to recreate it,
* just reset it.
*/
if (lookup->timer == NULL) {
* packets. Start the next recv of length bytes.
*/
static void
-tcp_length_done(isc_task_t *task, isc_event_t *event) {
+tcp_length_done(isc_task_t *task, isc_event_t *event) {
isc_socketevent_t *sevent;
isc_buffer_t *b=NULL;
isc_region_t r;
debug("tcp_length_done()");
LOCK_LOOKUP;
- sevent = (isc_socketevent_t *)event;
+ sevent = (isc_socketevent_t *)event;
query = event->ev_arg;
recvcount--;
recv_done, query);
check_result(result, "isc_socket_recvv");
recvcount++;
- debug("resubmitted recv request with length %d, recvcount=%d",
+ debug("resubmitted recv request with length %d, recvcount=%d",
length, recvcount);
isc_event_free(&event);
UNLOCK_LOOKUP;
#endif
return;
}
-
+
/*
* Event handler for TCP connect complete. Make sure the connection was
* successful, then pass into launch_next_query to actually send the
* rr's in the message, acting as necessary whenever we hit
* an SOA rr.
*/
-
+
result = dns_message_firstname(msg, DNS_SECTION_ANSWER);
if (result != ISC_R_SUCCESS) {
puts("; Transfer failed.");
dig_lookup_t *n, *l;
isc_boolean_t docancel = ISC_FALSE;
unsigned int local_timeout;
-
+
UNUSED(task);
INSIST(!free_now);
debug("no longer pending. Got %s",
isc_result_totext(sevent->result));
query->waiting_connect = ISC_FALSE;
-
+
isc_event_free(&event);
clear_query(query);
check_next_lookup(l);
result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE,
&msg);
check_result(result, "dns_message_create");
-
+
if (key != NULL) {
if (l->querysig == NULL) {
debug("getting initial querysig");
result = dns_message_settsigkey(msg, key);
check_result(result, "dns_message_settsigkey");
msg->tsigctx = l->tsigctx;
- if (l->msgcounter != 0)
+ if (l->msgcounter != 0)
msg->tcp_continuation = 1;
l->msgcounter++;
}
local_timeout = INT_MAX;
}
debug("have local timeout of %d",
- local_timeout);
+ local_timeout);
isc_interval_set(&l->interval,
local_timeout, 0);
result = isc_timer_reset(l->timer,
!l->trace_root ) {
printmessage(query, msg, ISC_TRUE);
}
-
+
if (l->pending)
debug("still pending.");
if (l->doing_xfr) {
dig_query_t *q;
debug("cancel_all()");
-
+
LOCK_LOOKUP;
if (free_now) {
UNLOCK_LOOKUP;
}
/*
- * Destroy all of the libs we are using, and get everything ready for a
+ * Destroy all of the libs we are using, and get everything ready for a
* clean shutdown.
*/
void
if (isc_mem_debugging != 0)
isc_mem_stats(mctx, stderr);
if (mctx != NULL)
- isc_mem_destroy(&mctx);
+ isc_mem_destroy(&mctx);
}
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: host.1,v 1.2 2000/07/27 09:42:26 tale Exp $
-.\"
+.\"
+.\" $Id: host.1,v 1.3 2000/08/01 01:18:42 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt HOST 1
.Os BIND9 9
.Pp
.Ar name
is the domain name that is to be looked up.
-It can also be a dotted-decimal string representing an IPv4 address,
+It can also be a dotted-decimal string representing an IPv4 address,
in which case
.Nm host
will by default perform a reverse lookup for that address.
.Fl a
(all) option is equivalent to setting the
.Fl v
-option and asking
+option and asking
.Nm host
to make a query of type ANY.
.Pp
List mode is selected by the
.Fl l
option.
-This makes
+This makes
.Nm host
perform a zone transfer for zone
.Ar name .
.Dv domain
or
.Dv search
-directives in
+directives in
.Pa /etc/resolv.conf .
Therefore
.Ar name
option is used to select the query type.
.Ar type
can be any recognised query type: CNAME, NS, SOA, SIG, KEY, AXFR, etc.
-When no query type is specified,
+When no query type is specified,
.Nm host
automatically selects an appropriate query type.
By default it looks for A records unless the
.Fl W
option makes
.Nm host
-wait for
+wait for
.Ar wait
seconds.
If
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: host.c,v 1.44 2000/07/27 09:36:29 tale Exp $ */
+/* $Id: host.c,v 1.45 2000/08/01 01:11:16 tale Exp $ */
#include <config.h>
#include <stdlib.h>
extern char *progname;
extern isc_task_t *global_task;
-isc_boolean_t
+isc_boolean_t
short_form = ISC_TRUE;
static const char *opcodetext[] = {
"MF", /* 4 */
"is an alias for", /* 5 */
"SOA", /* 6 */
- "MB", /* 7 */
+ "MB", /* 7 */
"MG", /* 8 */
"MR", /* 9 */
"NULL", /* 10 */
" -w specifies to wait forever for a reply\n"
" -W specifies how long to wait for a reply\n", stderr);
exit(exitcode);
-}
+}
void
dighost_shutdown(void) {
isc_boolean_t first;
isc_boolean_t no_rdata;
const char *rtt;
-
+
if (sectionid == DNS_SECTION_QUESTION)
no_rdata = ISC_TRUE;
else
#else
UNUSED(first); /* Shut up compiler. */
#endif
- } else {
+ } else {
loopresult = dns_rdataset_first(rdataset);
while (loopresult == ISC_R_SUCCESS) {
dns_rdataset_current(rdataset, &rdata);
else
printf("%.*s", (int)r.length, (char *)r.base);
}
-
+
result = dns_message_nextname(msg, sectionid);
if (result == ISC_R_NOMORE)
break;
else if (result != ISC_R_SUCCESS)
return (result);
}
-
+
return (ISC_R_SUCCESS);
}
char t[4096];
UNUSED(msg);
- if (headers)
+ if (headers)
printf(";; %s SECTION:\n", set_name);
isc_buffer_init(&target, t, sizeof(t));
tr.length = strlen(isc_commandline_argument);
result = dns_rdatatype_fromtext(&rdtype,
(isc_textregion_t *)&tr);
-
+
if (result != ISC_R_SUCCESS)
fprintf (stderr,"Warning: invalid type: %s\n",
isc_commandline_argument);
tr.length = strlen(isc_commandline_argument);
result = dns_rdataclass_fromtext(&rdclass,
(isc_textregion_t *)&tr);
-
+
if (result != ISC_R_SUCCESS)
fprintf (stderr,"Warning: invalid class: %s\n",
isc_commandline_argument);
show_details = ISC_TRUE;
break;
case 'N':
- debug("setting NDOTS to %s",
+ debug("setting NDOTS to %s",
isc_commandline_argument);
ndots = atoi(isc_commandline_argument);
break;
debug("server is %s", srv->servername);
ISC_LIST_APPEND(server_list, srv, link);
}
-
+
lookup->pending = ISC_FALSE;
- /*
+ /*
* XXXMWS Add IPv6 translation here, probably using inet_pton
* to extract the formatted text.
*/
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dig.h,v 1.40 2000/08/01 00:53:20 mws Exp $ */
+/* $Id: dig.h,v 1.41 2000/08/01 01:11:19 tale Exp $ */
#ifndef DIG_H
#define DIG_H
make_server(const char *servname);
void
-clone_server_list(dig_serverlist_t src,
+clone_server_list(dig_serverlist_t src,
dig_serverlist_t *dest);
void
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: nslookup.c,v 1.28 2000/07/27 23:52:30 bwelling Exp $ */
+/* $Id: nslookup.c,v 1.29 2000/08/01 01:11:17 tale Exp $ */
#include <config.h>
"mf = ", /* 4 */
"canonical name = ", /* 5 */
"soa = ", /* 6 */
- "mb = ", /* 7 */
+ "mb = ", /* 7 */
"mg = ", /* 8 */
"mr = ", /* 9 */
"rtype_10 = ", /* 10 */
fputs (
"Usage:\n"
, stderr);
-}
+}
void
dighost_shutdown(void) {
check_result(result, "isc_buffer_allocate");
for (;;) {
name = NULL;
- dns_message_currentname(msg, section,
+ dns_message_currentname(msg, section,
&name);
for (rdataset = ISC_LIST_HEAD(name->list);
rdataset != NULL;
(char*)isc_buffer_base(b),
rdata.type);
isc_buffer_clear(b);
- result = dns_rdata_totext(&rdata,
+ result = dns_rdata_totext(&rdata,
NULL, b);
check_result(result,
"dns_rdata_totext");
printf("%.*s\n",
(int)isc_buffer_usedlength(b),
(char*)isc_buffer_base(b));
- }
+ }
loopresult = dns_rdataset_next(rdataset);
}
}
check_result(result, "isc_buffer_allocate");
for (;;) {
name = NULL;
- dns_message_currentname(msg, section,
+ dns_message_currentname(msg, section,
&name);
for (rdataset = ISC_LIST_HEAD(name->list);
rdataset != NULL;
printf ("\trdata_%d = ",
rdata.type);
isc_buffer_clear(b);
- result = dns_rdata_totext(&rdata,
+ result = dns_rdata_totext(&rdata,
NULL, b);
check_result(result,
"dns_rdata_totext");
printf("%.*s\n",
(int)isc_buffer_usedlength(b),
(char*)isc_buffer_base(b));
- }
+ }
loopresult = dns_rdataset_next(rdataset);
}
}
detailsection(query, msg, headers, DNS_SECTION_ADDITIONAL);
puts ("------------");
}
-
+
if ((msg->flags & DNS_MESSAGEFLAG_AA) == 0)
puts ("Non-authorative answer:");
printsection(query, msg, headers, DNS_SECTION_ANSWER);
-
+
if (((msg->flags & DNS_MESSAGEFLAG_AA) == 0) &&
(query->lookup->rdtype != dns_rdatatype_a)) {
puts ("\nAuthorative answers can be found from:");
isc_sockaddr_t sockaddr;
isc_buffer_t *b = NULL;
isc_result_t result;
-
+
srv = ISC_LIST_HEAD(server_list);
while (srv != NULL) {
}
-/*
+/*
* This works on the global server list, instead of on a per-lookup
* server list, since the change is persistent.
*/
setoption(arg);
else if ((strcasecmp(ptr, "server") == 0) ||
(strcasecmp(ptr, "lserver") == 0)) {
- printf("Server:\t%s\n", arg);
+ printf("Server:\t%s\n", arg);
setsrv(arg);
- } else
+ } else
addlookup(ptr);
}
s = ISC_LIST_NEXT(s, link);
ISC_LIST_DEQUEUE(l->my_server_list, sp, link);
isc_mem_free(mctx, sp);
-
+
}
if (l->sendmsg != NULL)
dns_message_destroy(&l->sendmsg);
ISC_LIST_DEQUEUE(lookup_list, lp, link);
isc_mem_free(mctx, lp);
}
-}
+}
int
main(int argc, char **argv) {
isc_mem_stats(mctx, stderr);
isc_app_finish();
if (mctx != NULL)
- isc_mem_destroy(&mctx);
-
+ isc_mem_destroy(&mctx);
+
return (0);
}
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.8 2000/07/27 09:36:33 tale Exp $
+# $Id: Makefile.in,v 1.9 2000/08/01 01:11:20 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: dnssec-keygen.8,v 1.6 2000/07/27 09:42:32 tale Exp $
-.\"
+.\"
+.\" $Id: dnssec-keygen.8,v 1.7 2000/08/01 01:18:49 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt DNSSEC-KEYGEN 8
.Os BIND9 9
.Ar nametype
can be either
.Dv ZONE ,
-.Dv HOST ,
+.Dv HOST ,
.Dv ENTITY ,
or
.Dv USER
The only supported values value of
.Ar generator
are 2 and 5.
-If no Diffie-Hellman generator is supplied, a known prime
+If no Diffie-Hellman generator is supplied, a known prime
from RFC2539 will be used if possible; otherwise 2 will be used as the
generator.
.Pp
option sets the protocol value for the generated key to
.Ar protocol-value .
The default is 2 (email) for keys of type
-.Dv USER
+.Dv USER
and 3 (DNSSEC) for all other key types.
Other possible values for this argument are listed in RFC2535 and its
successors.
keystrokes to provide randomness.
The
.Fl r
-option overrides this behaviour, making
+option overrides this behaviour, making
.Nm dnssec-keygen
use
.Ar randomdev
can be one of
.Dv AUTHCONF ,
.Dv NOAUTHCONF ,
-.Dv NOAUTH
+.Dv NOAUTH
or
.Dv NOCONF .
The default is
.Dv AUTHCONF .
If type is
-.Dv AUTHCONF
+.Dv AUTHCONF
the key can be used for authentication and confidentialty.
Setting
-.Ar type
+.Ar type
to
.Dv NOAUTHCONF
indicates that the key cannot be used for authentication or confidentialty.
defines that the key cannot be used for confidentiality though it can
be used for authentication.
.Pp
-The
+The
.Fl v
option can be used to make
.Nm dnssec-keygen
more verbose.
As the debugging/tracing level
.Ar level
-increases,
+increases,
.Nm dnssec-keygen
generates increasingly detailed reports about what it is doing.
The default level is zero.
The
.Ar .key
file contains a KEY resource record that can be inserted into a zone file
-with a
+with a
.Dv $INCLUDE
statement.
The private part of the key is in the
.Xr dnssec-signzone 8
to generate signatures and the public part is used to verify the
signatures.
-Both
+Both
.Ar .key
and
.Ar .private
.Dv Kexample.com.+003+26160 ,
indicating a DSA key with identifier 26160.
It will also have created the files
-.Pa Kexample.com.+003+26160.key
+.Pa Kexample.com.+003+26160.key
and
.Pa Kexample.com.+003+26160.private
containing respectively the public and private keys for the generated
DSA key.
.Sh FILES
-.Pa /dev/random
+.Pa /dev/random
.Sh SEE ALSO
.Xr RFC2535,
.Xr RFC2845,
The naming convention for the public and private key files is a little
clumsy.
It won't work for domain names that are longer than 236 characters
-because of the
+because of the
.Ar .+aaa+iiiii.private
suffix results in filenames that are too long for most
.Ux
/*
* Portions Copyright (C) 2000 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
+ *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM AND
* NETWORK ASSOCIATES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
* SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dnssec-keygen.c,v 1.36 2000/06/22 02:48:12 bwelling Exp $ */
+/* $Id: dnssec-keygen.c,v 1.37 2000/08/01 01:11:21 tale Exp $ */
#include <config.h>
fprintf(stderr, "%s: invalid argument -%c\n",
program, ch);
usage();
- }
+ }
}
setup_entropy(mctx, randomfile, &ectx);
isc_buffer_init(&buf, filename, sizeof(filename) - 1);
- do {
- conflict = ISC_FALSE;
+ do {
+ conflict = ISC_FALSE;
oldkey = NULL;
/* generate the key */
dst_result_totext(ret));
exit(-1);
}
-
+
/*
* Try to read a key with the same name, alg and id from disk.
- * If there is one we must continue generating a new one
+ * If there is one we must continue generating a new one
* unless we were asked to generate a null key, in which
* case we return failure.
*/
- ret = dst_key_fromfile(name, dst_key_id(key), alg,
+ ret = dst_key_fromfile(name, dst_key_id(key), alg,
DST_TYPE_PRIVATE, NULL, mctx, &oldkey);
/* do not overwrite an existing key */
if (ret == ISC_R_SUCCESS) {
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: dnssec-makekeyset.8,v 1.7 2000/07/31 19:39:38 bwelling Exp $
-.\"
+.\"
+.\" $Id: dnssec-makekeyset.8,v 1.8 2000/08/01 01:18:50 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt DNSSEC-MAKEKEYSET 8
.Os BIND9 9
.Ar start-time
is given as +N: N seconds from the current time.
If no
-.Fl s
+.Fl s
option is supplied, the current date and time is used for the start
time of the SIG records.
.Pp
increases,
.Nm dnssec-makekeyset
generates increasingly detailed reports about what it is doing.
-The default level is zero.
+The default level is zero.
.Pp
The
.Fl h
the command line when running
.Nm dnssec-makekeyset .
.nf
-.Dl # dnssec-makekeyset -t 86400 -s 20000701120000 \e\p
+.Dl # dnssec-makekeyset -t 86400 -s 20000701120000 \e\p
.Dl -e +2592000 Kexample.com.+003+26160
.fi
.Pp
.Dv .com
so that they could sign the resource records in the file.
This assumes that the
-.Dv .com
+.Dv .com
zone is DNSSEC-aware and the administrators of the two zones have some
mechanism for authenticating each other and exchanging the keys and
signatures securely.
/*
* Portions Copyright (C) 2000 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
+ *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM AND
* NETWORK ASSOCIATES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
* SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dnssec-makekeyset.c,v 1.30 2000/07/31 15:28:12 bwelling Exp $ */
+/* $Id: dnssec-makekeyset.c,v 1.31 2000/08/01 01:11:22 tale Exp $ */
#include <config.h>
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: dnssec-signkey.8,v 1.8 2000/07/31 19:39:39 bwelling Exp $
-.\"
+.\"
+.\" $Id: dnssec-signkey.8,v 1.9 2000/08/01 01:18:51 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt DNSSEC-SIGNKEY 8
.Os BIND9 9
.Sh DESCRIPTION
.Nm dnssec-signkey
is used to sign a key set for a child zone.
-Typically this would be provided by a
+Typically this would be provided by a
.Ar keyset
file generated by
.Xr dnssec-makekeyset 8 .
argument will be a key identification string as reported by
.Xr dnssec-keygen 8
for the parent zone.
-This allows the child's keys to be signed by more than one
+This allows the child's keys to be signed by more than one
parent zone key.
.Pp
The
/*
* Portions Copyright (C) 2000 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
+ *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM AND
* NETWORK ASSOCIATES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
* SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dnssec-signkey.c,v 1.30 2000/07/31 21:07:25 tale Exp $ */
+/* $Id: dnssec-signkey.c,v 1.31 2000/08/01 01:11:23 tale Exp $ */
#include <config.h>
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: dnssec-signzone.8,v 1.10 2000/07/31 19:39:42 bwelling Exp $
-.\"
+.\"
+.\" $Id: dnssec-signzone.8,v 1.11 2000/08/01 01:18:52 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt DNSSEC-SIGNZONE 8
.Os BIND9 9
.Ar signedkey
file from the zone's parent, the parent's signatures will be
incorporated into the generated signed zone file.
-The security status of delegations from the the signed zone
+The security status of delegations from the the signed zone
- i.e. whether the child zones are DNSSEC-aware or not - is
set according to the presence or absence of a
.Ar signedkey
.Ar start-time
is given as +N: N seconds from the current time.
If no
-.Fl s
+.Fl s
option is supplied, the current date and time is used for the start
time of the SIG records.
.Pp
will remove it and generate a new SIG record to replace it.
.Pp
The default cycle period is one quarter of the difference between the
-specified signature end and start dates. So if the
+specified signature end and start dates. So if the
.Fl e
-and
+and
.Fl s
options are not specified,
.Nm dnssec-signzone
.Fl o
option to set the origin.
The zone's keys were either appended to the zone file or
-incorporated using a
-.Dv $INCLUDE
+incorporated using a
+.Dv $INCLUDE
statement.
If there was a
.Ar signedkey
-file from the parent zone - i.e.
+file from the parent zone - i.e.
.Dv signedkey-example.com.
- it should be present in the current directory.
This allows the parent zone's signature to be included in the signed
/*
* Portions Copyright (C) 1999, 2000 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
+ *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM AND
* NETWORK ASSOCIATES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
* SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dnssec-signzone.c,v 1.84 2000/07/31 23:11:21 bwelling Exp $ */
+/* $Id: dnssec-signzone.c,v 1.85 2000/08/01 01:11:25 tale Exp $ */
#include <config.h>
if (result != ISC_R_SUCCESS)
break;
}
- if (result != ISC_R_NOMORE)
+ if (result != ISC_R_NOMORE)
goto failure;
vbprintf(2, "found the parent's signature of our zone key\n");
nametostr(name));
dns_rdatalist_init(&keyrdatalist);
dstkey = NULL;
-
+
result = dst_key_generate(name, DNS_KEYALG_DSA,
0, 0,
DNS_KEYTYPE_NOKEY |
dns_rdata_fromregion(&keyrdata,
rdataset.rdclass,
dns_rdatatype_key, &r);
-
+
ISC_LIST_APPEND(keyrdatalist.rdata, &keyrdata,
link);
keyrdatalist.rdclass = rdataset.rdclass;
cycle = (endtime - starttime) / 4;
setup_logging(verbose, mctx, &log);
-
+
argc -= isc_commandline_index;
argv += isc_commandline_index;
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dnssectool.c,v 1.14 2000/07/31 20:38:27 bwelling Exp $ */
+/* $Id: dnssectool.c,v 1.15 2000/08/01 01:11:26 tale Exp $ */
#include <config.h>
level = ISC_LOG_DEBUG(verbose - 2 + 1);
break;
}
-
+
RUNTIME_CHECK(isc_log_create(mctx, &log, &logconfig) == ISC_R_SUCCESS);
isc_log_setcontext(log);
dns_log_init(log);
&destination,
ISC_LOG_PRINTTAG|ISC_LOG_PRINTLEVEL);
check_result(result, "isc_log_createchannel()");
-
+
RUNTIME_CHECK(isc_log_usechannel(logconfig, "stderr",
NULL, NULL) == ISC_R_SUCCESS);
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dnssectool.h,v 1.7 2000/07/27 09:36:35 tale Exp $ */
+/* $Id: dnssectool.h,v 1.8 2000/08/01 01:11:27 tale Exp $ */
#ifndef DNSSECTOOL_H
#define DNSSECTOOL_H 1
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.11 2000/07/27 09:36:37 tale Exp $
+# $Id: Makefile.in,v 1.12 2000/08/01 01:11:29 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@BIND9_INCLUDES@
-CINCLUDES = ${LWRES_INCLUDES} ${DNS_INCLUDES} ${ISC_INCLUDES}
+CINCLUDES = ${LWRES_INCLUDES} ${DNS_INCLUDES} ${ISC_INCLUDES}
-CDEFINES =
+CDEFINES =
CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: client.c,v 1.29 2000/07/27 09:36:38 tale Exp $ */
+/* $Id: client.c,v 1.30 2000/08/01 01:11:30 tale Exp $ */
#include <config.h>
UNUSED(task);
UNUSED(dev);
-
+
INSIST(CLIENT_ISSEND(client));
INSIST(client->sendbuf == dev->region.base);
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: client.h,v 1.17 2000/07/27 09:36:39 tale Exp $ */
+/* $Id: client.h,v 1.18 2000/08/01 01:11:31 tale Exp $ */
#ifndef LWD_CLIENT_H
#define LWD_CLIENT_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: err_pkt.c,v 1.6 2000/07/27 09:36:40 tale Exp $ */
+/* $Id: err_pkt.c,v 1.7 2000/08/01 01:11:32 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: main.c,v 1.44 2000/07/27 09:36:41 tale Exp $ */
+/* $Id: main.c,v 1.45 2000/08/01 01:11:33 tale Exp $ */
/*
* Main program for the Lightweight Resolver Daemon.
*
- * To paraphrase the old saying about X11, "It's not a lightweight deamon
+ * To paraphrase the old saying about X11, "It's not a lightweight deamon
* for resolvers, it's a deamon for lightweight resolvers".
*/
};
#define LWRES_LOGCATEGORY_NETWORK (&logcategories[0])
-
+
static isc_result_t
create_view(isc_mem_t *mctx) {
dns_db_t *rootdb;
unsigned int attrs;
dns_dispatch_t *disp4 = NULL;
- dns_dispatch_t *disp6 = NULL;
-
+ dns_dispatch_t *disp6 = NULL;
+
view = NULL;
cache = NULL;
if (isc_net_probeipv4() == ISC_R_SUCCESS) {
isc_sockaddr_t any4;
-
+
isc_sockaddr_any(&any4);
attrs = DNS_DISPATCHATTR_IPV4 | DNS_DISPATCHATTR_UDP;
result = dns_dispatch_getudp(dispatchmgr, sockmgr,
if (isc_net_probeipv6() == ISC_R_SUCCESS) {
isc_sockaddr_t any6;
-
+
isc_sockaddr_any6(&any6);
-
+
attrs = DNS_DISPATCHATTR_IPV6 | DNS_DISPATCHATTR_UDP;
result = dns_dispatch_getudp(dispatchmgr, sockmgr,
taskmgr, &any6, 512, 6, 1024,
if (result != ISC_R_SUCCESS)
goto out;
}
-
+
result = dns_view_createresolver(view, taskmgr, 16, sockmgr,
timermgr, 0, dispatchmgr,
disp4, disp6);
dns_dispatch_detach(&disp4);
if (disp6 != NULL)
dns_dispatch_detach(&disp6);
-
+
if (result != ISC_R_SUCCESS)
goto out;
isc_mem_put(mctx, sa, sizeof (*sa));
sa = ISC_LIST_HEAD(forwarders);
}
-
+
}
dns_view_freeze(view);
isc_result_totext(result));
exit(1);
}
-
+
INSIST(result == ISC_R_SUCCESS);
cmgr = isc_mem_get(mem, sizeof(clientmgr_t) * NTASKS);
cmgr = NULL;
dns_dispatchmgr_destroy(&dispatchmgr);
-
+
isc_log_destroy(&lctx);
/*
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: process_gabn.c,v 1.30 2000/07/27 09:36:42 tale Exp $ */
+/* $Id: process_gabn.c,v 1.31 2000/08/01 01:11:34 tale Exp $ */
#include <config.h>
client->find = NULL;
else
dns_adb_destroyfind(&client->find);
-
+
}
generate_reply(client);
return;
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: process_gnba.c,v 1.25 2000/07/27 09:36:44 tale Exp $ */
+/* $Id: process_gnba.c,v 1.26 2000/08/01 01:11:35 tale Exp $ */
#include <config.h>
* fails.
*/
client->options |= DNS_BYADDROPT_IPV6NIBBLE;
-
+
start_byaddr(client);
return;
}
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: process_noop.c,v 1.8 2000/07/27 09:36:45 tale Exp $ */
+/* $Id: process_noop.c,v 1.9 2000/08/01 01:11:36 tale Exp $ */
#include <config.h>
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.52 2000/07/27 09:36:46 tale Exp $
+# $Id: Makefile.in,v 1.53 2000/08/01 01:11:38 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
${LWRES_INCLUDES} ${DNS_INCLUDES} ${ISC_INCLUDES} \
${OMAPI_INCLUDES}
-CDEFINES =
+CDEFINES =
CWARNINGS =
OMAPILIBS = ../../lib/omapi/libomapi.@A@
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: aclconf.c,v 1.19 2000/07/27 09:45:50 tale Exp $ */
+/* $Id: aclconf.c,v 1.20 2000/08/01 01:22:08 tale Exp $ */
#include <config.h>
void
dns_aclconfctx_destroy(dns_aclconfctx_t *ctx) {
- dns_acl_t *dacl, *next;
+ dns_acl_t *dacl, *next;
for (dacl = ISC_LIST_HEAD(ctx->named_acl_cache);
dacl != NULL;
dacl = next)
}
return (dns_name_dup(dns_fixedname_name(&fixname), mctx, dnsname));
}
-
+
isc_result_t
dns_acl_fromconfig(dns_c_ipmatchlist_t *caml,
dns_c_ctx_t *cctx,
dns_c_ipmatchelement_t *ce;
REQUIRE(target != NULL && *target == NULL);
-
+
count = 0;
for (ce = ISC_LIST_HEAD(caml->elements);
ce != NULL;
result = dns_acl_create(mctx, count, &dacl);
if (result != ISC_R_SUCCESS)
return (result);
-
+
de = dacl->elements;
for (ce = ISC_LIST_HEAD(caml->elements);
ce != NULL;
*target = dacl;
return (ISC_R_SUCCESS);
-
+
cleanup:
dns_acl_detach(&dacl);
return (result);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: client.c,v 1.105 2000/07/27 09:36:48 tale Exp $ */
+/* $Id: client.c,v 1.106 2000/08/01 01:11:39 tale Exp $ */
#include <config.h>
#define NS_CLIENTSTATE_INACTIVE 1
/*
- * The client object exists and has a task and timer.
+ * The client object exists and has a task and timer.
* Its "query" struct and sendbuf are initialized.
* It is on the client manager's list of inactive clients.
* It has a message and OPT, both in the reset state.
#define NS_CLIENTSTATE_READING 3
/*
* The client object is a TCP client object that has received
- * a connection. It has a tcpsocket, tcpmsg, TCP quota, and an
+ * a connection. It has a tcpsocket, tcpmsg, TCP quota, and an
* outstanding TCP read request. This state is not used for
* UDP client objects.
*/
* on it. It has a view, and it may have any of a non-reset OPT,
* recursion quota, and an outstanding write request. If it
* is a UDP client object, it has a dispatch event.
- */
+ */
#define NS_CLIENTSTATE_MAX 9
/*
static void
client_deactivate(ns_client_t *client) {
REQUIRE(NS_CLIENT_VALID(client));
-
+
if (client->interface)
ns_interface_detach(&client->interface);
- INSIST(client->naccepts == 0);
+ INSIST(client->naccepts == 0);
if (client->tcplistener != NULL)
isc_socket_detach(&client->tcplistener);
}
if (client->dispatch != NULL)
dns_dispatch_detach(&client->dispatch);
-
- client->attributes = 0;
+
+ client->attributes = 0;
client->mortal = ISC_FALSE;
LOCK(&client->manager->lock);
client_free(ns_client_t *client) {
isc_boolean_t need_clientmgr_destroy = ISC_FALSE;
ns_clientmgr_t *manager = NULL;
-
+
REQUIRE(NS_CLIENT_VALID(client));
/*
ns_query_free(client);
isc_mem_put(client->mctx, client->sendbuf, SEND_BUFFER_SIZE);
isc_timer_detach(&client->timer);
-
+
if (client->tcpbuf != NULL)
isc_mem_put(client->mctx, client->tcpbuf, TCP_BUFFER_SIZE);
if (client->opt != NULL) {
CTRACE("free");
client->magic = 0;
isc_mem_put(client->mctx, client, sizeof *client);
-
+
if (need_clientmgr_destroy)
clientmgr_destroy(manager);
}
set_timeout(ns_client_t *client, unsigned int seconds) {
isc_result_t result;
isc_interval_t interval;
-
+
isc_interval_set(&interval, seconds, 0);
result = isc_timer_reset(client->timer, isc_timertype_once, NULL,
&interval, ISC_FALSE);
*
*/
if (client->newstate == NS_CLIENTSTATE_FREED && client->view != NULL)
- dns_view_detach(&client->view);
+ dns_view_detach(&client->view);
if (client->state == NS_CLIENTSTATE_WORKING) {
INSIST(client->newstate <= NS_CLIENTSTATE_READING);
* active and force it to go inactive if not.
*/
ns_client_checkactive(client);
-
+
if (NS_CLIENTSTATE_READY == client->newstate) {
if (TCP_CLIENT(client)) {
client_accept(client);
}
if (client->state == NS_CLIENTSTATE_READY) {
- INSIST(client->newstate <= NS_CLIENTSTATE_INACTIVE);
+ INSIST(client->newstate <= NS_CLIENTSTATE_INACTIVE);
/*
* We are trying to enter the inactive state.
*/
if (client->naccepts > 0)
isc_socket_cancel(client->tcplistener, client->task,
ISC_SOCKCANCEL_ACCEPT);
-
+
if (! (client->naccepts == 0)) {
/* Still waiting for accept cancel completion. */
return (ISC_TRUE);
isc_result_t result;
INSIST(task == client->task);
-
+
UNUSED(task);
if (TCP_CLIENT(client)) {
client_request,
client,
&client->dispentry);
-
+
if (result != ISC_R_SUCCESS) {
ns_client_log(client,
DNS_LOGCATEGORY_SECURITY,
"failed: %s",
isc_result_totext(result));
/*
- * Not much we can do here but log the failure;
+ * Not much we can do here but log the failure;
* the client will effectively go idle.
*/
}
isc_quota_detach(&client->recursionquota);
/*
- * Clear all client attributes that are specific to
+ * Clear all client attributes that are specific to
* the request; that's all except the TCP flag.
*/
client->attributes &= NS_CLIENTATTR_TCP;
if (client->mortal) {
/*
* This client object should normally go inactive
- * at this point, but if we have fewer active client
+ * at this point, but if we have fewer active client
* objects than desired due to earlier quota exhaustion,
* keep it active to make up for the shortage.
*/
if (TCP_CLIENT(client)) {
LOCK(&client->interface->lock);
if (client->interface->ntcpcurrent <
- client->interface->ntcptarget)
+ client->interface->ntcptarget)
need_another_client = ISC_TRUE;
UNLOCK(&client->interface->lock);
} else {
void
ns_client_next(ns_client_t *client, isc_result_t result) {
int newstate;
-
+
REQUIRE(NS_CLIENT_VALID(client));
REQUIRE(client->state == NS_CLIENTSTATE_WORKING);
CTRACE("next");
-
+
if (result != ISC_R_SUCCESS)
ns_client_log(client, DNS_LOGCATEGORY_SECURITY,
NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(3),
INSIST(client->nsends > 0);
client->nsends--;
-
+
if (client->tcpbuf != NULL) {
INSIST(TCP_CLIENT(client));
isc_mem_put(client->mctx, client->tcpbuf, TCP_BUFFER_SIZE);
if ((client->attributes & NS_CLIENTATTR_RA) != 0)
client->message->flags |= DNS_MESSAGEFLAG_RA;
-
+
/*
* XXXRTH The following doesn't deal with TSIGs, TCP buffer resizing,
* or ENDS1 more data packets.
goto done;
if (client->opt != NULL) {
result = dns_message_setopt(client->message, client->opt);
- if (result != ISC_R_SUCCESS)
+ if (result != ISC_R_SUCCESS)
goto done;
/*
* XXXRTH dns_message_setopt() should probably do this...
}
ns_client_next(client, result);
}
-
+
void
ns_client_error(ns_client_t *client, isc_result_t result) {
dns_rcode_t rcode;
ISC_LIST_INIT(rdatalist->rdata);
ISC_LIST_APPEND(rdatalist->rdata, rdata, link);
dns_rdatalist_tordataset(rdatalist, rdataset);
-
+
client->opt = rdataset;
return (ISC_R_SUCCESS);
REQUIRE(task == client->task);
UNUSED(task);
-
+
INSIST(client->recursionquota == NULL);
INSIST(client->state ==
/*
* Find a view that matches the client's source address.
- *
+ *
* XXXRTH View list management code will be moving to its own module
* soon.
*/
ns_client_log(client, NS_LOGCATEGORY_CLIENT,
NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(5),
"using view '%s'", view->name);
-
+
/*
* Lock the view's configuration data for reading.
* We must attach a separate view reference for this
RWLOCK(&client->lockview->conflock, isc_rwlocktype_read);
/*
- * Check for a signature. We log bad signatures regardless of
+ * Check for a signature. We log bad signatures regardless of
* whether they ultimately cause the request to be rejected or
* not. We do not log the lack of a signature unless we are
* debugging.
REQUIRE(client->timer != NULL);
UNUSED(task);
-
+
CTRACE("timeout");
isc_event_free(&event);
client->shutdown = NULL;
client->shutdown_arg = NULL;
}
-
+
if (client->newstate > NS_CLIENTSTATE_READY)
client->newstate = NS_CLIENTSTATE_READY;
(void) exit_check(client);
/*
* Caller must be holding the manager lock.
*
- * Note: creating a client does not add the client to the
+ * Note: creating a client does not add the client to the
* manager's client list or set the client's manager pointer.
* The caller is responsible for that.
*/
static void
client_read(ns_client_t *client) {
isc_result_t result;
-
+
CTRACE("read");
result = dns_tcpmsg_readmessage(&client->tcpmsg, client->task,
* for a request on this TCP connection.
*/
set_timeout(client, 30);
-
+
client->state = client->newstate = NS_CLIENTSTATE_READING;
INSIST(client->nreads == 0);
client->nreads++;
return;
fail:
- ns_client_next(client, result);
+ ns_client_next(client, result);
}
static void
ns_client_t *client = event->ev_arg;
isc_socket_newconnev_t *nevent = (isc_socket_newconnev_t *)event;
isc_result_t result;
-
+
REQUIRE(event->ev_type == ISC_SOCKEVENT_NEWCONN);
REQUIRE(NS_CLIENT_VALID(client));
REQUIRE(client->task == task);
"accept failed: %s",
isc_result_totext(nevent->result));
}
-
+
if (exit_check(client))
goto freeevent;
}
client_read(client);
}
-
+
freeevent:
isc_event_free(&event);
}
ns_client_attach(ns_client_t *source, ns_client_t **targetp) {
REQUIRE(NS_CLIENT_VALID(source));
REQUIRE(targetp != NULL && *targetp == NULL);
-
+
source->references++;
*targetp = source;
}
void
ns_client_detach(ns_client_t **clientp) {
ns_client_t *client = *clientp;
-
+
client->references--;
INSIST(client->references >= 0);
*clientp = NULL;
return (result);
/*
- * The responsibility for listening for new requests is hereby
- * transferred to the new client. Therefore, the old client
+ * The responsibility for listening for new requests is hereby
+ * transferred to the new client. Therefore, the old client
* should refrain from listening for any more requests.
*/
client->mortal = ISC_TRUE;
result = isc_mutex_init(&manager->lock);
if (result != ISC_R_SUCCESS)
goto cleanup_manager;
-
+
manager->mctx = mctx;
manager->taskmgr = taskmgr;
manager->timermgr = timermgr;
ns_clientmgr_t *manager;
ns_client_t *client;
isc_boolean_t need_destroy = ISC_FALSE;
-
+
REQUIRE(managerp != NULL);
manager = *managerp;
REQUIRE(VALID_MANAGER(manager));
}
client->state = NS_CLIENTSTATE_READY;
-
+
ns_interface_attach(ifp, &client->interface);
if (tcp) {
}
isc_netaddr_fromsockaddr(&netaddr, &client->peeraddr);
-
+
result = dns_acl_match(&netaddr, client->signer, acl,
&ns_g_server->aclenv,
&match, NULL);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: aclconf.h,v 1.8 2000/07/27 09:47:20 tale Exp $ */
+/* $Id: aclconf.h,v 1.9 2000/08/01 01:23:38 tale Exp $ */
#ifndef DNS_ACLCONF_H
#define DNS_ACLCONF_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: client.h,v 1.39 2000/07/27 09:37:11 tale Exp $ */
+/* $Id: client.h,v 1.40 2000/08/01 01:12:03 tale Exp $ */
#ifndef NAMED_CLIENT_H
#define NAMED_CLIENT_H 1
* Each ns_client_t object can handle only one TCP connection or UDP
* request at a time. Therefore, several ns_client_t objects are
* typically created to serve each network interface, e.g., one
- * for handling TCP requests and a few (one per CPU) for handling
+ * for handling TCP requests and a few (one per CPU) for handling
* UDP requests.
*
* Incoming requests are classified as queries, zone transfer
- * requests, update requests, notify requests, etc, and handed off
+ * requests, update requests, notify requests, etc, and handed off
* to the appropriate request handler. When the request has been
- * fully handled (which can be much later), the ns_client_t must be
- * notified of this by calling one of the following functions
+ * fully handled (which can be much later), the ns_client_t must be
+ * notified of this by calling one of the following functions
* exactly once in the context of its task:
*
* ns_client_send() (sending a non-error response)
* ns_client_error() (sending an error response)
* ns_client_next() (sending no response)
*
- * This will release any resources used by the request and
+ * This will release any resources used by the request and
* and allow the ns_client_t to listen for the next request.
*
* A ns_clientmgr_t manages a number of ns_client_t objects.
void
ns_client_next(ns_client_t *client, isc_result_t result);
/*
- * Finish processing the current client request,
+ * Finish processing the current client request,
* return no response to the client.
*/
* Log messages will refer to the request as an 'opname' request.
*
* Notes:
- * This is appropriate for checking allow-update,
+ * This is appropriate for checking allow-update,
* allow-query, allow-transfer, etc. It is not appropriate
* for checking the blackhole list because we treat positive
* matches as "allow" and negative matches as "deny"; in
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: globals.h,v 1.43 2000/07/27 09:37:12 tale Exp $ */
+/* $Id: globals.h,v 1.44 2000/08/01 01:12:04 tale Exp $ */
#ifndef NAMED_GLOBALS_H
#define NAMED_GLOBALS_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: interfacemgr.h,v 1.18 2000/07/27 09:37:13 tale Exp $ */
+/* $Id: interfacemgr.h,v 1.19 2000/08/01 01:12:05 tale Exp $ */
#ifndef NAMED_INTERFACEMGR_H
#define NAMED_INTERFACEMGR_H 1
/*
* Interface manager
*
- * The interface manager monitors the operating system's list
- * of network interfaces, creating and destroying listeners
+ * The interface manager monitors the operating system's list
+ * of network interfaces, creating and destroying listeners
* as needed.
*
* Reliability:
*** Types
***/
-#define IFACE_MAGIC 0x493A2D29U /* I:-). */
+#define IFACE_MAGIC 0x493A2D29U /* I:-). */
#define NS_INTERFACE_VALID(t) ISC_MAGIC_VALID(t, IFACE_MAGIC)
struct ns_interface {
void
ns_interfacemgr_attach(ns_interfacemgr_t *source, ns_interfacemgr_t **target);
-void
+void
ns_interfacemgr_detach(ns_interfacemgr_t **targetp);
void
void
ns_interface_attach(ns_interface_t *source, ns_interface_t **target);
-void
+void
ns_interface_detach(ns_interface_t **targetp);
#endif /* NAMED_INTERFACEMGR_H */
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: listenlist.h,v 1.8 2000/07/27 09:37:14 tale Exp $ */
+/* $Id: listenlist.h,v 1.9 2000/08/01 01:12:06 tale Exp $ */
#ifndef NAMED_LISTENLIST_H
#define NAMED_LISTENLIST_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: log.h,v 1.14 2000/07/27 09:37:16 tale Exp $ */
+/* $Id: log.h,v 1.15 2000/08/01 01:12:07 tale Exp $ */
#ifndef NAMED_LOG_H
#define NAMED_LOG_H 1
* Initialize the logging system and set up an initial default
* logging default configuration that will be used until the
* config file has been read.
- *
+ *
* If 'safe' is true, use a default configuration that refrains
* from opening files. This is to avoid creating log files
* as root.
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: logconf.h,v 1.7 2000/07/27 09:37:17 tale Exp $ */
+/* $Id: logconf.h,v 1.8 2000/08/01 01:12:08 tale Exp $ */
#ifndef NAMED_LOGCONF_H
#define NAMED_LOGCONF_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwdclient.h,v 1.4 2000/07/27 09:37:18 tale Exp $ */
+/* $Id: lwdclient.h,v 1.5 2000/08/01 01:12:09 tale Exp $ */
#ifndef NAMED_LWDCLIENT_H
#define NAMED_LWDCLIENT_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwresd.h,v 1.4 2000/07/27 09:37:19 tale Exp $ */
+/* $Id: lwresd.h,v 1.5 2000/08/01 01:12:10 tale Exp $ */
#ifndef NAMED_LWRESD_H
#define NAMED_LWRESD_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: main.h,v 1.5 2000/07/27 09:37:20 tale Exp $ */
+/* $Id: main.h,v 1.6 2000/08/01 01:12:11 tale Exp $ */
#ifndef NAMED_MAIN_H
#define NAMED_MAIN_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: notify.h,v 1.7 2000/07/27 09:37:21 tale Exp $ */
+/* $Id: notify.h,v 1.8 2000/08/01 01:12:12 tale Exp $ */
#ifndef NAMED_NOTIFY_H
#define NAMED_NOTIFY_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: omapi.h,v 1.9 2000/07/27 09:37:22 tale Exp $ */
+/* $Id: omapi.h,v 1.10 2000/08/01 01:12:14 tale Exp $ */
#ifndef NAMED_OMAPI_H
#define NAMED_OMAPI_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: query.h,v 1.20 2000/07/31 21:06:58 explorer Exp $ */
+/* $Id: query.h,v 1.21 2000/08/01 01:12:15 tale Exp $ */
#ifndef NAMED_QUERY_H
#define NAMED_QUERY_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: server.h,v 1.34 2000/07/27 09:37:25 tale Exp $ */
+/* $Id: server.h,v 1.35 2000/08/01 01:12:16 tale Exp $ */
#ifndef NAMED_SERVER_H
#define NAMED_SERVER_H 1
/* Common rwlock for the server's configurable data. */
isc_rwlock_t conflock;
-
+
/* Configurable data. */
isc_quota_t xfroutquota;
isc_quota_t tcpquota;
dns_db_t * in_roothints;
dns_tkeyctx_t * tkeyctx;
isc_timer_t * interface_timer;
-
+
isc_mutex_t reload_event_lock;
isc_event_t * reload_event;
};
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tkeyconf.h,v 1.5 2000/07/27 09:48:31 tale Exp $ */
+/* $Id: tkeyconf.h,v 1.6 2000/08/01 01:24:49 tale Exp $ */
#ifndef DNS_TKEYCONF_H
#define DNS_TKEYCONF_H 1
* ISC_R_SUCCESS
* ISC_R_NOMEMORY
*/
-
+
ISC_LANG_ENDDECLS
#endif /* DNS_TKEYCONF_H */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tsigconf.h,v 1.5 2000/07/27 09:48:33 tale Exp $ */
+/* $Id: tsigconf.h,v 1.6 2000/08/01 01:24:51 tale Exp $ */
#ifndef DNS_TSIGCONF_H
#define DNS_TSIGCONF_H 1
* ISC_R_SUCCESS
* ISC_R_NOMEMORY
*/
-
+
ISC_LANG_ENDDECLS
#endif /* DNS_TSIGCONF_H */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: types.h,v 1.14 2000/07/27 09:37:26 tale Exp $ */
+/* $Id: types.h,v 1.15 2000/08/01 01:12:17 tale Exp $ */
#ifndef NAMED_TYPES_H
#define NAMED_TYPES_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: update.h,v 1.5 2000/07/27 09:37:27 tale Exp $ */
+/* $Id: update.h,v 1.6 2000/08/01 01:12:18 tale Exp $ */
#ifndef NAMED_UPDATE_H
#define NAMED_UPDATE_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: xfrout.h,v 1.5 2000/07/27 09:37:28 tale Exp $ */
+/* $Id: xfrout.h,v 1.6 2000/08/01 01:12:19 tale Exp $ */
#ifndef NAMED_XFROUT_H
#define NAMED_XFROUT_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: zoneconf.h,v 1.12 2000/07/27 09:48:41 tale Exp $ */
+/* $Id: zoneconf.h,v 1.13 2000/08/01 01:24:59 tale Exp $ */
#ifndef DNS_ZONECONF_H
#define DNS_ZONECONF_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: interfacemgr.c,v 1.47 2000/07/27 09:36:49 tale Exp $ */
+/* $Id: interfacemgr.c,v 1.48 2000/08/01 01:11:40 tale Exp $ */
#include <config.h>
#include <named/log.h>
#include <named/interfacemgr.h>
-#define IFMGR_MAGIC 0x49464D47U /* IFMG. */
+#define IFMGR_MAGIC 0x49464D47U /* IFMG. */
#define NS_INTERFACEMGR_VALID(t) ISC_MAGIC_VALID(t, IFMGR_MAGIC)
#define IFMGR_COMMON_LOGARGS \
REQUIRE(mctx != NULL);
REQUIRE(mgrp != NULL);
REQUIRE(*mgrp == NULL);
-
+
mgr = isc_mem_get(mctx, sizeof(*mgr));
if (mgr == NULL)
return (ISC_R_NOMEMORY);
mgr->clientmgr = clientmgr;
mgr->generation = 1;
mgr->listenon4 = NULL;
- mgr->listenon6 = NULL;
+ mgr->listenon6 = NULL;
ISC_LIST_INIT(mgr->interfaces);
/*
result = dns_aclenv_init(mctx, &mgr->aclenv);
if (result != ISC_R_SUCCESS)
goto cleanup_listenon;
-
+
mgr->references = 1;
mgr->magic = IFMGR_MAGIC;
*mgrp = mgr;
*target = source;
}
-void
+void
ns_interfacemgr_detach(ns_interfacemgr_t **targetp) {
isc_result_t need_destroy = ISC_FALSE;
ns_interfacemgr_t *target = *targetp;
{
ns_interface_t *ifp;
isc_result_t result;
-
+
REQUIRE(NS_INTERFACEMGR_VALID(mgr));
ifp = isc_mem_get(mgr->mctx, sizeof(*ifp));
if (ifp == NULL)
isc_task_setname(ifp->task, "ifp", ifp);
ifp->udpdispatch = NULL;
-
+
ifp->tcpsocket = NULL;
/*
* Create a single TCP client object. It will replace itself
ifp->ntcptarget = 1;
ifp->ntcpcurrent = 0;
- ns_interfacemgr_attach(mgr, &ifp->mgr);
+ ns_interfacemgr_attach(mgr, &ifp->mgr);
ISC_LIST_APPEND(mgr->interfaces, ifp, link);
ifp->references = 1;
isc_result_t result;
unsigned int attrs;
unsigned int attrmask;
-
+
attrs = 0;
attrs |= DNS_DISPATCHATTR_UDP;
if (isc_sockaddr_pf(&ifp->addr) == AF_INET)
static isc_result_t
ns_interface_accepttcp(ns_interface_t *ifp) {
isc_result_t result;
-
+
/*
* Open a TCP socket.
*/
isc_result_t result;
ns_interface_t *ifp = NULL;
REQUIRE(ifpret != NULL && *ifpret == NULL);
-
+
result = ns_interface_create(mgr, addr, name, &ifp);
if (result != ISC_R_SUCCESS)
return (result);
}
*ifpret = ifp;
return (ISC_R_SUCCESS);
-
+
cleanup_interface:
- ISC_LIST_UNLINK(ifp->mgr->interfaces, ifp, link);
+ ISC_LIST_UNLINK(ifp->mgr->interfaces, ifp, link);
ns_interface_detach(&ifp);
return (result);
}
isc_mutex_destroy(&ifp->lock);
ns_interfacemgr_detach(&ifp->mgr);
-
+
ifp->magic = 0;
isc_mem_put(mctx, ifp, sizeof(*ifp));
}
*target = source;
}
-void
+void
ns_interface_detach(ns_interface_t **targetp) {
isc_result_t need_destroy = ISC_FALSE;
ns_interface_t *target = *targetp;
result = clearacl(mgr->mctx, &mgr->aclenv.localnets);
if (result != ISC_R_SUCCESS)
goto cleanup_iter;
-
+
for (result = isc_interfaceiter_first(iter);
result == ISC_R_SUCCESS;
result = isc_interfaceiter_next(iter))
ns_listenelt_t *le;
dns_aclelement_t elt;
unsigned int prefixlen;
-
+
result = isc_interfaceiter_current(iter, &interface);
if (result != ISC_R_SUCCESS)
break;
result = dns_acl_appendelement(mgr->aclenv.localhost, &elt);
if (result != ISC_R_SUCCESS)
goto ignore_interface;
-
+
for (le = ISC_LIST_HEAD(mgr->listenon4->elts);
le != NULL;
le = ISC_LIST_NEXT(le, link))
&match, NULL);
if (match <= 0)
continue;
-
+
ifp = find_matching_interface(mgr, &listen_sockaddr);
if (ifp != NULL) {
ifp->generation = mgr->generation;
ISC_LOG_INFO,
"listening on IPv4 interface "
"%s, %s", interface.name, sabuf);
-
+
result = ns_interface_setup(mgr,
&listen_sockaddr,
interface.name,
if (ISC_LIST_NEXT(elt, link) != NULL)
return (ISC_FALSE); /* More than one listen-on-v6 stmt */
if (elt->acl->length != 1)
- return (ISC_FALSE);
+ return (ISC_FALSE);
if (elt->acl->elements[0].negative == ISC_FALSE &&
elt->acl->elements[0].type == dns_aclelementtype_any) {
*portp = elt->port;
if (listenon_is_ip6_none(mgr->listenon6))
return;
-
+
if (! listenon_is_ip6_any(mgr->listenon6, &port)) {
isc_log_write(IFMGR_COMMON_LOGARGS,
- ISC_LOG_ERROR,
+ ISC_LOG_ERROR,
"bad IPv6 listen-on list: must be 'any' or 'none'");
return;
}
-
+
in6a = in6addr_any;
isc_sockaddr_fromin6(&listen_addr, &in6a, port);
result = ns_interface_setup(mgr, &listen_addr, "<any>", &ifp);
if (result != ISC_R_SUCCESS) {
isc_log_write(IFMGR_COMMON_LOGARGS,
- ISC_LOG_ERROR,
+ ISC_LOG_ERROR,
"listening on IPv6 interfaces failed");
/* Continue. */
}
REQUIRE(NS_INTERFACEMGR_VALID(mgr));
- mgr->generation++; /* Increment the generation count. */
+ mgr->generation++; /* Increment the generation count. */
if (isc_net_probeipv6() == ISC_R_SUCCESS) {
do_ipv6(mgr);
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: listenlist.c,v 1.7 2000/07/27 09:36:50 tale Exp $ */
+/* $Id: listenlist.c,v 1.8 2000/08/01 01:11:41 tale Exp $ */
#include <config.h>
next = ISC_LIST_NEXT(elt, link);
ns_listenelt_destroy(elt);
}
- isc_mem_put(list->mctx, list, sizeof(*list));
+ isc_mem_put(list->mctx, list, sizeof(*list));
}
void
result = dns_acl_none(mctx, &acl);
if (result != ISC_R_SUCCESS)
goto cleanup;
-
+
result = ns_listenelt_create(mctx, port, acl, &elt);
if (result != ISC_R_SUCCESS)
goto cleanup_acl;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: log.c,v 1.21 2000/07/27 09:36:51 tale Exp $ */
+/* $Id: log.c,v 1.22 2000/08/01 01:11:42 tale Exp $ */
#include <config.h>
ns_log_setdefaultchannels(isc_logconfig_t *lcfg) {
isc_result_t result;
isc_logdestination_t destination;
-
+
/*
* By default, the logging library makes "default_debug" log to
* stderr. In BIND, we want to override this and log to named.run
isc_result_t
ns_log_setsafechannels(isc_logconfig_t *lcfg) {
isc_result_t result;
-
+
if (! ns_g_logstderr) {
result = isc_log_createchannel(lcfg, "default_debug",
ISC_LOG_TONULL,
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: logconf.c,v 1.23 2000/07/27 09:36:52 tale Exp $ */
+/* $Id: logconf.c,v 1.24 2000/08/01 01:11:44 tale Exp $ */
#include <config.h>
unsigned int type;
unsigned int flags = 0;
int level;
-
+
type = ISC_LOG_TONULL;
switch (cchan->ctype) {
case dns_c_logchan_file:
type = ISC_LOG_TOFILE;
{
const char *path = NULL;
- isc_int32_t versions = ISC_LOG_ROLLNEVER;
+ isc_int32_t versions = ISC_LOG_ROLLNEVER;
/*
* XXXDCL should be isc_offset_t, but that
* is incompatible with dns_c_logchan_getsize.
flags |= ISC_LOG_PRINTLEVEL;
/* XXX ISC_LOG_PRINTMODULE */
}
-
+
level = ISC_LOG_INFO;
(void)dns_c_logchan_getdebuglevel(cchan, &level);
-
+
result = isc_log_createchannel(lctx, cchan->name,
type, level, &dest, flags);
return (result);
isc_boolean_t default_set = ISC_FALSE;
CHECK(ns_log_setdefaultchannels(lcctx));
-
+
for (cchan = ISC_LIST_HEAD(clog->channels);
cchan != NULL;
cchan = ISC_LIST_NEXT(cchan, next)) {
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwdclient.c,v 1.5 2000/07/27 09:36:53 tale Exp $ */
+/* $Id: lwdclient.c,v 1.6 2000/08/01 01:11:45 tale Exp $ */
#include <config.h>
UNUSED(task);
UNUSED(dev);
-
+
INSIST(NS_LWDCLIENT_ISSEND(client));
INSIST(client->sendbuf == dev->region.base);
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwderror.c,v 1.3 2000/07/27 09:36:54 tale Exp $ */
+/* $Id: lwderror.c,v 1.4 2000/08/01 01:11:46 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwdgabn.c,v 1.5 2000/07/27 09:36:55 tale Exp $ */
+/* $Id: lwdgabn.c,v 1.6 2000/08/01 01:11:47 tale Exp $ */
#include <config.h>
client->find = NULL;
else
dns_adb_destroyfind(&client->find);
-
+
}
generate_reply(client);
return;
}
-static void
+static void
init_gabn(ns_lwdclient_t *client) {
int i;
/*
* Initialize the real name and alias arrays in the reply we're
* going to build up.
- */
+ */
for (i = 0 ; i < LWRES_MAX_ALIASES ; i++) {
client->aliases[i] = NULL;
client->aliaslen[i] = 0;
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwdgnba.c,v 1.5 2000/07/27 09:36:57 tale Exp $ */
+/* $Id: lwdgnba.c,v 1.6 2000/08/01 01:11:48 tale Exp $ */
#include <config.h>
* fails.
*/
client->options |= DNS_BYADDROPT_IPV6NIBBLE;
-
+
start_byaddr(client);
return;
}
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwdnoop.c,v 1.3 2000/07/27 09:36:58 tale Exp $ */
+/* $Id: lwdnoop.c,v 1.4 2000/08/01 01:11:49 tale Exp $ */
#include <config.h>
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwresd.8,v 1.5 2000/07/27 09:42:28 tale Exp $
-.\"
+.\"
+.\" $Id: lwresd.8,v 1.6 2000/08/01 01:18:43 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRESD 8
.Os BIND9 9
is the daemon providing name lookup services to clients that use
the BIND 9 lightweight resolver library.
It is essentially a stripped-down, caching-only name server that
-answers queries using the BIND 9 lightweight resolver protocol
+answers queries using the BIND 9 lightweight resolver protocol
rather than the DNS protocol.
.Pp
.Nm lwresd
-listens for resolver queries on a UDP port on the IPv4 loopback
+listens for resolver queries on a UDP port on the IPv4 loopback
interface, 127.0.0.1.
This means that
.Nm lwresd
.Sy nameserver
entries are present, or if forwarding fails,
.Nm lwresd
-resolves the queries autonomously starting at the
-root name servers, using a compiled-in list of root
+resolves the queries autonomously starting at the
+root name servers, using a compiled-in list of root
servers hints.
.Pp
The options to
.Ar pid-file
instead of the default pathname.
.It Fl n
-create
+create
.Ar #cpus
worker threads to take advantage of multiple CPUs.
If no option is given,
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwresd.c,v 1.12 2000/07/27 09:36:59 tale Exp $ */
+/* $Id: lwresd.c,v 1.13 2000/08/01 01:11:50 tale Exp $ */
/*
* Main program for the Lightweight Resolver Daemon.
*
- * To paraphrase the old saying about X11, "It's not a lightweight deamon
+ * To paraphrase the old saying about X11, "It's not a lightweight deamon
* for resolvers, it's a deamon for lightweight resolvers".
*/
unsigned int attrs;
isc_sockaddr_t any4, any6;
dns_dispatch_t *disp4 = NULL;
- dns_dispatch_t *disp6 = NULL;
+ dns_dispatch_t *disp6 = NULL;
isc_sockaddrlist_t forwarders;
dns_view_t *view;
}
if (disp4 == NULL && disp6 == NULL)
fatal("not listening on IPv4 or IPv6", ISC_R_FAILURE);
-
+
result = dns_view_createresolver(view, ns_g_taskmgr, 16,
ns_g_socketmgr, ns_g_timermgr, 0,
lwresd->dispmgr, disp4, disp6);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: main.c,v 1.75 2000/07/27 09:37:00 tale Exp $ */
+/* $Id: main.c,v 1.76 2000/08/01 01:11:51 tale Exp $ */
#include <config.h>
* Defining NS_MAIN provides storage declaratons (rather than extern)
* for variables in named/globals.h.
*/
-#define NS_MAIN 1
+#define NS_MAIN 1
#include <named/globals.h> /* Explicit, though named/log.h includes it. */
#include <named/interfacemgr.h>
" [-p port] [-s] [-t chrootdir] [-u username]\n");
}
-static void
+static void
parse_lwresd_command_line(int argc, char *argv[]) {
int ch;
unsigned int port;
}
}
-static void
+static void
parse_command_line(int argc, char *argv[]) {
int ch;
unsigned int port;
*/
do {
result = isc_app_run();
-
+
if (result == ISC_R_RELOAD) {
ns_server_reloadwanted(ns_g_server);
} else if (result != ISC_R_SUCCESS) {
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: named.8,v 1.4 2000/07/27 09:42:29 tale Exp $
-.\"
+.\"
+.\" $Id: named.8,v 1.5 2000/08/01 01:18:44 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt NAMED 8
.Os BIND9 9
.Nm named
is functionally and logically distinct from a
conventional name server.
-More information can be found in
+More information can be found in
.Xr lwresd 8 .
.Pp
Although some command-line options can be used with
.Nm named ,
-the name server's behaviour is mainly controlled by its configuration file,
+the name server's behaviour is mainly controlled by its configuration file,
.Pa /etc/named.conf .
Refer to the BIND9 Administrator Reference Manual for further details.
.Pp
in the foreground and force all logging to
.Dv stderr .
.It Fl n
-create
+create
.Ar #cpus
worker threads to take advantage of multiple CPUs.
If no option is given,
.Ar user-id .
.Nm named
will change its UID after it has
-carried out any privileged operations, such as
+carried out any privileged operations, such as
creating sockets that listen on privileged ports.
.It Fl x
load data from
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf.test,v 1.4 2000/07/27 09:37:01 tale Exp $ */
+/* $Id: named.conf.test,v 1.5 2000/08/01 01:11:52 tale Exp $ */
options {
directory "/var/named";
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: notify.c,v 1.19 2000/07/27 09:37:02 tale Exp $ */
+/* $Id: notify.c,v 1.20 2000/08/01 01:11:54 tale Exp $ */
#include <config.h>
/*
* This module implements notify as in RFC 1996.
*/
-
+
/**************************************************************************/
/*
dns_name_t *zonename;
dns_rdataset_t *zone_rdataset;
dns_zone_t *zone = NULL;
-
+
/*
* Interpret the question section.
*/
}
dns_zone_detach(&zone);
return;
-
+
failure:
if (zone != NULL)
dns_zone_detach(&zone);
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: omapi.c,v 1.15 2000/07/27 09:37:04 tale Exp $ */
+/* $Id: omapi.c,v 1.16 2000/08/01 01:11:55 tale Exp $ */
/*
* Principal Author: DCL
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: omapiconf.c,v 1.9 2000/07/27 09:37:05 tale Exp $ */
+/* $Id: omapiconf.c,v 1.10 2000/08/01 01:11:56 tale Exp $ */
/*
* Principal Author: DCL
keydef->keyid, socktext,
isc_result_totext(result));
}
-}
+}
static void
update_listener(ns_omapilistener_t **listenerp, dns_c_ctrl_t *control,
/*
* Run through the new control channel list, noting sockets that
* are already being listened on and moving them to the new list.
- *
+ *
* Identifying duplicates addr/port combinations is left to either
* the underlying config code, or to the bind attempt getting an
* address-in-use error.
*/
add_listener(mctx, &listener, control, cctx,
aclconfctx, socktext);
-
+
if (listener != NULL)
ISC_LIST_APPEND(new_listeners, listener, link);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: query.c,v 1.119 2000/07/31 21:06:55 explorer Exp $ */
+/* $Id: query.c,v 1.120 2000/08/01 01:11:57 tale Exp $ */
#include <config.h>
*/
if (client->query.fetch != NULL) {
dns_resolver_cancelfetch(client->query.fetch);
-
+
client->query.fetch = NULL;
}
dbversion = ISC_LIST_HEAD(client->query.freeversions);
INSIST(dbversion != NULL);
ISC_LIST_UNLINK(client->query.freeversions, dbversion, link);
-
+
return (dbversion);
}
*newzonep = ISC_TRUE;
} else
*newzonep = ISC_FALSE;
-
+
return (dbversion);
}
if (!USECACHE(client))
return (DNS_R_REFUSED);
dns_db_attach(client->view->cachedb, dbp);
-
+
if ((client->query.attributes &
NS_QUERYATTR_QUERYOKVALID) != 0) {
/*
*/
check_acl = ISC_TRUE;
}
-
+
if (check_acl) {
isc_boolean_t log = ISC_TF((options & DNS_GETDB_NOLOG) == 0);
result = ns_client_checkacl(client, "query", client->view->queryacl,
* the NS_QUERYATTR_QUERYOK attribute is now valid.
*/
client->query.attributes |= NS_QUERYATTR_QUERYOKVALID;
-
+
} else
result = ISC_R_SUCCESS;
/*
* Most likely the client isn't allowed to query the cache.
*/
- goto try_glue;
+ goto try_glue;
result = dns_db_find(db, name, version, type, client->query.dboptions,
client->now, &node, fname, rdataset,
rdataset = query_newrdataset(client);
if (rdataset == NULL)
goto addname;
- }
+ }
if (sigrdataset != NULL) {
if (dns_rdataset_isassociated(sigrdataset))
dns_rdataset_disassociate(sigrdataset);
sigrdataset = query_newrdataset(client);
if (sigrdataset == NULL)
goto addname;
- }
+ }
result = dns_db_findrdataset(db, node, version,
dns_rdatatype_a, 0,
client->now, rdataset,
dns_rdatatype_t type = rdataset->type;
/*
- * Add 'rdataset' and any pertinent additional data to
+ * Add 'rdataset' and any pertinent additional data to
* 'fname', a name in the response message for 'client'.
*/
-
+
CTRACE("query_addrdataset");
ISC_LIST_APPEND(fname->list, rdataset, link);
static inline isc_result_t
query_checktype(dns_rdatatype_t type) {
-
+
/*
* XXXRTH OPT still needs to be added.
* Should get help with this from rdata.c
RWLOCK(&client->lockview->conflock, isc_rwlocktype_read);
query_find(client, devent);
-
+
RWUNLOCK(&client->lockview->conflock, isc_rwlocktype_read);
- dns_view_detach(&client->lockview);
+ dns_view_detach(&client->lockview);
dns_zonemgr_unlockconf(ns_g_server->zonemgr,
isc_rwlocktype_read);
RWUNLOCK(&ns_g_server->conflock, isc_rwlocktype_read);
* We are about to recurse, which means that this client will
* be unavailable for serving new requests for an indeterminate
* amount of time. If this client is currently responsible
- * for handling incoming queries, set up a new client
+ * for handling incoming queries, set up a new client
* object to handle them while we are waiting for a
* response.
*/
if (! client->mortal) {
- result = isc_quota_attach(&ns_g_server->recursionquota,
+ result = isc_quota_attach(&ns_g_server->recursionquota,
&client->recursionquota);
if (result == ISC_R_SUCCESS)
result = ns_client_replace(client);
NS_LOGMODULE_QUERY, ISC_LOG_WARNING,
"no more recursive clients: %s",
isc_result_totext(result));
- return (result);
+ return (result);
}
}
query_putrdataset(client, &rdataset);
query_putrdataset(client, &sigrdataset);
}
-
+
return (result);
}
result = ISC_R_FAILURE;
goto cleanup;
}
-
+
result = dns_db_find(pdb, name, pversion, dns_rdatatype_key,
client->query.dboptions,
client->now, &pnode,
CTRACE("query_find");
- /*
+ /*
* One-time initialization.
*
* It's especially important to initialize anything that the cleanup
result = dns_name_split(client->query.qname, nlabels, nbits,
prefix, NULL);
if (result != ISC_R_SUCCESS)
- goto cleanup;
+ goto cleanup;
INSIST(fname == NULL);
dbuf = query_getnamebuf(client);
if (dbuf == NULL)
if (client->message->rcode == dns_rcode_nxdomain &&
client->view->auth_nxdomain == ISC_TRUE)
client->message->flags |= DNS_MESSAGEFLAG_AA;
-
+
ns_client_send(client);
- ns_client_detach(&client);
+ ns_client_detach(&client);
}
CTRACE("query_find: done");
}
/* XXXRTH Allow this to be turned off! */
dns_name_format(client->query.qname, namebuf, sizeof(namebuf));
-
+
isc_buffer_init(&b, (unsigned char *)text, sizeof(text));
for (rdataset = ISC_LIST_HEAD(client->query.qname->list);
rdataset != NULL;
dns_message_t *message = client->message;
dns_rdataset_t *rdataset;
ns_client_t *qclient;
-
+
CTRACE("ns_query_start");
/*
/*
* If the client isn't allowed to recurse (due to
* "recursion no", the allow-recursion ACL, or the
- * lack of a resolver in this view), or if it
+ * lack of a resolver in this view), or if it
* doesn't want recursion, turn recursion off.
*/
client->query.attributes &= ~NS_QUERYATTR_RECURSIONOK;
}
}
}
-
+
/*
* Check for meta-queries like IXFR and AXFR.
*/
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: server.c,v 1.206 2000/07/31 21:06:56 explorer Exp $ */
+/* $Id: server.c,v 1.207 2000/08/01 01:11:59 tale Exp $ */
#include <config.h>
* (for a global default).
*/
static isc_result_t
-configure_view_acl(dns_c_view_t *cview,
+configure_view_acl(dns_c_view_t *cview,
dns_c_ctx_t *cctx,
dns_aclconfctx_t *actx, isc_mem_t *mctx,
isc_result_t (*getvcacl)
dns_acl_t **aclp)
{
isc_result_t result;
-
+
dns_c_ipmatchlist_t *cacl = NULL;
if (*aclp != NULL)
dns_acl_detach(aclp);
isc_buffer_t source;
isc_lex_t *lex = NULL;
isc_boolean_t isopen = ISC_FALSE;
-
+
isc_buffer_init(&source, cstr, strlen(cstr));
isc_buffer_add(&source, strlen(cstr));
CHECK(isc_lex_create(mctx, 256, &lex));
CHECK(isc_lex_openbuffer(lex, &source));
isopen = ISC_TRUE;
CHECK(isc_base64_tobuffer(lex, target, -1));
-
+
cleanup:
if (isopen)
(void)isc_lex_close(lex);
/*
* Configure DNSSEC keys for a view. Currently used only for
* the security roots.
- *
+ *
* The per-view configuration values and their server-global
- * defaults are are read from 'cview' and 'cctx' using
+ * defaults are are read from 'cview' and 'cctx' using
* the function 'cgetv' and 'cgets', respectively.
* The variable to be configured is '*target'.
*/
dns_c_tkey_t *ckey;
dns_keytable_t *keytable = NULL;
dst_key_t *dstkey = NULL;
-
+
CHECK(dns_keytable_create(mctx, &keytable));
result = ISC_R_FAILURE;
dns_fixedname_t fkeyname;
dns_name_t *keyname;
isc_buffer_t namebuf;
-
+
if (cview == NULL)
viewclass = dns_rdataclass_in;
else
keystruct.common.rdclass = viewclass;
keystruct.common.rdtype = dns_rdatatype_key;
/*
- * The key data in keystruct is not
+ * The key data in keystruct is not
* dynamically allocated.
*/
- keystruct.mctx = NULL;
-
+ keystruct.mctx = NULL;
+
ISC_LINK_INIT(&keystruct.common, link);
-
+
flags = ckey->pubkey->flags;
proto = ckey->pubkey->protocol;
alg = ckey->pubkey->algorithm;
keystruct.flags = flags;
keystruct.protocol = proto;
keystruct.algorithm = alg;
-
+
isc_buffer_init(&keydatabuf, keydata, sizeof(keydata));
isc_buffer_init(&rrdatabuf, rrdata, sizeof(rrdata));
-
+
CHECK(base64_cstring_tobuffer(mctx, ckey->pubkey->key,
&keydatabuf));
isc_buffer_usedregion(&keydatabuf, &r);
keystruct.datalen = r.length;
keystruct.data = r.base;
-
+
CHECK(dns_rdata_fromstruct(NULL,
keystruct.common.rdclass,
keystruct.common.rdtype,
NULL));
CHECK(dst_key_fromdns(keyname, &rrdatabuf, mctx,
&dstkey));
-
+
CHECK(dns_keytable_add(keytable, &dstkey));
INSIST(dstkey == NULL);
}
} else if (result != ISC_R_NOTFOUND)
goto cleanup;
-
+
dns_keytable_detach(target);
*target = keytable; /* Transfer ownership. */
keytable = NULL;
dst_key_free(&dstkey);
return (result);
}
-
+
/*
* Get a dispatch appropriate for the resolver of a given view.
if (result != ISC_R_SUCCESS)
result = dns_c_ctx_getquerysourcev6(cctx, &sa);
if (result != ISC_R_SUCCESS)
- isc_sockaddr_any6(&sa);
+ isc_sockaddr_any6(&sa);
break;
default:
INSIST(0);
}
-
+
INSIST(isc_sockaddr_pf(&sa) == af);
/*
* Configure 'view' according to 'cview', taking defaults from 'cctx'
* where values are missing in cctx.
*
- * When configuring the default view, cctx will be NULL and the
+ * When configuring the default view, cctx will be NULL and the
* glboal defaults in cview used exclusively.
*/
static isc_result_t
dns_dispatch_t *dispatch4 = NULL;
dns_dispatch_t *dispatch6 = NULL;
in_port_t port;
-
+
REQUIRE(DNS_VIEW_VALID(view));
ISC_LIST_INIT(addresses);
if (result != ISC_R_SUCCESS)
port = 53;
dns_view_setdstport(view, port);
-
+
/*
* Configure the view's cache. Try to reuse an existing
* cache if possible, otherwise create a new cache.
* Note that the ADB is not preserved in either case.
- *
- * XXX Determining when it is safe to reuse a cache is
+ *
+ * XXX Determining when it is safe to reuse a cache is
* tricky. When the view's configuration changes, the cached
* data may become invalid because it reflects our old
* view of the world. As more view attributes become
result = ISC_R_FAILURE;
goto cleanup;
}
-
+
/*
* Configure the view's TSIG keys.
*/
{
dns_peerlist_t *newpeers = NULL;
- result = ISC_R_NOTFOUND;
+ result = ISC_R_NOTFOUND;
if (cview != NULL)
result = dns_c_view_getpeerlist(cview, &newpeers);
if (result != ISC_R_SUCCESS)
/*
* Configure the "match-clients" ACL.
*/
- CHECK(configure_view_acl(cview, cctx, actx, ns_g_mctx,
+ CHECK(configure_view_acl(cview, cctx, actx, ns_g_mctx,
dns_c_view_getmatchclients, NULL,
&view->matchclients));
(void)dns_c_view_getauthnxdomain(cview, &view->auth_nxdomain);
result = ISC_R_NOTFOUND;
- if (cview != NULL)
+ if (cview != NULL)
result = dns_c_view_gettransferformat(cview,
&view->transfer_format);
if (result != ISC_R_SUCCESS)
dns_c_view_getallowquery,
dns_c_ctx_getallowquery,
&view->queryacl));
-
+
CHECK(configure_view_acl(cview, cctx, actx, ns_g_mctx,
dns_c_view_getrecursionacl,
dns_c_ctx_getallowrecursion,
CHECK(dns_zone_setorigin(zone, &origin));
dns_zone_settype(zone, dns_zone_master);
dns_zone_setclass(zone, dns_rdataclass_ch);
- dns_zone_setview(zone, view);
-
+ dns_zone_setview(zone, view);
+
CHECK(dns_zonemgr_managezone(zmgr, zone));
CHECK(dns_db_create(ns_g_mctx, "rbt", &origin, dns_dbtype_zone,
dns_rdataclass_ch, 0, NULL, &db));
-
+
CHECK(dns_db_newversion(db, &dbver));
CHECK(dns_difftuple_create(ns_g_mctx, DNS_DIFFOP_ADD, &origin,
result = dns_view_create(ns_g_mctx, viewclass, viewname, &view);
if (result != ISC_R_SUCCESS)
return (result);
-
+
ISC_LIST_APPEND(*viewlist, view, link);
dns_view_attach(view, viewp);
return (ISC_R_SUCCESS);
dns_view_t *pview = NULL; /* Production view */
dns_zone_t *zone = NULL; /* New or reused zone */
dns_zone_t *dupzone = NULL;
-
+
isc_result_t result;
- char *corigin;
+ char *corigin;
isc_buffer_t buffer;
dns_fixedname_t fixorigin;
dns_name_t *origin;
CHECK(dns_name_fromtext(dns_fixedname_name(&fixorigin),
&buffer, dns_rootname, ISC_FALSE, NULL));
origin = dns_fixedname_name(&fixorigin);
-
+
/*
* Find or create the view in the new view list.
*/
result = ISC_R_FAILURE;
goto cleanup;
}
-
+
/*
* Master zones must have 'file' set.
*/
* - The zone's view exists
* - A zone with the right name exists in the view
* - The zone is compatible with the config
- * options (e.g., an existing master zone cannot
+ * options (e.g., an existing master zone cannot
* be reused if the options specify a slave zone)
*/
result = dns_viewlist_find(&ns_g_server->viewlist,
}
-static void
+static void
scan_interfaces(ns_server_t *server, isc_boolean_t verbose) {
ns_interfacemgr_scan(server->interfacemgr, verbose);
dns_aclenv_copy(&server->aclenv,
*/
static void
interface_timer_tick(isc_task_t *task, isc_event_t *event) {
- ns_server_t *server = (ns_server_t *) event->ev_arg;
+ ns_server_t *server = (ns_server_t *) event->ev_arg;
UNUSED(task);
isc_event_free(&event);
RWLOCK(&server->conflock, isc_rwlocktype_write);
char *pidfilename;
isc_uint32_t interface_interval;
in_port_t listen_port;
-
+
dns_aclconfctx_init(&aclconfctx);
RWLOCK(&server->conflock, isc_rwlocktype_write);
dns_zonemgr_lockconf(server->zonemgr, isc_rwlocktype_write);
-
+
lctx.mctx = ns_g_mctx;
lctx.aclconf = &aclconfctx;
ISC_LIST_INIT(lctx.viewlist);
cctx = NULL;
CHECK(dns_c_parse_namedconf(filename, ns_g_mctx, &cctx,
&callbacks));
-
+
/*
* Configure various server options.
*/
ns_interfacemgr_setlistenon6(server->interfacemgr, listenon);
ns_listenlist_detach(&listenon);
}
-
+
/*
* Rescan the interface list to pick up changes in the
* listen-on option. It's important that we do this before we try
}
}
INSIST(view == NULL);
-
+
/*
- * Make sure we have a default view if and only if there
- * were no explicit views.
+ * Make sure we have a default view if and only if there
+ * were no explicit views.
*/
if (cctx->views == NULL || ISC_LIST_EMPTY(cctx->views->views)) {
/*
* There are explicit views. There should not be
* a default view. If there is one, complain.
*/
- result = dns_viewlist_find(&lctx.viewlist, "_default",
+ result = dns_viewlist_find(&lctx.viewlist, "_default",
dns_rdataclass_in, &view);
if (result == ISC_R_SUCCESS) {
dns_view_detach(&view);
goto cleanup;
}
}
-
+
/*
* Create (or recreate) the version view.
*/
/*
* Configure the logging system.
- *
- * Do this after changing UID to make sure that any log
+ *
+ * Do this after changing UID to make sure that any log
* files specified in named.conf get created by the
* unprivileged user, not root.
*/
else
ns_os_writepidfile(ns_g_defaultpidfile);
- dns_aclconfctx_destroy(&aclconfctx);
+ dns_aclconfctx_destroy(&aclconfctx);
dns_c_ctx_delete(&cctx);
-
+
cleanup:
/*
* This cleans up either the old production view list
dns_view_t *view;
dns_zonemgr_lockconf(server->zonemgr, isc_rwlocktype_read);
-
+
/*
* Load zone data from disk.
*/
*/
CHECK(dns_zonemgr_forcemaint(server->zonemgr));
cleanup:
- dns_zonemgr_unlockconf(server->zonemgr, isc_rwlocktype_read);
+ dns_zonemgr_unlockconf(server->zonemgr, isc_rwlocktype_read);
return (result);
}
CHECKFATAL(ns_clientmgr_create(ns_g_mctx, ns_g_taskmgr, ns_g_timermgr,
&server->clientmgr),
"creating client manager");
-
+
CHECKFATAL(ns_interfacemgr_create(ns_g_mctx, ns_g_taskmgr,
ns_g_socketmgr, ns_g_dispatchmgr,
server->clientmgr,
shutdown_server(isc_task_t *task, isc_event_t *event) {
dns_view_t *view, *view_next;
ns_server_t *server = (ns_server_t *)event->ev_arg;
-
+
UNUSED(task);
RWLOCK(&server->conflock, isc_rwlocktype_write);
isc_timer_detach(&server->interface_timer);
ns_interfacemgr_shutdown(server->interfacemgr);
- ns_interfacemgr_detach(&server->interfacemgr);
+ ns_interfacemgr_detach(&server->interfacemgr);
dns_dispatchmgr_destroy(&ns_g_dispatchmgr);
void
ns_server_create(isc_mem_t *mctx, ns_server_t **serverp) {
isc_result_t result;
-
+
ns_server_t *server = isc_mem_get(mctx, sizeof(*server));
if (server == NULL)
fatal("allocating server object", ISC_R_NOMEMORY);
server->mctx = mctx;
server->task = NULL;
-
+
CHECKFATAL(isc_rwlock_init(&server->conflock, 1, 1),
"initializing server configuration lock");
/* Initialize configuration data with default values. */
result = isc_quota_init(&server->xfroutquota, 10);
- RUNTIME_CHECK(result == ISC_R_SUCCESS);
+ RUNTIME_CHECK(result == ISC_R_SUCCESS);
result = isc_quota_init(&server->tcpquota, 10);
- RUNTIME_CHECK(result == ISC_R_SUCCESS);
+ RUNTIME_CHECK(result == ISC_R_SUCCESS);
result = isc_quota_init(&server->recursionquota, 100);
- RUNTIME_CHECK(result == ISC_R_SUCCESS);
+ RUNTIME_CHECK(result == ISC_R_SUCCESS);
result = dns_aclenv_init(mctx, &server->aclenv);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
-
+
/* Initialize server data structures. */
server->zonemgr = NULL;
server->clientmgr = NULL;
server->interfacemgr = NULL;
ISC_LIST_INIT(server->viewlist);
server->in_roothints = NULL;
-
+
CHECKFATAL(dns_rootns_create(mctx, dns_rdataclass_in, NULL,
&server->in_roothints),
"setting up root hints");
server->magic = NS_SERVER_MAGIC;
*serverp = server;
}
-
+
void
ns_server_destroy(ns_server_t **serverp) {
ns_server_t *server = *serverp;
dst_lib_destroy();
isc_event_free(&server->reload_event);
-
+
INSIST(ISC_LIST_EMPTY(server->viewlist));
dns_db_detach(&server->in_roothints);
-
+
dns_aclenv_destroy(&server->aclenv);
isc_quota_destroy(&server->recursionquota);
isc_result_t result;
ns_server_t *server = (ns_server_t *)event->ev_arg;
UNUSED(task);
-
+
result = load_configuration(ns_g_conffile, server, ISC_FALSE);
if (result != ISC_R_SUCCESS) {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
dns_c_lstnon_t *ce;
isc_result_t result;
ns_listenlist_t *dlist = NULL;
-
+
REQUIRE(target != NULL && *target == NULL);
result = ns_listenlist_create(mctx, &dlist);
if (result != ISC_R_SUCCESS)
return (result);
-
+
for (ce = ISC_LIST_HEAD(clist->elements);
ce != NULL;
ce = ISC_LIST_NEXT(ce, next))
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tkeyconf.c,v 1.12 2000/07/27 09:46:42 tale Exp $ */
+/* $Id: tkeyconf.c,v 1.13 2000/08/01 01:22:59 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tsigconf.c,v 1.10 2000/07/27 09:46:44 tale Exp $ */
+/* $Id: tsigconf.c,v 1.11 2000/08/01 01:23:02 tale Exp $ */
#include <config.h>
goto failure;
if (confview != NULL) {
- keylist = NULL;
+ keylist = NULL;
result = dns_c_view_getkeydefs(confview, &keylist);
if (result == ISC_R_SUCCESS)
result = add_initial_keys(keylist, ring, mctx);
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.4 2000/07/27 09:37:29 tale Exp $
+# $Id: Makefile.in,v 1.5 2000/08/01 01:12:20 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@BIND9_INCLUDES@
CINCLUDES = -I${srcdir}/include -I${srcdir}/../include \
- ${DNS_INCLUDES} ${ISC_INCLUDES}
+ ${DNS_INCLUDES} ${ISC_INCLUDES}
-CDEFINES =
+CDEFINES =
CWARNINGS =
OBJS = os.@O@
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: os.h,v 1.10 2000/07/27 09:37:32 tale Exp $ */
+/* $Id: os.h,v 1.11 2000/08/01 01:12:23 tale Exp $ */
#ifndef NS_OS_H
#define NS_OS_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: os.c,v 1.28 2000/07/27 09:37:30 tale Exp $ */
+/* $Id: os.c,v 1.29 2000/08/01 01:12:21 tale Exp $ */
#include <config.h>
if (!non_root_caps)
ns_main_earlyfatal(
"-u not supported on Linux kernels older than 2.3.99-pre3");
-#endif
+#endif
if (setgid(runas_pw->pw_gid) < 0)
ns_main_earlyfatal("setgid(): %s", strerror(errno));
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: update.c,v 1.59 2000/07/27 09:37:09 tale Exp $ */
+/* $Id: update.c,v 1.60 2000/08/01 01:12:00 tale Exp $ */
#include <config.h>
/*
* This module implements dynamic update as in RFC2136.
*/
-
+
/*
XXX TODO:
- forwarding
ISC_EVENT_COMMON(update_event_t);
dns_zone_t *zone;
isc_result_t result;
-
+
};
/**************************************************************************/
{
dns_diff_t temp_diff;
isc_result_t result;
-
+
/*
* Create a singleton diff.
*/
*/
return (ISC_R_SUCCESS);
}
-
+
static isc_result_t
update_one_rr(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff,
- dns_diffop_t op, dns_name_t *name,
+ dns_diffop_t op, dns_name_t *name,
dns_ttl_t ttl, dns_rdata_t *rdata)
{
dns_difftuple_t *tuple = NULL;
/*
* Callback-style iteration over rdatasets and rdatas.
*
- * foreach_rrset() can be used to iterate over the RRsets
+ * foreach_rrset() can be used to iterate over the RRsets
* of a name and call a callback function with each
* one. Similarly, foreach_rr() can be used to iterate
- * over the individual RRs at name, optionally restricted
+ * over the individual RRs at name, optionally restricted
* to RRs of a given type.
*
* The callback functions are called "actions" and take
/*
* For each rdataset of 'name' in 'ver' of 'db', call 'action'
* with the rdataset and 'action_data' as arguments. If the name
- * does not exist, do nothing.
+ * does not exist, do nothing.
*
* If 'action' returns an error, abort iteration and return the error.
*/
isc_result_t result;
dns_dbnode_t *node;
dns_rdatasetiter_t *iter;
-
+
node = NULL;
result = dns_db_findnode(db, name, ISC_FALSE, &node);
if (result == ISC_R_NOTFOUND)
return (ISC_R_SUCCESS);
if (result != ISC_R_SUCCESS)
return (result);
-
+
iter = NULL;
result = dns_db_allrdatasets(db, node, ver,
(isc_stdtime_t) 0, &iter);
dns_rdatasetiter_destroy(&iter);
cleanup_node:
- dns_db_detachnode(db, &node);
+ dns_db_detachnode(db, &node);
return (result);
}
/*
* For each of the RRs specified by 'db', 'ver', 'name', 'type',
* (which can be dns_rdatatype_any to match any type), and 'covers', call
- * 'action' with the RR and 'action_data' as arguments. If the name
+ * 'action' with the RR and 'action_data' as arguments. If the name
* does not exist, or if no RRset of the given type exists at the name,
* do nothing.
- *
+ *
* If 'action' returns an error, abort iteration and return the error.
*/
static isc_result_t
dns_rdataset_t rdataset;
if (type == dns_rdatatype_any)
- return (foreach_node_rr(db, ver, name,
+ return (foreach_node_rr(db, ver, name,
rr_action, rr_action_data));
-
+
node = NULL;
result = dns_db_findnode(db, name, ISC_FALSE, &node);
if (result == ISC_R_NOTFOUND)
cleanup_rdataset:
dns_rdataset_disassociate(&rdataset);
cleanup_node:
- dns_db_detachnode(db, &node);
+ dns_db_detachnode(db, &node);
return (result);
}
((result == ISC_R_SUCCESS) ? \
(*exists = ISC_FALSE, ISC_R_SUCCESS) : \
result));
-
+
/*
* Set '*exists' to true iff an rrset of the given type exists,
* to false otherwise.
static isc_result_t
cname_incompatible_rrset_exists(dns_db_t *db, dns_dbversion_t *ver,
dns_name_t *name, isc_boolean_t *exists) {
- isc_result_t result;
- result = foreach_rrset(db, ver, name,
+ isc_result_t result;
+ result = foreach_rrset(db, ver, name,
cname_compatibility_action, NULL);
RETURN_EXISTENCE_FLAG;
}
/*
* Helper function for rr_count().
*/
-static isc_result_t
+static isc_result_t
count_rr_action(void *data, rr_t *rr) {
int *countp = data;
UNUSED(rr);
* Helper function for matching_rr_exists().
*/
-static isc_result_t
+static isc_result_t
matching_rr_exists_action(void *data, rr_t *rr) {
matching_rr_exists_ctx_t *ctx = data;
if ((*ctx->predicate)(ctx->update_rr, &rr->rdata))
}
/*
- * Compare the 'update_rr' with all RRs in the RRset specified by 'db',
+ * Compare the 'update_rr' with all RRs in the RRset specified by 'db',
* 'ver', 'name', and 'type' using 'predicate'. If the predicate returns
* true for at least one of them, set '*exists' to ISC_TRUE. Otherwise,
* set it to ISC_FALSE.
/*
* Append a tuple asserting the existence of the RR with
* 'name' and 'rdata' to 'diff'.
- */
+ */
static isc_result_t
temp_append(dns_diff_t *diff, dns_name_t *name, dns_rdata_t *rdata) {
isc_result_t result;
dns_difftuple_t *tuple = NULL;
-
+
REQUIRE(DNS_DIFF_VALID(diff));
CHECK(dns_difftuple_create(diff->mctx, DNS_DIFFOP_EXISTS,
name, 0, rdata, &tuple));
* Return ISC_R_SUCCESS if the rdatasets are equal, rcode(dns_rcode_nxrrset)
* if not.
*/
-static isc_result_t
+static isc_result_t
temp_check_rrset(dns_difftuple_t *a, dns_difftuple_t *b) {
for (;;) {
if (a == NULL || b == NULL)
* in the "temp" data structure. The major sort key is the owner name,
* followed by the type and rdata.
*/
-static int
+static int
temp_order(const void *av, const void *bv) {
dns_difftuple_t * const *ap = av;
dns_difftuple_t * const *bp = bv;
dns_difftuple_t *a = *ap;
- dns_difftuple_t *b = *bp;
+ dns_difftuple_t *b = *bp;
int r;
r = dns_name_compare(&a->name, &b->name);
if (r != 0)
dns_dbnode_t *node;
dns_difftuple_t *t;
dns_diff_t trash;
-
+
/* Exit early if the list is empty (for efficiency only). */
if (ISC_LIST_HEAD(temp->tuples) == NULL)
return (ISC_R_SUCCESS);
return (result);
dns_diff_init(mctx, &trash);
-
+
/*
* For each name and type in the prerequisites,
* construct a sorted rdata list of the corresponding
if (result != ISC_R_SUCCESS)
return (result);
- /* A new unique type begins here. */
+ /* A new unique type begins here. */
while (t != NULL && dns_name_equal(&t->name, name)) {
dns_rdatatype_t type, covers;
dns_rdataset_t rdataset;
- dns_diff_t d_rrs; /* Database RRs with
+ dns_diff_t d_rrs; /* Database RRs with
this name and type */
dns_diff_t u_rrs; /* Update RRs with
this name and type */
if (result != ISC_R_NOMORE)
goto failure;
result = dns_diff_sort(&d_rrs, temp_order);
- if (result != ISC_R_SUCCESS)
+ if (result != ISC_R_SUCCESS)
goto failure;
/*
* Collect all update RRs for this name and type
- * onto u_rrs. No need to sort them here -
+ * onto u_rrs. No need to sort them here -
* they are already sorted.
*/
while (t != NULL &&
dns_db_detachnode(db, &node);
}
-
- dns_diff_clear(&trash);
+
+ dns_diff_clear(&trash);
return (ISC_R_SUCCESS);
}
if (db_rr->type == dns_rdatatype_wks) {
/*
* Compare the address and protocol fields only. These
- * form the first five bytes of the RR data. Do a
+ * form the first five bytes of the RR data. Do a
* raw binary comparison; unpacking the WKS RRs using
* dns_rdata_tostruct() might be cleaner in some ways,
* but it would require us to pass around an mctx.
/*
* Internal helper function for delete_if().
*/
-static isc_result_t
+static isc_result_t
delete_if_action(void *data, rr_t *rr) {
conditional_delete_ctx_t *ctx = data;
if ((*ctx->predicate)(ctx->update_rr, &rr->rdata)) {
* Conditionally delete RRs. Apply 'predicate' to the RRs
* specified by 'db', 'ver', 'name', and 'type' (which can
* be dns_rdatatype_any to match any type). Delete those
- * RRs for which the predicate returns true, and log the
+ * RRs for which the predicate returns true, and log the
* deletions in 'diff'.
*/
static isc_result_t
/*
* Increment the SOA serial number of database 'db', version 'ver'.
- * Replace the SOA record in the database, and log the
+ * Replace the SOA record in the database, and log the
* change in 'diff'.
*/
dns_difftuple_t *addtuple = NULL;
isc_uint32_t serial;
isc_result_t result;
-
+
CHECK(dns_db_createsoatuple(db, ver, mctx, DNS_DIFFOP_DEL, &deltuple));
CHECK(dns_difftuple_copy(deltuple, &addtuple));
addtuple->op = DNS_DIFFOP_ADD;
serial = dns_soa_getserial(&addtuple->rdata);
-
+
/* RFC1982 */
serial = (serial + 1) & 0xFFFFFFFF;
- if (serial == 0)
+ if (serial == 0)
serial = 1;
dns_soa_setserial(serial, &addtuple->rdata);
CHECK(do_one_tuple(&addtuple, db, ver, diff));
CHECK(do_one_tuple(&deltuple, db, ver, diff));
result = ISC_R_SUCCESS;
-
+
failure:
if (addtuple != NULL)
dns_difftuple_free(&addtuple);
*
* William King points out that RFC2136 is inconsistent about
* the case where the serial number stays unchanged:
- *
+ *
* section 3.4.2.2 requires a server to ignore a SOA update request
* if the serial number on the update SOA is less_than_or_equal to
* the zone SOA serial.
- *
+ *
* section 3.6 requires a server to ignore a SOA update request if
* the serial is less_than the zone SOA serial.
*
*
*/
static isc_result_t
-check_soa_increment(dns_db_t *db, dns_dbversion_t *ver,
+check_soa_increment(dns_db_t *db, dns_dbversion_t *ver,
dns_rdata_t *update_rdata,
isc_boolean_t *ok)
{
isc_result_t result;
update_serial = dns_soa_getserial(update_rdata);
-
+
result = dns_db_getsoaserial(db, ver, &db_serial);
if (result != ISC_R_SUCCESS)
return (result);
dns_fixedname_t fixedname;
dns_name_t *child;
dns_dbiterator_t *dbit = NULL;
-
+
dns_fixedname_init(&fixedname);
child = dns_fixedname_name(&fixedname);
CHECK(dns_db_createiterator(db, ISC_FALSE, &dbit));
-
+
for (result = dns_dbiterator_seek(dbit, name);
result == ISC_R_SUCCESS;
result = dns_dbiterator_next(dbit))
non_nxt_rrset_exists(dns_db_t *db, dns_dbversion_t *ver,
dns_name_t *name, isc_boolean_t *exists)
{
- isc_result_t result;
- result = foreach_rrset(db, ver, name,
+ isc_result_t result;
+ result = foreach_rrset(db, ver, name,
is_non_nxt_action, NULL);
RETURN_EXISTENCE_FLAG;
}
/*
* A comparison function for sorting dns_diff_t:s by name.
*/
-static int
+static int
name_order(const void *av, const void *bv) {
dns_difftuple_t * const *ap = av;
dns_difftuple_t * const *bp = bv;
dns_difftuple_t *a = *ap;
- dns_difftuple_t *b = *bp;
+ dns_difftuple_t *b = *bp;
return (dns_name_compare(&a->name, &b->name));
}
uniqify_name_list(dns_diff_t *list) {
isc_result_t result;
dns_difftuple_t *p, *q;
-
+
CHECK(dns_diff_sort(list, name_order));
p = ISC_LIST_HEAD(list->tuples);
}
/*
- * Find the next/previous name that has a NXT record.
+ * Find the next/previous name that has a NXT record.
* In other words, skip empty database nodes and names that
* have had their NXTs removed because they are obscured by
* a zone cut.
isc_boolean_t has_nxt;
CHECK(dns_db_createiterator(db, ISC_FALSE, &dbit));
-
+
CHECK(dns_dbiterator_seek(dbit, oldname));
do {
dns_dbnode_t *node = NULL;
-
+
if (forward)
result = dns_dbiterator_next(dbit);
else
*/
if (forward)
CHECK(dns_dbiterator_first(dbit));
- else
+ else
CHECK(dns_dbiterator_last(dbit));
}
dns_dbiterator_current(dbit, &node, newname);
dns_name_t *target;
dns_fixedname_init(&fixedname);
- target = dns_fixedname_name(&fixedname);
-
-
+ target = dns_fixedname_name(&fixedname);
+
+
/*
* Find the successor name, aka NXT target.
*/
CHECK(dns_db_findnode(db, name, ISC_FALSE, &node));
dns_rdata_init(&rdata);
CHECK(dns_buildnxtrdata(db, ver, node, target, buffer, &rdata));
- dns_db_detachnode(db, &node);
+ dns_db_detachnode(db, &node);
/*
* Create a diff tuple, update the database, and record the change.
*/
CHECK(dns_difftuple_create(diff->mctx, DNS_DIFFOP_ADD, name,
- 3600, /* XXXRTH */
+ 3600, /* XXXRTH */
&rdata, &tuple));
CHECK(do_one_tuple(&tuple, db, ver, diff));
INSIST(tuple == NULL);
-
+
failure:
if (node != NULL)
dns_db_detachnode(db, &node);
CHECK(dns_db_findrdataset(db, node, ver, type, 0,
(isc_stdtime_t) 0,
&rdataset, NULL));
- dns_db_detachnode(db, &node);
+ dns_db_detachnode(db, &node);
for (i = 0; i < nkeys; i++) {
/* Calculate the signature, creating a SIG RDATA. */
CHECK(update_one_rr(db, ver, diff, DNS_DIFFOP_ADD, name,
rdataset.ttl, &sig_rdata));
}
-
+
failure:
if (dns_rdataset_isassociated(&rdataset))
dns_rdataset_disassociate(&rdataset);
if (node != NULL)
dns_db_detachnode(db, &node);
return (result);
-}
+}
/*
* Update SIG and NXT records affected by an update. The original
- * update, including the SOA serial update but exluding the SIG & NXT
+ * update, including the SOA serial update but exluding the SIG & NXT
* changes, is in "diff" and has already been applied to "newver" of "db".
* The database version prior to the update is "oldver".
*
unsigned int nkeys = 0;
unsigned int i;
isc_stdtime_t now, inception, expire;
-
+
dns_diff_init(mctx, &diffnames);
dns_diff_init(mctx, &affected);
-
+
dns_diff_init(mctx, &sig_diff);
dns_diff_init(mctx, &nxt_diff);
dns_diff_init(mctx, &nxt_mindiff);
- result = find_zone_keys(db, newver, mctx,
+ result = find_zone_keys(db, newver, mctx,
MAXZONEKEYS, zone_keys, &nkeys);
if (result != ISC_R_SUCCESS) {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_UPDATE,
isc_stdtime_get(&now);
inception = now - 3600; /* Allow for some clock skew. */
expire = now + sigvalidityinterval;
-
+
/*
- * Find all RRsets directly affected by the update, and
+ * Find all RRsets directly affected by the update, and
* update their SIGs. Also build a list of names affected
* by the update in "diffnames".
*/
/* Now "name" is a new, unique name affected by the update. */
CHECK(namelist_append_name(&diffnames, name));
-
+
while (t != NULL && dns_name_equal(&t->name, name)) {
dns_rdatatype_t type;
type = t->rdata.type;
/*
* Now "name" and "type" denote a new unique RRset
- * affected by the update.
+ * affected by the update.
*/
/* Don't sign SIGs. */
/*
* Delete all old SIGs covering this type, since they
* are all invalid when the signed RRset has changed.
- * We may not be able to recreate all of them - tough.
+ * We may not be able to recreate all of them - tough.
*/
CHECK(delete_if(true_p, db, newver, name,
dns_rdatatype_sig, type,
}
/*
- * When a name is created or deleted, its predecessor needs to
+ * When a name is created or deleted, its predecessor needs to
* have its NXT updated.
*/
for (t = ISC_LIST_HEAD(diffnames.tuples);
* the NXTs have not yet been updated to reflect the delegation
* change. This should not matter because in this case,
* the correct predecessor is either the delegation node or
- * a newly unobscured node, and those nodes are on the
+ * a newly unobscured node, and those nodes are on the
* "affected" list in any case.
*/
CHECK(next_active(db, newver, &t->name, prevname, ISC_FALSE));
if (exists == existed)
continue;
/*
- * There was a delegation change. Mark all subdomains
+ * There was a delegation change. Mark all subdomains
* of t->name as potentially needing a NXT update.
*/
CHECK(namelist_append_subdomain(db, &t->name, &affected));
ISC_LIST_APPENDLIST(affected.tuples, diffnames.tuples, link);
INSIST(ISC_LIST_EMPTY(diffnames.tuples));
-
+
CHECK(uniqify_name_list(&affected));
-
+
/*
* Determine which names should have NXTs, and delete/create
* NXTs to make it so. We don't know the final NXT targets yet,
}
}
}
-
+
/*
* Now we know which names are part of the NXT chain.
* Make them all point at their correct targets.
* (XXX what if the zone keys are missing?).
* Because the SIG NXTs have not necessarily been
* created yet, the correctness of the bit mask relies
- * on the assumption that NXTs are only created if
+ * on the assumption that NXTs are only created if
* there is other data, and if there is other data,
* there are other SIGs.
*/
/*
* Minimize the set of NXT updates so that we don't
- * have to regenerate the SIG NXTs for NXTs that were
+ * have to regenerate the SIG NXTs for NXTs that were
* replaced with identical ones.
*/
while ((t = ISC_LIST_HEAD(nxt_diff.tuples)) != NULL) {
dns_diff_clear(&affected);
dns_diff_clear(&diffnames);
- for (i = 0; i < nkeys; i++)
+ for (i = 0; i < nkeys; i++)
dst_key_free(&zone_keys[i]);
-
+
return (result);
-}
+}
/**************************************************************************/
update_event_t *event = NULL;
isc_task_t *zonetask = NULL;
ns_client_t *evclient;
-
+
event = (update_event_t *)
isc_event_allocate(client->mctx, client, DNS_EVENT_UPDATE,
update_action, NULL, sizeof(*event));
ns_client_send(client);
return;
-
+
msg_failure:
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_UPDATE, NS_LOGMODULE_UPDATE,
ISC_LOG_ERROR,
dns_name_t *zonename;
dns_rdataset_t *zone_rdataset;
dns_zone_t *zone = NULL;
-
+
/*
* Interpret the zone section.
*/
switch(dns_zone_gettype(zone)) {
case dns_zone_master:
- CHECK(send_update_event(client, zone));
+ CHECK(send_update_event(client, zone));
break; /* OK. */
case dns_zone_slave:
FAILS(DNS_R_NOTIMP,
"not authoritative for update zone");
}
return;
-
+
failure:
/*
* We failed without having sent an update event to the zone.
- * We are still in the client task context, so we can
+ * We are still in the client task context, so we can
* simply give an error response without switching tasks.
*/
respond(client, result);
dns_rdataclass_t zoneclass;
dns_name_t *zonename;
dns_ssutable_t *ssutable = NULL;
-
+
INSIST(event->ev_type == DNS_EVENT_UPDATE);
dns_diff_init(mctx, &diff);
dns_zone_getssutable(zone, &ssutable);
dns_db_currentversion(db, &oldver);
CHECK(dns_db_newversion(db, &ver));
-
+
/*
* Check prerequisites.
*/
"'rrset does not exist' "
"prerequisite not satisfied");
}
- }
+ }
} else if (update_class == zoneclass) {
/* "temp<rr.name, rr.type> += rr;" */
result = temp_append(&temp, name, &rdata);
dns_name_t *name = NULL;
dns_rdata_t rdata;
dns_ttl_t ttl;
- dns_rdataclass_t update_class;
+ dns_rdataclass_t update_class;
get_current_rr(request, DNS_SECTION_UPDATE, zoneclass,
&name, &rdata, &covers, &ttl, &update_class);
if (ttl != 0 || rdata.length != 0 ||
(dns_rdatatype_ismeta(rdata.type) &&
rdata.type != dns_rdatatype_any))
- FAILC(DNS_R_FORMERR,
+ FAILC(DNS_R_FORMERR,
"meta-RR in update");
} else if (update_class == dns_rdataclass_none) {
- if (ttl != 0 ||
+ if (ttl != 0 ||
dns_rdatatype_ismeta(rdata.type))
- FAILC(DNS_R_FORMERR,
+ FAILC(DNS_R_FORMERR,
"meta-RR in update");
} else {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_UPDATE,
NS_LOGMODULE_UPDATE, ISC_LOG_WARNING,
- "update RR has incorrect class %d",
+ "update RR has incorrect class %d",
update_class);
FAIL(DNS_R_FORMERR);
}
FAIL(result);
isc_log_write(UPDATE_DEBUG_LOGARGS, "update section prescan OK");
-
+
/*
* Process the Update Section.
*/
dns_ttl_t ttl;
dns_rdataclass_t update_class;
isc_boolean_t flag;
-
+
get_current_rr(request, DNS_SECTION_UPDATE, zoneclass,
&name, &rdata, &covers, &ttl, &update_class);
CHECK(rrset_exists(db, ver, name,
dns_rdatatype_cname, 0,
&flag));
- if (flag &&
+ if (flag &&
! dns_rdatatype_isdnssec(rdata.type))
{
isc_log_write(UPDATE_PROTOCOL_LOGARGS,
}
if (rdata.type == dns_rdatatype_soa) {
isc_boolean_t ok;
- CHECK(rrset_exists(db, ver, name,
+ CHECK(rrset_exists(db, ver, name,
dns_rdatatype_soa, 0,
&flag));
if (! flag) {
}
/*
* Add an RR. If an identical RR already exists,
- * do nothing. If a similar but not identical
+ * do nothing. If a similar but not identical
* CNAME, SOA, or WKS exists, remove it first.
*/
CHECK(matching_rr_exists(rr_equal_p, db, ver, name,
"delete all rrsets from a name");
if (dns_name_equal(name, zonename)) {
CHECK(delete_if(type_not_soa_nor_ns_p,
- db, ver, name,
+ db, ver, name,
dns_rdatatype_any, 0,
&rdata, &diff));
} else {
- CHECK(delete_if(true_p, db, ver, name,
+ CHECK(delete_if(true_p, db, ver, name,
dns_rdatatype_any, 0,
&rdata, &diff));
}
dns_journal_t *journal;
/*
- * Increment the SOA serial, but only if it was not
+ * Increment the SOA serial, but only if it was not
* changed as a result of an update operation.
*/
if (! soa_serial_changed) {
}
if (dns_db_issecure(db)) {
-
+
result = update_signatures(mctx, db, oldver, ver,
&diff, dns_zone_getsigvalidityinterval(zone));
if (result != ISC_R_SUCCESS) {
* Notify slaves of the change we just made.
*/
dns_zone_notify(zone);
-
+
result = ISC_R_SUCCESS;
goto common;
-
+
failure:
/*
* The reason for failure should have been logged at this point.
*/
if (ver != NULL) {
isc_log_write(UPDATE_DEBUG_LOGARGS,
- "rolling back");
+ "rolling back");
dns_db_closeversion(db, &ver, ISC_FALSE);
}
if (oldver != NULL)
dns_db_closeversion(db, &oldver, ISC_FALSE);
-
+
if (db != NULL)
dns_db_detach(&db);
static void
updatedone_action(isc_task_t *task, isc_event_t *event) {
update_event_t *uev = (update_event_t *) event;
- ns_client_t *client = (ns_client_t *) event->ev_arg;
+ ns_client_t *client = (ns_client_t *) event->ev_arg;
UNUSED(task);
-
+
INSIST(event->ev_type == DNS_EVENT_UPDATEDONE);
INSIST(task == client->task);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: xfrout.c,v 1.69 2000/07/27 09:37:10 tale Exp $ */
+/* $Id: xfrout.c,v 1.70 2000/08/01 01:12:01 tale Exp $ */
#include <config.h>
/**************************************************************************/
/*
* A db_rr_iterator_t is an iterator that iterates over an entire database,
- * returning one RR at a time, in some arbitrary order.
+ * returning one RR at a time, in some arbitrary order.
*/
-
+
typedef struct db_rr_iterator db_rr_iterator_t;
struct db_rr_iterator {
return (it->result);
it->result = dns_dbiterator_current(it->dbit, &it->node,
dns_fixedname_name(&it->fixedname));
- if (it->result != ISC_R_SUCCESS)
+ if (it->result != ISC_R_SUCCESS)
return (it->result);
it->result = dns_db_allrdatasets(it->db, it->node,
it->ver, it->now,
&it->rdatasetit);
- if (it->result != ISC_R_SUCCESS)
+ if (it->result != ISC_R_SUCCESS)
return (it->result);
-
+
it->result = dns_rdatasetiter_first(it->rdatasetit);
- if (it->result != ISC_R_SUCCESS)
+ if (it->result != ISC_R_SUCCESS)
return (it->result);
dns_rdatasetiter_current(it->rdatasetit, &it->rdataset);
-
+
it->result = dns_rdataset_first(&it->rdataset);
return (it->result);
}
dns_rdataset_init(&rds);
ISC_LIST_APPEND(rdl.rdata, rdata, link);
RUNTIME_CHECK(dns_rdatalist_tordataset(&rdl, &rds) == ISC_R_SUCCESS);
-
+
isc_buffer_init(&buf, mem, sizeof(mem));
result = dns_rdataset_totext(&rds, name,
ISC_FALSE, ISC_FALSE, &buf);
rrstream_methods_t *methods;
} rrstream_t;
-struct rrstream_methods {
+struct rrstream_methods {
isc_result_t (*first)(rrstream_t *);
isc_result_t (*next)(rrstream_t *);
void (*current)(rrstream_t *,
s->common.mctx = mctx;
s->common.methods = &ixfr_rrstream_methods;
s->journal = NULL;
-
+
CHECK(dns_journal_open(mctx, journal_filename,
ISC_FALSE, &s->journal));
CHECK(dns_journal_iter_init(s->journal, begin_serial, end_serial));
static isc_result_t
ixfr_rrstream_next(rrstream_t *rs) {
- ixfr_rrstream_t *s = (ixfr_rrstream_t *) rs;
+ ixfr_rrstream_t *s = (ixfr_rrstream_t *) rs;
return (dns_journal_next_rr(s->journal));
}
dns_name_t **name, isc_uint32_t *ttl,
dns_rdata_t **rdata)
{
- ixfr_rrstream_t *s = (ixfr_rrstream_t *) rs;
+ ixfr_rrstream_t *s = (ixfr_rrstream_t *) rs;
dns_journal_current_rr(s->journal, name, ttl, rdata);
}
static rrstream_methods_t ixfr_rrstream_methods = {
ixfr_rrstream_first,
ixfr_rrstream_next,
- ixfr_rrstream_current,
+ ixfr_rrstream_current,
ixfr_rrstream_destroy
};
axfr_rrstream_next(rrstream_t *rs) {
axfr_rrstream_t *s = (axfr_rrstream_t *) rs;
isc_result_t result;
-
+
/* Skip SOA records. */
for (;;) {
dns_name_t *name_dummy = NULL;
axfr_rrstream_destroy(rrstream_t **rsp) {
axfr_rrstream_t *s = (axfr_rrstream_t *) *rsp;
if (s->it_valid)
- db_rr_iterator_destroy(&s->it);
+ db_rr_iterator_destroy(&s->it);
isc_mem_put(s->common.mctx, s, sizeof(*s));
}
static rrstream_methods_t axfr_rrstream_methods = {
axfr_rrstream_first,
axfr_rrstream_next,
- axfr_rrstream_current,
+ axfr_rrstream_current,
axfr_rrstream_destroy
};
s->common.mctx = mctx;
s->common.methods = &soa_rrstream_methods;
s->soa_tuple = NULL;
-
+
CHECK(dns_db_createsoatuple(db, ver, mctx, DNS_DIFFOP_EXISTS,
&s->soa_tuple));
soa_rrstream_current(rrstream_t *rs, dns_name_t **name, isc_uint32_t *ttl,
dns_rdata_t **rdata)
{
- soa_rrstream_t *s = (soa_rrstream_t *) rs;
+ soa_rrstream_t *s = (soa_rrstream_t *) rs;
*name = &s->soa_tuple->name;
*ttl = s->soa_tuple->ttl;
*rdata = &s->soa_tuple->rdata;
static rrstream_methods_t soa_rrstream_methods = {
soa_rrstream_first,
soa_rrstream_next,
- soa_rrstream_current,
+ soa_rrstream_current,
soa_rrstream_destroy
};
* a concatenated stream consisting of the soa_rrstream, then
* the data stream, then the soa_rrstream again.
*
- * The component streams are owned by the compound_rrstream_t
+ * The component streams are owned by the compound_rrstream_t
* and are destroyed with it.
*/
static isc_result_t
compound_rrstream_next(rrstream_t *rs) {
compound_rrstream_t *s = (compound_rrstream_t *) rs;
- rrstream_t *curstream = s->components[s->state];
+ rrstream_t *curstream = s->components[s->state];
s->result = curstream->methods->next(curstream);
while (s->result == ISC_R_NOMORE) {
if (s->state == 2)
static rrstream_methods_t compound_rrstream_methods = {
compound_rrstream_first,
compound_rrstream_next,
- compound_rrstream_current,
+ compound_rrstream_current,
compound_rrstream_destroy
};
dns_rdataset_t *soa_rdataset;
dns_rdata_t soa_rdata;
isc_boolean_t have_soa = ISC_FALSE;
- const char *mnemonic = NULL;
+ const char *mnemonic = NULL;
isc_mem_t *mctx = client->mctx;
dns_message_t *request = client->message;
xfrout_ctx_t *xfr = NULL;
INSIST(0);
break;
}
-
+
ns_client_log(client,
DNS_LOGCATEGORY_XFER_OUT, NS_LOGMODULE_XFER_OUT,
ISC_LOG_DEBUG(6), "%s request", mnemonic);
case dns_zone_slave:
break; /* Master and slave zones are OK for transfer. */
default:
- FAILC(DNS_R_NOTAUTH, "non-authoritative zone");
+ FAILC(DNS_R_NOTAUTH, "non-authoritative zone");
}
CHECK(dns_zone_getdb(zone, &db));
dns_db_currentversion(db, &ver);
- xfrout_log1(client, question_name, ISC_LOG_DEBUG(6),
+ xfrout_log1(client, question_name, ISC_LOG_DEBUG(6),
"%s question section OK", mnemonic);
/*
*/
if (! dns_name_equal(soa_name, question_name))
continue;
-
+
for (soa_rdataset = ISC_LIST_HEAD(soa_name->list);
soa_rdataset != NULL;
soa_rdataset = ISC_LIST_NEXT(soa_rdataset, link))
if (result != ISC_R_NOMORE)
CHECK(result);
- xfrout_log1(client, question_name, ISC_LOG_DEBUG(6),
+ xfrout_log1(client, question_name, ISC_LOG_DEBUG(6),
"%s authority section OK", mnemonic);
/*
*/
isc_netaddr_fromsockaddr(&na, &client->peeraddr);
(void)dns_peerlist_peerbyaddr(client->view->peers, &na, &peer);
-
+
/*
* Decide on the transfer format (one-answer or many-answers).
*/
if (peer != NULL)
(void)dns_peer_gettransferformat(peer, &format);
-
+
/*
* Get a dynamically allocated copy of the current SOA.
*/
if (reqtype == dns_rdatatype_ixfr) {
isc_uint32_t begin_serial, current_serial;
isc_boolean_t provide_ixfr;
-
+
/*
* Outgoing IXFR may have been disabled for this peer
* or globally.
(void) dns_peer_getprovideixfr(peer, &provide_ixfr);
if (provide_ixfr == ISC_FALSE)
goto axfr_fallback;
-
+
if (! have_soa)
FAILC(DNS_R_FORMERR,
"IXFR request missing SOA");
/*
* RFC1995 says "If an IXFR query with the same or
- * newer version number than that of the server
- * is received, it is replied to with a single SOA
+ * newer version number than that of the server
+ * is received, it is replied to with a single SOA
* record of the server's current version, just as
* in AXFR". The claim about AXFR is incorrect,
* but other than that, we do as the RFC says.
*
- * Sending a single SOA record is also how we refuse
+ * Sending a single SOA record is also how we refuse
* IXFR over UDP (currently, we always do).
*/
if (DNS_SERIAL_GE(begin_serial, current_serial) ||
&data_stream);
if (result == ISC_R_NOTFOUND ||
result == ISC_R_RANGE) {
- xfrout_log1(client, question_name, ISC_LOG_DEBUG(4),
+ xfrout_log1(client, question_name, ISC_LOG_DEBUG(4),
"IXFR version not in journal, "
"falling back to AXFR");
goto axfr_fallback;
* Create the xfrout context object. This transfers the ownership
* of "stream", "db", "ver", and "quota" to the xfrout context object.
*/
- CHECK(xfrout_ctx_create(mctx, client, request->id, question_name,
+ CHECK(xfrout_ctx_create(mctx, client, request->id, question_name,
reqtype, db, ver, quota, stream,
dns_message_gettsigkey(request),
tsigbuf,
db = NULL;
ver = NULL;
quota = NULL;
-
+
CHECK(xfr->stream->methods->first(xfr->stream));
/*
*/
sendstream(xfr);
xfr = NULL;
-
+
result = ISC_R_SUCCESS;
failure:
} else if (result != ISC_R_SUCCESS) {
ns_client_log(client, DNS_LOGCATEGORY_XFER_OUT,
NS_LOGMODULE_XFER_OUT,
- ISC_LOG_DEBUG(3), "zone transfer setup failed");
+ ISC_LOG_DEBUG(3), "zone transfer setup failed");
ns_client_error(client, result);
}
}
void *mem;
isc_interval_t maxinterval, idleinterval;
isc_time_t expires;
-
+
INSIST(xfrp != NULL && *xfrp == NULL);
xfr = isc_mem_get(mctx, sizeof(*xfr));
if (xfr == NULL)
xfr->many_answers = many_answers,
xfr->sends = 0;
xfr->shuttingdown = ISC_FALSE;
-
+
/*
* Allocate a temporary buffer for the uncompressed response
* message data. The size should be no more than 65535 bytes
*/
xfr->client->shutdown = xfrout_client_shutdown;
xfr->client->shutdown_arg = xfr;
-
+
*xfrp = xfr;
return (ISC_R_SUCCESS);
-
+
failure:
xfrout_ctx_destroy(&xfr);
return (result);
*
* Requires:
* The stream iterator is initialized and points at an RR,
- * or possiby at the end of the stream (that is, the
+ * or possiby at the end of the stream (that is, the
* _first method of the iterator has been called).
*/
static void
isc_buffer_clear(&xfr->txbuf);
/*
- * Build a response dns_message_t, temporarily storing the raw,
+ * Build a response dns_message_t, temporarily storing the raw,
* uncompressed owner names and RR data contiguously in xfr->buf.
* We know that if the uncompressed data fits in xfr->buf,
* the compressed data will surely fit in a TCP message.
isc_buffer_free(&xfr->lasttsig);
/*
- * Include a question section in the first message only.
+ * Include a question section in the first message only.
* BIND 8.2.1 will not recognize an IXFR if it does not have a
* question section.
*/
* and 4 bytes of question.
*/
isc_buffer_add(&xfr->buf, 12 + 4);
-
+
qrdataset = NULL;
result = dns_message_gettemprdataset(msg, &qrdataset);
if (result != ISC_R_SUCCESS)
}
else
msg->tcp_continuation = 1;
-
+
/*
* Try to fit in as many RRs as possible, unless "one-answer"
* format has been requested.
dns_name_t *name = NULL;
isc_uint32_t ttl;
dns_rdata_t *rdata = NULL;
-
+
dns_name_t *msgname = NULL;
dns_rdata_t *msgrdata = NULL;
dns_rdatalist_t *msgrdl = NULL;
dns_rdataset_t *msgrds = NULL;
-
+
unsigned int size;
isc_region_t r;
isc_buffer_availableregion(&xfr->buf, &r);
if (size >= r.length) {
/*
- * RR would not fit. If there are other RRs in the
- * buffer, send them now and leave this RR to the
+ * RR would not fit. If there are other RRs in the
+ * buffer, send them now and leave this RR to the
* next message. If this RR overflows the buffer
* all by itself, fail.
*
- * In theory some RRs might fit in a TCP message
+ * In theory some RRs might fit in a TCP message
* when compressed even if they do not fit when
* uncompressed, but surely we don't want
* to send such monstrosities to an unsuspecting
* slave.
*/
if (n_rrs == 0) {
- xfrout_log(xfr, ISC_LOG_WARNING,
+ xfrout_log(xfr, ISC_LOG_WARNING,
"RR too large for zone transfer "
"(%d bytes)", size);
/* XXX DNS_R_RRTOOLARGE? */
}
log_rr(name, rdata, ttl); /* XXX */
-
+
dns_message_gettempname(msg, &msgname);
dns_name_init(msgname, NULL);
isc_buffer_availableregion(&xfr->buf, &r);
/* Reserve space for RR header. */
isc_buffer_add(&xfr->buf, 10);
-
+
dns_message_gettemprdata(msg, &msgrdata);
isc_buffer_availableregion(&xfr->buf, &r);
r.length = rdata->length;
CHECK(dns_message_rendersection(msg, DNS_SECTION_QUESTION, 0));
CHECK(dns_message_rendersection(msg, DNS_SECTION_ANSWER, 0));
CHECK(dns_message_renderend(msg));
-
+
isc_buffer_usedregion(&xfr->txbuf, &used);
isc_buffer_putuint16(&xfr->txlenbuf, used.length);
region.base = xfr->txlenbuf.base;
region.length = 2 + used.length;
- xfrout_log(xfr, ISC_LOG_DEBUG(8),
+ xfrout_log(xfr, ISC_LOG_DEBUG(8),
"sending TCP message of %d bytes",
used.length);
CHECK(isc_socket_send(xfr->client->tcpsocket, /* XXX */
if (xfr->lasttsig != NULL)
isc_buffer_free(&xfr->lasttsig);
if (xfr->quota != NULL)
- isc_quota_detach(&xfr->quota);
- if (xfr->ver != NULL)
+ isc_quota_detach(&xfr->quota);
+ if (xfr->ver != NULL)
dns_db_closeversion(xfr->db, &xfr->ver, ISC_FALSE);
if (xfr->db != NULL)
dns_db_detach(&xfr->db);
static void
xfrout_senddone(isc_task_t *task, isc_event_t *event) {
- isc_socketevent_t *sev = (isc_socketevent_t *)event;
+ isc_socketevent_t *sev = (isc_socketevent_t *)event;
xfrout_ctx_t *xfr = (xfrout_ctx_t *)event->ev_arg;
isc_result_t evresult = sev->result;
/*
* Log outgoing zone transfer messages in a format like
- * <client>: transfer of <zone>: <message>
+ * <client>: transfer of <zone>: <message>
*/
static void
xfrout_logv(ns_client_t *client, dns_name_t *zonename, int level,
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: zoneconf.c,v 1.50 2000/07/31 19:36:48 explorer Exp $ */
+/* $Id: zoneconf.c,v 1.51 2000/08/01 01:23:10 tale Exp $ */
#include <config.h>
} else
RETERR(dns_zone_setalsonotify(zone, NULL, 0));
-
+
RETERR(configure_zone_acl(czone, cctx, cview, ac, zone,
dns_c_zone_getallowtransfer,
dns_c_view_gettransferacl,
dns_zone_setmaxxfrout(zone, uintval);
result = dns_c_zone_getmaxtransidleout(czone, &uintval);
- if (result != ISC_R_SUCCESS && cview != NULL)
+ if (result != ISC_R_SUCCESS && cview != NULL)
result = dns_c_view_getmaxtransferidleout(cview,
&uintval);
- if (result != ISC_R_SUCCESS)
+ if (result != ISC_R_SUCCESS)
result = dns_c_ctx_getmaxtransferidleout(cctx,
&uintval);
if (result != ISC_R_SUCCESS)
#else /* NOMINUM_PUBLIC */
result = dns_zone_setmasters(zone, iplist->ips,
iplist->nextidx);
-#endif /* NOMINUM_PUBLIC */
+#endif /* NOMINUM_PUBLIC */
else
result = dns_zone_setmasters(zone, NULL, 0);
RETERR(result);
result = dns_c_zone_getmaxtranstimein(czone, &uintval);
- if (result != ISC_R_SUCCESS)
+ if (result != ISC_R_SUCCESS)
result = dns_c_ctx_getmaxtransfertimein(cctx,
&uintval);
if (result != ISC_R_SUCCESS)
dns_zone_setmaxxfrin(zone, uintval);
result = dns_c_zone_getmaxtransidlein(czone, &uintval);
- if (result != ISC_R_SUCCESS)
+ if (result != ISC_R_SUCCESS)
result = dns_c_ctx_getmaxtransferidlein(cctx,
&uintval);
if (result != ISC_R_SUCCESS)
dns_zone_setxfrsource4(zone, &sockaddr);
result = dns_c_zone_gettransfersourcev6(czone, &sockaddr);
- if (result != ISC_R_SUCCESS && cview != NULL)
+ if (result != ISC_R_SUCCESS && cview != NULL)
result = dns_c_view_gettransfersourcev6(cview,
&sockaddr);
- if (result != ISC_R_SUCCESS)
+ if (result != ISC_R_SUCCESS)
result = dns_c_ctx_gettransfersourcev6(cctx,
&sockaddr);
if (result != ISC_R_SUCCESS)
dns_zone_setxfrsource6(zone, &sockaddr);
break;
-
+
default:
break;
}
return (ISC_TRUE);
}
-
+
isc_result_t
dns_zonemgr_configure(dns_c_ctx_t *cctx, dns_zonemgr_t *zmgr) {
isc_uint32_t val;
isc_result_t result;
-
+
result = dns_c_ctx_gettransfersin(cctx, &val);
if (result != ISC_R_SUCCESS)
val = 10;
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.5 2000/07/27 09:37:33 tale Exp $
+# $Id: Makefile.in,v 1.6 2000/08/01 01:12:24 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
CINCLUDES = -I${srcdir}/include ${LWRES_INCLUDES} ${DNS_INCLUDES} ${ISC_INCLUDES}
-CDEFINES =
+CDEFINES =
CWARNINGS =
LWRESLIBS = ../../lib/lwres/liblwres.@A@
LIBS = ${LWRESLIBS} ${DNSLIBS} ${ISCLIBS} @LIBS@
-SUBDIRS =
+SUBDIRS =
TARGETS = nsupdate
OBJS = nsupdate.@O@
-UOBJS =
+UOBJS =
SRCS = nsupdate.c
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: nsupdate.8,v 1.3 2000/07/27 09:42:30 tale Exp $
-.\"
+.\"
+.\" $Id: nsupdate.8,v 1.4 2000/08/01 01:18:45 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt NSUPDATE 8
.Os BIND9 9
The signatures rely on a shared secret that should only be known to
.Nm nsupdate
and the name server.
-Currently, the only supported encryption algorithm for TSIG is
+Currently, the only supported encryption algorithm for TSIG is
HMAC-MD5, which is defined in RFC 2104.
Once other algorithms are defined for TSIG, applications will need to
ensure they select the appropriate algorithm as well as the key when
Every update request consists of zero or more prerequisites
and one or more updates.
This allows a suitably authenticated update request to proceed if some
-specified resource records are present or missing from the zone.
+specified resource records are present or missing from the zone.
A blank input line causes the accumulated commands to be sent as one Dynamic
DNS update request to the name server.
.Pp
zone.
Notice that the input in each example contains a trailing blank line so that
a group of commands are sent as one dynamic update request to the
-master name server for
+master name server for
.Dv example.com .
.Bd -literal -offset indent
# nsupdate
.Dv oldhost.example.com
are deleted.
and an A record for
-.Dv newhost.example.com
+.Dv newhost.example.com
it IP address 172.16.1.1 is added.
The newly-added record has a 1 day TTL (86400 seconds)
-.Bd -literal -offset indent
+.Bd -literal -offset indent
# nsupdate
> prereq nxdomain nickname.example.com
> update add nickname.example.com CNAME somehost.example.com
.It Pa K{name}.+157.+{random}.key
base-64 encoding of HMAC-MD5 key created by
.Xr dnssec-keygen 8 .
-.It Pa K{name}.+157.+{random}.private
+.It Pa K{name}.+157.+{random}.private
base-64 encoding of HMAC-MD5 key created by
.Xr dnssec-keygen 8 .
.El
.Xr RFC2535 ,
.Xr named 8 ,
.Xr dnssec-keygen 8 .
-.Sh BUGS
+.Sh BUGS
The
.Fl D
and
options are not documented apart from this self-referential paragraph.
They provide additional debugging information which is primarily of interest
to the BIND9 developers.
-These options might be changed or removed in future releases.
+These options might be changed or removed in future releases.
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: nsupdate.c,v 1.37 2000/07/31 22:11:13 bwelling Exp $ */
+/* $Id: nsupdate.c,v 1.38 2000/08/01 01:12:25 tale Exp $ */
#include <config.h>
fatal(const char *format, ...) {
va_list args;
- va_start(args, format);
+ va_start(args, format);
vfprintf(stderr, format, args);
va_end(args);
fprintf(stderr, "\n");
va_list args;
if (debugging) {
- va_start(args, format);
+ va_start(args, format);
vfprintf(stderr, format, args);
va_end(args);
fprintf(stderr, "\n");
va_list args;
if (ddebugging) {
- va_start(args, format);
+ va_start(args, format);
vfprintf(stderr, format, args);
va_end(args);
fprintf(stderr, "\n");
}
keyname = dst_key_name(dstkey);
}
-
+
debug("keycreate");
result = dns_tsigkey_create(keyname, dns_tsig_hmacmd5_name,
secret, secretlen, ISC_TRUE, NULL, 0, 0,
if (*cmdline != 0) {
result = isc_lex_create(mctx, WORDLEN, &lex);
- check_result(result, "isc_lex_create");
+ check_result(result, "isc_lex_create");
isc_buffer_init(&source, cmdline, strlen(cmdline));
isc_buffer_add(&source, strlen(cmdline));
ISC_LIST_INIT(rdatalist->rdata);
ISC_LIST_APPEND(rdatalist->rdata, rdata, link);
dns_rdataset_init(rdataset);
- dns_rdatalist_tordataset(rdatalist, rdataset);
+ dns_rdatalist_tordataset(rdatalist, rdataset);
ISC_LIST_INIT(name->list);
ISC_LIST_APPEND(name->list, rdataset, link);
dns_message_addname(updatemsg, name, DNS_SECTION_PREREQUISITE);
(int)isc_buffer_usedlength(&buf),
(char*)isc_buffer_base(&buf));
}
-
+
static isc_uint16_t
get_next_command(void) {
isc_buffer_t buf;
dns_message_t *rcvmsg = NULL;
char bufstore[MSGTEXT];
-
+
UNUSED(task);
ddebug("updated_completed()");
if (eresult != ISC_R_SUCCESS) {
char addrbuf[ISC_SOCKADDR_FORMATSIZE];
-
+
isc_sockaddr_format(addr, addrbuf, sizeof(addrbuf));
fprintf(stderr, "; Communication with %s failed: %s\n",
addrbuf, isc_result_totext(eresult));
lwres_context_destroy(&lwctx);
isc_mem_put(mctx, servers, ns_total * sizeof(isc_sockaddr_t));
-
+
ddebug("Shutting down request manager");
dns_requestmgr_shutdown(requestmgr);
dns_requestmgr_detach(&requestmgr);
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.11 2000/07/27 09:37:36 tale Exp $
+# $Id: Makefile.in,v 1.12 2000/08/01 01:12:27 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
CINCLUDES = -I${top_srcdir}/bin/named/include \
${ISC_INCLUDES} ${DNS_INCLUDES} ${OMAPI_INCLUDES}
-CDEFINES =
+CDEFINES =
CWARNINGS =
OMAPILIBS = ../../lib/omapi/libomapi.@A@
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: rndc.8,v 1.7 2000/07/27 23:49:40 tale Exp $
-.\"
+.\"
+.\" $Id: rndc.8,v 1.8 2000/08/01 01:18:46 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt RDNC 8
.Os BIND9 9
.Op Fl s Ar server
.Op Fl v
.Op Fl y Ar key_id
-.Ar command ....
+.Ar command ....
.Sh DESCRIPTION
This command allows the system administrator to control the operation
of a name server.
options and their arguments.
.Pp
.Nm rndc
-communicates with the name server over a TCP connection,
-sending commands authenticated with digital signatures.
+communicates with the name server over a TCP connection,
+sending commands authenticated with digital signatures.
In the current versions of
.Nm rndc
-and
+and
.Xr named 8
the only supported encryption algorithm is HMAC-MD5, which uses a
shared secret on each end of the connection.
This provides TSIG-style authentication for the command request
-and the name server's response.
+and the name server's response.
All commands sent over the channel
must be signed by a key_id known to the server.
.Pp
.Nm rndc
send commands to TCP port number
.Ar port#
-on the system running the name server instead of BIND 9's
+on the system running the name server instead of BIND 9's
default control channel port of 953.
.Pp
The
.Fl y
option is provided,
.Nm rndc
-will first look for a
+will first look for a
.Dv key
clause in the
.Dv server{}
.Xr ndc
utility.
.Pp
-There is currently no way to provide the shared secret for a key_id
+There is currently no way to provide the shared secret for a key_id
without using the configuration file.
.Pp
Several error messages could be clearer.
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rndc.c,v 1.21 2000/07/27 23:27:37 bwelling Exp $ */
+/* $Id: rndc.c,v 1.22 2000/08/01 01:12:28 tale Exp $ */
-/*
+/*
* Principal Author: DCL
*/
if (strcmp(command, "dumpdb") == 0) {
result = ISC_R_NOTIMPLEMENTED;
-
+
} else if (strcmp(command, "notrace") == 0) {
result = ISC_R_NOTIMPLEMENTED;
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rndc.conf,v 1.5 2000/07/27 09:37:38 tale Exp $ */
+/* $Id: rndc.conf,v 1.6 2000/08/01 01:12:29 tale Exp $ */
/*
* Sample rndc configuration file.
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: rndc.conf.5,v 1.5 2000/07/27 09:42:31 tale Exp $
-.\"
+.\"
+.\" $Id: rndc.conf.5,v 1.6 2000/08/01 01:18:48 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt RDNC.CONF 5
.Os BIND9 9
.Nd rdnc configuration file
.Sh SYNOPSIS
.Nm rdnc.conf
-.Sh DESCRIPTION
+.Sh DESCRIPTION
The BIND9 utility for controlling the name server,
.Nm rndc ,
has its own configuration file
The
.Dv default-key
clause
-is followed by the name of a key which is identified by a
+is followed by the name of a key which is identified by a
.Dv key{}
statement.
-If no
+If no
.Fl y
option is provided on the
-.Xr rndc
+.Xr rndc
command line, and no
.Dv key
clause is found in a a matching
.Pp
After the keyword
.Dv server ,
-the
+the
.Dv server{}
statement is followed by a string which is the hostname or address for a
name server.
identifies the encryption algorithm for
.Nm rndc
to use; currently only HMAC-MD5 is supported.
-This is followed by a
+This is followed by a
.Dv secret
clause which contains the base-64 encoding of the
algorithm's encryption key.
$ dnssec-keygen -a hmac-md5 -b 128 -n user rndc
.Ed
.Pp
-The base-64 string will appear in two files,
+The base-64 string will appear in two files,
.Pa Krndc.+157.+{random}.key
-and
+and
.Pa Krndc.+157.+{random}.private .
After extracting the key to be
placed in the
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.97 2000/07/27 09:37:39 tale Exp $
+# $Id: Makefile.in,v 1.98 2000/08/01 01:12:30 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
SUBDIRS = db dst master mem names net rbt sockaddr tasks timers system
# Alphabetically
-TARGETS =
+TARGETS =
XTARGETS = adb_test \
byaddr_test \
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: adb_test.c,v 1.56 2000/07/27 09:37:40 tale Exp $ */
+/* $Id: adb_test.c,v 1.57 2000/08/01 01:12:31 tale Exp $ */
#include <config.h>
if (result == ISC_R_SUCCESS)
return;
- va_start(args, format);
+ va_start(args, format);
vfprintf(stderr, format, args);
va_end(args);
fprintf(stderr, "\n");
unsigned int attrs;
isc_sockaddr_t any4, any6;
dns_dispatch_t *disp4 = NULL;
- dns_dispatch_t *disp6 = NULL;
+ dns_dispatch_t *disp6 = NULL;
isc_sockaddr_any(&any4);
isc_sockaddr_any6(&any6);
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: b8status.pl,v 1.6 2000/07/27 09:37:41 tale Exp $
+# $Id: b8status.pl,v 1.7 2000/08/01 01:12:33 tale Exp $
#
# aggregate reports from all bind8 build environments
$junk = <XXX>;
close(XXX);
@junk = split(/\s/, $junk);
- ($hostname = $junk[1]) =~ s/\..*//;
+ ($hostname = $junk[1]) =~ s/\..*//;
}
print DEBUG "Host: $hostid, Hostname: $hostname\n" if ($Debug);
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: b8t.mk,v 1.6 2000/07/27 09:37:42 tale Exp $
+# $Id: b8t.mk,v 1.7 2000/08/01 01:12:34 tale Exp $
#
# bind 8 multi-host make
clobber:
@echo "CLOBBBER `date`"
- @if test ! -d $(BASE) ; then mkdir -p $(BASE) ; fi
+ @if test ! -d $(BASE) ; then mkdir -p $(BASE) ; fi
@rm -fr $(BDIR)
@echo "DONE `date`"
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: b9status.pl,v 1.9 2000/07/27 09:37:43 tale Exp $
+# $Id: b9status.pl,v 1.10 2000/08/01 01:12:35 tale Exp $
#
# aggregate reports from all bind9 build environments
close(XXX);
@junk = split(/\s/, $junk);
$hostname = $junk[1];
- $hostname =~ s/\..*//;
+ $hostname =~ s/\..*//;
}
print DEBUG "Host: $hostid, Hostname: $hostname\n" if ($Debug);
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: b9t.mk,v 1.8 2000/07/27 09:37:45 tale Exp $
+# $Id: b9t.mk,v 1.9 2000/08/01 01:12:36 tale Exp $
#
# makefile to configure, build and test bind9
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: byaddr_test.c,v 1.18 2000/07/27 09:37:46 tale Exp $ */
+/* $Id: byaddr_test.c,v 1.19 2000/08/01 01:12:37 tale Exp $ */
/*
* Principal Author: Bob Halley
task = NULL;
RUNTIME_CHECK(isc_task_create(taskmgr, 0, &task)
== ISC_R_SUCCESS);
- isc_task_setname(task, "byaddr", NULL);
+ isc_task_setname(task, "byaddr", NULL);
dispatchmgr = NULL;
RUNTIME_CHECK(dns_dispatchmgr_create(mctx, NULL, &dispatchmgr)
unsigned int attrs;
dns_dispatch_t *disp4 = NULL;
dns_dispatch_t *disp6 = NULL;
-
+
if (isc_net_probeipv4() == ISC_R_SUCCESS) {
isc_sockaddr_t any4;
-
+
isc_sockaddr_any(&any4);
attrs = DNS_DISPATCHATTR_IPV4 | DNS_DISPATCHATTR_UDP;
socketmgr,
taskmgr, &any4,
512, 6, 1024,
- 17, 19, attrs,
+ 17, 19, attrs,
attrs, &disp4)
== ISC_R_SUCCESS);
INSIST(disp4 != NULL);
if (isc_net_probeipv6() == ISC_R_SUCCESS) {
isc_sockaddr_t any6;
-
+
isc_sockaddr_any6(&any6);
attrs = DNS_DISPATCHATTR_IPV6 | DNS_DISPATCHATTR_UDP;
- RUNTIME_CHECK(dns_dispatch_getudp(dispatchmgr,
+ RUNTIME_CHECK(dns_dispatch_getudp(dispatchmgr,
socketmgr,
- taskmgr, &any6,
+ taskmgr, &any6,
512, 6, 1024,
- 17, 19, attrs,
+ 17, 19, attrs,
attrs, &disp6)
== ISC_R_SUCCESS);
INSIST(disp6 != NULL);
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: byname_test.c,v 1.20 2000/07/27 09:37:47 tale Exp $ */
+/* $Id: byname_test.c,v 1.21 2000/08/01 01:12:38 tale Exp $ */
/*
* Principal Author: Bob Halley
{
unsigned int attrs;
dns_dispatch_t *disp4 = NULL;
- dns_dispatch_t *disp6 = NULL;
+ dns_dispatch_t *disp6 = NULL;
if (isc_net_probeipv4() == ISC_R_SUCCESS) {
isc_sockaddr_t any4;
isc_sockaddr_any(&any4);
-
+
attrs = DNS_DISPATCHATTR_IPV4 | DNS_DISPATCHATTR_UDP;
RUNTIME_CHECK(dns_dispatch_getudp(dispatchmgr,
socketmgr,
if (isc_net_probeipv6() == ISC_R_SUCCESS) {
isc_sockaddr_t any6;
-
+
isc_sockaddr_any6(&any6);
-
+
attrs = DNS_DISPATCHATTR_IPV6 | DNS_DISPATCHATTR_UDP;
RUNTIME_CHECK(dns_dispatch_getudp(dispatchmgr,
socketmgr,
== ISC_R_SUCCESS);
INSIST(disp6 != NULL);
}
-
+
RUNTIME_CHECK(dns_view_createresolver(view, taskmgr, 10,
socketmgr,
timermgr, 0,
if (disp4 != NULL)
dns_dispatch_detach(&disp4);
- if (disp6 != NULL)
- dns_dispatch_detach(&disp6);
+ if (disp6 != NULL)
+ dns_dispatch_detach(&disp6);
}
{
isc_task_detach(&task);
dns_dispatchmgr_destroy(&dispatchmgr);
-
+
isc_taskmgr_destroy(&taskmgr);
isc_socketmgr_destroy(&socketmgr);
isc_timermgr_destroy(&timermgr);
-
+
isc_log_destroy(&lctx);
if (verbose)
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: compress_test.c,v 1.19 2000/07/27 09:37:48 tale Exp $ */
+/* $Id: compress_test.c,v 1.20 2000/08/01 01:12:39 tale Exp $ */
#include <config.h>
RUNTIME_CHECK(dns_name_towire(name1, &cctx, &source) == ISC_R_SUCCESS);
/*
- RUNTIME_CHECK(dns_compress_localinit(&cctx, name1, &source) ==
+ RUNTIME_CHECK(dns_compress_localinit(&cctx, name1, &source) ==
ISC_R_SUCCESS);
*/
dns_compress_setmethods(&cctx, allowed);
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.16 2000/07/27 09:38:41 tale Exp $
+# $Id: Makefile.in,v 1.17 2000/08/01 01:13:34 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: t_db.c,v 1.24 2000/07/27 09:38:42 tale Exp $ */
+/* $Id: t_db.c,v 1.25 2000/08/01 01:13:35 tale Exp $ */
#include <config.h>
int result;
t_assert("dns_db_load", 1, T_REQUIRED, a1);
- result = t_eval("dns_db_load_data", t_dns_db_load, 9);
+ result = t_eval("dns_db_load_data", t_dns_db_load, 9);
t_result(result);
}
t_info("dns_rdata_compare returned %d\n", rval);
++nfails;
}
-
+
/*
* Now check the rdata deletion.
*/
t_info("dns_rdata_compare returned %d\n", rval);
++nfails;
}
-
+
/*
* Now check the rdata deletion.
*/
isc_mem_destroy(&mctx);
return(T_FAIL);
}
-
+
/*
* Now check the rdata deletion.
*/
*/
dns_db_detachnode(db, &nodep);
}
-
+
dns_db_detach(&db);
isc_mem_destroy(&mctx);
cversionp = NULL;
dns_db_currentversion(db, &cversionp);
dns_rdataset_init(&rdataset);
-
+
dns_result = dns_db_findrdataset(db, nodep, cversionp,
rdatatype, 0,
0, &rdataset, NULL);
} else {
result = T_PASS;
}
-
+
dns_db_detach(&db);
isc_mem_destroy(&mctx);
int result;
t_assert("dns_db_load", 25, T_REQUIRED, a25);
- result = t_eval("dns_db_load_soa_not_top", t_dns_db_load, 9);
+ result = t_eval("dns_db_load_soa_not_top", t_dns_db_load, 9);
t_result(result);
}
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: db_test.c,v 1.52 2000/07/27 09:37:49 tale Exp $ */
+/* $Id: db_test.c,v 1.53 2000/08/01 01:12:40 tale Exp $ */
/*
* Principal Author: Bob Halley
else
dns_db_currentversion(dbi->db, &dbi->iversion);
}
-
+
result = dns_db_createiterator(dbi->db, ISC_FALSE,
&dbi->dbiterator);
if (result == ISC_R_SUCCESS) {
dbi->iversion = NULL;
dbi->pause_every = pause_every;
dbi->ascending = ascending;
-
+
len = strlen(origintext);
isc_buffer_init(&source, origintext, len);
isc_buffer_add(&source, len);
static void
unload_all(void) {
dbinfo *dbi, *dbi_next;
-
+
for (dbi = ISC_LIST_HEAD(dbs); dbi != NULL; dbi = dbi_next) {
dbi_next = ISC_LIST_NEXT(dbi, link);
if (dns_db_iszone(dbi->db))
printf("You must first select a database with !DB\n"); \
continue; \
}
-
+
int
main(int argc, char *argv[]) {
dns_db_t *db;
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dispatch_tcp_test.c,v 1.34 2000/07/27 09:37:50 tale Exp $ */
+/* $Id: dispatch_tcp_test.c,v 1.35 2000/08/01 01:12:42 tale Exp $ */
#include <config.h>
dns_dispatch_detach(&disp);
isc_app_shutdown();
break;
-
+
case 3:
printf("--- removing request\n");
dns_dispatch_removerequest(&resp, &ev);
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dispatch_test.c,v 1.45 2000/07/27 09:37:52 tale Exp $ */
+/* $Id: dispatch_test.c,v 1.46 2000/08/01 01:12:43 tale Exp $ */
#include <config.h>
start_response(&clients[4], "vix.com", task);
start_response(&clients[5], "isc.org", task);
break;
-
+
case 2:
printf("--- removing request\n");
dns_dispatch_removerequest(&cli->resp, &ev);
isc_log_setcontext(log);
dns_log_init(log);
dns_log_setcontext(log);
-
+
destination.file.stream = stderr;
destination.file.name = NULL;
destination.file.versions = ISC_LOG_ROLLNEVER;
attrs = 0;
attrs |= DNS_DISPATCHATTR_IPV4;
attrs |= DNS_DISPATCHATTR_UDP;
-
+
disp = NULL;
RUNTIME_CHECK(dns_dispatch_getudp(dispatchmgr, socketmgr,
taskmgr, &sa, 512, 6, 1024,
-test. IN KEY 49152 2 1
+test. IN KEY 49152 2 1
-test. IN KEY 49152 2 3
+test. IN KEY 49152 2 3
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.22 2000/07/27 09:38:44 tale Exp $
+# $Id: Makefile.in,v 1.23 2000/08/01 01:13:39 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dst_test.c,v 1.29 2000/07/27 09:38:45 tale Exp $ */
+/* $Id: dst_test.c,v 1.30 2000/08/01 01:13:40 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: t_dst.c,v 1.35 2000/07/27 09:38:46 tale Exp $ */
+/* $Id: t_dst.c,v 1.36 2000/08/01 01:13:41 tale Exp $ */
#include <config.h>
t_info("malloc failed, errno == %d\n", errno);
return(1);
}
-
+
fd = open(path, O_RDONLY);
if (fd < 0) {
t_info("open failed, errno == %d\n", errno);
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: entropy2_test.c,v 1.7 2000/07/27 09:37:53 tale Exp $ */
+/* $Id: entropy2_test.c,v 1.8 2000/08/01 01:12:44 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: entropy_test.c,v 1.14 2000/07/27 09:37:54 tale Exp $ */
+/* $Id: entropy_test.c,v 1.15 2000/08/01 01:12:45 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: fsaccess_test.c,v 1.6 2000/07/27 09:37:55 tale Exp $ */
+/* $Id: fsaccess_test.c,v 1.7 2000/08/01 01:12:46 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: gxba_test.c,v 1.5 2000/07/27 09:37:56 tale Exp $ */
+/* $Id: gxba_test.c,v 1.6 2000/08/01 01:12:47 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: gxbn_test.c,v 1.8 2000/07/27 09:37:57 tale Exp $ */
+/* $Id: gxbn_test.c,v 1.9 2000/08/01 01:12:49 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: hash_test.c,v 1.6 2000/07/27 09:37:58 tale Exp $ */
+/* $Id: hash_test.c,v 1.7 2000/08/01 01:12:50 tale Exp $ */
#include <config.h>
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: headerdep_test.sh.in,v 1.3 2000/07/27 09:37:59 tale Exp $
+# $Id: headerdep_test.sh.in,v 1.4 2000/08/01 01:12:51 tale Exp $
#
# Check the installed bind9 headers to make sure that no header
EOF
# Compile the test program.
- if
+ if
gcc @STD_CWARNINGS@ @STD_CINCLUDES@ -I$prefix/include -c test.c 2>&1
then
:
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: inter_test.c,v 1.6 2000/07/27 09:38:00 tale Exp $ */
+/* $Id: inter_test.c,v 1.7 2000/08/01 01:12:52 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: keyboard_test.c,v 1.6 2000/07/27 09:38:01 tale Exp $ */
+/* $Id: keyboard_test.c,v 1.7 2000/08/01 01:12:53 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lex_test.c,v 1.16 2000/07/27 09:38:03 tale Exp $ */
+/* $Id: lex_test.c,v 1.17 2000/08/01 01:12:54 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lfsr_test.c,v 1.8 2000/07/27 09:38:04 tale Exp $ */
+/* $Id: lfsr_test.c,v 1.9 2000/08/01 01:12:55 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: log_test.c,v 1.19 2000/07/27 09:38:05 tale Exp $ */
+/* $Id: log_test.c,v 1.20 2000/08/01 01:12:56 tale Exp $ */
/* Principal Authors: DCL */
isc_log_setduplicateinterval(lcfg, 1);
message = "This message should appear twice on stderr";
-
+
isc_log_write1(lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_RBTDB,
ISC_LOG_CRITICAL, message);
sleep(2);
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwres_test.c,v 1.22 2000/07/27 09:38:06 tale Exp $ */
+/* $Id: lwres_test.c,v 1.23 2000/08/01 01:12:57 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwresconf_test.c,v 1.8 2000/07/27 09:38:07 tale Exp $ */
+/* $Id: lwresconf_test.c,v 1.9 2000/08/01 01:12:58 tale Exp $ */
#include <config.h>
if (argc > 1) {
file = argv[1];
}
-
+
#ifdef USE_ISC_MEM
mem = NULL;
result = isc_mem_create(0, 0, &mem);
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.15 2000/07/27 09:38:47 tale Exp $
+# $Id: Makefile.in,v 1.16 2000/08/01 01:13:42 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
;
; the following black line contains spaces
-
+
;
@ 300 IN A 10.0.0.1
;
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: t_master.c,v 1.27 2000/07/27 09:38:48 tale Exp $ */
+/* $Id: t_master.c,v 1.28 2000/08/01 01:13:45 tale Exp $ */
#include <config.h>
char buf[BIGBUFLEN];
isc_buffer_t target;
isc_result_t result;
-
+
UNUSED(arg);
isc_buffer_init(&target, buf, BIGBUFLEN);
dns_rdatacallbacks_init_stdio(&callbacks);
callbacks.add = t1_add_callback;
-
+
textregion.base = class;
textregion.length = strlen(class);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: master_test.c,v 1.23 2000/07/27 09:38:08 tale Exp $ */
+/* $Id: master_test.c,v 1.24 2000/08/01 01:13:00 tale Exp $ */
#include <config.h>
char buf[64*1024];
isc_buffer_t target;
isc_result_t result;
-
+
UNUSED(arg);
isc_buffer_init(&target, buf, 64*1024);
if (result == ISC_R_SUCCESS)
fprintf(stdout, "%.*s\n", (int)target.used,
(char*)target.base);
- else
+ else
fprintf(stdout, "dns_rdataset_totext: %s\n",
dns_result_totext(result));
dns_result_totext(result));
exit(1);
}
-
+
dns_rdatacallbacks_init_stdio(&callbacks);
callbacks.add = print_dataset;
-
+
result = dns_master_loadfile(argv[1], &origin, &origin, 1,
ISC_FALSE,
&callbacks, mctx);
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.21 2000/07/27 09:38:50 tale Exp $
+# $Id: Makefile.in,v 1.22 2000/08/01 01:13:46 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
ISCDEPLIBS = ../../../lib/isc/libisc.@A@
TAPILIBS = ../../../lib/tests/libt_api.@A@
-DEPLIBS = ${TAPIDEPLIBS} ${ISCDEPLIBS}
+DEPLIBS = ${TAPIDEPLIBS} ${ISCDEPLIBS}
LIBS = ${TAPILIBS} ${ISCLIBS} @LIBS@
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: t_mem.c,v 1.7 2000/07/27 09:38:51 tale Exp $ */
+/* $Id: t_mem.c,v 1.8 2000/08/01 01:13:47 tale Exp $ */
#include <config.h>
rval, MP1_MAXALLOC - 11);
++nfails;
}
-
+
if (T_debug)
isc_mem_stats(mctx, stderr);
isc_mempool_put(mp1, items1[i]);
items1[i] = NULL;
}
-
+
isc_mempool_destroy(&mp1);
if (T_debug)
result = T_FAIL;
t_result(result);
}
-
+
testspec_t T_testlist[] = {
{ t1, "basic memory subsystem" },
{ NULL, NULL }
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: mempool_test.c,v 1.9 2000/07/27 09:38:09 tale Exp $ */
+/* $Id: mempool_test.c,v 1.10 2000/08/01 01:13:01 tale Exp $ */
#include <config.h>
isc_mempool_put(mp1, items1[i]);
items1[i] = NULL;
}
-
+
isc_mempool_destroy(&mp1);
isc_mem_stats(mctx, stderr);
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: name_test.c,v 1.30 2000/07/27 09:38:10 tale Exp $ */
+/* $Id: name_test.c,v 1.31 2000/08/01 01:13:02 tale Exp $ */
#include <config.h>
static void
print_wirename(isc_region_t *name) {
unsigned char *ccurr, *cend;
-
+
if (name->length == 0) {
printf("<empty wire name>\n");
return;
dns_fixedname_init(&wname2);
continue;
}
-
+
if (check_absolute && dns_name_countlabels(name) > 0) {
if (dns_name_isabsolute(name))
printf("absolute\n");
name = &wname.name;
}
}
-
+
return (0);
}
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.44 2000/07/27 09:38:12 tale Exp $ */
+/* $Id: named.conf,v 1.45 2000/08/01 01:13:03 tale Exp $ */
/*
* This is a worthless, nonrunnable example of a named.conf file that has
// servers won't like it.
# Obsolete
- deallocate-on-exit no;
+ deallocate-on-exit no;
dialup yes;
allow-recursion { !any; };
blackhole { 45/24; };
- listen-on {
+ listen-on {
10/24;
10.0.0.3;
};
- listen-on port 53 { any; };
-
- listen-on { 5.6.7.8; };
-
- listen-on port 1234 {
- !1.2.3.4;
- 1.2.3/24;
- };
+ listen-on port 53 { any; };
+
+ listen-on { 5.6.7.8; };
+
+ listen-on port 1234 {
+ !1.2.3.4;
+ 1.2.3/24;
+ };
listen-on-v6 {
- 1:1:1:1:1:1:1:1;
+ 1:1:1:1:1:1:1:1;
};
listen-on-v6 port 777 {
- 2:2:2:2:2:2:2:2;
+ 2:2:2:2:2:2:2:2;
};
query-source-v6 address 8:7:6:5:4:3:2:1 port *;
max-transfer-time-out 10;
max-transfer-idle-in 100;
max-transfer-idle-out 11;
-
+
max-ncache-ttl 333;
min-roots 15;
serial-queries 34;
heartbeat-interval 1001;
interface-interval 1002;
statistics-interval 1003;
-
+
topology {
- 10/8;
-
- !1.2.3/24;
-
- { 1.2/16; 3/8; };
-
-
+ 10/8;
+
+ !1.2.3/24;
+
+ { 1.2/16; 3/8; };
+
+
};
sortlist { 10/8; 11/8; };
controls {
// 'inet' lines without a 'port' defaults to 'port 953'
// 'keys' must be used and the list must have at least one entry
- inet * port 52 allow { any; } keys { "key2"; };
+ inet * port 52 allow { any; } keys { "key2"; };
inet 10.0.0.1 allow { any; } keys { "key4";};
inet 10.0.0.2 allow { none; } keys { "key-1"; "key-2"; };
unix "/var/run/ndc" perm 0600 owner 0 group 0; // ignored by named.
};
zone "master.demo.zone" {
- type master; // what used to be called "primary"
+ type master; // what used to be called "primary"
database "somedb -option1 -option2 arg1 arg2 arg3";
file "master.demo.zone";
check-names fail;
};
zone "slave.demo.zone" {
- type slave; // what used to be called "secondary"
+ type slave; // what used to be called "secondary"
file "slave.demo.zone";
ixfr-base "slave.demo.zone.ixfr"; // File name for IXFR transaction log file
masters {
view "test-view" in {
key "viewkey" { algorithm "xxx" ; secret "yyy" ; };
also-notify { 10.2.2.3; };
- trusted-keys {
+ trusted-keys {
foo.com. 4 3 2 "abdefghijklmnopqrstuvwxyz";
- };
+ };
sig-validity-interval 45;
max-cache-size 100000;
allow-query { 10.0.0.30;};
zone "." {
type hint; // used to be specified w/ "cache"
- file "cache.db";
+ file "cache.db";
// pubkey 257 255 1 "AQP2fHpZ4VMpKo/jc9Fod821uyfY5p8j5h/Am0V/KpBTMZjdXmp9QJe6yFRoIIzkaNCgTIftASdpXGgCwFB2j2KXP/rick6gvEer5VcDEkLR5Q==";
};
-trusted-keys {
+trusted-keys {
"." 257 255 1 "AQP2fHpZ4VMpKo/jc9Fod821uyfY5p8j5h/Am0V/KpBTMZjdXmp9QJe6yFRoIIzkaNCgTIftASdpXGgCwFB2j2KXP/rick6gvEer5VcDEkLR5Q==";
-};
+};
acl can_query { !1.2.3/24; any; }; // network 1.2.3.0 mask 255.255.255.0
// identity or name not absolute
// 'wildcard' match type and no wildcard character in name
//
- // issues:
+ // issues:
// - certain rdatatype values (such as "key") are config file keywords and
// must be quoted or a syntax error will occur.
//
update-policy {
- grant root.domain. subdomain host.domain. A MX CNAME;
- grant sub.root.domain. wildcard *.host.domain. A;
- grant root.domain. name host.domain. a ns md mf cname soa mb mg
+ grant root.domain. subdomain host.domain. A MX CNAME;
+ grant sub.root.domain. wildcard *.host.domain. A;
+ grant root.domain. name host.domain. a ns md mf cname soa mb mg
mr "null" wks ptr hinfo minfo mx txt rp afsdb x25
- isdn rt nsap sig "key" px gpos aaaa loc nxt srv naptr kx
+ isdn rt nsap sig "key" px gpos aaaa loc nxt srv naptr kx
cert a6 dname opt unspec tkey tsig ;
grant foo.bar.com. self foo.bar.com. a;
};
// rest of the server
# Now called 'request-ixfr'
# support-ixfr yes; // for IXFR supported by server
- // if yes, the listed server talks IXFR
+ // if yes, the listed server talks IXFR
};
logging {
};
/*
- * Channels have a severity level. Messages at severity levels
+ * Channels have a severity level. Messages at severity levels
* greater than or equal to the channel's level will be logged on
* the channel. In order of decreasing severity, the levels are:
*
* critical a fatal error
* error
- * warning
+ * warning
* notice a normal, but significant event
* info an informational message
* debug 1 the least detailed debugging info
category lame-servers { null; }; // don't log these at all
- channel moderate_debug {
+ channel moderate_debug {
file "foo"; // foo
severity debug 3; // level 3 debugging to file
print-time yes; // timestamp log entries
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.15 2000/07/27 09:38:52 tale Exp $
+# $Id: Makefile.in,v 1.16 2000/08/01 01:13:48 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# format:
# <name1> <tab> <name2> <tab> <exp_order>
# where: exp_order may be one of: -1, 0, 1
-#
+#
# and where: exp_nlabels and exp_nbits are not tested if < 0
#
c.d a.b.c.d -1
# format:
# <test_name>
# where: exp_order may be one of: -1, 0, 1
-#
+#
# and where: exp_nlabels and exp_nbits are not tested if < 0
#
#c.d.\[x31].abc.\[b110011]
# DNS_R_BADPOINTER
# ISC_R_UNEXPECTEDEND
# DNS_R_TOOMANYHOPS
-#
+#
wire_test1.data 25 1 DNS_COMPRESS_ALL vix.com. ISC_R_SUCCESS
# DNS_R_BADPOINTER
# ISC_R_UNEXPECTEDEND
# DNS_R_TOOMANYHOPS
-#
+#
wire_test2.data 25 1 DNS_COMPRESS_ALL vix.com. ISC_R_NOSPACE
# DNS_R_BADPOINTER
# ISC_R_UNEXPECTEDEND
# DNS_R_TOOMANYHOPS
-#
+#
wire_test3_1.data 25 1 DNS_COMPRESS_ALL vix.com. DNS_R_BADLABELTYPE
wire_test3_2.data 25 1 DNS_COMPRESS_ALL vix.com. DNS_R_BADLABELTYPE
# DNS_R_BADPOINTER
# ISC_R_UNEXPECTEDEND
# DNS_R_TOOMANYHOPS
-#
+#
wire_test4.data 550 1 DNS_COMPRESS_ALL vix.com. DNS_R_NAMETOOLONG
# DNS_R_BADPOINTER
# ISC_R_UNEXPECTEDEND
# DNS_R_TOOMANYHOPS
-#
+#
wire_test5.data 25 1 DNS_COMPRESS_NONE vix.com. DNS_R_DISALLOWED
# DNS_R_BADPOINTER
# ISC_R_UNEXPECTEDEND
# DNS_R_TOOMANYHOPS
-#
+#
wire_test6.data 25 1 DNS_COMPRESS_ALL vix.com. DNS_R_BADPOINTER
# DNS_R_BADPOINTER
# ISC_R_UNEXPECTEDEND
# DNS_R_TOOMANYHOPS
-#
+#
wire_test7.data 25 1 DNS_COMPRESS_ALL vix.com. ISC_R_UNEXPECTEDEND
# DNS_R_BADPOINTER
# ISC_R_UNEXPECTEDEND
# DNS_R_TOOMANYHOPS
-#
+#
wire_test8.data 383 1 DNS_COMPRESS_ALL vix.com. DNS_R_TOOMANYHOPS
# DNS_R_BADPOINTER
# ISC_R_UNEXPECTEDEND
# DNS_R_TOOMANYHOPS
-#
+#
wire_test9.data 25 1 DNS_COMPRESS_ALL vix.com. ISC_R_NOSPACE
# <name1> <tab> <label1_pos> <tab> <name2> <tab> <label2_pos>
# where: label1_pos and label2_pos identify the label position of
# the common label shared by name1 and name2 respectively
-#
+#
c.d 1 a.b.c.d 3
a.b.c.d 3 c.d 1
a.b.c. 3 a.b.c. 3
# test data for dns_name_getlabelsequence
# format:
# <name1> <tab> <label1_start> <tab> <name2> <tab> <label2_start> <tab> <extent>
-#
+#
#
c.d 1 a.b.c.d 3 1
a.b.c.d.e 2 c.d 0 2
# format:
# <name1> <tab> <name2> <tab> <issubdomain>
# where: issubdomain is 0 if false, else non-zero
-#
+#
# and where: exp_nlabels and exp_nbits are not tested if < 0
#
c.d a.b.c.d 0
# format:
# <name1> <tab> <name2> <tab> <exp_order>
# where: exp_order may be one of: -1, 0, 1
-#
+#
# and where: exp_nlabels and exp_nbits are not tested if < 0
#
c.d. a.b.c.d. 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: t_names.c,v 1.27 2000/07/27 09:38:53 tale Exp $ */
+/* $Id: t_names.c,v 1.28 2000/08/01 01:14:06 tale Exp $ */
#include <config.h>
t_info("malloc failed unexpectedly\n");
return (-1);
}
-
+
/*
* First convert exp_data from hex format.
*/
if (dns_result == ISC_R_SUCCESS) {
dns_reln = dns_name_fullcompare(&dns_name1, &dns_name2,
&order, &nlabels, &nbits);
-
+
if (dns_reln != exp_dns_reln) {
++nfails;
t_info("expected relationship of %s, got %s\n",
dns_result = dname_from_tname(name2, &dns_name2);
if (dns_result == ISC_R_SUCCESS) {
rval = dns_name_issubdomain(&dns_name1, &dns_name2);
-
+
if (rval != exp_rval) {
t_info("expected return value of %s, got %s\n",
exp_rval == ISC_TRUE ? "true" : "false",
dns_result = dname_from_tname(test_name, &dns_name);
if (dns_result == ISC_R_SUCCESS) {
nlabels = dns_name_countlabels(&dns_name);
-
+
if (nlabels != exp_nlabels) {
t_info("expected %d, got %d\n", exp_nlabels, nlabels);
result = T_FAIL;
"converts the possibly compressed DNS name 'name' in wire "
"format to canonicalized form at target, performing upper to "
"lower case conversion if downcase is true, and returns "
- "ISC_R_SUCCESS";
+ "ISC_R_SUCCESS";
#if 0
/*
&nbits);
if (dns_namereln != dns_namereln_equal) {
t_info("dns_name_fullcompare returned %s\n",
- dns_namereln_to_text(dns_namereln));
+ dns_namereln_to_text(dns_namereln));
result = T_FAIL;
} else {
result = T_PASS;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: nconf_test.c,v 1.18 2000/07/27 09:38:13 tale Exp $ */
+/* $Id: nconf_test.c,v 1.19 2000/08/01 01:13:04 tale Exp $ */
#include <config.h>
UNUSED(ctx);
UNUSED(uap);
-
+
dns_c_zone_getname(zone, &zname);
#if 0
#else
UNUSED(view);
vname = "foo";
-#endif
+#endif
fprintf(stderr, "handling zone %s, view %s\n", zname, vname);
optscbk(dns_c_ctx_t *ctx, void *uap) {
UNUSED(ctx);
UNUSED(uap);
-
+
fprintf(stderr, "Processing options in callback.\n");
return (ISC_R_SUCCESS);
}
dns_c_cbks_t callbacks;
isc_log_t *log = NULL;
isc_logconfig_t *logcfg = NULL;
-
+
callbacks.zonecbk = zonecbk;
callbacks.optscbk = optscbk;
callbacks.zonecbkuap = NULL;
callbacks.zonecbk = NULL;
callbacks.optscbk = NULL;
#endif
-
+
if (argc > 1 && strcmp(argv[1],"-d") == 0) {
argv++;
argc--;
/* debug_mem_print = ISC_TRUE; */
dns__yydebug = 1;
}
-
+
conffile = getenv("NAMED_CONF");
if (argc > 1)
conffile = argv[1];
isc_log_setcontext(log);
dns_log_init(log);
dns_log_setcontext(log);
-
+
RUNTIME_CHECK(isc_log_usechannel(logcfg, "default_stderr", NULL, NULL)
== ISC_R_SUCCESS);
dns_lctx = log;
-
+
if (dns_c_parse_namedconf(conffile, mem, &configctx, &callbacks) !=
ISC_R_SUCCESS) {
fprintf(stderr, "parse_configuration failed.\n");
outfp = stderr;
}
}
-
+
dns_c_ctx_print(outfp, 0, configctx);
#if 0
dns_ipmatch_list_print(outfp, 0, list);
}
#endif
-
+
if (outfp != stderr) {
fclose(outfp);
}
dns_lctx = NULL;
isc_log_destroy(&log);
-
+
isc_mem_destroy(&mem);
return (0);
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ndc.conf,v 1.4 2000/07/27 09:38:14 tale Exp $ */
+/* $Id: ndc.conf,v 1.5 2000/08/01 01:13:05 tale Exp $ */
options {
default-server "velo.jab.fr" ;
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ndcconf_test.c,v 1.9 2000/07/27 09:38:15 tale Exp $ */
+/* $Id: ndcconf_test.c,v 1.10 2000/08/01 01:13:06 tale Exp $ */
#include <config.h>
} else {
program++;
}
-
+
argc--;
argv++;
-
+
if (argc == 0) {
fprintf(stderr, "usage: %s file\n", program);
exit (1);
}
-
+
conffile = argv[0];
RUNTIME_CHECK(isc_mem_create(0, 0, &mem) == ISC_R_SUCCESS);
isc_log_setcontext(log);
dns_log_init(log);
dns_log_setcontext(log);
-
+
RUNTIME_CHECK(isc_log_usechannel(logcfg, "default_stderr", NULL, NULL)
== ISC_R_SUCCESS);
} else {
dns_c_ndcctx_print(stderr, ndcctx);
}
-
+
dns_c_ndcctx_destroy(&ndcctx);
dns_lctx = NULL;
isc_log_destroy(&log);
-
+
isc_mem_destroy(&mem);
return (0);
}
-
+
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.5 2000/07/27 09:38:55 tale Exp $
+# $Id: Makefile.in,v 1.6 2000/08/01 01:14:07 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: driver.c,v 1.5 2000/07/27 09:38:56 tale Exp $ */
+/* $Id: driver.c,v 1.6 2000/08/01 01:14:08 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: driver.h,v 1.3 2000/07/27 09:38:57 tale Exp $ */
+/* $Id: driver.h,v 1.4 2000/08/01 01:14:09 tale Exp $ */
/*
* PASSED and FAILED mean the particular test passed or failed.
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: netaddr_multicast.c,v 1.6 2000/07/27 09:38:58 tale Exp $ */
+/* $Id: netaddr_multicast.c,v 1.7 2000/08/01 01:14:10 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: sockaddr_multicast.c,v 1.3 2000/07/27 09:38:59 tale Exp $ */
+/* $Id: sockaddr_multicast.c,v 1.4 2000/08/01 01:14:12 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: testsuite.h,v 1.2 2000/07/27 09:39:00 tale Exp $ */
+/* $Id: testsuite.h,v 1.3 2000/08/01 01:14:13 tale Exp $ */
#define SUITENAME "net"
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: nxtify.c,v 1.14 2000/07/27 09:38:16 tale Exp $ */
+/* $Id: nxtify.c,v 1.15 2000/08/01 01:13:07 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: omapi_test.c,v 1.26 2000/07/27 09:38:17 tale Exp $ */
+/* $Id: omapi_test.c,v 1.27 2000/08/01 01:13:09 tale Exp $ */
-/*
+/*
* Test code for OMAPI.
*/
#include <config.h>
master_data.refcnt = 1;
master_data.value = 2;
master_data.target_reached = ISC_FALSE;
-
+
LOCK(&mutex);
/*
else if (ARG_IS("badsig"))
error_badsig = ISC_TRUE;
-
+
else if (ARG_IS("unknownsig"))
error_unknownsig = ISC_TRUE;
-
+
else if (ARG_IS("denyall"))
error_denyall = ISC_TRUE;
else {
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: printmsg.c,v 1.22 2000/07/27 09:38:18 tale Exp $ */
+/* $Id: printmsg.c,v 1.23 2000/08/01 01:13:10 tale Exp $ */
#include <config.h>
char t[4096];
isc_boolean_t first;
isc_boolean_t no_rdata;
-
+
if (sectionid == DNS_SECTION_QUESTION)
no_rdata = ISC_TRUE;
else
else if (result != ISC_R_SUCCESS)
return (result);
}
-
+
return (ISC_R_SUCCESS);
}
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: printmsg.h,v 1.7 2000/07/27 09:38:19 tale Exp $ */
+/* $Id: printmsg.h,v 1.8 2000/08/01 01:13:11 tale Exp $ */
#ifndef TEST_PRINTMSG_H
#define TEST_PRINTMSG_H
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ratelimiter_test.c,v 1.13 2000/07/27 09:38:21 tale Exp $ */
+/* $Id: ratelimiter_test.c,v 1.14 2000/08/01 01:13:12 tale Exp $ */
#include <config.h>
shutdown_rl(isc_task_t *task, isc_event_t *event) {
UNUSED(task);
UNUSED(event);
- printf("shutdown ratelimiter\n");
+ printf("shutdown ratelimiter\n");
isc_ratelimiter_shutdown(rlim);
}
isc_app_start();
isc_interval_set(&linterval, 1, 0);
-
+
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
RUNTIME_CHECK(isc_taskmgr_create(mctx, 3, 0, &taskmgr) ==
ISC_R_SUCCESS);
RUNTIME_CHECK(isc_task_create(taskmgr, 0, &g_task) ==
ISC_R_SUCCESS);
- RUNTIME_CHECK(isc_ratelimiter_create(mctx, timermgr, g_task,
+ RUNTIME_CHECK(isc_ratelimiter_create(mctx, timermgr, g_task,
&rlim) == ISC_R_SUCCESS);
RUNTIME_CHECK(isc_ratelimiter_setinterval(rlim, &linterval) ==
isc_task_destroy(&g_task);
isc_ratelimiter_detach(&rlim);
-
+
isc_timermgr_destroy(&timermgr);
isc_taskmgr_destroy(&taskmgr);
isc_mem_stats(mctx, stdout);
-
+
isc_app_finish();
return (0);
}
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.15 2000/07/27 09:39:01 tale Exp $
+# $Id: Makefile.in,v 1.16 2000/08/01 01:14:14 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: t_rbt.c,v 1.20 2000/07/27 09:39:02 tale Exp $ */
+/* $Id: t_rbt.c,v 1.21 2000/08/01 01:14:15 tale Exp $ */
#include <config.h>
if (s && *s) {
length = strlen(s);
-
+
isc_buffer_init(&source, s, length);
isc_buffer_add(&source, length);
-
+
/*
* The buffer for the actual name will immediately follow the
* name structure.
t_info("isc_mem_get failed\n");
++nfails;
}
-
+
dns_name_init(*dns_name, NULL);
isc_buffer_init(&target, *dns_name + 1, DNSNAMELEN);
-
+
result = dns_name_fromtext(*dns_name, &source, dns_rootname,
ISC_FALSE, &target);
-
+
if (result != ISC_R_SUCCESS) {
++nfails;
t_info("dns_name_fromtext(%s) failed %s\n",
isc_mem_destroy(&mctx);
return(result);
}
-
+
/*
* Now try the database command.
*/
result = T_FAIL;
else
result = T_PASS;
-
+
dns_rbtnodechain_invalidate(&chain);
dns_rbt_destroy(&rbt);
t_info("testing for next name of %s, origin of %s\n",
expected_nextname, expected_nextorigin);
-
+
if ((dns_result != ISC_R_SUCCESS) && (dns_result != DNS_R_NEWORIGIN)) {
t_info("dns_rbtnodechain_next unexpectedly returned %s\n",
dns_result_totext(dns_result));
result = T_FAIL;
else
result = T_PASS;
-
+
dns_rbtnodechain_invalidate(&chain);
dns_rbt_destroy(&rbt);
result = T_FAIL;
else
result = T_PASS;
-
+
dns_rbtnodechain_invalidate(&chain);
dns_rbt_destroy(&rbt);
result = T_FAIL;
else
result = T_PASS;
-
+
dns_rbtnodechain_invalidate(&chain);
dns_rbt_destroy(&rbt);
result = T_FAIL;
else
result = T_PASS;
-
+
dns_rbtnodechain_invalidate(&chain);
dns_rbt_destroy(&rbt);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rbt_test.c,v 1.38 2000/07/31 23:27:22 tale Exp $ */
+/* $Id: rbt_test.c,v 1.39 2000/08/01 01:13:14 tale Exp $ */
#include <config.h>
if (forward) {
printf("iterating forward\n" );
move = dns_rbtnodechain_next;
-
+
result = dns_rbtnodechain_first(&chain, rbt, &foundname,
origin);
}
}
-
+
}
dns_rbt_destroy(&rbt);
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: rbt_test.txt,v 1.10 2000/07/27 09:38:23 tale Exp $
+# $Id: rbt_test.txt,v 1.11 2000/08/01 01:13:15 tale Exp $
add a.vix.com
add b.vix.com
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdata_test.c,v 1.30 2000/07/27 09:38:24 tale Exp $ */
+/* $Id: rdata_test.c,v 1.31 2000/08/01 01:13:16 tale Exp $ */
#include <config.h>
}
if (token.type == isc_tokentype_eof)
break;
-
+
/*
* Get type.
*/
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: resolv.conf.sample,v 1.5 2000/07/27 09:38:25 tale Exp $ */
+/* $Id: resolv.conf.sample,v 1.6 2000/08/01 01:13:17 tale Exp $ */
domain jab.fr
nameserver 194.150.1.2 ; ignore that
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rwlock_test.c,v 1.17 2000/07/27 09:38:26 tale Exp $ */
+/* $Id: rwlock_test.c,v 1.18 2000/08/01 01:13:18 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: serial_test.c,v 1.8 2000/07/27 09:38:27 tale Exp $ */
+/* $Id: serial_test.c,v 1.9 2000/08/01 01:13:19 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: shutdown_test.c,v 1.15 2000/07/27 09:38:28 tale Exp $ */
+/* $Id: shutdown_test.c,v 1.16 2000/08/01 01:13:20 tale Exp $ */
#include <config.h>
static void
t1_shutdown(isc_task_t *task, isc_event_t *event) {
t_info *info = event->ev_arg;
-
+
printf("task %s (%p) t1_shutdown\n", info->name, task);
isc_task_detach(&info->task);
isc_event_free(&event);
isc_taskmgr_destroy(&task_manager);
isc_timermgr_destroy(&timer_manager);
-
+
printf("Statistics for mctx:\n");
isc_mem_stats(mctx, stdout);
isc_mem_destroy(&mctx);
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: sock_test.c,v 1.44 2000/07/27 09:38:30 tale Exp $ */
+/* $Id: sock_test.c,v 1.45 2000/08/01 01:13:21 tale Exp $ */
#include <config.h>
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.10 2000/07/27 09:39:04 tale Exp $
+# $Id: Makefile.in,v 1.11 2000/08/01 01:14:16 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
ISCDEPLIBS = ../../../lib/isc/libisc.@A@
TAPILIBS = ../../../lib/tests/libt_api.@A@
-DEPLIBS = ${TAPIDEPLIBS} ${ISCDEPLIBS}
+DEPLIBS = ${TAPIDEPLIBS} ${ISCDEPLIBS}
LIBS = ${TAPILIBS} ${ISCLIBS} @LIBS@
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: t_sockaddr.c,v 1.9 2000/07/27 09:39:05 tale Exp $ */
+/* $Id: t_sockaddr.c,v 1.10 2000/08/01 01:14:17 tale Exp $ */
#include <config.h>
test_isc_sockaddr_eqaddrprefix(void) {
struct in_addr ina_a;
struct in_addr ina_b;
- struct in_addr ina_c;
+ struct in_addr ina_c;
isc_sockaddr_t isa_a;
isc_sockaddr_t isa_b;
isc_sockaddr_t isa_c;
-
+
if (inet_pton(AF_INET, "194.100.32.87", &ina_a) < 0)
return T_FAIL;
if (inet_pton(AF_INET, "194.100.32.80", &ina_b) < 0)
struct in_addr na_a;
struct in_addr na_b;
struct in_addr na_c;
- struct in_addr na_d;
+ struct in_addr na_d;
isc_netaddr_t ina_a;
isc_netaddr_t ina_b;
isc_netaddr_t ina_c;
- isc_netaddr_t ina_d;
+ isc_netaddr_t ina_d;
unsigned int plen;
-
+
if (inet_pton(AF_INET, "0.0.0.0", &na_a) < 0)
return T_FAIL;
if (inet_pton(AF_INET, "255.255.255.254", &na_b) < 0)
result = test_isc_netaddr_masktoprefixlen();
t_result(result);
}
-
+
testspec_t T_testlist[] = {
{ t1, "isc_sockaddr_eqaddrprefix" },
{ t2, "isc_netaddr_masktoprefixlen" },
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: sym_test.c,v 1.19 2000/07/27 09:38:31 tale Exp $ */
+/* $Id: sym_test.c,v 1.20 2000/08/01 01:13:23 tale Exp $ */
#include <config.h>
key, cp,
isc_result_totext(result));
if (result != ISC_R_SUCCESS)
- undefine_action(key, 1,
+ undefine_action(key, 1,
value, NULL);
}
}
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.19 2000/07/28 01:37:05 gson Exp $
+# $Id: Makefile.in,v 1.20 2000/08/01 01:14:19 tale Exp $
@BIND9_INCLUDES@
SUBDIRS = lwresd
-TARGETS =
+TARGETS =
@BIND9_MAKE_RULES@
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: cleanall.sh,v 1.4 2000/07/27 09:39:07 tale Exp $
+# $Id: cleanall.sh,v 1.5 2000/08/01 01:14:20 tale Exp $
#
# Clean up after system tests.
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: conf.sh.in,v 1.11 2000/07/27 09:39:08 tale Exp $
+# $Id: conf.sh.in,v 1.12 2000/08/01 01:14:21 tale Exp $
-#
+#
# Common configuration data for system tests, to be sourced into
# other shell scripts.
#
#!/usr/bin/perl
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: digcomp.pl,v 1.9 2000/07/27 09:39:10 tale Exp $
+# $Id: digcomp.pl,v 1.10 2000/08/01 01:14:22 tale Exp $
# Compare two files, each with the output from dig, for differences.
# Ignore "unimportant" differences, like ordering of NS lines, TTL's,
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.7 2000/07/31 15:28:15 bwelling Exp $
+# $Id: clean.sh,v 1.8 2000/08/01 01:14:31 tale Exp $
rm -f */K* */keyset-* */signedkey-* */*.signed */trusted.conf
rm -f ns1/root.db ns2/example.db ns3/secure.example.db
rm -f ns3/unsecure.example.db ns3/bogus.example.db
-rm -f dig.out.*
+rm -f dig.out.*
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.10 2000/07/27 09:39:22 tale Exp $ */
+/* $Id: named.conf,v 1.11 2000/08/01 01:14:35 tale Exp $ */
// NS1
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.db.in,v 1.4 2000/07/27 09:39:23 tale Exp $
+; $Id: root.db.in,v 1.5 2000/08/01 01:14:36 tale Exp $
$TTL 300
. IN SOA gson.nominum.com. a.root.servers.nil. (
2000042100 ; serial
600 ; refresh
- 600 ; retry
+ 600 ; retry
1200 ; expire
600 ; minimum
)
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: sign.sh,v 1.9 2000/07/31 15:28:16 bwelling Exp $
+# $Id: sign.sh,v 1.10 2000/08/01 01:14:37 tale Exp $
SYSTEMTESTTOP=../..
. $SYSTEMTESTTOP/conf.sh
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: example.db.in,v 1.5 2000/07/27 09:39:26 tale Exp $
+; $Id: example.db.in,v 1.6 2000/08/01 01:14:38 tale Exp $
$TTL 300 ; 5 minutes
@ IN SOA mname1. . (
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: insecure.secure.example.db,v 1.4 2000/07/27 09:39:27 tale Exp $
+; $Id: insecure.secure.example.db,v 1.5 2000/08/01 01:14:39 tale Exp $
$TTL 300 ; 5 minutes
@ IN SOA mname1. . (
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.11 2000/07/27 09:39:28 tale Exp $ */
+/* $Id: named.conf,v 1.12 2000/08/01 01:14:40 tale Exp $ */
// NS2
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: private.secure.example.db.in,v 1.4 2000/07/27 09:39:29 tale Exp $
+; $Id: private.secure.example.db.in,v 1.5 2000/08/01 01:14:41 tale Exp $
$TTL 300 ; 5 minutes
@ IN SOA mname1. . (
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.hint,v 1.4 2000/07/27 09:39:30 tale Exp $
+; $Id: root.hint,v 1.5 2000/08/01 01:14:42 tale Exp $
$TTL 999999
. IN NS a.root-servers.nil.
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: sign.sh,v 1.12 2000/07/31 15:28:18 bwelling Exp $
+# $Id: sign.sh,v 1.13 2000/08/01 01:14:43 tale Exp $
SYSTEMTESTTOP=../..
. $SYSTEMTESTTOP/conf.sh
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: bogus.example.db.in,v 1.4 2000/07/27 09:39:32 tale Exp $
+; $Id: bogus.example.db.in,v 1.5 2000/08/01 01:14:45 tale Exp $
$TTL 300 ; 5 minutes
@ IN SOA mname1. . (
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: insecure.example.db,v 1.4 2000/07/27 09:39:34 tale Exp $
+; $Id: insecure.example.db,v 1.5 2000/08/01 01:14:46 tale Exp $
$TTL 300 ; 5 minutes
@ IN SOA mname1. . (
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.12 2000/07/27 09:39:35 tale Exp $ */
+/* $Id: named.conf,v 1.13 2000/08/01 01:14:47 tale Exp $ */
// NS3
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.hint,v 1.4 2000/07/27 09:39:36 tale Exp $
+; $Id: root.hint,v 1.5 2000/08/01 01:14:48 tale Exp $
$TTL 999999
. IN NS a.root-servers.nil.
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: secure.example.db.in,v 1.6 2000/07/27 09:39:37 tale Exp $
+; $Id: secure.example.db.in,v 1.7 2000/08/01 01:14:49 tale Exp $
$TTL 300 ; 5 minutes
@ IN SOA mname1. . (
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: sign.sh,v 1.9 2000/07/27 09:39:38 tale Exp $
+# $Id: sign.sh,v 1.10 2000/08/01 01:14:50 tale Exp $
RANDFILE=../random.data
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.11 2000/07/27 09:39:39 tale Exp $ */
+/* $Id: named.conf,v 1.12 2000/08/01 01:14:51 tale Exp $ */
// NS4
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.hint,v 1.4 2000/07/27 09:39:40 tale Exp $
+; $Id: root.hint,v 1.5 2000/08/01 01:14:53 tale Exp $
$TTL 999999
. IN NS a.root-servers.nil.
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.9 2000/07/27 09:39:42 tale Exp $ */
+/* $Id: named.conf,v 1.10 2000/08/01 01:14:54 tale Exp $ */
// NS5
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.hint,v 1.4 2000/07/27 09:39:43 tale Exp $
+; $Id: root.hint,v 1.5 2000/08/01 01:14:55 tale Exp $
$TTL 999999
. IN NS a.root-servers.nil.
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: trusted.conf.bad,v 1.4 2000/07/27 09:39:44 tale Exp $ */
+/* $Id: trusted.conf.bad,v 1.5 2000/08/01 01:14:56 tale Exp $ */
trusted-keys {
"." 256 3 1 "AQO6Cl+slAf+iuieDim9L3kujFHQD7s/IOj03ClMOpKYcTXtK4mRpuULVfvWxDi9Ew/gj0xLnnX7z9OJHIxLI+DSrAHd8Dm0XfBEAtVtJSn70GaPZgnLMw1rk5ap2DsEoWk=";
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: setup.sh,v 1.7 2000/07/27 09:39:20 tale Exp $
+# $Id: setup.sh,v 1.8 2000/08/01 01:14:32 tale Exp $
cd ns1 && sh sign.sh
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.24 2000/07/27 23:22:35 bwelling Exp $
+# $Id: tests.sh,v 1.25 2000/08/01 01:14:33 tale Exp $
#
# Perform tests
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.2 2000/07/27 09:39:45 tale Exp $
+# $Id: clean.sh,v 1.3 2000/08/01 01:14:57 tale Exp $
#
# Clean up after glue tests.
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: cache,v 1.2 2000/07/27 09:39:48 tale Exp $
+; $Id: cache,v 1.3 2000/08/01 01:15:00 tale Exp $
; Preloaded cache data for glue test
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: mil.db,v 1.3 2000/07/27 09:39:49 tale Exp $
+; $Id: mil.db,v 1.4 2000/08/01 01:15:01 tale Exp $
$ORIGIN mil.
$TTL 300
@ IN SOA gson.nominum.com. a.root.servers.nil. (
2000042100 ; serial
600 ; refresh
- 600 ; retry
+ 600 ; retry
1200 ; expire
600 ; minimum
)
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.2 2000/07/27 09:39:50 tale Exp $ */
+/* $Id: named.conf,v 1.3 2000/08/01 01:15:02 tale Exp $ */
options {
query-source address 10.53.0.1;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: net.db,v 1.3 2000/07/27 09:39:51 tale Exp $
+; $Id: net.db,v 1.4 2000/08/01 01:15:05 tale Exp $
$ORIGIN net.
$TTL 300
@ IN SOA gson.nominum.com. a.root.servers.nil. (
2000042100 ; serial
600 ; refresh
- 600 ; retry
+ 600 ; retry
1200 ; expire
600 ; minimum
)
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root-servers.nil.db,v 1.2 2000/07/27 09:39:52 tale Exp $
+; $Id: root-servers.nil.db,v 1.3 2000/08/01 01:15:06 tale Exp $
$TTL 300
@ IN SOA ns hostmaster (
1
3600
1800
- 1814400
- 3600
+ 1814400
+ 3600
)
NS a
a A 10.53.0.1
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.db,v 1.2 2000/07/27 09:39:53 tale Exp $
+; $Id: root.db,v 1.3 2000/08/01 01:15:07 tale Exp $
$TTL 300
. IN SOA gson.nominum.com. a.root.servers.nil. (
2000042100 ; serial
600 ; refresh
- 600 ; retry
+ 600 ; retry
1200 ; expire
600 ; minimum
)
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.3 2000/07/27 09:39:46 tale Exp $
+# $Id: tests.sh,v 1.4 2000/08/01 01:14:58 tale Exp $
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: ifconfig.sh,v 1.19 2000/07/27 09:39:11 tale Exp $
+# $Id: ifconfig.sh,v 1.20 2000/08/01 01:14:23 tale Exp $
#
# Set up interface aliases for bind9 system tests.
'start')
for ns in 1 2 3 4 5
do
- case "$sys" in
+ case "$sys" in
*-sun-solaris2.[6-7])
ifconfig lo0:$ns 10.53.0.$ns up
;;
'stop')
for ns in 5 4 3 2 1
do
- case "$sys" in
+ case "$sys" in
*-sun-solaris2.[6-7])
ifconfig lo0:$ns 10.53.0.$ns down
;;
exit 1
esac
done
-
+
;;
*)
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.4 2000/07/27 09:39:54 tale Exp $
+# $Id: clean.sh,v 1.5 2000/08/01 01:15:11 tale Exp $
#
# Clean up after limits tests.
-; <<>> DiG 8.2 <<>> 1000.example. @10.53.0.1 a -p
+; <<>> DiG 8.2 <<>> 1000.example. @10.53.0.1 a -p
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
-; <<>> DiG 8.2 <<>> 2000.example. @10.53.0.1 a -p
+; <<>> DiG 8.2 <<>> 2000.example. @10.53.0.1 a -p
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
-; <<>> DiG 8.2 <<>> 3000.example. @10.53.0.1 a -p
+; <<>> DiG 8.2 <<>> 3000.example. @10.53.0.1 a -p
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
-; <<>> DiG 8.2 <<>> 4000.example. @10.53.0.1 a -p
+; <<>> DiG 8.2 <<>> 4000.example. @10.53.0.1 a -p
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
-; <<>> DiG 8.2 <<>> a-maximum-rrset.example. @10.53.0.1 a -p
+; <<>> DiG 8.2 <<>> a-maximum-rrset.example. @10.53.0.1 a -p
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: example.db,v 1.5 2000/07/27 09:39:57 tale Exp $
+; $Id: example.db,v 1.6 2000/08/01 01:15:30 tale Exp $
$TTL 300 ; 5 minutes
@ IN SOA ns1.example. hostmaster.example. (
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.4 2000/07/27 09:39:58 tale Exp $ */
+/* $Id: named.conf,v 1.5 2000/08/01 01:15:33 tale Exp $ */
options {
query-source address 10.53.0.1;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.db,v 1.4 2000/07/27 09:39:59 tale Exp $
+; $Id: root.db,v 1.5 2000/08/01 01:15:34 tale Exp $
$TTL 300
. IN SOA gson.nominum.com. a.root.servers.nil. (
2000042100 ; serial
600 ; refresh
- 600 ; retry
+ 600 ; retry
1200 ; expire
600 ; minimum
)
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.8 2000/07/27 09:39:55 tale Exp $
+# $Id: tests.sh,v 1.9 2000/08/01 01:15:26 tale Exp $
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.6 2000/07/27 09:40:00 tale Exp $
+# $Id: Makefile.in,v 1.7 2000/08/01 01:15:35 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: resolv.conf,v 1.4 2000/07/27 09:40:05 tale Exp $ */
+/* $Id: resolv.conf,v 1.5 2000/08/01 01:15:41 tale Exp $ */
nameserver 10.53.0.1
search example1.
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwtest.c,v 1.12 2000/07/28 03:31:25 tale Exp $ */
+/* $Id: lwtest.c,v 1.13 2000/08/01 01:15:37 tale Exp $ */
#include <config.h>
if (address == NULL && h_errno == HOST_NOT_FOUND)
return;
else if (h_errno != HOST_NOT_FOUND) {
- printf("I:gethostbyname(%s) failed: %s\n",
+ printf("I:gethostbyname(%s) failed: %s\n",
name, hstrerror(h_errno));
fails++;
return;
if (address == NULL && h_errno == HOST_NOT_FOUND)
return;
else if (h_errno != HOST_NOT_FOUND) {
- printf("I:gethostbyname(%s) failed: %s\n",
+ printf("I:gethostbyname(%s) failed: %s\n",
name, hstrerror(h_errno));
fails++;
return;
if (name == NULL && h_errno == HOST_NOT_FOUND)
return;
else if (h_errno != HOST_NOT_FOUND) {
- printf("I:gethostbyaddr(%s) failed: %s\n",
+ printf("I:gethostbyaddr(%s) failed: %s\n",
address, hstrerror(h_errno));
fails++;
return;
if (address == NULL && ret == EAI_NODATA)
return;
else if (ret != EAI_NODATA) {
- printf("I:getaddrinfo(%s,%d,%d) failed: %s\n",
+ printf("I:getaddrinfo(%s,%d,%d) failed: %s\n",
name, v4ok, v6ok, gai_strerror(ret));
fails++;
return;
if (name == NULL && ret == ENI_NOHOSTNAME)
return;
else if (ret != ENI_NOHOSTNAME) {
- printf("I:getnameinfo(%s) failed: %d\n",
+ printf("I:getnameinfo(%s) failed: %d\n",
address, ret);
fails++;
return;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: 10.10.10.in-addr.arpa.db,v 1.5 2000/07/27 09:40:07 tale Exp $
+; $Id: 10.10.10.in-addr.arpa.db,v 1.6 2000/08/01 01:15:43 tale Exp $
$TTL 300 ; 5 minutes
@ IN SOA mname1. . (
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: example1.db,v 1.6 2000/07/27 09:40:08 tale Exp $
+; $Id: example1.db,v 1.7 2000/08/01 01:15:45 tale Exp $
$TTL 300 ; 5 minutes
@ IN SOA mname1. . (
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: example2.db,v 1.4 2000/07/27 09:40:09 tale Exp $
+; $Id: example2.db,v 1.5 2000/08/01 01:15:46 tale Exp $
$TTL 300 ; 5 minutes
@ IN SOA mname1. . (
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: ip6.arpa.db,v 1.4 2000/07/27 09:40:10 tale Exp $
+; $Id: ip6.arpa.db,v 1.5 2000/08/01 01:15:47 tale Exp $
$TTL 300 ; 5 minutes
@ IN SOA mname1. . (
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: ip6.int.db,v 1.5 2000/07/27 09:40:11 tale Exp $
+; $Id: ip6.int.db,v 1.6 2000/08/01 01:15:48 tale Exp $
$TTL 300 ; 5 minutes
@ IN SOA mname1. . (
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.5 2000/07/27 09:40:12 tale Exp $ */
+/* $Id: named.conf,v 1.6 2000/08/01 01:15:50 tale Exp $ */
options {
query-source address 10.53.0.1;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.db,v 1.4 2000/07/27 09:40:13 tale Exp $
+; $Id: root.db,v 1.5 2000/08/01 01:15:51 tale Exp $
$TTL 300
. IN SOA gson.nominum.com. a.root.servers.nil. (
2000042100 ; serial
600 ; refresh
- 600 ; retry
+ 600 ; retry
1200 ; expire
600 ; minimum
)
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: resolv.conf,v 1.4 2000/07/27 09:40:03 tale Exp $ */
+/* $Id: resolv.conf,v 1.5 2000/08/01 01:15:38 tale Exp $ */
nameserver 10.53.0.1
search example1.
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.6 2000/07/27 09:40:04 tale Exp $
+# $Id: tests.sh,v 1.7 2000/08/01 01:15:40 tale Exp $
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.5 2000/07/27 09:40:14 tale Exp $
+# $Id: clean.sh,v 1.6 2000/08/01 01:15:53 tale Exp $
#
# Clean up after zone transfer tests.
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.8 2000/07/27 09:40:18 tale Exp $ */
+/* $Id: named.conf,v 1.9 2000/08/01 01:15:58 tale Exp $ */
options {
query-source address 10.53.0.1;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.db,v 1.4 2000/07/27 09:40:19 tale Exp $
+; $Id: root.db,v 1.5 2000/08/01 01:15:59 tale Exp $
$TTL 300
. IN SOA gson.nominum.com. a.root.servers.nil. (
2000042100 ; serial
600 ; refresh
- 600 ; retry
+ 600 ; retry
1200 ; expire
600 ; minimum
)
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: example1.db,v 1.5 2000/07/27 09:40:20 tale Exp $
+; $Id: example1.db,v 1.6 2000/08/01 01:16:00 tale Exp $
$ORIGIN .
$TTL 300 ; 5 minutes
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: example2.db,v 1.5 2000/07/27 09:40:21 tale Exp $
+; $Id: example2.db,v 1.6 2000/08/01 01:16:01 tale Exp $
$ORIGIN .
$TTL 300 ; 5 minutes
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: example3.db,v 1.5 2000/07/27 09:40:22 tale Exp $
+; $Id: example3.db,v 1.6 2000/08/01 01:16:02 tale Exp $
$ORIGIN .
$TTL 300 ; 5 minutes
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: example4.db,v 1.5 2000/07/27 09:40:23 tale Exp $
+; $Id: example4.db,v 1.6 2000/08/01 01:16:04 tale Exp $
$ORIGIN .
$TTL 300 ; 5 minutes
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.10 2000/07/27 09:40:24 tale Exp $ */
+/* $Id: named.conf,v 1.11 2000/08/01 01:16:05 tale Exp $ */
options {
query-source address 10.53.0.2;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.hint,v 1.4 2000/07/27 09:40:26 tale Exp $
+; $Id: root.hint,v 1.5 2000/08/01 01:16:06 tale Exp $
$TTL 999999
. IN NS a.root-servers.nil.
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.11 2000/07/27 09:40:27 tale Exp $ */
+/* $Id: named.conf,v 1.12 2000/08/01 01:16:07 tale Exp $ */
options {
query-source address 10.53.0.3;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.hint,v 1.4 2000/07/27 09:40:28 tale Exp $
+; $Id: root.hint,v 1.5 2000/08/01 01:16:09 tale Exp $
$TTL 999999
. IN NS a.root-servers.nil.
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: setup.sh,v 1.4 2000/07/27 09:40:15 tale Exp $
+# $Id: setup.sh,v 1.5 2000/08/01 01:15:54 tale Exp $
cp ns2/example1.db ns2/example.db
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.24 2000/07/27 09:40:16 tale Exp $
+# $Id: tests.sh,v 1.25 2000/08/01 01:15:56 tale Exp $
#
# Perform tests
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.4 2000/07/28 00:38:08 bwelling Exp $
+# $Id: clean.sh,v 1.5 2000/08/01 01:16:11 tale Exp $
#
# Clean up after zone transfer tests.
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: example.orig,v 1.2 2000/07/27 09:40:34 tale Exp $
+; $Id: example.orig,v 1.3 2000/08/01 01:16:17 tale Exp $
$ORIGIN .
$TTL 300 ; 5 minutes
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.4 2000/07/27 09:40:35 tale Exp $ */
+/* $Id: named.conf,v 1.5 2000/08/01 01:16:18 tale Exp $ */
options {
query-source address 10.53.0.1;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: update.orig,v 1.2 2000/07/27 09:40:36 tale Exp $
+; $Id: update.orig,v 1.3 2000/08/01 01:16:19 tale Exp $
$ORIGIN .
$TTL 300 ; 5 minutes
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.3 2000/07/27 09:40:37 tale Exp $ */
+/* $Id: named.conf,v 1.4 2000/08/01 01:16:20 tale Exp $ */
options {
query-source address 10.53.0.2;
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: setup.sh,v 1.3 2000/07/27 09:40:30 tale Exp $
+# $Id: setup.sh,v 1.4 2000/08/01 01:16:12 tale Exp $
#
# jnl and database files MUST be removed before we start
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.10 2000/07/27 09:40:31 tale Exp $
+# $Id: tests.sh,v 1.11 2000/08/01 01:16:13 tale Exp $
#
# Perform tests
#!/usr/bin/perl
#
# Copyright (C) 2000 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
# The server defaults to 127.0.0.1.
# The port defaults to 53.
#
-# The "Special NS rules" tests will only work correctly if the
-# has no NS records to begin with, or alternatively has a
+# The "Special NS rules" tests will only work correctly if the
+# has no NS records to begin with, or alternatively has a
# single NS record pointing at the name "ns1" (relative to
# the zone name).
#
#
# perl -MCPAN -e "install Net::DNS"
#
-# $Id: update_test.pl,v 1.3 2000/07/27 09:40:32 tale Exp $
+# $Id: update_test.pl,v 1.4 2000/08/01 01:16:14 tale Exp $
#
use Getopt::Std;
my ($expected, @records) = @_;
my $update = new Net::DNS::Update("$zone");
-
+
foreach $rec (@records) {
$update->push(@$rec);
}
-
+
$reply = $res->send($update);
# Did it work?
rr_add("e.$zone 300 A 73.80.65.50")]);
test("NOERROR", ["update",
rr_add("e.$zone 300 A 73.80.65.52"),
- rr_add("f.$zone 300 A 73.80.65.52"),
+ rr_add("f.$zone 300 A 73.80.65.52"),
rr_add("e.$zone 300 A 73.80.65.51")]);
test("NOERROR", ["update",
rr_add("e.$zone 300 TXT 'three'"),
use Net::DNS;
use Net::DNS::Packet;
-my $sock = IO::Socket::INET->new(LocalAddr => "10.53.0.2",
+my $sock = IO::Socket::INET->new(LocalAddr => "10.53.0.2",
LocalPort => 5300, Proto => "udp") or die "$!";
my $pidf = new IO::File "ans.pid", "w" or die "cannot write pid file: $!";
print "RESPONSE:\n";
$packet->print;
- print "\n";
+ print "\n";
}
use Net::DNS;
use Net::DNS::Packet;
-my $sock = IO::Socket::INET->new(LocalAddr => "10.53.0.3",
+my $sock = IO::Socket::INET->new(LocalAddr => "10.53.0.3",
LocalPort => 5300, Proto => "udp") or die "$!";
my $pidf = new IO::File "ans.pid", "w" or die "cannot write pid file: $!";
my ($packet, $err) = new Net::DNS::Packet(\$buf, 0);
$err and die $err;
- print "REQUEST:\n";
+ print "REQUEST:\n";
$packet->print;
$packet->header->qr(1);
$packet->push("answer", new Net::DNS::RR("www.example.com 300 A 1.2.3.4"));
-
+
$sock->send($packet->data);
print "RESPONSE:\n";
$packet->print;
- print "\n";
+ print "\n";
}
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.2 2000/07/27 09:40:41 tale Exp $ */
+/* $Id: named.conf,v 1.3 2000/08/01 01:16:27 tale Exp $ */
options {
query-source address 10.53.0.1;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.hint,v 1.2 2000/07/27 09:40:42 tale Exp $
+; $Id: root.hint,v 1.3 2000/08/01 01:16:28 tale Exp $
$TTL 999999
. IN NS a.root-servers.nil.
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: prereq.sh,v 1.2 2000/07/27 09:40:39 tale Exp $
+# $Id: prereq.sh,v 1.3 2000/08/01 01:16:22 tale Exp $
if $PERL -e 'use Net::DNS;' 2>/dev/null
then
:
else
- echo "I:This test requires the Net::DNS library." >&2
+ echo "I:This test requires the Net::DNS library." >&2
exit 1
fi
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.4 2000/07/28 22:42:41 gson Exp $
+# $Id: tests.sh,v 1.5 2000/08/01 01:16:23 tale Exp $
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: run.sh,v 1.32 2000/07/27 09:39:12 tale Exp $
+# $Id: run.sh,v 1.33 2000/08/01 01:14:24 tale Exp $
#
# Run a system test.
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: runall.sh,v 1.2 2000/07/27 09:39:13 tale Exp $
+# $Id: runall.sh,v 1.3 2000/08/01 01:14:25 tale Exp $
#
# Run all the system tests.
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: setup.sh,v 1.6 2000/07/27 09:39:14 tale Exp $
+# $Id: setup.sh,v 1.7 2000/08/01 01:14:26 tale Exp $
#
# Run a system test.
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: start.sh,v 1.28 2000/07/27 09:39:15 tale Exp $
+# $Id: start.sh,v 1.29 2000/08/01 01:14:27 tale Exp $
#
# Start name servers for running system tests.
sh ./stop.sh $1
exit 1
fi
- fi
+ fi
done
cd $1
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: stop.sh,v 1.15 2000/07/27 09:39:16 tale Exp $
+# $Id: stop.sh,v 1.16 2000/08/01 01:14:29 tale Exp $
#
# Stop name servers.
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.4 2000/07/27 09:40:43 tale Exp $
+# $Id: clean.sh,v 1.5 2000/08/01 01:16:30 tale Exp $
#
# Clean up after stub tests.
-; <<>> DiG 8.2 <<>> -p @10.53.0.3 +norec data.child.example txt
+; <<>> DiG 8.2 <<>> -p @10.53.0.3 +norec data.child.example txt
; (1 server found)
;; res options: init defnam dnsrch
;; got answer:
-; <<>> DiG 8.2 <<>> -p @10.53.0.3 data.child.example txt
+; <<>> DiG 8.2 <<>> -p @10.53.0.3 data.child.example txt
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.4 2000/07/27 09:40:46 tale Exp $ */
+/* $Id: named.conf,v 1.5 2000/08/01 01:16:35 tale Exp $ */
options {
query-source address 10.53.0.1;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.db,v 1.4 2000/07/27 09:40:47 tale Exp $
+; $Id: root.db,v 1.5 2000/08/01 01:16:36 tale Exp $
$TTL 300
. IN SOA gson.nominum.com. a.root.servers.nil. (
2000042100 ; serial
600 ; refresh
- 600 ; retry
+ 600 ; retry
1200 ; expire
600 ; minimum
)
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: child.example.db,v 1.4 2000/07/27 09:40:48 tale Exp $
+; $Id: child.example.db,v 1.5 2000/08/01 01:16:39 tale Exp $
$TTL 300 ; 5 minutes
child.example. IN SOA ns2.child.example. hostmaster.child.example. (
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.4 2000/07/27 09:40:49 tale Exp $ */
+/* $Id: named.conf,v 1.5 2000/08/01 01:16:40 tale Exp $ */
options {
query-source address 10.53.0.2;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.hint,v 1.4 2000/07/27 09:40:50 tale Exp $
+; $Id: root.hint,v 1.5 2000/08/01 01:16:41 tale Exp $
$TTL 999999
. IN NS a.root-servers.nil.
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: example.db,v 1.4 2000/07/27 09:40:52 tale Exp $
+; $Id: example.db,v 1.5 2000/08/01 01:16:42 tale Exp $
$ORIGIN .
$TTL 300 ; 5 minutes
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.4 2000/07/27 09:40:53 tale Exp $ */
+/* $Id: named.conf,v 1.5 2000/08/01 01:16:43 tale Exp $ */
options {
query-source address 10.53.0.3;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.hint,v 1.4 2000/07/27 09:40:54 tale Exp $
+; $Id: root.hint,v 1.5 2000/08/01 01:16:44 tale Exp $
$TTL 999999
. IN NS a.root-servers.nil.
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.8 2000/07/27 09:40:44 tale Exp $
+# $Id: tests.sh,v 1.9 2000/08/01 01:16:34 tale Exp $
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
#!/usr/bin/perl
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: testsock.pl,v 1.8 2000/07/27 09:39:17 tale Exp $
+# $Id: testsock.pl,v 1.9 2000/08/01 01:14:30 tale Exp $
# Test whether the interfaces on 10.53.0.* are up.
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.5 2000/07/27 09:40:55 tale Exp $
+# $Id: clean.sh,v 1.6 2000/08/01 01:16:45 tale Exp $
#
# Clean up after zone transfer tests.
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.7 2000/07/27 09:40:59 tale Exp $ */
+/* $Id: named.conf,v 1.8 2000/08/01 01:16:51 tale Exp $ */
options {
query-source address 10.53.0.1;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.db,v 1.4 2000/07/27 09:41:01 tale Exp $
+; $Id: root.db,v 1.5 2000/08/01 01:16:52 tale Exp $
$TTL 300
. IN SOA gson.nominum.com. a.root.servers.nil. (
2000042100 ; serial
600 ; refresh
- 600 ; retry
+ 600 ; retry
1200 ; expire
600 ; minimum
)
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: example1.db,v 1.4 2000/07/27 09:41:02 tale Exp $
+; $Id: example1.db,v 1.5 2000/08/01 01:16:53 tale Exp $
$ORIGIN .
$TTL 300 ; 5 minutes
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: example2.db,v 1.4 2000/07/27 09:41:03 tale Exp $
+; $Id: example2.db,v 1.5 2000/08/01 01:16:55 tale Exp $
$ORIGIN .
$TTL 300 ; 5 minutes
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: internal.db,v 1.4 2000/07/27 09:41:04 tale Exp $
+; $Id: internal.db,v 1.5 2000/08/01 01:16:56 tale Exp $
$ORIGIN .
$TTL 300 ; 5 minutes
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named1.conf,v 1.10 2000/07/29 00:26:18 mws Exp $ */
+/* $Id: named1.conf,v 1.11 2000/08/01 01:16:57 tale Exp $ */
options {
query-source address 10.53.0.2;
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named2.conf,v 1.10 2000/07/29 00:26:19 mws Exp $ */
+/* $Id: named2.conf,v 1.11 2000/08/01 01:16:58 tale Exp $ */
options {
query-source address 10.53.0.2;
port 5300;
pid-file "named.pid";
- listen-on { 10.53.0.2;
+ listen-on { 10.53.0.2;
10.53.0.4; };
listen-on-v6 {none;};
recursion no;
};
view "internal" {
- match-clients { 10.53.0.2;
+ match-clients { 10.53.0.2;
10.53.0.3; };
zone "." {
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.hint,v 1.4 2000/07/27 09:41:07 tale Exp $
+; $Id: root.hint,v 1.5 2000/08/01 01:16:59 tale Exp $
$TTL 999999
. IN NS a.root-servers.nil.
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: internal.db,v 1.4 2000/07/27 09:41:09 tale Exp $
+; $Id: internal.db,v 1.5 2000/08/01 01:17:01 tale Exp $
$ORIGIN .
$TTL 300 ; 5 minutes
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named1.conf,v 1.11 2000/07/29 00:26:20 mws Exp $ */
+/* $Id: named1.conf,v 1.12 2000/08/01 01:17:02 tale Exp $ */
options {
query-source address 10.53.0.3;
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named2.conf,v 1.11 2000/07/29 00:26:22 mws Exp $ */
+/* $Id: named2.conf,v 1.12 2000/08/01 01:17:03 tale Exp $ */
options {
query-source address 10.53.0.3;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.hint,v 1.4 2000/07/27 09:41:12 tale Exp $
+; $Id: root.hint,v 1.5 2000/08/01 01:17:04 tale Exp $
$TTL 999999
. IN NS a.root-servers.nil.
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rndc.conf,v 1.2 2000/07/27 09:40:56 tale Exp $ */
+/* $Id: rndc.conf,v 1.3 2000/08/01 01:16:46 tale Exp $ */
options {
default-key "rndc_key";
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: setup.sh,v 1.4 2000/07/27 09:40:57 tale Exp $
+# $Id: setup.sh,v 1.5 2000/08/01 01:16:48 tale Exp $
cp ns2/example1.db ns2/example.db
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.20 2000/07/27 09:40:58 tale Exp $
+# $Id: tests.sh,v 1.21 2000/08/01 01:16:49 tale Exp $
#
# Perform tests
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.7 2000/07/27 09:41:13 tale Exp $
+# $Id: clean.sh,v 1.8 2000/08/01 01:17:06 tale Exp $
#
# Clean up after zone transfer tests.
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.8 2000/07/27 09:41:16 tale Exp $ */
+/* $Id: named.conf,v 1.9 2000/08/01 01:17:08 tale Exp $ */
options {
query-source address 10.53.0.1;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.db,v 1.4 2000/07/27 09:41:17 tale Exp $
+; $Id: root.db,v 1.5 2000/08/01 01:17:09 tale Exp $
$TTL 300
. IN SOA gson.nominum.com. a.root.servers.nil. (
2000042100 ; serial
600 ; refresh
- 600 ; retry
+ 600 ; retry
1200 ; expire
600 ; minimum
)
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: example.db,v 1.5 2000/07/27 09:41:18 tale Exp $
+; $Id: example.db,v 1.6 2000/08/01 01:17:10 tale Exp $
$ORIGIN .
$TTL 300 ; 5 minutes
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.9 2000/07/27 09:41:19 tale Exp $ */
+/* $Id: named.conf,v 1.10 2000/08/01 01:17:12 tale Exp $ */
options {
query-source address 10.53.0.2;
notify yes;
};
-key tsigzone. {
+key tsigzone. {
algorithm hmac-md5;
secret "1234abcd8765";
};
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.hint,v 1.4 2000/07/27 09:41:20 tale Exp $
+; $Id: root.hint,v 1.5 2000/08/01 01:17:13 tale Exp $
$TTL 999999
. IN NS a.root-servers.nil.
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: tsigzone.db,v 1.4 2000/07/27 09:41:21 tale Exp $
+; $Id: tsigzone.db,v 1.5 2000/08/01 01:17:14 tale Exp $
$ORIGIN .
$TTL 300 ; 5 minutes
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.8 2000/07/27 09:41:23 tale Exp $ */
+/* $Id: named.conf,v 1.9 2000/08/01 01:17:16 tale Exp $ */
options {
query-source address 10.53.0.3;
notify yes;
};
-key tsigzone. {
+key tsigzone. {
algorithm hmac-md5;
secret "1234abcd8765";
};
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.hint,v 1.4 2000/07/27 09:41:24 tale Exp $
+; $Id: root.hint,v 1.5 2000/08/01 01:17:17 tale Exp $
$TTL 999999
. IN NS a.root-servers.nil.
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.20 2000/07/27 09:41:14 tale Exp $
+# $Id: tests.sh,v 1.21 2000/08/01 01:17:07 tale Exp $
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: clean.sh,v 1.6 2000/07/27 09:41:25 tale Exp $
+# $Id: clean.sh,v 1.7 2000/08/01 01:17:18 tale Exp $
#
# Clean up after zone transfer quota tests.
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: changing1.db,v 1.4 2000/07/27 09:41:29 tale Exp $
+; $Id: changing1.db,v 1.5 2000/08/01 01:17:23 tale Exp $
$TTL 600
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: changing2.db,v 1.4 2000/07/27 09:41:30 tale Exp $
+; $Id: changing2.db,v 1.5 2000/08/01 01:17:24 tale Exp $
$TTL 600
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.11 2000/07/27 09:41:32 tale Exp $ */
+/* $Id: named.conf,v 1.12 2000/08/01 01:17:25 tale Exp $ */
options {
query-source address 10.53.0.1;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.db,v 1.5 2000/07/27 09:41:33 tale Exp $
+; $Id: root.db,v 1.6 2000/08/01 01:17:28 tale Exp $
$TTL 300
. IN SOA gson.nominum.com. a.root.servers.nil. (
2000042100 ; serial
600 ; refresh
- 600 ; retry
+ 600 ; retry
1200 ; expire
600 ; minimum
)
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: example.db,v 1.4 2000/07/27 09:41:34 tale Exp $
+; $Id: example.db,v 1.5 2000/08/01 01:17:29 tale Exp $
$ORIGIN .
$TTL 300 ; 5 minutes
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.9 2000/07/27 09:41:35 tale Exp $ */
+/* $Id: named.conf,v 1.10 2000/08/01 01:17:30 tale Exp $ */
options {
query-source address 10.53.0.2;
; Copyright (C) 2000 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
; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-; $Id: root.hint,v 1.4 2000/07/27 09:41:36 tale Exp $
+; $Id: root.hint,v 1.5 2000/08/01 01:17:31 tale Exp $
$TTL 999999
. IN NS a.root-servers.nil.
#!/usr/bin/perl
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: setup.pl,v 1.8 2000/07/27 09:41:26 tale Exp $
+# $Id: setup.pl,v 1.9 2000/08/01 01:17:19 tale Exp $
#
# Set up test data for zone transfer quota tests.
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: setup.sh,v 1.9 2000/07/27 09:41:27 tale Exp $
+# $Id: setup.sh,v 1.10 2000/08/01 01:17:20 tale Exp $
#
# Set up test data for zone transfer quota tests.
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: tests.sh,v 1.18 2000/07/27 09:41:28 tale Exp $
+# $Id: tests.sh,v 1.19 2000/08/01 01:17:21 tale Exp $
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
#!/usr/local/bin/perl
#
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: t_api.pl,v 1.5 2000/07/27 09:38:32 tale Exp $
+# $Id: t_api.pl,v 1.6 2000/08/01 01:13:24 tale Exp $
require "getopts.pl";
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: task_test.c,v 1.45 2000/07/27 09:38:33 tale Exp $ */
+/* $Id: task_test.c,v 1.46 2000/08/01 01:13:25 tale Exp $ */
#include <config.h>
isc_timermgr_destroy(&timgr);
isc_taskmgr_destroy(&manager);
printf("destroyed\n");
-
+
isc_mem_stats(mctx, stdout);
isc_mem_destroy(&mctx);
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.19 2000/07/27 09:41:37 tale Exp $
+# $Id: Makefile.in,v 1.20 2000/08/01 01:17:32 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
ISCDEPLIBS = ../../../lib/isc/libisc.@A@
TAPILIBS = ../../../lib/tests/libt_api.@A@
-DEPLIBS = ${TAPIDEPLIBS} ${ISCDEPLIBS}
+DEPLIBS = ${TAPIDEPLIBS} ${ISCDEPLIBS}
LIBS = ${TAPILIBS} ${ISCLIBS} @LIBS@
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: t_tasks.c,v 1.17 2000/07/27 09:41:39 tale Exp $ */
+/* $Id: t_tasks.c,v 1.18 2000/08/01 01:17:34 tale Exp $ */
#include <config.h>
return(T_UNRESOLVED);
}
-
+
sleep(2);
/*
isc_timer_detach(&ti2);
isc_timermgr_destroy(&timgr);
isc_taskmgr_destroy(&manager);
-
+
isc_mem_destroy(&mctx);
return(T_PASS);
}
t_info("isc_mutex_lock failed %d\n", isc_result);
++T2_nprobs;
}
-
+
T2_done = 1;
isc_result = isc_condition_signal(&T2_cv);
t_info("isc_condition_signal failed %d\n", isc_result);
++T2_nprobs;
}
-
+
isc_result = isc_mutex_unlock(&T2_mx);
if (isc_result != ISC_R_SUCCESS) {
t_info("isc_mutex_unlock failed %d\n", isc_result);
++T2_nfails;
return;
}
-
+
isc_result = isc_task_onshutdown(newtask, t2_shutdown,
(void *)task);
if (isc_result != ISC_R_SUCCESS) {
++T2_nfails;
return;
}
-
+
isc_task_send(newtask, &event);
} else {
/*
isc_result_totext(isc_result));
++T3_nprobs;
}
-
+
isc_task_detach(&task);
isc_taskmgr_destroy(&tmgr);
isc_mem_destroy(&mctx);
return(T_UNRESOLVED);
}
-
+
isc_result = isc_condition_waituntil(&T7_cv, &T7_mx, &now);
if (isc_result != ISC_R_SUCCESS) {
t_info("isc_condition_waituntil returned %s\n",
(T10_purge_tag == event->ev_tag)) {
tag_match = 1;
}
-
+
if (sender_match && type_match && tag_match) {
if (event->ev_attributes & ISC_EVENTATTR_NOPURGE) {
t_info("event %p,%d,%d matched but was not purgable\n",
(void *)(sender + sender_cnt),
(isc_eventtype_t)(type + type_cnt),
t10_event2, NULL, sizeof(*event));
-
+
eventtab[event_cnt]->ev_tag =
(void *)((int)tag + tag_cnt);
++*nprobs;
return;
}
-
+
isc_result = isc_condition_waituntil(&T10_cv, &T10_mx, &now);
if (isc_result != ISC_R_SUCCESS) {
t_info("isc_condition_waituntil returned %s\n",
isc_result_totext(isc_result));
++T11_nprobs;
}
-
+
isc_result = isc_condition_waituntil(&T11_cv, &T11_mx, &now);
if (isc_result != ISC_R_SUCCESS) {
t_info("isc_condition_waituntil returned %s\n",
"When the event is marked as purgable, a call to "
"isc_task_purgeevent(task, event) purges the event 'event' "
"from the task's queue and returns ISC_TRUE.";
-
+
static void
t11(void) {
int result;
"sender 'sender' and of type within the range 'first' "
"to 'last' inclusive from the task's event queue and "
"returns the number of tasks purged.";
-
+
static int
t_tasks13(void) {
int result;
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: timer_test.c,v 1.33 2000/07/27 09:38:34 tale Exp $ */
+/* $Id: timer_test.c,v 1.34 2000/08/01 01:13:26 tale Exp $ */
#include <config.h>
char *name = event->ev_arg;
const char *type;
- INSIST(event->ev_type == ISC_TIMEREVENT_IDLE ||
+ INSIST(event->ev_type == ISC_TIMEREVENT_IDLE ||
event->ev_type == ISC_TIMEREVENT_LIFE);
if (event->ev_type == ISC_TIMEREVENT_IDLE)
RUNTIME_CHECK(isc_timer_create(timgr, isc_timertype_ticker, NULL,
&interval, t1, tick, "1", &ti1) ==
ISC_R_SUCCESS);
-
+
isc_interval_set(&interval, 10, 0);
RUNTIME_CHECK(isc_time_add(&now, &interval, &expires) ==
ISC_R_SUCCESS);
isc_timermgr_destroy(&timgr);
isc_taskmgr_destroy(&manager);
printf("destroyed\n");
-
+
printf("Statistics for mctx1:\n");
isc_mem_stats(mctx1, stdout);
isc_mem_destroy(&mctx1);
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.17 2000/07/27 09:41:40 tale Exp $
+# $Id: Makefile.in,v 1.18 2000/08/01 01:17:35 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: t_timers.c,v 1.13 2000/07/27 09:41:41 tale Exp $ */
+/* $Id: t_timers.c,v 1.14 2000/08/01 01:17:37 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tkey_test.c,v 1.28 2000/07/27 09:38:35 tale Exp $ */
+/* $Id: tkey_test.c,v 1.29 2000/08/01 01:13:27 tale Exp $ */
/*
* Principal Author: Brian Wellington (core copied from res_test.c)
isc_buffer_length(nonce), NULL,
ISC_ENTROPY_BLOCKING);
CHECK("isc_entropy_getdata", result);
-
+
query = NULL;
result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &query);
CHECK("dns_message_create", result);
#!/usr/bin/perl
#
# Copyright (C) 1999, 2000 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
# The server defaults to 127.0.0.1.
# The port defaults to 53.
#
-# The "Special NS rules" tests will only work correctly if the
-# has no NS records to begin with, or alternatively has a
+# The "Special NS rules" tests will only work correctly if the
+# has no NS records to begin with, or alternatively has a
# single NS record pointing at the name "ns1" (relative to
# the zone name).
#
#
# perl -MCPAN -e "install Net::DNS"
#
-# $Id: update_test.pl,v 1.5 2000/07/27 09:38:36 tale Exp $
+# $Id: update_test.pl,v 1.6 2000/08/01 01:13:28 tale Exp $
#
use Getopt::Std;
my ($expected, @records) = @_;
my $update = new Net::DNS::Update("$zone");
-
+
foreach $rec (@records) {
$update->push(@$rec);
}
-
+
$reply = $res->send($update);
# Did it work?
rr_add("e.$zone 300 A 73.80.65.50")]);
test("NOERROR", ["update",
rr_add("e.$zone 300 A 73.80.65.52"),
- rr_add("f.$zone 300 A 73.80.65.52"),
+ rr_add("f.$zone 300 A 73.80.65.52"),
rr_add("e.$zone 300 A 73.80.65.51")]);
test("NOERROR", ["update",
rr_add("e.$zone 300 TXT 'three'"),
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: wire_test.c,v 1.51 2000/07/27 09:38:38 tale Exp $ */
+/* $Id: wire_test.c,v 1.52 2000/08/01 01:13:29 tale Exp $ */
#include <config.h>
mctx = NULL;
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
-
+
if (argc > 1) {
f = fopen(argv[1], "r");
if (f == NULL) {
000a 8580 0001 0003 0000 0003 # message header
0376697803636f6d00 0002 0001 # question section: vix.com IN NS
-c00c 0002 0001 00000e10 # vix.com IN NS 3600
+c00c 0002 0001 00000e10 # vix.com IN NS 3600
000b 056973727631027061c00c # rdlen=0xb isrv1.pa.vix.com
c00c 0002 0001 00000e10 0009 066e732d657874c00c
c00c 0002 0001 00000e10 000e 036e733104676e616303636f6d00
-c025 0001 0001 00000e10 0004 cc98b886
+c025 0001 0001 00000e10 0004 cc98b886
c03c 0001 0001 00000e10 0004 cc98b840
c051 0001 0001 0002a14a 0004 c697f8f6
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: zone2_test.c,v 1.19 2000/07/27 09:38:39 tale Exp $ */
+/* $Id: zone2_test.c,v 1.20 2000/08/01 01:13:32 tale Exp $ */
#include <config.h>
dns_rdataset_init(&sigset);
do {
-
+
fprintf(stdout, "zone_test ");
fflush(stdout);
FD_ZERO(&rfdset);
break;
}
buf[sizeof(buf) - 1] = '\0';
-
+
s = strchr(buf, '\n');
if (s != NULL)
*s = '\0';
result = dns_name_fromtext(dns_fixedname_name(&name),
&buffer, dns_rootname, ISC_FALSE, NULL);
ERRCONT(result, "dns_name_fromtext");
-
+
if (reload) {
dns_zone_t *zone = NULL;
result = dns_zt_find(view->zonetable,
dns_result_totext(result));
switch (result) {
case ISC_R_SUCCESS:
- print_rdataset(dns_fixedname_name(&name),
+ print_rdataset(dns_fixedname_name(&name),
&rdataset);
break;
default:
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: zone_test.c,v 1.21 2000/07/27 09:38:40 tale Exp $ */
+/* $Id: zone_test.c,v 1.22 2000/08/01 01:13:33 tale Exp $ */
#include <config.h>
&buffer, dns_rootname, ISC_FALSE, NULL);
ERRRET(result, "dns_name_fromtext");
origin = dns_fixedname_name(&fixorigin);
-
+
result = dns_zone_setorigin(zone, origin);
ERRRET(result, "dns_zone_setorigin");
region.base = classname;
region.length = strlen(classname);
- result = dns_rdataclass_fromtext(&rdclass, ®ion);
+ result = dns_rdataclass_fromtext(&rdclass, ®ion);
ERRRET(result, "dns_rdataclass_fromtext");
dns_zone_setclass(zone, rdclass);
dns_rdataset_init(&sigset);
do {
-
+
fprintf(stdout, "zone_test ");
fflush(stdout);
FD_ZERO(&rfdset);
break;
}
buf[sizeof(buf) - 1] = '\0';
-
+
s = strchr(buf, '\n');
if (s != NULL)
*s = '\0';
result = dns_name_fromtext(dns_fixedname_name(&name),
&buffer, dns_rootname, ISC_FALSE, NULL);
ERRCONT(result, "dns_name_fromtext");
-
+
result = dns_db_find(db, dns_fixedname_name(&name),
NULL /*vesion*/,
dns_rdatatype_a,
exit 0 ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
+ # "atarist" or "atariste" at least should have a processor
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
# to the lowercase version "mint" (or "freemint"). Finally
# the system name "TOS" denotes a system which is actually not
if test "$?" = 0 ; then
LIBC="libc1"
fi
- fi
+ fi
rm -f $dummy.c $dummy
echo powerpc-unknown-linux-gnu${LIBC} ; exit 0 ;;
esac
/* config.h.in. Generated automatically from configure.in by autoheader. */
/*
* Copyright (C) 1999, 2000 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
# This directory was configured as follows,
# on host gro.dd.org:
#
-# ./configure
+# ./configure
#
# Compiler output produced by configure, useful for debugging
# configure, is in ./config.log if it exists.
0)
dstdir=g:/work/bind9-nt
;;
-1)
+1)
dstdir=$1
;;
*)
#! /bin/sh
# Copyright (C) 1996-2000 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
# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
# SOFTWARE.
-# From configure.in Revision: 1.169
+# From configure.in Revision: 1.169
## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
## Copyright (C) 1996-1999 Free Software Foundation, Inc.
# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
+# Generated automatically using autoconf version 2.13
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
/*)
ac_cv_path_AR="$AR" # Let the user override the test with a path.
;;
- ?:/*)
+ ?:/*)
ac_cv_path_AR="$AR" # Let the user override the test with a dos path.
;;
*)
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_path_AR="$ac_dir/$ac_word"
case "$AR" in
"")
- { echo "configure: error:
+ { echo "configure: error:
ar program not found. Please fix your PATH to include the directory in
which ar resides, or set AR in the environment with the full path to ar.
" 1>&2; exit 1; }
/*)
ac_cv_path_ETAGS="$ETAGS" # Let the user override the test with a path.
;;
- ?:/*)
+ ?:/*)
ac_cv_path_ETAGS="$ETAGS" # Let the user override the test with a dos path.
;;
*)
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_path_ETAGS="$ac_dir/$ac_word"
/*)
ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
;;
- ?:/*)
+ ?:/*)
ac_cv_path_PERL="$PERL" # Let the user override the test with a dos path.
;;
*)
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_path_PERL="$ac_dir/$ac_word"
#
# Not all systems have dirname.
#
-
+
ac_dir="`echo $INSTALL | sed 's%/[^/]*$%%'`"
-
+
ac_prog="`echo $INSTALL | sed 's%.*/%%'`"
test "$ac_dir" = "$ac_prog" && ac_dir=.
#
# NetBSD has multiple pthreads implementations. The recommended
-# one to use is "unproven-pthreads". The older "mit-pthreads"
+# one to use is "unproven-pthreads". The older "mit-pthreads"
# may also work on some NetBSD versions. The PTL2 thread
# library does not currently work with bind9, but can be
# chosen with the --with-ptl2 option for those who wish to
cat >> confdefs.h <<EOF
#define $ac_tr_hdr 1
EOF
-
+
else
echo "$ac_t""no" 1>&6
fi
echo "$ac_t""$ac_cv_c_const" 1>&6
if test $ac_cv_c_const = no; then
cat >> confdefs.h <<\EOF
-#define const
+#define const
EOF
fi
case "$ac_cv_c_inline" in
inline | yes) ;;
no) cat >> confdefs.h <<\EOF
-#define inline
+#define inline
EOF
;;
*) cat >> confdefs.h <<EOF
O=o
A=a
LIBTOOL=
-
+
;;
esac
cat >> confdefs.h <<EOF
#define $ac_tr_hdr 1
EOF
-
+
else
echo "$ac_t""no" 1>&6
fi
cat >> confdefs.h <<EOF
#define $ac_tr_hdr 1
EOF
-
+
else
echo "$ac_t""no" 1>&6
fi
yes)
#
# Shut up a -Wmissing-prototypes warning for sigwait().
- #
+ #
cat >> confdefs.h <<\EOF
#define SHUTUP_SIGWAIT 1
EOF
# Copyright (C) 1998-2000 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
esyscmd([sed "s/^/# /" COPYRIGHT])dnl
AC_DIVERT_POP()dnl
-AC_REVISION($Revision: 1.170 $)
+AC_REVISION($Revision: 1.171 $)
AC_INIT(lib/dns/name.c)
AC_PREREQ(2.13)
#
# NetBSD has multiple pthreads implementations. The recommended
-# one to use is "unproven-pthreads". The older "mit-pthreads"
+# one to use is "unproven-pthreads". The older "mit-pthreads"
# may also work on some NetBSD versions. The PTL2 thread
# library does not currently work with bind9, but can be
# chosen with the --with-ptl2 option for those who wish to
yes)
#
# Shut up a -Wmissing-prototypes warning for sigwait().
- #
+ #
AC_DEFINE(SHUTUP_SIGWAIT)
;;
esac
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: DNSConf-macros.h,v 1.4 2000/07/27 09:41:42 tale Exp $ */
+/* $Id: DNSConf-macros.h,v 1.5 2000/08/01 01:17:38 tale Exp $ */
#define CONCAT(a,b) a ## b
#define DNSCONF_SET_STRING(FIELD) \
CONCAT(dns_c_ctx_unset, FIELD)(cfg->confctx); \
} else \
CONCAT(dns_c_ctx_set, FIELD)(cfg->confctx, arg); \
-}
+}
#define DNSCONF_GET_STRING(FIELD) \
char * CONCAT(DNSConf_get, FIELD)(DNSConf *cfg) { \
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: DNSConf.i,v 1.4 2000/07/27 09:41:43 tale Exp $ */
+/* $Id: DNSConf.i,v 1.5 2000/08/01 01:17:40 tale Exp $ */
%module DNSConf
#else
#define DBGPRINT ((void) 0)
#endif
-
+
static struct {
isc_mem_t *mem;
isc_log_t *log;
int ctx_init(void) {
int returnval = 0;
-
+
DBGPRINT("Starting ctx_init()\n");
if (ctx.mem != NULL) {
if (isc_log_create(ctx.mem, &ctx.log, &ctx.logcfg) != ISC_R_SUCCESS)
goto done;
-
+
isc_log_setcontext(ctx.log);
dns_log_init(ctx.log);
dns_log_setcontext(ctx.log);
-
+
if (isc_log_usechannel(ctx.logcfg, "default_stderr", NULL, NULL) !=
ISC_R_SUCCESS)
goto done;
DBGPRINT("Finished ctx_init()\n");
return (returnval);
-}
+}
void *ctx_destroy(void) {
DBGPRINT("starting ctx_destroy()\n");
}
DBGPRINT("destroying ctx\n");
-
+
dns_lctx = NULL;
isc_log_destroy(&ctx.log);
isc_mem_destroy(&ctx.mem);
}
int DNSConf_parse(DNSConf *conf, const char *filename) {
-
+
DBGPRINT("inside parse\n");
-
+
if (!ctx_init())
return;
clear_DNSConf(conf);
- if (dns_c_parse_namedconf(filename, ctx.mem, &conf->confctx, NULL)
+ if (dns_c_parse_namedconf(filename, ctx.mem, &conf->confctx, NULL)
== ISC_R_SUCCESS) {
ctx.count++;
}
int DNSConf_initctx(DNSConf *cfg) {
- if (cfg == NULL)
+ if (cfg == NULL)
return 0;
- if (cfg->confctx != NULL)
+ if (cfg->confctx != NULL)
return 1;
-
- if (!ctx_init())
+
+ if (!ctx_init())
return 0;
if (dns_c_ctx_new(ctx.mem, &cfg->confctx) != ISC_R_SUCCESS)
return 1;
}
-
+
void DNSConf_print(DNSConf *ptr, FILE *outfile) {
DBGPRINT("inside print\n");
-
+
if (ptr == NULL || ptr->confctx == NULL)
return;
#if 0
-
+
void DNSConf_setdirectory(DNSConf *cfg, const char *directory) {
DBGPRINT("inside DNSConf_setdirectory\n");
- if (!DNSConf_initctx(cfg))
+ if (!DNSConf_initctx(cfg))
return;
if (directory == NULL) {
} else if (*directory == '\0') {
DBGPRINT("empty string\n");
dns_c_ctx_unsetdirectory(cfg->confctx);
- } else
+ } else
dns_c_ctx_setdirectory(cfg->confctx, directory);
-}
+}
char *DNSConf_getdirectory(DNSConf *cfg) {
char *dir = NULL;
return NULL;
tmpres = dns_c_ctx_getdirectory(cfg->confctx, &dir);
- if (tmpres == ISC_R_NOTFOUND)
+ if (tmpres == ISC_R_NOTFOUND)
return NULL;
return dir;
DBGPRINT("inside DNSConf_settransfersin %p\n", transfersin);
- if (!DNSConf_initctx(cfg))
+ if (!DNSConf_initctx(cfg))
return;
if (transfersin == NULL) {
DBGPRINT("null pointer\n");
dns_c_ctx_unsettransfersin(cfg->confctx);
- } else
+ } else
dns_c_ctx_settransfersin(cfg->confctx, transfersin);
-}
+}
unsigned int DNSConf_gettransfersin(DNSConf *cfg) {
unsigned int result;
return NULL;
tmpres = dns_c_ctx_gettransfersin(cfg->confctx, &result);
- if (tmpres == ISC_R_NOTFOUND)
+ if (tmpres == ISC_R_NOTFOUND)
return NULL;
return result;
INT_FIELD_DEFS(maxcachettl)
-#endif
-
+#endif
+
%}
};
-
+
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.PL,v 1.4 2000/07/27 09:41:45 tale Exp $
+# $Id: Makefile.PL,v 1.5 2000/08/01 01:17:41 tale Exp $
use ExtUtils::MakeMaker;
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named1.conf,v 1.4 2000/07/27 09:41:46 tale Exp $ */
+/* $Id: named1.conf,v 1.5 2000/08/01 01:17:42 tale Exp $ */
options {
# port 8888;
};
#view "default-view" IN {
-#
+#
# zone "." {
# type hint;
# file "/etc/namedb/root.cache";
#!/usr/bin/perl
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: test.pl,v 1.4 2000/07/27 09:41:47 tale Exp $
+# $Id: test.pl,v 1.5 2000/08/01 01:17:44 tale Exp $
push(@ARGV, "/etc/named.conf") if ! @ARGV;
#!/bin/sh
#
# Portions Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: named-bootconf.sh,v 1.5 2000/07/27 09:41:48 tale Exp $
+# $Id: named-bootconf.sh,v 1.6 2000/08/01 01:17:45 tale Exp $
# $NetBSD: named-bootconf.sh,v 1.5 1998/12/15 01:00:53 tron Exp $
#
DIRECTORY=$1
export DIRECTORY
fi
- ;;
+ ;;
forwarders )
(cat $COMMENTFILE
echo " forwarders {"
#!/usr/bin/perl
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: nanny.pl,v 1.6 2000/07/27 09:41:49 tale Exp $
+# $Id: nanny.pl,v 1.7 2000/08/01 01:17:47 tale Exp $
# A simple nanny to make sure named stays running.
$pid = <FILE>;
close(FILE);
chomp($pid);
-
+
$res = kill 0, $pid;
goto restart if ($res == 0);
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<!--
- Copyright (C) 2000 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
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
-<!-- $Id: Bv9ARM.1.html,v 1.9 2000/07/27 09:41:51 tale Exp $ -->
+<!-- $Id: Bv9ARM.1.html,v 1.10 2000/08/01 01:17:48 tale Exp $ -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<!--
- Copyright (C) 2000 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
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
-<!-- $Id: Bv9ARM.2.html,v 1.9 2000/07/27 09:41:52 tale Exp $ -->
+<!-- $Id: Bv9ARM.2.html,v 1.10 2000/08/01 01:17:49 tale Exp $ -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<!--
- Copyright (C) 2000 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
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
-<!-- $Id: Bv9ARM.3.html,v 1.9 2000/07/27 09:41:53 tale Exp $ -->
+<!-- $Id: Bv9ARM.3.html,v 1.10 2000/08/01 01:17:50 tale Exp $ -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">\r<HTML>\r<HEAD>\r<META NAME="GENERATOR" CONTENT="Adobe FrameMaker 5.5/HTML Export Filter">\r<LINK REL="STYLESHEET" HREF="Bv9ARM.css">\r<TITLE> Section 3. Nameserver Configuration</TITLE></HEAD>\r<BODY BGCOLOR="#ffffff">\r<OL>\r<H1 CLASS="1Level">\r<A NAME="pgfId=997350">\r</A>\rSection 3. Nameserver Configuration</H1>\r</OL>\r<P CLASS="1LevelContinued">\r<A NAME="pgfId=997351">\r</A>\rIn this section we provide some suggested configurations along with guidelines for their use. We also address the topic of reasonable option setting.</P>\r<DIV>\r<OL>\r<H3 CLASS="2Level">\r<A NAME="pgfId=997353">\r</A>\r3.1 <A NAME="30164">\r</A>\rSample Configurations</H3>\r</OL>\r<DIV>\r<OL>\r<H4 CLASS="3Level">\r<A NAME="pgfId=1079232">\r</A>\r3.1.1 A Caching-only Nameserver</H4>\r</OL>\r<P CLASS="3LevelContinued">\r<A NAME="pgfId=1079238">\r</A>\rThe following sample configuration is appropriate for a caching-only name server for use by clients internal to a corporation. All queries from outside clients are refused.</P>\r\r<PRE>\r<CODE><STRONG>\r// Two corporate subnets we wish to allow queries from.\racl "corpnets" { 192.168.4.0/24; 192.168.7.0/24; };\roptions {\r directory "/etc/namedb"; // Working directory\r pid-file "named.pid"; // Put pid file in working dir\r allow-query { "corpnets "; };\r};\r// Root server hints\rzone "." { type hint; file "root.hint"; };\r// Provide a reverse mapping for the loopback address 127.0.0.1\rzone "0.0.127.in-addr.arpa" {\r type master;\r file "localhost.rev";\r notify no;\r\r};</STRONG></CODE>\r</PRE>\r</DIV>\r<DIV>\r<OL>\r<H4 CLASS="3Level">\r<A NAME="pgfId=1079323">\r</A>\r3.1.2 An Authoritative-only Nameserver</H4>\r</OL>\r<P CLASS="3LevelContinued">\r<A NAME="pgfId=1079327">\r</A>\rThis sample configuration is for an authoritative-only server that is the master server for "<EM CLASS="pathname">\rexample.com</EM>\r" and a slave for the subdomain "<EM CLASS="pathname">\reng.example.com</EM>\r".</P>\r\r<PRE>\r<CODE><STRONG>options {\r directory "/etc/namedb"; // Working directory\r pid-file "named.pid"; // Put pid file in working dir\r allow-query { any; }; // This is the default\r recursion no; // Do not provide recursive service\r};\r// Root server hints\rzone "." { type hint; file "root.hint"; }; \r\r// Provide a reverse mapping for the loopback address 127.0.0.1\r zone "0.0.127.in-addr.arpa" {\r type master;\r file "localhost.rev";\r notify no;\r};\r// We are the master server for example.com\rzone "example.com" {\r type master;\r file "example.com.db";\r // IP addresses of slave servers allowed to transfer example.com\r allow-transfer {\r 192.168.4.14;\r 192.168.5.53;\r };\r};\r\r// We are a slave server for eng.example.com\rzone "eng.example.com" {\r type slave;\r file "eng.example.com.bk";\r // IP address of eng.example.com master server\r masters { 192.168.4.12; };\r};\r</STRONG></CODE></PRE>\r\r</DIV>\r</DIV>\r<DIV>\r<OL>\r<H3 CLASS="2Level">\r<A NAME="pgfId=997410">\r</A>\r3.2 Load Balancing</H3>\r</OL>\r<P CLASS="2LevelContinued">\r<A NAME="pgfId=997411">\r</A>\rPrimitive load balancing can be achieved in DNS using multiple A records for one name.</P>\r<P CLASS="2LevelContinued">\r<A NAME="pgfId=997412">\r</A>\rFor example, if you have three WWW servers with network addresses of 10.0.0.1, 10.0.0.2 and 10.0.0.3, a set of records such as the following means that clients will connect to each machine one third of the time:</P>\r<PRE CLASS="2Level-fixed1"><A NAME="pgfId=997454"></A>\r </PRE>\r<TABLE>\r<TR>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997415">\r</A>\rName</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997417">\r</A>\rTTL</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997419">\r</A>\rCLASS</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997421">\r</A>\rTYPE</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997423">\r</A>\rResource Record (RR) Data</P>\r</TD>\r</TR>\r<TR>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997425">\r</A>\r<EM CLASS="grammar_literal">\rwww</EM>\r</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997427">\r</A>\r<EM CLASS="grammar_literal">\r600</EM>\r</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997429">\r</A>\r<EM CLASS="grammar_literal">\rIN</EM>\r</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997431">\r</A>\r<EM CLASS="grammar_literal">\rA</EM>\r</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997433">\r</A>\r<EM CLASS="grammar_literal">\r10.0.0.1</EM>\r</P>\r</TD>\r</TR>\r<TR>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997435">\r</A>\r<EM CLASS="grammar_literal">\r</EM>\r </P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997437">\r</A>\r<EM CLASS="grammar_literal">\r600</EM>\r</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997439">\r</A>\r<EM CLASS="grammar_literal">\rIN</EM>\r</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997441">\r</A>\r<EM CLASS="grammar_literal">\rA</EM>\r</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997443">\r</A>\r<EM CLASS="grammar_literal">\r10.0.0.2</EM>\r</P>\r</TD>\r</TR>\r<TR>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997445">\r</A>\r<EM CLASS="grammar_literal">\r</EM>\r </P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997447">\r</A>\r<EM CLASS="grammar_literal">\r600</EM>\r</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997449">\r</A>\r<EM CLASS="grammar_literal">\rIN</EM>\r</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997451">\r</A>\r<EM CLASS="grammar_literal">\rA</EM>\r</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=997453">\r</A>\r<EM CLASS="grammar_literal">\r10.0.0.3</EM>\r</P>\r</TD>\r</TR>\r</TABLE>\r<P CLASS="2LevelContinued">\r<A NAME="pgfId=997455">\r</A>\rWhen a resolver queries for these records, BIND will rotate them and respond to the query with the records in a different order. In the example above, clients will randomly receive records in the order 1, 2, 3; 2, 3, 1; and 3, 1, 2. Most clients will use the first record returned and discard the rest.</P>\r<P CLASS="2LevelContinued">\r<A NAME="pgfId=997456">\r</A>\rFor more detail on ordering responses, check the <CODE CLASS="Program-Process">\rrrset-order</CODE>\r substatement in the <CODE CLASS="Program-Process">\roptions</CODE>\r statement under <A HREF="Bv9ARM.6.html#22766" CLASS="XRef">RRset Ordering</A>. This substatement is not supported in BIND 9, and only the ordering scheme described above is available.</P>\r</DIV>\r<DIV>\r<OL>\r<H3 CLASS="2Level">\r<A NAME="pgfId=997460">\r</A>\r3.3 <A NAME="35205">\r</A>\rNotify</H3>\r</OL>\r<P CLASS="2LevelContinued">\r<A NAME="pgfId=997461">\r</A>\rDNS Notify is a mechanism that allows master nameservers to notify their slave servers of changes to a zone's data. In response to a <CODE CLASS="Program-Process">\rNOTIFY</CODE>\r from a master server, the slave will check to see that its version of the zone is the current version and, if not, initiate a transfer.</P>\r<P CLASS="2LevelContinued">\r<A NAME="pgfId=1078896">\r</A>\rDNS Notify is fully documented in RFC 1996. See also the description of the zone option <CODE CLASS="Program-Process">\ralso-notify</CODE>\r under <A HREF="Bv9ARM.6.html#32057" CLASS="XRef">Zone Transfers</A>\r. More information about <CODE CLASS="Program-Process">\rnotify</CODE>\r can be found under <A HREF="Bv9ARM.6.html#12205" CLASS="XRef">Boolean Options</A>\r.</P>\r</DIV>\r<DIV>\r<OL>\r<H3 CLASS="2Level">\r<A NAME="pgfId=1078903">\r</A>\r3.4 Nameserver Operations</H3>\r</OL>\r<DIV>\r<OL>\r<H4 CLASS="3Level">\r<A NAME="pgfId=997464">\r</A>\r3.4.1 Tools for Use With the Nameserver Daemon</H4>\r</OL>\r<P CLASS="3LevelContinued">\r<A NAME="pgfId=997465">\r</A>\rThere are several indispensable diagnostic, administrative and monitoring tools available to the system administrator for controlling and debugging the nameserver daemon. We describe several in this section </P>\r<DIV>\r<OL>\r<H5 CLASS="4Level">\r<A NAME="pgfId=997466">\r</A>\r3.4.1.1 Diagnostic Tools</H5>\r</OL>\r</DIV>\r<DIV>\r<H5 CLASS="Subhead4">\r<A NAME="pgfId=997467">\r</A>\rdig</H5>\r<P CLASS="4LevelContinued">\r<A NAME="pgfId=997468">\r</A>\rThe domain information groper (<CODE CLASS="Program-Process">\rdig</CODE>\r) is a command line tool that can be used to gather information from the Domain Name System servers. Dig has two modes: simple interactive mode for a single query, and batch mode which executes a query for each in a list of several query lines. All query options are accessible from the command line.</P>\r</DIV>\r<DIV>\r<H5 CLASS="Subhead4">\r<A NAME="pgfId=997469">\r</A>\rUsage</H5>\r<PRE>\r<CODE><STRONG>\rdig [@server] domain [<query-type>] [<query-class>]\r [+<query-option>] [-<dig-option>] [%comment]</STRONG></CODE>\r</PRE>\r<P CLASS="4LevelContinued">\r<A NAME="pgfId=997471">\r</A>\rThe usual simple use of dig will take the form</P>\r<PRE>\r<CODE><STRONG>\rdig @server domain query-type query-class</STRONG></CODE>\r</PRE>\r<P CLASS="4LevelContinued">\r<A NAME="pgfId=997473">\r</A>\rFor more information and a list of available commands and options, see the <CODE CLASS="Program-Process">\rdig</CODE> man page.</P>\r</DIV>\r<DIV>\r<H5 CLASS="Subhead4">\r<A NAME="pgfId=997474">\r</A>\rhost</H5>\r<P CLASS="4LevelContinued">\r<A NAME="pgfId=997475">\r</A>\rThe<EM CLASS="pathname">\r </EM>\r<CODE CLASS="Program-Process">\rhost</CODE>\r<EM CLASS="pathname">\r </EM>\rutility provides a simple DNS lookup using a command-line interface for looking up Internet hostnames. By default, the utility converts between host names and Internet addresses, but its functionality can be extended with the use of options.</P>\r</DIV>\r<DIV>\r<H5 CLASS="Subhead4">\r<A NAME="pgfId=997476">\r</A>\rUsage</H5>\r<PRE>\r<CODE><STRONG>\rhost [-aCdlrTwv] [-c class] [-N ndots] [-t type]\r [-W timeout] [-R retries] hostname [server]\r</STRONG></CODE></PRE>\rFor more information and a list of available commands and options, see the <CODE CLASS="Program-Process">\rhost</CODE> man page.<p></P>\r<DIV>\r<H5 CLASS="Subhead4">\r<A NAME="pgfId=997478">\r</A>\rnslookup</H5>\r<P CLASS="4LevelContinued">\r<A NAME="pgfId=997479">\r</A>\r<CODE CLASS="Program-Process">\rnslookup</CODE>\r is a program used to query Internet domain nameservers. <CODE CLASS="Program-Process">\rnslookup</CODE>\r has two modes: interactive and non-interactive. Interactive mode allows the user to query nameservers for information about various hosts and domains or to print a list of hosts in a domain. Non-interactive mode is used to print just the name and requested information for a host or domain.</P>\r</DIV>\r<DIV>\r<H5 CLASS="Subhead4">\r<A NAME="pgfId=997480">\r</A>\rUsage</H5>\r<PRE>\r<CODE><STRONG>\rnslookup [-option ...] [host-to-find | -[server]]</STRONG></CODE>\r</PRE>\r<P CLASS="4LevelContinued">\r<A NAME="pgfId=997482">\r</A>\rInteractive mode is entered when no arguments are given (the default nameserver will be used) or when the first argument is a hyphen (`-') and the second argument is the host name or Internet address of a nameserver.</P>\r<P CLASS="4LevelContinued">\r<A NAME="pgfId=997483">\r</A>\rNon-interactive mode is used when the name or Internet address of the host to be looked up is given as the first argument. The optional second argument specifies the host name or address of a nameserver.</P>\r<P CLASS="4LevelContinued">\r<A NAME="pgfId=997484">\r</A>\rThe options listed under the "set" command (see the <CODE CLASS="Program-Process">\rnslookup</CODE>\r man page for details) can be specified in the <EM CLASS="pathname">\r.nslookuprc</EM>\r file in the user's home directory if they are listed one per line. Options can also be specified on the command line if they precede the arguments and are prefixed with a hyphen. For example, to change the default query type to host information, and the initial time-out to 10 seconds, type:</P>\r<PRE>\r<CODE><STRONG>\rnslookup -query=hinfo -timeout=10</STRONG></CODE>\r</PRE>\r<P CLASS="4LevelContinued">\r<A NAME="pgfId=1079183">\r</A>\rFor more information and a list of available commands and options, see the <CODE CLASS="Program-Process">\rnslookup</CODE>\r man page.</P>\r<P CLASS="4LevelContinued">\r<A NAME="pgfId=1079184">\r</A>\rDue to its arcane user interface and frequently inconsistent behavior, we do not recommend the use of <CODE CLASS="Program-Process">\rnslookup</CODE>\r, and it is not installed by default when installing BIND 9. Use <CODE CLASS="Program-Process">\rdig</CODE>\r instead.</P>\r</DIV>\r<DIV>\r<OL>\r<H5 CLASS="4Level">\r<A NAME="pgfId=1079185">\r</A>\r3.4.1.2 Administrative Tools</H5>\r</OL>\r<P CLASS="4LevelContinued">\r<A NAME="pgfId=997488">\r</A>\rAdministrative tools play an integral part in the management of a server.</P>\r</DIV>\r <DIV> \r <H5 CLASS="Subhead4"> <A NAME="pgfId=997489"> </A> rndc</H5>\r <P CLASS="4LevelContinued"> <A NAME="pgfId=997490"> </A> The remote name \r daemon control (<CODE CLASS="Program-Process">rndc</CODE>) program allows \r the system administrator to control the operation of a nameserver. If \r you run (<code class="Program-Process">rndc</code>) without any options \r it will display a usage message as follows: </P>\r<H5 CLASS="Subhead4">\r<A NAME="pgfId=997469">\r</A>\rUsage</H5>\r <PRE>\r<CODE><STRONG>rndc [-c config] [-s server] [-p port] [-y key] command [command ...]\r</STRONG></CODE></PRE>\r <CODE><STRONG>command</STRONG></CODE> is one of the following for named:\r\r<TABLE>\r <TR>\r \r <TD>*<code>status</code></TD>\r <TD>Display ps(1) status of named.</TD>\r </TR>\r <TR>\r <TD>*<CODE>dumpdb</CODE></TD> <TD>Dump database and cache to /var/tmp/named_dump.db.</TD>\r </TR>\r <TR>\r <TD><CODE>reload</CODE></TD> <TD>Reload configuration file and zones.</TD>\r </TR>\r <TR>\r <TD>*<CODE>stats</CODE></TD> <TD>Dump statistics to /var/tmp/named.stats.</TD>\r </TR>\r <TR>\r <TD>*<CODE>trace</CODE></TD> <TD>Increment debugging level by one.</TD>\r </TR>\r <TR>\r <TD>*<CODE>notrace</CODE></TD> <TD>Set debugging level to 0.</TD>\r </TR>\r <TR>\r <TD>*<CODE>querylog</CODE></TD> <TD>Toggle query logging.</TD>\r </TR>\r <TR>\r <TD>*<CODE>stop</CODE></TD> <TD>Stop the server.</TD>\r </TR>\r <TR>\r <TD>*<CODE>restart</CODE></TD> <TD>Restart the server.</TD>\r </TR>\r <TR>\r <TD>* == not yet implemented</TD>\r </TR>\r</TABLE>\r\r\r <p>As noted above, "reload" is the only command available for BIND 9.0.0. \r The other commands, and more, are planned to be implemented for future \r releases.</p>\r <p> A configuration file is required, since all communication with the \r server is authenticated with digital signatures that rely on a shared \r secret, and there is no way to provide that secret other than with a \r configuration file. The default location for the rndc configuration \r file is <EM>/etc/rndc.conf</EM>, but an alternate location can be specified with \r the "<CODE>-c</CODE>" option.</p>\r <p>The format of the configuration file is similar to that of named.conf, \r but limited to only three statements, the <CODE>options{}</CODE>, <CODE>key{}</CODE> and <CODE>server{}</CODE> \r statements. These statements are what associate the secret keys to the \r servers with which they are meant to be shared. The order of statements \r is not significant.</p>\r <p>The <CODE>options{}</CODE> statement has two clauses: <CODE>default-server</CODE> and default-key. \r <CODE>default-server</CODE> takes a host name or address argument and represents the server that will be contacted if \r no "<CODE>-s</CODE>" option is provided on the command line. default-key takes the \r name of the key as its argument, as defined by a <CODE>key{}</CODE> statement. In \r the future a default-port clause will be added to specify the port to \r which <CODE>rndc</CODE> should connect.</p>\r <p>The <CODE>key{}</CODE> statement names a key with its string argument. The string \r is required by the server to be a valid domain name, though it need \r not actually be hierarchical; thus, a string like "rndc_key" is a valid \r name. The <CODE>key{}</CODE> statement has two clauses: <CODE>algorithm</CODE> and <CODE>secret</CODE>. While \r the configuration parser will accept any string as the argument to algorithm, \r currently only the string "hmac-md5" has any meaning. The secret is \r a base-64 encoded string, typically generated with either <CODE>dnssec-keygen</CODE> \r or <CODE>mmencode</CODE>.</p>\r <p>The <CODE>server{}</CODE> statement uses the key clause to associate a <CODE>key{}</CODE>-defined \r key with a server. The argument to the <CODE>server{}</CODE> statement is a host \r name or address (addresses must be double quoted). The argument to the \r key clause is the name of key as defined by the <CODE>key{}</CODE> statement. A port \r clause will be added to a future release to specify the port to which \r rndc should connect on the given server.</p>\r <p>A sample minimal configuration file is as follows:</p>\r <PRE>\r<CODE><STRONG>key rndc_key {\r algorithm "hmac-md5";\r secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K";\r};</STRONG></CODE>\r<CODE><STRONG>options {\r default-server localhost;\r default-key rndc_key;\r};</STRONG></CODE>\r</PRE>\r <p>This file, if installed as<EM> /etc/rndc.conf</EM>, would allow the command:</p>\r <p> <strong><code>$ rndc reload</code></strong></p>\r <p>to connect to 127.0.0.1 port 953 and cause the nameserver to reload, \r if a nameserver on the local machine were running with following controls \r statements:</p>\r <PRE>\r<CODE><STRONG>controls {\r inet 127.0.0.1 allow { localhost; } keys { rndc_key; }; \r};</STRONG></CODE>\r</PRE>\r <p>and it had an identical key statement for <CODE>rndc_key</CODE>.</p>\r <P CLASS="4LevelContinued"> </P>\r</DIV>\r<H4 CLASS="3Level">\r<A NAME="pgfId=998650">\r</A>\r3.4.2 Signals</H4>\r\r<P CLASS="3LevelContinued">\r<A NAME="pgfId=998651">\r</A>\rCertain UNIX signals cause the name server to take specific actions, as described in the following table. These signals can be sent using the <CODE CLASS="Program-Process">\rkill</CODE>\r command.</P>\r<P CLASS="3LevelContinued">\r<A NAME="pgfId=1073295">\r</A>\r </P>\r<TABLE>\r<TR>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody4">\r<A NAME="pgfId=1073306">\r</A>\r<CODE CLASS="Program-Process">\rSIGHUP</CODE>\r</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=1073308">\r</A>\rCauses the server to read <CODE CLASS="Program-Process">\rnamed.conf</CODE>\r and reload the database. </P>\r</TD>\r</TR>\r<TR>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody4">\r<A NAME="pgfId=1073310">\r</A>\r<CODE CLASS="Program-Process">\rSIGTERM</CODE>\r</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=1073312">\r</A>\rCauses the server to clean up and exit.</P>\r</TD>\r</TR>\r<TR>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody4">\r<A NAME="pgfId=1073322">\r</A>\r<CODE CLASS="Program-Process">\rSIGINT</CODE>\r</P>\r</TD>\r<TD ROWSPAN="1" COLSPAN="1">\r<P CLASS="CellBody">\r<A NAME="pgfId=1073324">\r</A>\rCauses the server to clean up and exit.</P>\r</TD>\r</TR>\r</TABLE>\r</DIV>\r</DIV>\r<HR ALIGN="center">\r<p>Return to <A href="Bv9ARM.html">BIND 9 Administrator Reference Manual</A> table of contents.</p>\r\r\r\r</div></BODY></HTML>\r
\ No newline at end of file
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<!--
- Copyright (C) 2000 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
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
-<!-- $Id: Bv9ARM.4.html,v 1.9 2000/07/27 09:41:54 tale Exp $ -->
+<!-- $Id: Bv9ARM.4.html,v 1.10 2000/08/01 01:17:52 tale Exp $ -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<HTML>
<PRE>
<CODE><STRONG>acl internals { 172.16.72.0/24; 192.168.1.0/24; };
-acl externals {
+acl externals {
bastion-ips-go-here; };
options {
...
The following command generates a key set containing the above key and another key similarly generated, with a TTL of 3600 and a signature validity period of 10 days starting from now.</P>
<PRE>
-<CODE><STRONG>dnssec-makekeyset -t 3600 -e \13\13+864000 Kchild.example.+003+12345
+<CODE><STRONG>dnssec-makekeyset -t 3600 -e \13\13+864000 Kchild.example.+003+12345
Kchild.example.+003+23456</STRONG></CODE>
</PRE>
The following command signs the child's key set with the zone keys:</P>
<PRE>
-<CODE><STRONG>dnssec-signkey grand.child.example.keyset Kchild.example.+003+12345
+<CODE><STRONG>dnssec-signkey grand.child.example.keyset Kchild.example.+003+12345
Kchild.example.+003+23456</STRONG></CODE>
</PRE>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<!--
- Copyright (C) 2000 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
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
-<!-- $Id: Bv9ARM.5.html,v 1.9 2000/07/27 09:41:55 tale Exp $ -->
+<!-- $Id: Bv9ARM.5.html,v 1.10 2000/08/01 01:17:54 tale Exp $ -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<!--
- Copyright (C) 2000 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
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
-<!-- $Id: Bv9ARM.6.html,v 1.11 2000/07/27 09:41:57 tale Exp $ -->
+<!-- $Id: Bv9ARM.6.html,v 1.12 2000/08/01 01:17:56 tale Exp $ -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<HTML>
6.2.1 <CODE CLASS="Program-Process">
acl</CODE> Statement Grammar</H4>
<PRE CLASS="3Level-fixed"><A NAME="pgfId=997492"></A>
-<CODE CLASS="Program-Process">acl </CODE><EM CLASS="variable">acl-name</EM><CODE CLASS="Program-Process"> {</CODE>
- <EM CLASS="variable">address_match_list</EM>
+<CODE CLASS="Program-Process">acl </CODE><EM CLASS="variable">acl-name</EM><CODE CLASS="Program-Process"> {</CODE>
+ <EM CLASS="variable">address_match_list</EM>
<CODE CLASS="Program-Process">};</CODE>
</PRE>
</DIV>
file "<stderr>"; // this is illustrative only;
// there's currently no way of
// specifying an internal file
- // descriptor in the
+ // descriptor in the
// configuration language.
severity info; // only send priority info
// and higher
An <CODE CLASS="Program-Process">
order_spec</CODE>
is defined as follows:</P>
-
+
<PRE>
<EM>[ </EM><CODE CLASS="Program-Process">class</CODE> <VAR>class_name</VAR> <EM> ][ </EM><CODE CLASS="Program-Process">type</CODE> <VAR>type_name</VAR> <EM>][</EM> <CODE>name</CODE> <VAR>"domain_name"</VAR><EM>]</EM>
<CODE CLASS="Program-Process">order</CODE> <VAR>ordering</VAR>
Here is an example of a typical split DNS setup implemented using <CODE CLASS="Program-Process">
view</CODE>
statements.</P>
-
+
<PRE>
<CODE><STRONG>view "internal" {
<PRE CLASS="2Level-fixed"><A NAME="pgfId=998171"></A>
-<KBD CLASS="literal-user-input">zone</KBD> <EM CLASS="variable">zone name</EM> <EM CLASS="Optional-meta-syntax">[</EM><EM CLASS="variable">class</EM><EM CLASS="Optional-meta-syntax">] [</EM><KBD CLASS="literal-user-input">{</KBD>
+<KBD CLASS="literal-user-input">zone</KBD> <EM CLASS="variable">zone name</EM> <EM CLASS="Optional-meta-syntax">[</EM><EM CLASS="variable">class</EM><EM CLASS="Optional-meta-syntax">] [</EM><KBD CLASS="literal-user-input">{</KBD>
<KBD CLASS="Literal-user-input">type</KBD> <EM CLASS="Optional-meta-syntax">( </EM><KBD CLASS="literal-user-input">master</KBD><EM CLASS="Optional-meta-syntax">|</EM><KBD CLASS="literal-user-input">slave</KBD><EM CLASS="Optional-meta-syntax">|</EM><KBD CLASS="literal-user-input">hint</KBD><EM CLASS="Optional-meta-syntax">|</EM><KBD CLASS="literal-user-input">stub</KBD><EM CLASS="Optional-meta-syntax">|</EM><KBD CLASS="literal-user-input">forward </KBD><EM CLASS="Optional-meta-syntax">)</EM><KBD CLASS="literal-user-input"> ;</KBD>
<EM CLASS="Optional-meta-syntax">[</EM> <KBD CLASS="literal-user-input">allow-query</KBD> <KBD CLASS="literal-user-input">{</KBD> <EM CLASS="variable">address_match_list</EM> } <KBD CLASS="literal-user-input">;</KBD> <EM CLASS="Optional-meta-syntax">]</EM>
<EM CLASS="Optional-meta-syntax">[</EM> <KBD CLASS="literal-user-input">allow-transfer</KBD> <KBD CLASS="literal-user-input">{</KBD> <EM CLASS="variable">address_match_list</EM> } <KBD CLASS="literal-user-input">;</KBD> <EM CLASS="Optional-meta-syntax">]</EM>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<!--
- Copyright (C) 2000 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
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
-<!-- $Id: Bv9ARM.7.html,v 1.9 2000/07/27 09:41:58 tale Exp $ -->
+<!-- $Id: Bv9ARM.7.html,v 1.10 2000/08/01 01:17:57 tale Exp $ -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<HTML>
Here is an example of how to properly apply ACLs:</P>
<PRE>
-
+
<CODE><STRONG>// Set up an ACL named "bogusnets" that will block RFC1918 space,
// which is commonly used in spoofing attacks.
-
+
acl bogusnets { 0.0.0.0/8; 1.0.0.0/8; 2.0.0.0/8; 192.0.2.0/24; 224.0.0.0/3;
10.0.0.0/8; 172.16.0.0/12; 192.168.0.0/16; };
// Set up an ACL called our-nets. Replace this with the real IP numbers.
-
+
acl our-nets { x.x.x.x/24; x.x.x.x/21; };
-
+
options {
...
...
, and to run <CODE CLASS="Program-Process">
<STRONG>named setuid</STRONG></CODE>
to user 202:</P>
-
+
<PRE>
<CODE><STRONG>/usr/local/bin/named -u 202 -t /var/named
</STRONG></CODE></PRE>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<!--
- Copyright (C) 2000 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
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
-<!-- $Id: Bv9ARM.8.html,v 1.9 2000/07/27 09:41:59 tale Exp $ -->
+<!-- $Id: Bv9ARM.8.html,v 1.10 2000/08/01 01:17:58 tale Exp $ -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<HTML>
<P CLASS="2LevelContinued">
<A NAME="pgfId=997394">
</A>
-To discuss arrangements for support, contact
+To discuss arrangements for support, contact
<A HREF="mailto:info@isc.org">info@isc.org</A>
<CODE CLASS="Program-Process">
</CODE>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<!--
- Copyright (C) 2000 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
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
-<!-- $Id: Bv9ARM.9.html,v 1.4 2000/07/27 09:42:01 tale Exp $ -->
+<!-- $Id: Bv9ARM.9.html,v 1.5 2000/08/01 01:18:00 tale Exp $ -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<HTML>
<A NAME="pgfId=1007883">
</A>
<P ALIGN="center">
-Appendices
+Appendices
</P>
</H1>
</A>
Specification documents for the Internet protocol suite, including the DNS, are published as part of the Request for Comments (RFCs) series of technical notes. The standards themselves are defined by the Internet Engineering Task Force (IETF) and the Internet Engineering Steering Group (IESG). RFCs can be obtained online via FTP at <BR>
<EM>ftp://www.isi.edu/in-notes/RFCxxx.txt</EM>
- (where
+ (where
<EM>xxx</EM>
is the number of the RFC). RFCs are also available via the Web at <EM CLASS="URL">
<A HREF="http://www.ietf.org/rfc/">http://www.ietf.org/rfc/</A></EM>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: Bv9ARM.css,v 1.8 2000/07/27 09:42:02 tale Exp $ */
+/* $Id: Bv9ARM.css,v 1.9 2000/08/01 01:18:01 tale Exp $ */
A:link {
color: blue;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<!--
- Copyright (C) 2000 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
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
-<!-- $Id: Bv9ARM.html,v 1.8 2000/07/27 09:42:03 tale Exp $ -->
+<!-- $Id: Bv9ARM.html,v 1.9 2000/08/01 01:18:02 tale Exp $ -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<HTML>
Copyright (C) 2000 Internet Software Consortium.
See COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
-$Id: Bv9ARM.txt,v 1.9 2000/07/27 09:42:05 tale Exp $
+$Id: Bv9ARM.txt,v 1.10 2000/08/01 01:18:04 tale Exp $
BIND 9 Administrator Reference Manual
July 2000
6.2.1 acl Statement Grammar
6.2.2 acl Statement Definition and Usage
6.2.3 controls Statement Grammar
-6.2.4 controls Statement Definition and Usage
+6.2.4 controls Statement Definition and Usage
6.2.5 include Statement Grammar
6.2.6 include Statement Definition and Usage
6.2.7 key Statement Grammar
6.2.8 key Statement Definition and Usage
6.2.9 logging Statement Grammar
-6.2.10 logging Statement Definition and Usage
+6.2.10 logging Statement Definition and Usage
6.2.10.1 The channel Phrase
6.2.10.2 The category Phrase
6.2.11 options Statement Grammar
-6.2.12 options Statement Definition and Usage
+6.2.12 options Statement Definition and Usage
6.2.12.1 Boolean Options
6.2.12.2 Forwarding
6.2.12.3 Name Checking
[ transfer-source ip4_addr; ]
[ transfer-source-v6 ip6_addr; ]
[ also-notify { ip_addr; [ ip_addr; ... ] }; ]
- [ max-ixfr-log-size number; ]
+ [ max-ixfr-log-size number; ]
[ coresize size_spec ; ]
[ datasize size_spec ; ]
[ files size_spec ; ]
apply to zone transfers.
-
+
also-notify Defines a global list of IP addresses that are also
sent NOTIFY messages whenever a fresh copy of the
zone is loaded. This helps to ensure that copies of
the cache every cleaning-interval minutes. The default
is 60 minutes. If set to 0, no periodic cleaning will
occur.
-
+
heartbeat-interval The server will perform zone maintenance tasks for all
zones marked dialup yes whenever this interval
expires. The default is 60 minutes. Reasonable values
servers need not allow dynamic update at all.
------------------------------------------------------------------------
-
+
Section 8. Troubleshooting
8.1 Common Problems
Copyright (C) 2000 Internet Software Consortium.
See COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
-$Id: addressdb,v 1.2 2000/06/21 23:43:28 tale Exp $
+$Id: addressdb,v 1.3 2000/08/01 01:18:06 tale Exp $
You are lost in a maze of twisty little pointers, all alike...
| namehook namehook
| | | | |
| | 0 0 -> fetch
- | |
+ | |
| V
|-lists of elements -----> element ----> element ----> element ---> 0
| | | |
Name Compression
- $Id: compression,v 1.5 2000/06/21 23:43:29 tale Exp $
+ $Id: compression,v 1.6 2000/08/01 01:18:07 tale Exp $
Overview.
across a message.
BIND 4.x and BIND 8.x used a table of existing 14 bit compression
- targets.
+ targets.
The implicit assumption is that we will use compression whenever
possible and when ever there are multiple alternatives available
dns_compress_findlocal(dns_compress_t *cctx, dns_name_t *name,
dns_name_t *prefix, dns_name_t *suffix,
isc_uint16_t *offset, isc_buffer_t *workspace);
-
+
Find the best best match in the global / local RBT. Returns prefix,
suffix and offset of the bestmatch. Findglobal(), findlocal()
requires as workspace as it may be neccessary to spit a bit stream
Copyright (C) 1999, 2000 Internet Software Consortium.
See COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
-$Id: db_rules,v 1.4 2000/06/21 23:43:31 tale Exp $
+$Id: db_rules,v 1.5 2000/08/01 01:18:08 tale Exp $
Here is a more formal statement of the important database design
rules. Each rule has a 5 character mnemonic, for use in source code
2) If there is a negative caching entry for the desired node,
DNS_R_NONEXISTENT shall be returned.
-
+
3) If the desired node does not exist, and there is not a
negative caching entry, DNS_R_UNKNOWN shall be returned.
Name Decompression
- $Id: decompression,v 1.4 2000/06/21 23:43:32 tale Exp $
+ $Id: decompression,v 1.5 2000/08/01 01:18:09 tale Exp $
Overview.
-
+
There are 4 type of compression: global 14 bit, global 16 bit,
local 14 bit and local 16 bit.
and edn version.
Implementation:
-
+
dns_rdata_fromwire will set the allowed decompression methods allowed
by looking at edns, strict and the type values.
Copyright (C) 1999, 2000 Internet Software Consortium.
See COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
-$Id: logging,v 1.6 2000/06/22 21:53:52 tale Exp $
+$Id: logging,v 1.7 2000/08/01 01:18:11 tale Exp $
OVERVIEW
channel with the indicated module in all known categories" ---
including ISC_CATEGORY_DEFAULT. Providing a NULL argument for the
module means "associate the channel with all modules that use this
-category."
+category."
6) If you are sending any messages to syslog, call
isc_log_opensyslog(). Currently the arguments to this function are
};
isc_logmodule_t dns_modules[] = {
{ "db", 0 },
- { "rbtdb", 0 },
+ { "rbtdb", 0 },
{ NULL, 0 }
};
Copyright (C) 1999, 2000 Internet Software Consortium.
See COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
-$Id: ncache,v 1.3 2000/06/22 21:53:53 tale Exp $
+$Id: ncache,v 1.4 2000/08/01 01:18:12 tale Exp $
Negative Caching
to ask authority.
-Perhaps we should just create some kind of meta-rdata, the "negative cache
+Perhaps we should just create some kind of meta-rdata, the "negative cache
rdata type"?
Or maybe something like:
Copyright (C) 1999, 2000 Internet Software Consortium.
See COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
-$Id: omapi,v 1.4 2000/06/22 21:53:55 tale Exp $
+$Id: omapi,v 1.5 2000/08/01 01:18:13 tale Exp $
This file documents the protocol that the ISC DHCP server and ISC
Object Management clients (clients that use the ISC Object Management
invalid handle - the handle does not refer to a known object
permisson denied - the handle refers to an object that the
requestor does not have permission to
- examine.
+ examine.
3: update
synchronous
returns nonzero status code if it didn't connect, zero otherwise
stores connection handle through connection, which can be used
- for subsequent access to the specified server.
+ for subsequent access to the specified server.
server_name is the name of the server, and port is the TCP
port on which it is listening.
authinfo is the handle to an object containing authentication
flags include:
DHCPCTL_CREATE - if the object doesn't exist, create it
DHCPCTL_UPDATE - update the object on the server using the
- attached parameters
+ attached parameters
DHCPCTL_EXCL - error if the object exists and DHCPCTL_CREATE
was also specified
status code is returned otherwise.
Upon completion of whatever task is in process, the callback
will be passed the handle to the object, a status code
- indicating what happened, and the anonymous pointer passed to
+ indicating what happened, and the anonymous pointer passed to
dhcpctl_status dhcpctl_wait_for_completion (dhcpctl_handle h,
dhcpctl_status *s)
dhcpctl_handle h, char *value_name)
synchronous
returns zero if the call succeeded, a nonzero status code if
- it didn't.
+ it didn't.
result is the address of an empty data string (initialized
with bzero or cleared with data_string_forget). On
successful completion, the addressed data string will contain
Copyright (C) 1999, 2000 Internet Software Consortium.
See COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
-$Id: red-black,v 1.5 2000/06/22 21:53:57 tale Exp $
+$Id: red-black,v 1.6 2000/08/01 01:18:14 tale Exp $
Red-Black Tree Implementation Notes
For example, consider storing the following names:
a x.d.e.f o.w.y.d.e.f
b z.d.e.f p.w.y.d.e.f
- c g.h q.w.y.d.e.f
+ c g.h q.w.y.d.e.f
No matter which order the keys were added, this would result in a tree
that can be visualized as:
Copyright (C) 1999, 2000 Internet Software Consortium.
See COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
-$Id: search,v 1.6 2000/06/22 21:53:58 tale Exp $
+$Id: search,v 1.7 2000/08/01 01:18:16 tale Exp $
What follows is pseudocode for the zone and cache lookup algorithms, as they
will work in the RBT DB.
rdataset.
-Zone Search Algorithm
+Zone Search Algorithm
Inputs:
Search name
Go down as far as possible remembering every parent node.
Remember the predecessor too.
-
+
If some rdataset for name exists
Look for desired type or CNAME
Return NO_KNOWN_AUTHORITY
(this will cause priming of root servers or,
perhaps, forwarding)
-
+
If we have a zone DKZC and it's better than the one we found
in the cache
Return it (node and name).
Copyright (C) 1999, 2000 Internet Software Consortium.
See COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
-$Id: windows-nt,v 1.4 2000/06/22 21:54:00 tale Exp $
+$Id: windows-nt,v 1.5 2000/08/01 01:18:18 tale Exp $
Windows NT Portability Notes
where "remotedest" is the path under which the sources will be
compiled on the NT machine, and "localdest" is where the munged
source tree will be placed on the local machine in preparation for
-mounting/zipping/whatever to get it to the remote machine.
+mounting/zipping/whatever to get it to the remote machine.
The default remotedest is g:/proj/bind9-nt, because that suits my
environment and I'm the one working on this. Use forward slashes when
Zones
- $Id: zone,v 1.6 2000/06/21 23:43:46 tale Exp $
+ $Id: zone,v 1.7 2000/08/01 01:18:19 tale Exp $
Overview
-
+
Zones are the unit of delegation in the DNS and may go from holding
RR's only at the zone top to holding the complete hierachy (private
roots zones). Zones have an associated database which is the
* primary master name (required to auto generate our masters)
* master file name
* database name
- * database type
+ * database type
* initially only master_file (BIND 4 & 8)
* expanded axfr + ixfr
* transaction logs
* updated (UPDATE / IXFR)
* copied out in full (AXFR) or as partial deltas (IXFR)
* read from
- * validated
+ * validated
* generate a delta between two given versions.
* signed / resigned
* maintenance
void
dns_zone_invalidate(dns_zone_t *zone);
-
+
void
dns_ixfr_init(dns_ixfr_t *ixfr, unsigned long serial, time_t expire);
dns_zone_checkchildren(dns_zone_t *);
check that the child zones NS lists agree with the NS lists in this
- zone, check glue records. Warn if not identical.
+ zone, check glue records. Warn if not identical.
dns_zone_checkservers(dns_zone_t *);
-
+
check that all the listed servers for the zone agree on NS list and
serial number. NOTE only errors which continue over several refresh
periods to be reported.
dns_zone_addmaster(dns_zone_t *zone, isc_sockaddr_t *addr);
- Add addr to the set of masters for the zone.
+ Add addr to the set of masters for the zone.
dns_zone_clearmasters(dns_zone_t *zone);
dns_zone_load(dns_zone_t *);
dns_zone_consolidate(dns_zone_t *);
-
+
Consolidate on disk copy of zone.
<!--
- Copyright (C) 1999, 2000 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
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
-<!-- $Id: coding.html,v 1.12 2000/07/27 09:42:06 tale Exp $ -->
+<!-- $Id: coding.html,v 1.13 2000/08/01 01:18:21 tale Exp $ -->
<H2>C Language</H2>
<PRE><CODE>
/*
* Copyright (C) 1998 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
<H4>The Ternary Operator</H4>
The ?: operator should mostly be avoided. It is tolerated when
-deciding what value to pass as a parameter to a function, such as
+deciding what value to pass as a parameter to a function, such as
frequently happens with printf, and also when a simple (non-compound)
value is being used in assignment or as part of a calculation.
In particular, using the ternary operator to specify a return value is
isc_result_totext(result));</CODE><P>
Function names, line numbers, memory addresses, and other references
-to program internals may be used in debugging messages and in
+to program internals may be used in debugging messages and in
messages to report programming errors detected at runtime.
They may not be used in messages that indicate errors in the
program's inputs or operation.<P>
When you need to rename or move a file that is under CVS control, use
-the "repository copy" method as described in the following text
+the "repository copy" method as described in the following text
borrowed from an ancient CVS FAQ:
2C.4 How do I rename a file?
cvs tag -b -r v9_0_base v9_0 file
-$Id: cvs,v 1.3 2000/07/10 16:16:06 gson Exp $
+$Id: cvs,v 1.4 2000/08/01 01:18:22 tale Exp $
When you need to rename or move a file that is under CVS control, use
-the "repository copy" method as described in the following text
+the "repository copy" method as described in the following text
borrowed from an ancient CVS FAQ:
2C.4 How do I rename a file?
cvs tag -b -r v9_0_base v9_0 file
-$Id: cvs-usage,v 1.3 2000/07/10 16:16:06 gson Exp $
+$Id: cvs-usage,v 1.4 2000/08/01 01:18:22 tale Exp $
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--
- Copyright (C) 1999, 2000 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
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
-<!-- $Id: rdata.html,v 1.10 2000/07/27 09:42:07 tale Exp $ -->
+<!-- $Id: rdata.html,v 1.11 2000/08/01 01:18:23 tale Exp $ -->
<HTML>
<HEAD>
The dns rdata routines (<CODE>dns_rdata_fromtext()</CODE>,
<CODE>dns_rdata_totext()</CODE>, <CODE>dns_rdata_fromwire()</CODE>,
<CODE>dns_rdata_towire()</CODE> <CODE>dns_rdata_fromstruct()</CODE>,
-<CODE>dns_rdata_tostruct()</CODE> and <CODE>dns_rdata_compare()</CODE>)
+<CODE>dns_rdata_tostruct()</CODE> and <CODE>dns_rdata_compare()</CODE>)
are designed to provide a single set of routines
for encoding, decoding and comparing dns data preventing the problems that
occurred in BIND 8.x and earlier where there were multiple places in the
else
dns_decompress_setmethods(dctx, DNS_COMPRESS_GLOBAL14);</CODE>
</PRE>
-
+
<DL>
<DT><CODE>class</CODE></DT>
<DD>
<DD>
This is the decompression context and is passed to
<CODE>dns_name_fromwire()</CODE>,
-along with <CODE>downcase</CODE>, to enable a compressed domain name
+along with <CODE>downcase</CODE>, to enable a compressed domain name
to be extracted from the source.
<DT><CODE>downcase</CODE></DT>
<DD>
as it reads external data and should take extreme care to ensure that
the input data matches its description.
<P>
-If the <CODE>active</CODE> buffer is not empty at completion and
+If the <CODE>active</CODE> buffer is not empty at completion and
<CODE>fromwire_<I>typename</I>()</CODE> was otherwise successful
<CODE>dns_rdata_fromwire()</CODE> will return <CODE>DNS_R_EXTRADATA</CODE>.
<H2>Convert from internal format to wire format</H2>
</PRE>
<P>
<CODE>towire_<I>classname_typename</I>()</CODE> is required to set the
-allowed name compression methods based on EDNS version if there is a
+allowed name compression methods based on EDNS version if there is a
domain name in the rdata.
<PRE>
<CODE>if (dns_compress_getedns(cctx) >= #)
Copyright (C) 2000 Internet Software Consortium.
See COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
-$Id: release,v 1.11 2000/07/19 20:34:40 gson Exp $
+$Id: release,v 1.12 2000/08/01 01:18:24 tale Exp $
Preparing a bind9 release
lib/*/api files as needed. See the libtool info file
for information about what the various numbers mean.
- - Check that http://status.isc.org/bind9/bind9.html shows
+ - Check that http://status.isc.org/bind9/bind9.html shows
a clean build and test status for all supported systems.
- Check that "make all_tests" does not produce compile errors.
- If problems are found at this stage, fix them, move the
release tag up using "rtag -F", and respin the kit.
- - Take the resulting distribution files to a secure system
+ - Take the resulting distribution files to a secure system
and sign them with the ISC signing PGP key:
"pgp -sba bind-9.0.0b3.tar.gz -u 0x51BAB2ED"
ssh isrv4.pa.vix.com "mkdir /udir/ftp/isc/bind9/9.0.0b4"
scp bind-9.0.0b4.tar.gz bind-9.0.0b4.tar.gz.asc \
- isrv4.pa.vix.com:/udir/ftp/isc/bind9/9.0.0b4
+ isrv4.pa.vix.com:/udir/ftp/isc/bind9/9.0.0b4
- Download using FTP (or Netscape) and verify the PGP signature again
Copyright (C) 1999, 2000 Internet Software Consortium.
See COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
-$Id: results,v 1.3 2000/06/22 21:54:07 tale Exp $
+$Id: results,v 1.4 2000/08/01 01:18:25 tale Exp $
Result Codes
If 's' is shared however this approach doesn't work unless the locking is
done by the caller, e.g.
-
+
sometype_lock();
sometype_dosomething(s, buffer);
if (sometype_error(s)) {
Copyright (C) 2000 Internet Software Consortium.
See COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
-$Id: tests,v 1.6 2000/06/28 19:01:52 gson Exp $
+$Id: tests,v 1.7 2000/08/01 01:18:26 tale Exp $
We do hourly test builds of the bind9 tree. This is an attempt to
document how they work.
The scripts driving the build system are in ~wpk/b9t. They are not
under CVS control. The builds are driven by cron jobs separately
-installed on each build system, running as user wpk.
+installed on each build system, running as user wpk.
The sources are checked out, and the web reports are generated,
on bb, as driven by the following cron jobs:
The output from the make process is in
~wpk/b9t/hosts/$PLATFORM/b9t-status, and the output from
The output from the later stages of the process is under
-/proj/build-reports/bind9/hosts/$PLATFORM. To make the files
+/proj/build-reports/bind9/hosts/$PLATFORM. To make the files
harder to find (?), they have names starting with a period:
.populate
to local domain administrators.
This document resolves the problem of relating host information within
- the DNS to geographical locations. This definition has been designed to
- be easy for the person who administrates DNS for a domain. The author
- hopes that the lack of requiring longitude, latitude and elevation
- information and merely being able to enter address information, as you
+ the DNS to geographical locations. This definition has been designed to
+ be easy for the person who administrates DNS for a domain. The author
+ hopes that the lack of requiring longitude, latitude and elevation
+ information and merely being able to enter address information, as you
would address a postal letter, will mean broad acceptance and use of the
GL resource record.
Although several other attempts by various authors have attempted to
created resource records that would allow location information on host to
- be stored and distributed, none, to the authors knowledge, have either
+ be stored and distributed, none, to the authors knowledge, have either
gained acceptance on a wide scale or made allowance for location information
that is not within the confines of the planet Earth.
<string> <string>
The format of the RDATA field is two varying length strings separated by
- a space character. The first, the hierarchical locator, then an address
+ a space character. The first, the hierarchical locator, then an address
string. Each is quoted (like all strings) only when it has spaces in it,
which will never be true for the first string, and almost always for the
second.
Astronomical Location - (Required)
A coded field defining the heavenly body within
- the known Universe, where the machine resides. The most common
+ the known Universe, where the machine resides. The most common
entry, "S3" is the planet Earth and is the only currently
defined location.
Country Code - (Required)
The country code specifies the country the host computer resides
- in. The code is a two character fixed length string and may only
+ in. The code is a two character fixed length string and may only
be included within the Astronimical Location 'S3'. These codes
are defined in document ISO 3166-1 and are listed in Appendix A
- for easy reference.
+ for easy reference.
Postal Zone - (Optional)
This field may be omitted only if the country in which the host
machine resides does not use a postal coding system.
- When all three Hierarchical Locator components exist for an DNS
- entry, the position being defined is considered to be a "precise
+ When all three Hierarchical Locator components exist for an DNS
+ entry, the position being defined is considered to be a "precise
position".
New Astronomical Locations (ALs) MUST be registered with the Internet
Assigned Numbers Authority (IANA). IANA acts as a central registry for
- these values. IANA may reject or modify the Astronomical Location
- registration request if it does not meet the criteria as specified in
- section 4.1.1.
+ these values. IANA may reject or modify the Astronomical Location
+ registration request if it does not meet the criteria as specified in
+ section 4.1.1.
Registration requests should be sent via electronic mail to IANA as
follows:
To: IANA@iana.org
Subject: Registration of a new Astronomical Location
- The mail message must specify the proposed AL. Documentation defining
+ The mail message must specify the proposed AL. Documentation defining
the AL and its proposed purpose must be included. The documentation must
either reference an external non-Internet standards document or an existing
or soon to be RFC. If applicable, the documentation should contain a
RFC according to the normal procedure within a reasonable amount of
time after the AL registration has been approved.
- IANA will not register a new Astronmical Location until an actual
- computer requiring GL data in the DNS resides or will soon reside on a
+ IANA will not register a new Astronmical Location until an actual
+ computer requiring GL data in the DNS resides or will soon reside on a
heavenly body other than Earth.
7.1 Defining New Astronimical Locations
The astronomical location 'S3' is intended to be Sol-Three (i.e. the Earth).
- The Earth is the 3rd large planet in the solar system. The Sun would be S0
- (not that we'd have a computer there), but a solar observatory in orbit might
+ The Earth is the 3rd large planet in the solar system. The Sun would be S0
+ (not that we'd have a computer there), but a solar observatory in orbit might
be S0-001. Our moon would be S3-1. Other letters and such for catalogued
objects. Additionally, the ISS and Mir space stations could use S3-001 (Mir),
S3-002 (ISS) now, if they get connected on IP.
7.2 Other possible uses for GL
The use of postal codes also is exactly what is needed for credit card address
- authentication. Sites could (quietly) compare GL info provided on entries from
+ authentication. Sites could (quietly) compare GL info provided on entries from
ISPs to what someone enters for additional verification purposes.
-
+
and PTR. The A RR contains mapping from a FQDN to an IP address; the
PTR RR contains mapping from an IP address to a FQDN. The Dynamic
DNS Updates specification (RFC2136[5]) describes a mechanism that
- enables DNS information to be updated over a network.
+ enables DNS information to be updated over a network.
DHCP RFC2131[3] provides a mechanism by which a host (a DHCP client)
can acquire certain configuration information, along with its IP
The only difference between these two cases is whether the FQDN to
IP address mapping is updated by a DHCP client or by a DHCP server.
The IP address to FQDN mapping is updated by a DHCP server in both
- cases.
+ cases.
The reason these two are important, while others are unlikely, has
to do with authority over the respective DNS domain names. A DHCP
to modify its own domain name. Compliant implementations MAY support
some or all of these possibilities. Furthermore, this specification
applies only to DHCP client and server processes: it does not apply
- to other processes which initiate dynamic DNS updates.
+ to other processes which initiate dynamic DNS updates.
This document describes a new DHCP option which a client can use to
convey all or part of its domain name to a DHCP server.
Site-specific policy determines whether DHCP servers use the names
that clients offer or not, and what DHCP servers may do in cases
- where clients do not supply domain names.
+ where clients do not supply domain names.
4. Issues with DDNS in DHCP Environments
would have its original A RR replaced by the new record. Either of
these effects may be considered undesirable by some sites. Different
authority and credential models have different levels of exposure to
- name collisions.
+ name collisions.
1. Client updates A RR, uses Secure DNS Update with credentials
that are associated with the client's FQDN, and exclusive to the
is used when the client's link-layer address is being used to
identify it, and one that is used when some DHCP option that the
DHCP client has sent is being used to identify it.
-
+
DISCUSSION:
Implementors should note that the actual identifying data is
allow the client to convey its FQDN to the server this document
defines a new DHCP option, called "Client FQDN". The FQDN Option
also contains Flags and RCode fields which DHCP servers can use to
- convey information about DNS updates to clients.
+ convey information about DNS updates to clients.
Clients MAY send the FQDN option, setting appropriate Flags values,
in both their DISCOVER and REQUEST messages. If a client sends the
Internet-Draft Interaction between DHCP and DNS March 2000
- subsequent REQUEST messages.
+ subsequent REQUEST messages.
The code for this option is 81. Its minimum length is 4.
indicate that it will not perform any Dynamic DNS updates, and that
it expects the DHCP server to perform any FQDN-to-IP (the A RR) DNS
update on its behalf. If this bit is clear, the client indicates
- that it intends to maintain its own FQDN-to-IP mapping update.
+ that it intends to maintain its own FQDN-to-IP mapping update.
If a DHCP server intends to take responsibility for the A RR update
whether or not the client sending the FQDN option has set the "S"
bit, it sets both the "O" bit and the "S" bit, and sends the FQDN
- option in its DHCPOFFER and/or DHCPACK messages.
+ option in its DHCPOFFER and/or DHCPACK messages.
The data in the Domain Name field may appear in one of two formats:
ASCII, or DNS-style binary encoding (without compression, of
reply, it MUST use the same encoding that the client used. The DNS
encoding is recommended. The use of ASCII-encoded domain-names is
fragile, and the use of ASCII encoding in this option should be
- considered deprecated.
+ considered deprecated.
The remaining bits in the Flags field are reserved for future
assignment. DHCP clients and servers which send the FQDN option MUST
set the MBZ bits to 0, and they MUST ignore values in the part of
- the field labelled "MBZ".
+ the field labelled "MBZ".
described in Section 8. The server MAY originate the update before
the server sends the DHCPACK message to the client. In this case the
RCODE from the update [RFC2136] MUST be carried to the client in the
- RCODE2 field of the Client FQDN option in the DHCPACK message.
+ RCODE2 field of the Client FQDN option in the DHCPACK message.
Alternatively the server MAY send the DHCPACK message to the client
without waiting for the update to be completed. In this case the
existing A RR and the existing DHCID RR, adding A and DHCID RRs that
represent the IP address and client-identity of the new client.
-
+
DISCUSSION:
The updating entity may be configured to allow the existing DNS
Abstract
-The definition of a secured zone is presented, updating RFC 2535.
+The definition of a secured zone is presented, updating RFC 2535.
After discussion on the mailing list and other working group
consideration, removed from earlier editions of this draft are a new
-interpretation of the NXT record and a proposal to obsolete NULL
+interpretation of the NXT record and a proposal to obsolete NULL
keys. Deprecation of "experimentally secure" remains.
1 Introduction
1.2 Islands of Security
The goal of DNSSEC is to have each zone secured, from the root zone
-and the top-level domains down the hierarchy to the leaf zones.
+and the top-level domains down the hierarchy to the leaf zones.
Transitioning from an unsecured DNS, as we have now, to a fully
-secured - or "as much as will be secured" - tree will take some time.
+secured - or "as much as will be secured" - tree will take some time.
During this time, DNSSEC will be applied in various locations in the
tree, not necessarily "top down."
is dropped.
The objective of facilitating the migration can be achieved without a
-special designation of an experimentally secure status.
+special designation of an experimentally secure status.
Experimentally secured is a special case of privately secured. A zone
administrator can achieve this by publishing a zone with signatures
and configuring a set of test resolvers with the corresponding public
Telephone Number Mapping A. Brown
Internet Draft Nortel Networks
Document: <draft-ietf-enum-rqmts-01.txt> June 2000
-Category: Informational
-
-
- ENUM Requirements
-
-
-Status of this Memo
-
- This document is an Internet-Draft and is in full conformance with
- all provisions of Section 10 of RFC2026 [1].
-
- Internet-Drafts are working documents of the Internet Engineering
- Task Force (IETF), its areas, and its working groups. Note that
+Category: Informational
+
+
+ ENUM Requirements
+
+
+Status of this Memo
+
+ This document is an Internet-Draft and is in full conformance with
+ all provisions of Section 10 of RFC2026 [1].
+
+ Internet-Drafts are working documents of the Internet Engineering
+ Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
- Drafts. Internet-Drafts are draft documents valid for a maximum of
- six months and may be updated, replaced, or obsoleted by other
- documents at any time. It is inappropriate to use Internet- Drafts
- as reference material or to cite them other than as "work in
- progress."
-
- The list of current Internet-Drafts can be accessed at
- http://www.ietf.org/ietf/1id-abstracts.txt
- The list of Internet-Draft Shadow Directories can be accessed at
- http://www.ietf.org/shadow.html.
-
-1. Abstract
-
- This paper defines the requirements for a DNS-based architecture and
- protocols for mapping a telephone number to a set of attributes
- (e.g., URLs) that can be used to contact a resource associated with
- that number. There are many possible protocols that can be
- considered for a telephone number mapping service. The purpose of
- this document is to focus discussion on a DNS-based solution. The
- intention is to enumerate the expectations of such a solution and to
- clarify the scope.
-
-2. Conventions used in this document
-
- The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
- "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
- this document are to be interpreted as described in RFC-2119 [2].
-
-3. Requirements
-
-3.1 Endpoint Address Lookup
-
- The system SHALL provide a service for the retrieval of service
- specific endpoint addresses (e.g., email address, IP address, SIP
- address, URL, etc.) or the retrieval of the addresses of servers, if
- available, which may contain this endpoint information.
-
-
-\f ENUM Requirements June 2000
-
-
-3.2 Capabilities Retrieval/Negotiation
-
- The retrieval or negotiation of capabilities is beyond the scope of
- the system.
-
-3.3 Retrieval of Additional Information and Capabilities
-
- The retrieval of additional, application-specific information (e.g.,
- spoken name for verification purposes) is beyond the scope of the
- system. The system MUST provide a service for the retrieval of
- protocol and service information if available.
-
- The system SHOULD provide access to capabilities relevant to the
- telephone number in question. The retrieval or negotiation of
- capabilities will depend on the outcome of the rescap work or work
- done in other groups.
-
-3.4 Qualification of the Request
-
- The system is not required to enable the qualification of a request
- by a user, for the purposes of filtering for reducing returned
- information or for traffic reduction.
-
-3.5 Provisioning
-
- The architecture and protocol MAY support at least the existing
- administrative model as the current E.164 telephone number
- delegation system. The protocol SHOULD also provide the ability to
- support corporate numbering plan or competitive directory service
- providers under separate root domains. It SHOULD NOT require an
- additional centralized administrator beyond that required for the
- existing telephone number system.
-
- The distribution of telephone numbers is a national affair by ITU
- treaty and different telephone number distribution schemes may
- require different delegation models. How nations choose to
- administer the ENUM space within their borders is a national issue.
- In any case, the subscriber or enterprise is the ultimate authority
- for service provisioning.
-
- Further, it must be possible for the authority to which a telephone
- number has been delegated to redirect the query to a different
- entity that provides service-specific information for that number.
-
-3.6 Propagation of Changes
-
- Propagation of Changes If multiple copies of the data are
- distributed in different areas, their update should be incorporated
- almost simultaneously depending on the application of DNS to
- services.
-
-
-
-
-\f ENUM Requirements June 2000
-
-
- When a numbering plan change is made in a country or network, the
- update of relevant E.164 number data in DNS needs to be coordinated
- with the change.
-
-3.7 Response Timeout
-
- The system SHALL have a defined timeout mechanism.
-
-3.8 Global Number Portability
-
- The system MUST support existing local number portability
- mechanisms, where applicable. It is RECOMMENDED that the system not
- be designed in such as way as to impede future global number
- portability.
-
-3.9 Scalability
-
- The system MUST scale to handle quantities of telephone numbers and
- queries comparable to current and expected future PSTN usage.
-
- It must be possible to operate the system based on telephone number
+ Drafts. Internet-Drafts are draft documents valid for a maximum of
+ six months and may be updated, replaced, or obsoleted by other
+ documents at any time. It is inappropriate to use Internet- Drafts
+ as reference material or to cite them other than as "work in
+ progress."
+
+ The list of current Internet-Drafts can be accessed at
+ http://www.ietf.org/ietf/1id-abstracts.txt
+ The list of Internet-Draft Shadow Directories can be accessed at
+ http://www.ietf.org/shadow.html.
+
+1. Abstract
+
+ This paper defines the requirements for a DNS-based architecture and
+ protocols for mapping a telephone number to a set of attributes
+ (e.g., URLs) that can be used to contact a resource associated with
+ that number. There are many possible protocols that can be
+ considered for a telephone number mapping service. The purpose of
+ this document is to focus discussion on a DNS-based solution. The
+ intention is to enumerate the expectations of such a solution and to
+ clarify the scope.
+
+2. Conventions used in this document
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
+ this document are to be interpreted as described in RFC-2119 [2].
+
+3. Requirements
+
+3.1 Endpoint Address Lookup
+
+ The system SHALL provide a service for the retrieval of service
+ specific endpoint addresses (e.g., email address, IP address, SIP
+ address, URL, etc.) or the retrieval of the addresses of servers, if
+ available, which may contain this endpoint information.
+
+
+\f ENUM Requirements June 2000
+
+
+3.2 Capabilities Retrieval/Negotiation
+
+ The retrieval or negotiation of capabilities is beyond the scope of
+ the system.
+
+3.3 Retrieval of Additional Information and Capabilities
+
+ The retrieval of additional, application-specific information (e.g.,
+ spoken name for verification purposes) is beyond the scope of the
+ system. The system MUST provide a service for the retrieval of
+ protocol and service information if available.
+
+ The system SHOULD provide access to capabilities relevant to the
+ telephone number in question. The retrieval or negotiation of
+ capabilities will depend on the outcome of the rescap work or work
+ done in other groups.
+
+3.4 Qualification of the Request
+
+ The system is not required to enable the qualification of a request
+ by a user, for the purposes of filtering for reducing returned
+ information or for traffic reduction.
+
+3.5 Provisioning
+
+ The architecture and protocol MAY support at least the existing
+ administrative model as the current E.164 telephone number
+ delegation system. The protocol SHOULD also provide the ability to
+ support corporate numbering plan or competitive directory service
+ providers under separate root domains. It SHOULD NOT require an
+ additional centralized administrator beyond that required for the
+ existing telephone number system.
+
+ The distribution of telephone numbers is a national affair by ITU
+ treaty and different telephone number distribution schemes may
+ require different delegation models. How nations choose to
+ administer the ENUM space within their borders is a national issue.
+ In any case, the subscriber or enterprise is the ultimate authority
+ for service provisioning.
+
+ Further, it must be possible for the authority to which a telephone
+ number has been delegated to redirect the query to a different
+ entity that provides service-specific information for that number.
+
+3.6 Propagation of Changes
+
+ Propagation of Changes If multiple copies of the data are
+ distributed in different areas, their update should be incorporated
+ almost simultaneously depending on the application of DNS to
+ services.
+
+
+
+
+\f ENUM Requirements June 2000
+
+
+ When a numbering plan change is made in a country or network, the
+ update of relevant E.164 number data in DNS needs to be coordinated
+ with the change.
+
+3.7 Response Timeout
+
+ The system SHALL have a defined timeout mechanism.
+
+3.8 Global Number Portability
+
+ The system MUST support existing local number portability
+ mechanisms, where applicable. It is RECOMMENDED that the system not
+ be designed in such as way as to impede future global number
+ portability.
+
+3.9 Scalability
+
+ The system MUST scale to handle quantities of telephone numbers and
+ queries comparable to current and expected future PSTN usage.
+
+ It must be possible to operate the system based on telephone number
blocks defined at the digit boundaries as well as explicit per-
- number configuration.
-
-3.10 Query Performance
-
- It SHOULD be possible to administer the ENUM service using the
- selected protocols and structures such that the current user
- expectations for latency in telecommunications services can be met.
- In particular, it SHOULD be possible to operate the system in such a
- manner that an ENUM query for a service-specific record can be
- satisfied within one second 95% of the time and that within two
- seconds, the query can be satisfied 99% of the time.
-
-3.11 Other PSTN Numbering Services
-
- E.164 numbers, short codes, service codes and prefixes are
- categorized in dialing plans. A prefix is an indicator consisting
- of one or more digits that allows the selection of different types
- of number formats, networks and/or services. Prefixes are not part
- of the number and are part of a dialing plan. The uses and the
- formats of prefixes are a national matter. Short codes, e.g.
- emergency, or service codes may be used based on the national
- numbering plan. Those codes are not universal and typically valid
- only within a numbering domain identified with the same country code
- or country code + network identification code.
-
- PSTN type numbering services such as Emergency 911, directory
- assistance 411, and other carrier codes for services accessible via
- non-E164 (or subset) telephone number service access codes are
- outside the scope of ENUM.
-
-3.12 Privacy
-
-\f ENUM Requirements June 2000
-
-
-
- The system MUST allow the owner of the telephone number to control
- the information which prospective callers may receive.
-
-3.13 Competition
-
- The solution MUST permit competing service providers to offer
- telecommunications service for a given number. Competing
- telecommunications services MUST be enabled where the ENUM entry is
- administered by the single entity to which the number is delegated.
- Who that single entity is, is beyond the scope of ENUM.
-
-3.14 Authorization of Requests and Responses
-
- The system SHALL enable the authorization of requests and responses.
-
-3.15 Privacy and Integrity of Requests and Responses
-
- The system SHALL enable the privacy and integrity of requests and
- responses.
-
-3.16 Call Routing
-
- The system is not required to provide a service for routing calls or
- locating gateways to a specific service.
-
-3.17 Service Logic
-
- The system is not responsible for employing service logic for the
- intelligent retrieval of information.
-
-3.18 E.164 Numbers
-
- The system is not responsible for returning information on private
- numbering plans and non-E.164 numbers. The system is responsible
- for returning information on 1-800 and other legitimate E.164
- numbers.
-
-3.19 Application Specific Use of ENUM
-
- The ENUM service MUST be application agnostic. It is expected that
- various other IETF work groups will develop ENUM specific usage
- profiles for their specific application. ENUM will not mandate the
- use of any specific DNS Resource Record for any particular
- application.
-
-4. Security Considerations
-
- This document specifies several security requirements including
- privacy of information, and authorization, privacy and integrity or
- requests and responses.
-
-
-
-\f ENUM Requirements June 2000
-
-
- The system will be designed to retrieve information required to
- initiate an Internet telephony session. Each of these session types
- will have their own security threats, which should be addressed in
- the groups responsible for those services.
-
-5. References
-
-
- 1 Bradner, S., "The Internet Standards Process -- Revision 3", BCP
- 9, RFC 2026, October 1996.
-
- 2 Bradner, S., "Key words for use in RFCs to Indicate Requirement
- Levels", BCP 14, RFC 2119, March 1997
-
-6. Acknowledgements
-
- This document is based on discussions from the ENUM working group.
-
-7. Author's Addresses
-
- Anne Brown
- Nortel Networks
- P.O. Box 3511, Station C
- K1Y 4H7
- Phone: +1 613 765 5274
- Email: arbrown@nortelnetworks.com
-
-8. Changes From draft-enum-rqmts-00.txt
-
- Based on WG discussions and input documents from the SG2 workshop,
- the following changes have been made since the previous version of
- this draft:
-
- 3.1 Endpoint Address Lookup
- Major - URLs are not the only response
- 3.3 Retrieval of Additional Information and Capabilities
- Renamed from "Retrieval of Additional Information"
- Minor - Added paragraph on capabilities
- 3.5 Provisioning
- Major - New text involving change of ENUM scope
- 3.6 Propagation of Changes
- New section
- Major - New section based on nnar-e164-dns-iw-info.txt
- 3.9 Scalability
- Renumbered from 3.8
- Major - New paragraph on handling of both blocks and
- individual telephone numbers.
- 3.10 Query Performance
- Renumbered from 3.9
- Major - Upgraded to support PSTN performance
- expectations
- 3.11 Other PSTN Numbering Services
- Renumbered from 3.10
-
-\f ENUM Requirements June 2000
-
-
- Renamed from "Other PSTN Services"
- Minor - Changes for clarification based on WG
- discussions and nnar-e164-dns-iw-info.txt
-
- 3.13 Competition
- Renumbered from 3.12
- Major - Telephone number MUST be able to be
- administered by a single entity
-
- 3.19 Application Specific Use of ENUM
- New Section
- Major - For clarification
-
-Full Copyright Statement
-
- "Copyright (C) The Internet Society (date). All Rights Reserved.
- This document and translations of it may be copied and furnished to
- others, and derivative works that comment on or otherwise explain it
- or assist in its implmentation may be prepared, copied, published
- and distributed, in whole or in part, without restriction of any
- kind, provided that the above copyright notice and this paragraph
- are included on all such copies and derivative works. However, this
- document itself may not be modified in any way, such as by removing
- the copyright notice or references to the Internet Society or other
- Internet organizations, except as needed for the purpose of
- developing Internet standards in which case the procedures for
- copyrights defined in the Internet Standards process must be
- followed, or as required to translate it into
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ number configuration.
+
+3.10 Query Performance
+
+ It SHOULD be possible to administer the ENUM service using the
+ selected protocols and structures such that the current user
+ expectations for latency in telecommunications services can be met.
+ In particular, it SHOULD be possible to operate the system in such a
+ manner that an ENUM query for a service-specific record can be
+ satisfied within one second 95% of the time and that within two
+ seconds, the query can be satisfied 99% of the time.
+
+3.11 Other PSTN Numbering Services
+
+ E.164 numbers, short codes, service codes and prefixes are
+ categorized in dialing plans. A prefix is an indicator consisting
+ of one or more digits that allows the selection of different types
+ of number formats, networks and/or services. Prefixes are not part
+ of the number and are part of a dialing plan. The uses and the
+ formats of prefixes are a national matter. Short codes, e.g.
+ emergency, or service codes may be used based on the national
+ numbering plan. Those codes are not universal and typically valid
+ only within a numbering domain identified with the same country code
+ or country code + network identification code.
+
+ PSTN type numbering services such as Emergency 911, directory
+ assistance 411, and other carrier codes for services accessible via
+ non-E164 (or subset) telephone number service access codes are
+ outside the scope of ENUM.
+
+3.12 Privacy
+
+\f ENUM Requirements June 2000
+
+
+
+ The system MUST allow the owner of the telephone number to control
+ the information which prospective callers may receive.
+
+3.13 Competition
+
+ The solution MUST permit competing service providers to offer
+ telecommunications service for a given number. Competing
+ telecommunications services MUST be enabled where the ENUM entry is
+ administered by the single entity to which the number is delegated.
+ Who that single entity is, is beyond the scope of ENUM.
+
+3.14 Authorization of Requests and Responses
+
+ The system SHALL enable the authorization of requests and responses.
+
+3.15 Privacy and Integrity of Requests and Responses
+
+ The system SHALL enable the privacy and integrity of requests and
+ responses.
+
+3.16 Call Routing
+
+ The system is not required to provide a service for routing calls or
+ locating gateways to a specific service.
+
+3.17 Service Logic
+
+ The system is not responsible for employing service logic for the
+ intelligent retrieval of information.
+
+3.18 E.164 Numbers
+
+ The system is not responsible for returning information on private
+ numbering plans and non-E.164 numbers. The system is responsible
+ for returning information on 1-800 and other legitimate E.164
+ numbers.
+
+3.19 Application Specific Use of ENUM
+
+ The ENUM service MUST be application agnostic. It is expected that
+ various other IETF work groups will develop ENUM specific usage
+ profiles for their specific application. ENUM will not mandate the
+ use of any specific DNS Resource Record for any particular
+ application.
+
+4. Security Considerations
+
+ This document specifies several security requirements including
+ privacy of information, and authorization, privacy and integrity or
+ requests and responses.
+
+
+
+\f ENUM Requirements June 2000
+
+
+ The system will be designed to retrieve information required to
+ initiate an Internet telephony session. Each of these session types
+ will have their own security threats, which should be addressed in
+ the groups responsible for those services.
+
+5. References
+
+
+ 1 Bradner, S., "The Internet Standards Process -- Revision 3", BCP
+ 9, RFC 2026, October 1996.
+
+ 2 Bradner, S., "Key words for use in RFCs to Indicate Requirement
+ Levels", BCP 14, RFC 2119, March 1997
+
+6. Acknowledgements
+
+ This document is based on discussions from the ENUM working group.
+
+7. Author's Addresses
+
+ Anne Brown
+ Nortel Networks
+ P.O. Box 3511, Station C
+ K1Y 4H7
+ Phone: +1 613 765 5274
+ Email: arbrown@nortelnetworks.com
+
+8. Changes From draft-enum-rqmts-00.txt
+
+ Based on WG discussions and input documents from the SG2 workshop,
+ the following changes have been made since the previous version of
+ this draft:
+
+ 3.1 Endpoint Address Lookup
+ Major - URLs are not the only response
+ 3.3 Retrieval of Additional Information and Capabilities
+ Renamed from "Retrieval of Additional Information"
+ Minor - Added paragraph on capabilities
+ 3.5 Provisioning
+ Major - New text involving change of ENUM scope
+ 3.6 Propagation of Changes
+ New section
+ Major - New section based on nnar-e164-dns-iw-info.txt
+ 3.9 Scalability
+ Renumbered from 3.8
+ Major - New paragraph on handling of both blocks and
+ individual telephone numbers.
+ 3.10 Query Performance
+ Renumbered from 3.9
+ Major - Upgraded to support PSTN performance
+ expectations
+ 3.11 Other PSTN Numbering Services
+ Renumbered from 3.10
+
+\f ENUM Requirements June 2000
+
+
+ Renamed from "Other PSTN Services"
+ Minor - Changes for clarification based on WG
+ discussions and nnar-e164-dns-iw-info.txt
+
+ 3.13 Competition
+ Renumbered from 3.12
+ Major - Telephone number MUST be able to be
+ administered by a single entity
+
+ 3.19 Application Specific Use of ENUM
+ New Section
+ Major - For clarification
+
+Full Copyright Statement
+
+ "Copyright (C) The Internet Society (date). All Rights Reserved.
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implmentation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph
+ are included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\f
-IPng Working Group R. Draves
-Internet Draft Microsoft Research
-Document: draft-ietf-ipngwg-default-addr-select-00.txt October 22, 1999
-Category: Standards Track
-
- Default Address Selection for IPv6
+IPng Working Group R. Draves
+Internet Draft Microsoft Research
+Document: draft-ietf-ipngwg-default-addr-select-00.txt October 22, 1999
+Category: Standards Track
-Status of this Memo
+ Default Address Selection for IPv6
- This document is an Internet-Draft and is in full conformance with
- all provisions of Section 10 of RFC 2026 [1].
+Status of this Memo
- Internet-Drafts are working documents of the Internet Engineering
- Task Force (IETF), its areas, and its working groups. Note that
+ This document is an Internet-Draft and is in full conformance with
+ all provisions of Section 10 of RFC 2026 [1].
+
+ Internet-Drafts are working documents of the Internet Engineering
+ Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
- Drafts.
-
- Internet-Drafts are draft documents valid for a maximum of six
- months and may be updated, replaced, or obsoleted by other documents
- at any time. It is inappropriate to use Internet-Drafts as reference
- material or to cite them other than as "work in progress."
-
- The list of current Internet-Drafts can be accessed at
- http://www.ietf.org/ietf/1id-abstracts.txt.
-
- The list of Internet-Draft Shadow Directories can be accessed at
- http://www.ietf.org/shadow.html.
-
-Abstract
-
- This document describes two algorithms, for destination address
- ordering and for source address selection. The algorithms specify
- default behavior for all IPv6 implementations. They do not override
- choices made by applications or upper-layer protocols, nor do they
- preclude the development of more advanced mechanisms for address
- selection. The two algorithms share a common framework, including an
- optional mechanism for allowing administrators to provide policy
- that can override the default behavior.
-
-1. Introduction
-
- The IPv6 addressing architecture [2] allows multiple unicast
- addresses to be assigned to interfaces. These addresses may have
- different reachability scopes (link-local, site-local, or global).
- These addresses may be "preferred" or "deprecated" [3]. In addition,
- multi-homing situations will result in more addresses per node. For
- example, a node may have multiple interfaces, some of them tunnels
- or virtual interfaces, or a site may have multiple ISP attachments.
-
- The end result is that IPv6 implementations will very often be faced
- with multiple possible source and destination addresses when
- initiating communication. It is desirable to have simple default
- algorithms, common across all implementations, for selecting source
-
-Draves Standards Track - Expires May 2000 1
+ Drafts.
+
+ Internet-Drafts are draft documents valid for a maximum of six
+ months and may be updated, replaced, or obsoleted by other documents
+ at any time. It is inappropriate to use Internet-Drafts as reference
+ material or to cite them other than as "work in progress."
+
+ The list of current Internet-Drafts can be accessed at
+ http://www.ietf.org/ietf/1id-abstracts.txt.
+
+ The list of Internet-Draft Shadow Directories can be accessed at
+ http://www.ietf.org/shadow.html.
+
+Abstract
+
+ This document describes two algorithms, for destination address
+ ordering and for source address selection. The algorithms specify
+ default behavior for all IPv6 implementations. They do not override
+ choices made by applications or upper-layer protocols, nor do they
+ preclude the development of more advanced mechanisms for address
+ selection. The two algorithms share a common framework, including an
+ optional mechanism for allowing administrators to provide policy
+ that can override the default behavior.
+
+1. Introduction
+
+ The IPv6 addressing architecture [2] allows multiple unicast
+ addresses to be assigned to interfaces. These addresses may have
+ different reachability scopes (link-local, site-local, or global).
+ These addresses may be "preferred" or "deprecated" [3]. In addition,
+ multi-homing situations will result in more addresses per node. For
+ example, a node may have multiple interfaces, some of them tunnels
+ or virtual interfaces, or a site may have multiple ISP attachments.
+
+ The end result is that IPv6 implementations will very often be faced
+ with multiple possible source and destination addresses when
+ initiating communication. It is desirable to have simple default
+ algorithms, common across all implementations, for selecting source
+
+Draves Standards Track - Expires May 2000 1
\f
-Default Address Selection for IPv6 October 22, 1999
-
-
- and destination addresses so that developers and administrators can
- reason about and predict the behavior of their systems.
-
- This document specifies source address selection and destination
- address selection separately, but using a common framework so that
- together the two algorithms yield useful results. The algorithms
- attempt to choose source and destination addresses of appropriate
- scope and configuration status (preferred or deprecated).
- Furthermore, this document suggests a preferred method, longest
- matching prefix, for choosing among otherwise equivalent addresses
- in the absence of better information.
-
- The framework also has policy hooks to allow administrative override
- of the default behavior. For example, using these hooks an
- administrator can specify a preferred source prefix for use with a
- destination prefix, or prefer destination addresses with one prefix
- over addresses with another prefix. These hooks give an
- administrator flexibility in dealing with some multi-homing and
- transition scenarios, but they are certainly not a panacea.
-
- The rules specified in this document MUST NOT be construed to
- override an application or upper-layer's explicit choice of
- destination or source address.
-
-1.1. Conventions used in this document
-
- The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
- "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
- this document are to be interpreted as described in RFC-2119 [4].
-
-2. Framework
-
- Our framework for address selection derives from the most common
- implementation architecture, which separates the choice of
- destination address from the choice of source address. Consequently,
- the framework specifies two separate algorithms for these tasks. The
- algorithms are designed to work well together and they share a
- mechanism for administrative policy override.
-
- In this implementation architecture, applications use APIs [5] like
- getipnodebyname() and getaddrinfo() that return a list of addresses
- to the application. The application then passes a destination
- address to the IPv6 layer with connect() or sendto(). The
- application might just use the first address in the list, or it
- might loop over the list of addresses to find a working address. In
- any case, the IPv6 network layer is never in a position where it
- needs to choose a destination address from several alternatives. The
- application might also specify a source address with bind(), but
- often the source address is left unspecified. Therefore the IPv6
- layer does often choose a source address from several alternatives.
-
- As a consequence, we intend that implementations of
- getipnodebyname() and getaddrinfo() will use the destination address
-
-Draves Standards Track - Expires May 2000 2
+Default Address Selection for IPv6 October 22, 1999
+
+
+ and destination addresses so that developers and administrators can
+ reason about and predict the behavior of their systems.
+
+ This document specifies source address selection and destination
+ address selection separately, but using a common framework so that
+ together the two algorithms yield useful results. The algorithms
+ attempt to choose source and destination addresses of appropriate
+ scope and configuration status (preferred or deprecated).
+ Furthermore, this document suggests a preferred method, longest
+ matching prefix, for choosing among otherwise equivalent addresses
+ in the absence of better information.
+
+ The framework also has policy hooks to allow administrative override
+ of the default behavior. For example, using these hooks an
+ administrator can specify a preferred source prefix for use with a
+ destination prefix, or prefer destination addresses with one prefix
+ over addresses with another prefix. These hooks give an
+ administrator flexibility in dealing with some multi-homing and
+ transition scenarios, but they are certainly not a panacea.
+
+ The rules specified in this document MUST NOT be construed to
+ override an application or upper-layer's explicit choice of
+ destination or source address.
+
+1.1. Conventions used in this document
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
+ this document are to be interpreted as described in RFC-2119 [4].
+
+2. Framework
+
+ Our framework for address selection derives from the most common
+ implementation architecture, which separates the choice of
+ destination address from the choice of source address. Consequently,
+ the framework specifies two separate algorithms for these tasks. The
+ algorithms are designed to work well together and they share a
+ mechanism for administrative policy override.
+
+ In this implementation architecture, applications use APIs [5] like
+ getipnodebyname() and getaddrinfo() that return a list of addresses
+ to the application. The application then passes a destination
+ address to the IPv6 layer with connect() or sendto(). The
+ application might just use the first address in the list, or it
+ might loop over the list of addresses to find a working address. In
+ any case, the IPv6 network layer is never in a position where it
+ needs to choose a destination address from several alternatives. The
+ application might also specify a source address with bind(), but
+ often the source address is left unspecified. Therefore the IPv6
+ layer does often choose a source address from several alternatives.
+
+ As a consequence, we intend that implementations of
+ getipnodebyname() and getaddrinfo() will use the destination address
+
+Draves Standards Track - Expires May 2000 2
\f
-Default Address Selection for IPv6 October 22, 1999
-
-
- ordering algorithm specified here to sort the list of addresses that
- they return. Separately, the IPv6 network layer will use the source
- address selection algorithm when an application or upper-layer has
- not specified a source address.
-
- The algorithms use several criteria in making their decisions. The
- combined effect is to prefer destination/source address pairs for
- which the two addresses are of equal scope or type, prefer smaller
+Default Address Selection for IPv6 October 22, 1999
+
+
+ ordering algorithm specified here to sort the list of addresses that
+ they return. Separately, the IPv6 network layer will use the source
+ address selection algorithm when an application or upper-layer has
+ not specified a source address.
+
+ The algorithms use several criteria in making their decisions. The
+ combined effect is to prefer destination/source address pairs for
+ which the two addresses are of equal scope or type, prefer smaller
scopes over larger scopes for the destination address, prefer non-
- deprecated source addresses of sufficient scope to reach the
- destination, avoid the use of transitional addresses when native
- addresses are available, and all else being equal prefer address
- pairs having the longest possible common prefix.
-
- The framework optionally allows for the possibility of
- administrative configuration of policy that can override the default
- behavior of the algorithms. The policy override takes the form of a
- configurable table that provides precedence values and preferred
- source prefixes for destination prefixes. If an implementation is
- not configurable, or if an implementation has not been configured,
- then the default policy table specified in this document MUST be
- used.
-
-2.1. Scope Comparisons
-
- Multicast destination addresses have a 4-bit scope field that
- controls the propagation of the multicast packet. The IPv6
- addressing architecture defines scope field values for node-local
- (0x1), link-local (0x2), site-local (0x5), organization-local (0x8),
- and global (0xE) scopes.
-
- Application of the address selection algorithms in the presence of
- multicast destination addresses requires the comparison of a unicast
+ deprecated source addresses of sufficient scope to reach the
+ destination, avoid the use of transitional addresses when native
+ addresses are available, and all else being equal prefer address
+ pairs having the longest possible common prefix.
+
+ The framework optionally allows for the possibility of
+ administrative configuration of policy that can override the default
+ behavior of the algorithms. The policy override takes the form of a
+ configurable table that provides precedence values and preferred
+ source prefixes for destination prefixes. If an implementation is
+ not configurable, or if an implementation has not been configured,
+ then the default policy table specified in this document MUST be
+ used.
+
+2.1. Scope Comparisons
+
+ Multicast destination addresses have a 4-bit scope field that
+ controls the propagation of the multicast packet. The IPv6
+ addressing architecture defines scope field values for node-local
+ (0x1), link-local (0x2), site-local (0x5), organization-local (0x8),
+ and global (0xE) scopes.
+
+ Application of the address selection algorithms in the presence of
+ multicast destination addresses requires the comparison of a unicast
address scope with a multicast address scope. We map unicast link-
local to multicast link-local, unicast site-local to multicast site-
- local, and unicast global scope to multicast global scope. For
- example, unicast site-local is equal to multicast site-local, which
- is smaller than multicast organization-local, which is smaller than
- unicast global, which is equal to multicast global.
+ local, and unicast global scope to multicast global scope. For
+ example, unicast site-local is equal to multicast site-local, which
+ is smaller than multicast organization-local, which is smaller than
+ unicast global, which is equal to multicast global.
+
+ We write Scope(A) to mean the scope of address A. For example, if A
+ is a link-local unicast address and B is a site-local multicast
+ address, then Scope(A) < Scope(B).
- We write Scope(A) to mean the scope of address A. For example, if A
- is a link-local unicast address and B is a site-local multicast
- address, then Scope(A) < Scope(B).
+ This mapping implicitly conflates unicast site boundaries and
+ multicast site boundaries.
- This mapping implicitly conflates unicast site boundaries and
- multicast site boundaries.
+2.2. IPv4-Compatible Addresses and Other Format Prefixes
-2.2. IPv4-Compatible Addresses and Other Format Prefixes
+ For the purposes of this document, IPv4-compatible addresses have
+ global scope and "preferred" configuration status.
- For the purposes of this document, IPv4-compatible addresses have
- global scope and "preferred" configuration status.
-
-Draves Standards Track - Expires May 2000 3
+Draves Standards Track - Expires May 2000 3
\f
-Default Address Selection for IPv6 October 22, 1999
-
-
+Default Address Selection for IPv6 October 22, 1999
+
+
Similarly, NSAP addresses, IPX addresses, or addresses with as-yet-
- undefined format prefixes should be treated as having global scope
- and "preferred" configuration status. Later standards may supercede
- this treatment.
-
- The loopback address should be treated as having link-local scope
- and "preferred" configuration status.
-
-2.3. Policy Table
-
- The policy table is a longest-matching-prefix lookup table, like a
- routing table. Given an address A, a lookup in the policy table
- produces three values: a precedence value Precedence(A), a
- classification or label Label(A), and a second label
- MatchSrcLabel(A).
-
- The precedence value Precedence(A) is used for sorting destination
- addresses. If Precedence(A) > Precedence(B), we say that address A
- has higher precedence than address B, meaning that our algorithm
- will prefer to sort destination address A before destination address
- B.
-
- The labels Label(A) and MatchSrcLabel(A) allow for policies that
- prefer a particular source address prefix for use with a destination
- address prefix. The algorithms prefer to use a source address S with
- a destination address D if Label(S) = MatchSrcLabel(D).
-
- IPv6 implementations SHOULD support configurable address selection
- via a mechanism at least as powerful as the policy tables defined
- here. If an implementation is not configurable or has not been
- configured, then it MUST operate according to the algorithms
- specified here in conjunction with the following default policy
- table:
-
- Prefix Precedence Label MatchSrcLabel
- fe80::/10 40 1 1
- fec0::/10 30 2 2
- ::/0 20 3 3
- 2002::/16 10 4 4
- ::/96 10 5 5
-
- One effect of the default policy table is to prefer using native
- source addresses with native destination addresses, 6to4 source
- addresses with 6to4 destination addresses, and v4-compatible source
- addresses with v4-compatible destination addresses. Another effect
- of the default policy table is to prefer communication using native
- addresses to communication using either 6to4 or v4-compatible
- addresses, but not to express a preference for 6to4 addresses over
- v4-compatible addresses or vice-versa.
-
-
-
-
-
-Draves Standards Track - Expires May 2000 4
+ undefined format prefixes should be treated as having global scope
+ and "preferred" configuration status. Later standards may supercede
+ this treatment.
+
+ The loopback address should be treated as having link-local scope
+ and "preferred" configuration status.
+
+2.3. Policy Table
+
+ The policy table is a longest-matching-prefix lookup table, like a
+ routing table. Given an address A, a lookup in the policy table
+ produces three values: a precedence value Precedence(A), a
+ classification or label Label(A), and a second label
+ MatchSrcLabel(A).
+
+ The precedence value Precedence(A) is used for sorting destination
+ addresses. If Precedence(A) > Precedence(B), we say that address A
+ has higher precedence than address B, meaning that our algorithm
+ will prefer to sort destination address A before destination address
+ B.
+
+ The labels Label(A) and MatchSrcLabel(A) allow for policies that
+ prefer a particular source address prefix for use with a destination
+ address prefix. The algorithms prefer to use a source address S with
+ a destination address D if Label(S) = MatchSrcLabel(D).
+
+ IPv6 implementations SHOULD support configurable address selection
+ via a mechanism at least as powerful as the policy tables defined
+ here. If an implementation is not configurable or has not been
+ configured, then it MUST operate according to the algorithms
+ specified here in conjunction with the following default policy
+ table:
+
+ Prefix Precedence Label MatchSrcLabel
+ fe80::/10 40 1 1
+ fec0::/10 30 2 2
+ ::/0 20 3 3
+ 2002::/16 10 4 4
+ ::/96 10 5 5
+
+ One effect of the default policy table is to prefer using native
+ source addresses with native destination addresses, 6to4 source
+ addresses with 6to4 destination addresses, and v4-compatible source
+ addresses with v4-compatible destination addresses. Another effect
+ of the default policy table is to prefer communication using native
+ addresses to communication using either 6to4 or v4-compatible
+ addresses, but not to express a preference for 6to4 addresses over
+ v4-compatible addresses or vice-versa.
+
+
+
+
+
+Draves Standards Track - Expires May 2000 4
\f
-Default Address Selection for IPv6 October 22, 1999
-
-
-2.4. Candidate Source Addresses
-
- Both the destination address ordering algorithm and the source
- address selection algorithm use the concept of a "candidate set" of
- potential source addresses for a given destination address.
-
- We write CandidateSrc(A) to denote the candidate set for the address
- A. In some cases the destination address A may be qualified with a
- scope-id or other information that will constrain the candidate set.
+Default Address Selection for IPv6 October 22, 1999
+
+
+2.4. Candidate Source Addresses
+
+ Both the destination address ordering algorithm and the source
+ address selection algorithm use the concept of a "candidate set" of
+ potential source addresses for a given destination address.
+
+ We write CandidateSrc(A) to denote the candidate set for the address
+ A. In some cases the destination address A may be qualified with a
+ scope-id or other information that will constrain the candidate set.
We write PreferSrc(A) to denote the subset of preferred (non-
- deprecated) addresses in CandidateSrc(A) We write MatchSrc(A) to
- denote the subset of addresses S in PreferSrc(A) for which Label(S)
- = MatchSrcLabel(A).
-
- The destination address ordering algorithm and the source address
- selection algorithm specify somewhat different definitions for
- CandidateSrc(A). This is because the two algorithms operate in
- different environments. The source address selection algorithm
- assumes that an outgoing interface for a packet has already been
- selected, while the destination address ordering algorithm does not
- assume that knowledge. Therefore the destination address ordering
- algorithm uses a broader or more-inclusive definition of
- CandidateSrc(A).
-
- In any case, anycast addresses, multicast addresses, and the
- unspecified address MUST NOT be included in a candidate set.
-
-2.5. Common Prefix Length
-
- We define the common prefix length CommonPrefixLen(A, B) of two
- addresses A and B as the length of the longest prefix that the two
- addresses have in common. It ranges from 0 to 128.
-
- We define the maximum common prefix length MaxCommonPrefixLen(A, X)
- of an address A and a non-empty set of addresses X as the maximum of
- CommonPrefixLen(A, B) for addresses B in the set X.
-
-3. Destination Address Ordering
-
- The destination address ordering algorithm takes a list of
- destination addresses and sorts the addresses to produce a new list.
- It is specified here in terms of the pair-wise comparison of
- addresses DA and DB, where DA appears before DB in the original
- list.
-
- The pair-wise comparison consists of four rules, which MUST be
- applied in order. If a rule determines a result, then the remaining
- rules are not relevant and MUST be ignored. Subsequent rules act as
- tie-breakers for earlier rules.
-
- Rule 1: If MatchSrc(DA) is non-empty and MatchSrc(DB) is empty, then
- sort DA before DB. Similarly, if MatchSrc(DA) is empty and
- MatchSrc(DB) is non-empty, then sort DB before DA.
-
-Draves Standards Track - Expires May 2000 5
+ deprecated) addresses in CandidateSrc(A) We write MatchSrc(A) to
+ denote the subset of addresses S in PreferSrc(A) for which Label(S)
+ = MatchSrcLabel(A).
+
+ The destination address ordering algorithm and the source address
+ selection algorithm specify somewhat different definitions for
+ CandidateSrc(A). This is because the two algorithms operate in
+ different environments. The source address selection algorithm
+ assumes that an outgoing interface for a packet has already been
+ selected, while the destination address ordering algorithm does not
+ assume that knowledge. Therefore the destination address ordering
+ algorithm uses a broader or more-inclusive definition of
+ CandidateSrc(A).
+
+ In any case, anycast addresses, multicast addresses, and the
+ unspecified address MUST NOT be included in a candidate set.
+
+2.5. Common Prefix Length
+
+ We define the common prefix length CommonPrefixLen(A, B) of two
+ addresses A and B as the length of the longest prefix that the two
+ addresses have in common. It ranges from 0 to 128.
+
+ We define the maximum common prefix length MaxCommonPrefixLen(A, X)
+ of an address A and a non-empty set of addresses X as the maximum of
+ CommonPrefixLen(A, B) for addresses B in the set X.
+
+3. Destination Address Ordering
+
+ The destination address ordering algorithm takes a list of
+ destination addresses and sorts the addresses to produce a new list.
+ It is specified here in terms of the pair-wise comparison of
+ addresses DA and DB, where DA appears before DB in the original
+ list.
+
+ The pair-wise comparison consists of four rules, which MUST be
+ applied in order. If a rule determines a result, then the remaining
+ rules are not relevant and MUST be ignored. Subsequent rules act as
+ tie-breakers for earlier rules.
+
+ Rule 1: If MatchSrc(DA) is non-empty and MatchSrc(DB) is empty, then
+ sort DA before DB. Similarly, if MatchSrc(DA) is empty and
+ MatchSrc(DB) is non-empty, then sort DB before DA.
+
+Draves Standards Track - Expires May 2000 5
\f
-Default Address Selection for IPv6 October 22, 1999
-
-
- Rule 2: If Precedence(A) > Precedence(B), then sort DA before DB.
- Similarly, if Precedence(B) > Precedence(A), then sort DB before DA.
-
- Rule 3: If MatchSrc(DA) and MatchSrc(DB) are both non-empty. If
- MaxCommonPrefixLen(DA, MatchSrc(DA)) > MaxCommonPrefixLen(DB,
- MatchSrc(DB)), then sort DA before DB. Similarly, if
- MaxCommonPrefixLen(DB, MatchSrc(DB)) > MaxCommonPrefixLen(DA,
- MatchSrc(DA)), then sort DB before DA.
-
- Rule 4: Sort DA before DB.
-
- The third and fourth rules MAY be superceded if the implementation
- has other means of sorting destination addresses. For example, if
- the implementation somehow knows which destination addresses will
- result in the "best" communications performance.
-
-3.1. Candidate Source Addresses
-
- For the purposes of destination address ordering, the candidate set
- of source addresses CandidateSrc(D) for a destination address D
- SHOULD contain all and only the unicast addresses assigned to
- interfaces that might be used to send to the destination D.
-
- For example, if the address D is a link-local unicast address that
- is qualified with a scope-id value specifying a particular
- interface, then CandidateSrc(D) SHOULD contain all and only the
- unicast addresses assigned to that interface.
-
- For example, if the address D is a global scope unicast address,
- then CandidateSrc(D) MAY contain every unicast address assigned to
- all interfaces. However if the implementation wishes to consult a
- routing table and determine a likely outgoing interface, then
- CandidateSrc(D) MAY contain only unicast addresses assigned to that
- outgoing interface.
-
-4. Source Address Selection
-
- The source address selection algorithm chooses a source address for
- use with a destination address D. It is specified here in terms of
- the pair-wise comparison of addresses SA and SB. The pair-wise
- comparison can be used to select an address from the set
- CandidateSrc(D).
-
- The pair-wise comparison consists of six rules, which MUST be
- applied in order. If a rule chooses an address, then the remaining
- rules are not relevant and MUST be ignored. Subsequent rules act as
- tie-breakers for earlier rules. If the six rules fail to choose an
- address, some unspecified tie-breaker MUST be used.
-
- Rule 1: If SA is in MatchSrc(D) and SB is not, then choose SA.
- Similarly, if SB is in MatchSrc(D) and SA is not, then choose SB.
-
-
-
-Draves Standards Track - Expires May 2000 6
+Default Address Selection for IPv6 October 22, 1999
+
+
+ Rule 2: If Precedence(A) > Precedence(B), then sort DA before DB.
+ Similarly, if Precedence(B) > Precedence(A), then sort DB before DA.
+
+ Rule 3: If MatchSrc(DA) and MatchSrc(DB) are both non-empty. If
+ MaxCommonPrefixLen(DA, MatchSrc(DA)) > MaxCommonPrefixLen(DB,
+ MatchSrc(DB)), then sort DA before DB. Similarly, if
+ MaxCommonPrefixLen(DB, MatchSrc(DB)) > MaxCommonPrefixLen(DA,
+ MatchSrc(DA)), then sort DB before DA.
+
+ Rule 4: Sort DA before DB.
+
+ The third and fourth rules MAY be superceded if the implementation
+ has other means of sorting destination addresses. For example, if
+ the implementation somehow knows which destination addresses will
+ result in the "best" communications performance.
+
+3.1. Candidate Source Addresses
+
+ For the purposes of destination address ordering, the candidate set
+ of source addresses CandidateSrc(D) for a destination address D
+ SHOULD contain all and only the unicast addresses assigned to
+ interfaces that might be used to send to the destination D.
+
+ For example, if the address D is a link-local unicast address that
+ is qualified with a scope-id value specifying a particular
+ interface, then CandidateSrc(D) SHOULD contain all and only the
+ unicast addresses assigned to that interface.
+
+ For example, if the address D is a global scope unicast address,
+ then CandidateSrc(D) MAY contain every unicast address assigned to
+ all interfaces. However if the implementation wishes to consult a
+ routing table and determine a likely outgoing interface, then
+ CandidateSrc(D) MAY contain only unicast addresses assigned to that
+ outgoing interface.
+
+4. Source Address Selection
+
+ The source address selection algorithm chooses a source address for
+ use with a destination address D. It is specified here in terms of
+ the pair-wise comparison of addresses SA and SB. The pair-wise
+ comparison can be used to select an address from the set
+ CandidateSrc(D).
+
+ The pair-wise comparison consists of six rules, which MUST be
+ applied in order. If a rule chooses an address, then the remaining
+ rules are not relevant and MUST be ignored. Subsequent rules act as
+ tie-breakers for earlier rules. If the six rules fail to choose an
+ address, some unspecified tie-breaker MUST be used.
+
+ Rule 1: If SA is in MatchSrc(D) and SB is not, then choose SA.
+ Similarly, if SB is in MatchSrc(D) and SA is not, then choose SB.
+
+
+
+Draves Standards Track - Expires May 2000 6
\f
-Default Address Selection for IPv6 October 22, 1999
-
-
- Rule 2: If SA is equal to D, then choose SA. Similarly, if SB is
- equal to D, then choose SB.
-
- Rule 3a: If Scope(SA) < Scope(SB). If Scope(SA) < Scope(D), then
- choose SB. Otherwise, if one of the source addresses is "preferred"
- and one of them is "deprecated", then choose the "preferred"
- address. Otherwise, choose SA.
-
- Rule 3b: Similarly, if Scope(SB) < Scope(SA). If Scope(SB) <
- Scope(D), then choose SA. Otherwise, if one of the source addresses
- is "preferred" and one of them is "deprecated", then choose the
- "preferred" address. Otherwise, choose SB.
-
- Rule 4: The addresses SA and SB have the same scope. If one of the
- source addresses is "preferred" and one of them is "deprecated", an
- implementation MUST choose the one that is preferred.
-
- Rule 5: If Label(SA) = MatchSrcLabel(D) and Label(SB) <>
- MatchSrcLabel(D), then choose SA. Similarly, if Label(SA) <>
- MatchSrcLabel(D) and Label(SB) = MatchSrcLabel(D), then choose SB.
- (Note that this rule will apply only when both SA and SB are
- deprecated.)
-
- Rule 6: If CommonPrefixLen(SA, D) > CommonPrefixLen(SB, D), then
- choose SA. Similarly, if CommonPrefixLen(SB, D) >
- CommonPrefixLen(SA, D), then choose SB.
-
- The sixth rule MAY be superceded if the implementation has other
- means of choosing among source addresses. For example, if the
- implementation somehow knows which source address will result in the
- "best" communications performance.
-
-4.1. Candidate Source Addresses
-
- For the purposes of source address selection, the candidate set of
- source addresses CandidateSrc(D) for a destination address D MUST
- contain all and only the unicast addresses assigned to the interface
- that will be used to send to the destination D.
-
-5. Interactions with Routing
-
- All IPv6 nodes, including both hosts and routers, MUST conform to
- this specification.
-
- This specification of source address selection implies that routing
- (more precisely, selecting an outgoing interface on a node with
- multiple interfaces) is done before source address selection.
- However, implementations MAY use source address considerations as a
- tiebreaker when choosing among otherwise equivalent routes.
-
- For example, suppose a node has interfaces on two different links,
- with both links having a working default router. One of the
- interfaces has a preferred global address and the other interface
-
-Draves Standards Track - Expires May 2000 7
+Default Address Selection for IPv6 October 22, 1999
+
+
+ Rule 2: If SA is equal to D, then choose SA. Similarly, if SB is
+ equal to D, then choose SB.
+
+ Rule 3a: If Scope(SA) < Scope(SB). If Scope(SA) < Scope(D), then
+ choose SB. Otherwise, if one of the source addresses is "preferred"
+ and one of them is "deprecated", then choose the "preferred"
+ address. Otherwise, choose SA.
+
+ Rule 3b: Similarly, if Scope(SB) < Scope(SA). If Scope(SB) <
+ Scope(D), then choose SA. Otherwise, if one of the source addresses
+ is "preferred" and one of them is "deprecated", then choose the
+ "preferred" address. Otherwise, choose SB.
+
+ Rule 4: The addresses SA and SB have the same scope. If one of the
+ source addresses is "preferred" and one of them is "deprecated", an
+ implementation MUST choose the one that is preferred.
+
+ Rule 5: If Label(SA) = MatchSrcLabel(D) and Label(SB) <>
+ MatchSrcLabel(D), then choose SA. Similarly, if Label(SA) <>
+ MatchSrcLabel(D) and Label(SB) = MatchSrcLabel(D), then choose SB.
+ (Note that this rule will apply only when both SA and SB are
+ deprecated.)
+
+ Rule 6: If CommonPrefixLen(SA, D) > CommonPrefixLen(SB, D), then
+ choose SA. Similarly, if CommonPrefixLen(SB, D) >
+ CommonPrefixLen(SA, D), then choose SB.
+
+ The sixth rule MAY be superceded if the implementation has other
+ means of choosing among source addresses. For example, if the
+ implementation somehow knows which source address will result in the
+ "best" communications performance.
+
+4.1. Candidate Source Addresses
+
+ For the purposes of source address selection, the candidate set of
+ source addresses CandidateSrc(D) for a destination address D MUST
+ contain all and only the unicast addresses assigned to the interface
+ that will be used to send to the destination D.
+
+5. Interactions with Routing
+
+ All IPv6 nodes, including both hosts and routers, MUST conform to
+ this specification.
+
+ This specification of source address selection implies that routing
+ (more precisely, selecting an outgoing interface on a node with
+ multiple interfaces) is done before source address selection.
+ However, implementations MAY use source address considerations as a
+ tiebreaker when choosing among otherwise equivalent routes.
+
+ For example, suppose a node has interfaces on two different links,
+ with both links having a working default router. One of the
+ interfaces has a preferred global address and the other interface
+
+Draves Standards Track - Expires May 2000 7
\f
-Default Address Selection for IPv6 October 22, 1999
-
-
- only has a deprecated global address. When sending to a global
- destination address, if there's no routing reason to prefer one
- interface over the other, then an implementation MAY preferentially
- choose the outgoing interface that will allow it to use the
- preferred global source address.
-
-6. Interactions with Mobility
-
- TBD
-
-7. Implementation Considerations
-
- The destination address ordering algorithm needs information about
- potential source addresses. One possible implementation strategy is
- for getipnodebyname() and getaddrinfo() to call down to the IPv6
- network layer with a list of destination addresses, sort the list in
- the network layer with full current knowledge of available source
- addresses, and return the sorted list to getipnodebyname() or
- getaddrinfo(). This is simple but it introduces overhead.
-
- Another implementation strategy is to call down to the network layer
- to retrieve source address information and then sort the list of
- addresses directly in the context of getipnodebyname() or
- getaddrinfo(). To reduce overhead in this approach, the source
- address information SHOULD be cached, amortizing the overhead of
- retrieving it across multiple calls to getipnodebyname() and
- getaddrinfo(). If an implementation uses cached and possibly stale
- source address information in its implementation of destination
- address ordering, then it MUST ensure that the source address
- information is no more than one second out of date.
-
-8. Security Considerations
-
- This document has no direct impact on Internet infrastructure
- security.
-
-References
-
- 1 S. Bradner, "The Internet Standards Process -- Revision 3", BCP
- 9, RFC 2026, October 1996.
-
- 2 R. Hinden, S. Deering, "IP Version 6 Addressing Architecture",
- RFC 2373, July 1998.
-
- 3 S. Thompson, T. Narten, "IPv6 Stateless Address
- Autoconfiguration", RFC 2462 , December 1998.
-
- 4 S. Bradner, "Key words for use in RFCs to Indicate Requirement
- Levels", BCP 14, RFC 2119, March 1997.
-
- 5 R. Gilligan, S. Thomson, J. Bound, W. Stevens, "Basic Socket
- Interface Extensions for IPv6", RFC 2553, March 1999.
-
-
-Draves Standards Track - Expires May 2000 8
+Default Address Selection for IPv6 October 22, 1999
+
+
+ only has a deprecated global address. When sending to a global
+ destination address, if there's no routing reason to prefer one
+ interface over the other, then an implementation MAY preferentially
+ choose the outgoing interface that will allow it to use the
+ preferred global source address.
+
+6. Interactions with Mobility
+
+ TBD
+
+7. Implementation Considerations
+
+ The destination address ordering algorithm needs information about
+ potential source addresses. One possible implementation strategy is
+ for getipnodebyname() and getaddrinfo() to call down to the IPv6
+ network layer with a list of destination addresses, sort the list in
+ the network layer with full current knowledge of available source
+ addresses, and return the sorted list to getipnodebyname() or
+ getaddrinfo(). This is simple but it introduces overhead.
+
+ Another implementation strategy is to call down to the network layer
+ to retrieve source address information and then sort the list of
+ addresses directly in the context of getipnodebyname() or
+ getaddrinfo(). To reduce overhead in this approach, the source
+ address information SHOULD be cached, amortizing the overhead of
+ retrieving it across multiple calls to getipnodebyname() and
+ getaddrinfo(). If an implementation uses cached and possibly stale
+ source address information in its implementation of destination
+ address ordering, then it MUST ensure that the source address
+ information is no more than one second out of date.
+
+8. Security Considerations
+
+ This document has no direct impact on Internet infrastructure
+ security.
+
+References
+
+ 1 S. Bradner, "The Internet Standards Process -- Revision 3", BCP
+ 9, RFC 2026, October 1996.
+
+ 2 R. Hinden, S. Deering, "IP Version 6 Addressing Architecture",
+ RFC 2373, July 1998.
+
+ 3 S. Thompson, T. Narten, "IPv6 Stateless Address
+ Autoconfiguration", RFC 2462 , December 1998.
+
+ 4 S. Bradner, "Key words for use in RFCs to Indicate Requirement
+ Levels", BCP 14, RFC 2119, March 1997.
+
+ 5 R. Gilligan, S. Thomson, J. Bound, W. Stevens, "Basic Socket
+ Interface Extensions for IPv6", RFC 2553, March 1999.
+
+
+Draves Standards Track - Expires May 2000 8
\f
-Acknowledgments
+Acknowledgments
- The author would like to acknowledge the contributions of the IPng
- Working Group.
+ The author would like to acknowledge the contributions of the IPng
+ Working Group.
-Author's Address
+Author's Address
- Richard Draves
- Microsoft Research
- One Microsoft Way
- Redmond, WA 98052
- Email: richdr@microsoft.com
+ Richard Draves
+ Microsoft Research
+ One Microsoft Way
+ Redmond, WA 98052
+ Email: richdr@microsoft.com
-Revision History
+Revision History
-Changes from draft-draves-ipngw-simple-srcaddr-01
+Changes from draft-draves-ipngw-simple-srcaddr-01
- Added framework discussion.
+ Added framework discussion.
- Added algorithm for destination address ordering.
+ Added algorithm for destination address ordering.
- Added mechanism to allow the specification of administrative policy
- that can override the default behavior.
+ Added mechanism to allow the specification of administrative policy
+ that can override the default behavior.
- Added section on routing interactions and TBD section on mobility
- interactions.
+ Added section on routing interactions and TBD section on mobility
+ interactions.
- Changed the candidate set definition for source address selection,
- so that only addresses assigned to the outgoing interface are
- allowed.
+ Changed the candidate set definition for source address selection,
+ so that only addresses assigned to the outgoing interface are
+ allowed.
- Changed the loopback address treatment to link-local scope.
+ Changed the loopback address treatment to link-local scope.
-Changes from draft-draves-ipngw-simple-srcaddr-00
+Changes from draft-draves-ipngw-simple-srcaddr-00
- Minor wording changes because DHCPv6 also supports "preferred" and
- "deprecated" addresses.
+ Minor wording changes because DHCPv6 also supports "preferred" and
+ "deprecated" addresses.
- Specified treatment of other format prefixes; now they are
- considered global scope, "preferred" addresses.
+ Specified treatment of other format prefixes; now they are
+ considered global scope, "preferred" addresses.
- Reiterated that anycast and multicast addresses are not allowed as
- source addresses.
+ Reiterated that anycast and multicast addresses are not allowed as
+ source addresses.
- Recommended that source addresses be taken from the outgoing
- interface. Required this for multicast destinations. Added analogous
- requirements for link-local and site-local destinations.
+ Recommended that source addresses be taken from the outgoing
+ interface. Required this for multicast destinations. Added analogous
+ requirements for link-local and site-local destinations.
- Specified treatment of the loopback address.
+ Specified treatment of the loopback address.
- Changed the second selection rule so that if both candidate source
- addresses have scope greater or equal than the destination address
- and only of them is preferred, the preferred address is chosen.
+ Changed the second selection rule so that if both candidate source
+ addresses have scope greater or equal than the destination address
+ and only of them is preferred, the preferred address is chosen.
-
-Draves Standards Track - Expires May 2000 9
+
+Draves Standards Track - Expires May 2000 9
\f
-Default Address Selection for IPv6 October 22, 1999
-
-
- Full Copyright Statement
+Default Address Selection for IPv6 October 22, 1999
+
+
+ Full Copyright Statement
+
+ Copyright (C) The Internet Society (1999). All Rights Reserved.
- Copyright (C) The Internet Society (1999). All Rights Reserved.
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph
+ are included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
- This document and translations of it may be copied and furnished to
- others, and derivative works that comment on or otherwise explain it
- or assist in its implementation may be prepared, copied, published
- and distributed, in whole or in part, without restriction of any
- kind, provided that the above copyright notice and this paragraph
- are included on all such copies and derivative works. However, this
- document itself may not be modified in any way, such as by removing
- the copyright notice or references to the Internet Society or other
- Internet organizations, except as needed for the purpose of
- developing Internet standards in which case the procedures for
- copyrights defined in the Internet Standards process must be
- followed, or as required to translate it into languages other than
- English.
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
- The limited permissions granted above are perpetual and will not be
- revoked by the Internet Society or its successors or assigns.
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- This document and the information contained herein is provided on an
- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-
-Draves Standards Track - Expires May 2000 10
+Draves Standards Track - Expires May 2000 10
\f
in [TSIG]. The data to be passed to the signature routine includes
the whole DNS message with specific TSIG variables appended. For the
exact format, see [TSIG]. For this protocol, use the following
-TSIG variable values:
+TSIG variable values:
TSIG Record
NAME = key_name that identifies this context
Abstract
-The Domain Name System standard specifies that names are represented
-using the ASCII character encoding. This document expands that
+The Domain Name System standard specifies that names are represented
+using the ASCII character encoding. This document expands that
specification to allow the use of the UTF-8 character encoding, a
superset of ASCII and a translation of the UCS-2 character encoding.
4. Security Considerations
The choice of character encoding for names does not impact the
-security of the DNS protocol.
+security of the DNS protocol.
5. Acknowledgements
[RFC1035] P.V. Mockapetris, "Domain Names - Implementation and
Specification," RFC 1035, ISI, Nov 1987.
-[RFC2044] F. Yergeau, "UTF-8, a transformation format of Unicode
+[RFC2044] F. Yergeau, "UTF-8, a transformation format of Unicode
and ISO 10646," RFC 2044, Alis Technologies, Oct 1996.
[RFC1958] B. Carpenter, "Architectural Principles of the
[RFC1123] R. Braden, "Requirements for Internet Hosts -
Application and Support," STD 3, RFC 1123, January 1989.
-[RFC2130] C. Weider et. al., "The Report of the IAB Character
+[RFC2130] C. Weider et. al., "The Report of the IAB Character
Set Workshop held 29 February - 1 March 1996",
RFC 2130, Apr 1997.
-[RFC2181] R. Elz and R. Bush, "Clarifications to the DNS
+[RFC2181] R. Elz and R. Bush, "Clarifications to the DNS
Specification," RFC 2181, University of Melbourne and
RGnet Inc, July 1997.
Drafts.
Internet-Drafts are draft documents valid for a maximum of six
- months and may be updated, replaced, or obsoleted by other
+ months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet-Drafts
as reference material or to cite them other than as ``work in
progress.''
to enable a DNS zone to provide online dynamic update and at the
same time, maintain the zone's security including role separation
- and intrusion tolerance against insider and outsider attacks.
- Threshold digital signature is used to implement the proposed
+ and intrusion tolerance against insider and outsider attacks.
+ Threshold digital signature is used to implement the proposed
architecture.
1 - Introduction
distinguishes itself in that it provides high security
for a zone when allowing it support online dynamic update.
- Familiarity with the DNS system [RFC1034, RFC1035], DNS
+ Familiarity with the DNS system [RFC1034, RFC1035], DNS
Security Extension [RFC2535], dynamic update [RFC2136] and
secure dynamic update [RFC2137] is helpful and is assumed by
this document.
has been pointed out that DNS dynamic updates, which enable
real-time changes (that is, add, delete, or update) in
name/address bindings, are useful under many circumstances
- [Liu99,RFC2136]. (For example, such an update allows a
+ [Liu99,RFC2136]. (For example, such an update allows a
Wang, Huang & Rine [Page 2]
\f
be computed online. It is worthwhile to note that although
a DNS dynamic update requestor is communicating with a name
server, the name server itself has no rights to update the
- zone data. Instead, it is the zone private key, instead of
+ zone data. Instead, it is the zone private key, instead of
the name server's private key, that is needed in the dynamic
update.
private key is not kept online, zone transfer security is
not automatically provided for dynamically added RRs, where
they could be omitted, and authorization is not provided for
- the server denial of the existence of a dynamically added
+ the server denial of the existence of a dynamically added
type [RFC2137]. In this sense, this mode is not a genuine
DNS dynamic update. In mode B, on the other hand, the zone
private key is kept online at the zone primary name server;
principle and making it possible for the name server
administrator to abuse his/her power. (The importance of fending
off insider attacks has been emphasized by the security
- community [RFC2196].)
+ community [RFC2196].)
2 - The Secure On-line DNS Dynamic Update Architecture
2.1 - Background: Threshold Cryptography
- Threshold cryptography is a branch of cryptography that
+ Threshold cryptography is a branch of cryptography that
enables a group of n members, 1,2, ..., n, to act as a single
communication party, using one pair of public and private keys
[Des87,Des94,Des97]. Similar to the traditional public key
INTERNET-DRAFT June 2000
- a corresponding key sharing mechanism must be devised.) To
+ a corresponding key sharing mechanism must be devised.) To
perform a cryptographic computation (such as decryption, signing,
identification, etc.) on message m with key K_private, b,
b <= n , group members will be required. Each member will compute
to produce the final result. The combiner is not necessarily to
be trusted. Note that during this whole process the shared
private key, K_private, is never reconstructed. Further,
- threshold cryptography requires that the shared private key
+ threshold cryptography requires that the shared private key
cannot be reconstructed from any t < b group members.
Practical threshold cryptography for RSA and DSS have been
| Name Server |
+-----------------+
- In the above proposed architecture, we assume that there exist
- (n-1), n >= 2, machines in a given DNS zone that are under the
- control of the zone manager, but not under the control of the
- name server administrators. These machines are called the
+ In the above proposed architecture, we assume that there exist
+ (n-1), n >= 2, machines in a given DNS zone that are under the
+ control of the zone manager, but not under the control of the
+ name server administrators. These machines are called the
zone-security servers.
Using a threshold cryptography scheme with n > t >= 1, the
zone private key is shared among the (n-1) zone-security servers
and the primary name server. To update zone's data dynamically,
some of the servers will be needed. Let b > t be the number of
- zone private key shares needed in the computation of the
+ zone private key shares needed in the computation of the
signature of an RR. Since b >= 2, any change to the zone data
- will need the cooperation of at least one zone-security server;
+ will need the cooperation of at least one zone-security server;
Wang, Huang & Rine [Page 4]
INTERNET-DRAFT June 2000
- the name server administrator will have no way to modify the
+ the name server administrator will have no way to modify the
digitally signed zone data. Thus, the role separation principle
holds. Moreover, the above architecture enhances intrusion
tolerance of DNS.
A DNS system is said to be k-intrusion-tolerant against an
- entity, E, if breaking into k servers (including the
- zone-security servers and the DNS name servers, if applicable)
- that are outside E's control will not help E gain any knowledge
- of the zone private key. A DNS system is said to be intrusion
- tolerant against an outsider (insider) if it is at least
- 1-intrusion-tolerant against the outsider (insider). The
- architecture proposed in this document can be configured to be
+ entity, E, if breaking into k servers (including the
+ zone-security servers and the DNS name servers, if applicable)
+ that are outside E's control will not help E gain any knowledge
+ of the zone private key. A DNS system is said to be intrusion
+ tolerant against an outsider (insider) if it is at least
+ 1-intrusion-tolerant against the outsider (insider). The
+ architecture proposed in this document can be configured to be
intrusion tolerant against outside and inside attackers.
Intrusion tolerance against outsider attacks. In the
architecture, the zone private key cannot be recovered from
- any single location, thus, making the system intrusion
+ any single location, thus, making the system intrusion
tolerant against an outside attacker. That is, even when an
outside attacker manages to corrupt l, l <= t, of relevant
servers (including the name servers and the zone-security
- servers), secrecy of the zone private key is still
+ servers), secrecy of the zone private key is still
maintained.
Intrusion tolerance against insider attacks. The presence of
zone security servers and the necessity of their involvement
- in signature computations constitute a defense line
- against insider attacks, in particular, attacks from name
- server administrators. Clearly, a hostile name server
- administrator must break into at least t zone security
- servers (to get access to the respective key shares) in
+ in signature computations constitute a defense line
+ against insider attacks, in particular, attacks from name
+ server administrators. Clearly, a hostile name server
+ administrator must break into at least t zone security
+ servers (to get access to the respective key shares) in
order to perform unauthorized RR signature computations.
3 - Implementation Details
[RFC2535] defines two types of SIG records, the DSA SIG and
- the RSA/MD5 SIG. The important configuration and implementation
- aspects of our proposed architecture with respect to these two types
+ the RSA/MD5 SIG. The important configuration and implementation
+ aspects of our proposed architecture with respect to these two types
of SIGs are given next. In the following statement,
the primary name server will be referred to as server 0 and the
- (n-1) zone-security servers will be referred to as servers
+ (n-1) zone-security servers will be referred to as servers
1, 2, ... , (n-1).
3.1 - Example Configurations
- The following table gives some representative configurations, in
- terms of t and n, to achieve the above security levels in
- different application cases.
+ The following table gives some representative configurations, in
+ terms of t and n, to achieve the above security levels in
+ different application cases.
Wang, Huang & Rine [Page 5]
+----------------------------+----------------------------+
| | RSA/MD5 SIG | DSA SIG |
- | SECURITY LEVEL +-------------+--------------+
+ | SECURITY LEVEL +-------------+--------------+
| | 1-2 | 2-4 | 1-3 | 2-5 |
+----------------------------+-----+-------+-------+------+
|Intrusion tolerant against | | | | |
Assume that, in RSA, the zone's private key is d and its
public key is (e, N). Phi(N) is the Euler function of N, i.e.,
- phi(N) = (p-1)(q-1) where N = p * q. We use the threshold
+ phi(N) = (p-1)(q-1) where N = p * q. We use the threshold
digital signature scheme given in [DDB94] and now give
- how the zone private key is shared and how to generate a
+ how the zone private key is shared and how to generate a
RSA/MD5 SIG RR online.
The 1-2 case. In this case, the zone manager generates a random,
To generate a RSA/MD5 SIG, any 3 of the 4 servers will be
- needed. For example, if the primary name server and the
+ needed. For example, if the primary name server and the
zone-security servers 1 and 2 are present (the (0,1,2) case in
- the above table), the three servers will compute m^d1 mod N,
+ the above table), the three servers will compute m^d1 mod N,
m^d2 mod N, and m^d3 mod N respectively. After that any one of
- them can combine the partial results to produce
+ them can combine the partial results to produce
m^d1 * m^d2 * m^d3 mod N = m^d mod N, the digital signature of
m by the zone private key. Other possibilities of computing
the signature of m are summarized in the above table.
5 - Security considerations
- This document proposes an architecture to allow a DNS zone to
+ This document proposes an architecture to allow a DNS zone to
provide secure online DNS dynamic update. It uses threshold
digital signature to maintain the role separation principle and can
also provide intrusion tolerance against both outside attackers
7 - References
- [DDB94] Y. Desmedt, G. Di Crescenzo, and M. Burmester.
+ [DDB94] Y. Desmedt, G. Di Crescenzo, and M. Burmester.
``Multiplicative nonabelian sharing schemes and their
- application to threshold cryptography''. In J. Pieprzyk
+ application to threshold cryptography''. In J. Pieprzyk
and R. SafaviNaini, editors, Advances in Cryptology -
- Asiacrypt '94, volume 917 of Lecture Notes in Computer
- Science, pages 21--32, Wollongong, Australia,
- November/December 1994. Springer-Verlag.
+ Asiacrypt '94, volume 917 of Lecture Notes in Computer
+ Science, pages 21--32, Wollongong, Australia,
+ November/December 1994. Springer-Verlag.
- [Des87] Y. Desmedt. ``Society and group oriented cryptography:
+ [Des87] Y. Desmedt. ``Society and group oriented cryptography:
a new concept''. In C. Pomerance, editor, Advances in
- Cryptology, Proc. of Crypto '87, volume 293 of Lecture
- Notes in Computer Science, pages 120--127, Santa Barbara,
+ Cryptology, Proc. of Crypto '87, volume 293 of Lecture
+ Notes in Computer Science, pages 120--127, Santa Barbara,
California, U.S.A., August 16--20, 1988. Springer-Verlag.
[Des94] Y. Desmedt. ``Threshold cryptography''. European Trans.
on Telecommunications, 5(4):449--457, July-August 1994.
- [Des97] Y. Desmedt. ``Some recent research aspects of threshold
- cryptography''. In E. Okamoto, G. Davida, and M. Mambo,
- editors, Information Security, volume 1396 of Lecture
- Notes in Computer Science, pages 158--173, Tatsunokuchi,
- Ishikawa, Japan, September 1997. Springer-Verlag.
+ [Des97] Y. Desmedt. ``Some recent research aspects of threshold
+ cryptography''. In E. Okamoto, G. Davida, and M. Mambo,
+ editors, Information Security, volume 1396 of Lecture
+ Notes in Computer Science, pages 158--173, Tatsunokuchi,
+ Ishikawa, Japan, September 1997. Springer-Verlag.
- [DSA2] National Institute for Standards and Technology.
- ``Digital signature standard (DSS)'', February 2000.
+ [DSA2] National Institute for Standards and Technology.
+ ``Digital signature standard (DSS)'', February 2000.
- [GJKR96b] R. Gennaro, S. Jarecki, H. Krawczyk, and T. Rabin.
+ [GJKR96b] R. Gennaro, S. Jarecki, H. Krawczyk, and T. Rabin.
``Robust threshold DSS signatures''. In U. Maurer,
- editor, Advances in Cryptology - Eurocrypt '96,
- volume 1070 of Lecture Notes in Computer Science,
- pages 354-371, Zaragoza, Spain, May 12--16 1996.
- Springer-Verlag.
+ editor, Advances in Cryptology - Eurocrypt '96,
+ volume 1070 of Lecture Notes in Computer Science,
+ pages 354-371, Zaragoza, Spain, May 12--16 1996.
+ Springer-Verlag.
- [GMP] T. Granlund. ``GNU MP''. Source code available from
- http://www.gnu.org/manual/gmp/index.html.
+ [GMP] T. Granlund. ``GNU MP''. Source code available from
+ http://www.gnu.org/manual/gmp/index.html.
- [Liu99] C. Liu. ``Securing an Internet name server''.
- Presentation, 1999. Available at
+ [Liu99] C. Liu. ``Securing an Internet name server''.
+ Presentation, 1999. Available at
http://www.acmebw.com/papers/securing.pdf.
- [RFC1034] P. Mockapetris, ``Domain Names - Concepts and
+ [RFC1034] P. Mockapetris, ``Domain Names - Concepts and
Facilities,'' RFC 1034, ISI, November 1987.
[RFC1035] P. Mockapetris, ``Domain Names - Implementation and
Specification,'' RFC 1035, ISI, November 1987.
[RFC2136] P. Vixie (Ed.), S. Thomson, Y. Rekhter, J. Bound ``Dynamic
- Updates in the Domain Name System,'' RFC 2136, ISC &
+ Updates in the Domain Name System,'' RFC 2136, ISC &
Bellcore & Cisco & DEC, April 1997.
- [RFC2137] D. Eastlake ``Secure Domain Name System Dynamic Update,''
+ [RFC2137] D. Eastlake ``Secure Domain Name System Dynamic Update,''
RFC 2137, CyberCash, April 1997.
[RFC2196] B. Fraser. ``Site Security Handbook,'' RFC2196, September
1997.
- [RFC2535] D. Eastlake, ``Domain Name System Security Extensions,''
+ [RFC2535] D. Eastlake, ``Domain Name System Security Extensions,''
RFC 2535, IBM, March 1999.
- [SBM99] R. Sandhu, V. Bhamidipati, and Q. Munawer. ``The ARBAC97
- model for role-based administration of roles''. ACM
+ [SBM99] R. Sandhu, V. Bhamidipati, and Q. Munawer. ``The ARBAC97
+ model for role-based administration of roles''. ACM
Transactions on Information System Security, 2(1):105-
135, February 1999.
- [Sha79] A. Shamir. ``How to share a secret''. Commun. ACM,
- 22:612-613, November 1979.
+ [Sha79] A. Shamir. ``How to share a secret''. Commun. ACM,
+ 22:612-613, November 1979.
Wang, Huang & Rine [Page 8]
8 - Author's Address
-
+
A postscript of this document is available from
http://www.cs.gmu.edu/~xwang4/dnssecureonline.ps
Fax: +1-703-993-1710
EMail: xwang4@cs.gmu.edu
- Yih Huang
+ Yih Huang
Department of Computer Science
George Mason University
Fairfax, VA 22030-4444
Fax: +1-703-993-1710
EMail: hyangyih@cs.gmu.edu
- David Rine
+ David Rine
Department of Computer Science
George Mason University
Fairfax, VA 22030-4444
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain
- it or assist in its implementation may be prepared, copied,
+ it or assist in its implementation may be prepared, copied,
published and distributed, in whole or in part, without restriction
of any kind, provided that the above copyright notice and this
- paragraph are included on all such copies and derivative works.
- However, this document itself may not be modified in any way,
- such as by removing the copyright notice or references to the
+ paragraph are included on all such copies and derivative works.
+ However, this document itself may not be modified in any way,
+ such as by removing the copyright notice or references to the
Wang, Huang & Rine [Page 9]
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
-
+
1. Introduction and Terminology
other documents at any time. It is not appropriate to use Internet-
Drafts as reference material or to cite them other than as a
``working draft'' or ``work in progress.''
-
+
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: host.1,v 1.2 2000/07/27 09:42:26 tale Exp $
-.\"
+.\"
+.\" $Id: host.1,v 1.3 2000/08/01 01:18:42 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt HOST 1
.Os BIND9 9
.Pp
.Ar name
is the domain name that is to be looked up.
-It can also be a dotted-decimal string representing an IPv4 address,
+It can also be a dotted-decimal string representing an IPv4 address,
in which case
.Nm host
will by default perform a reverse lookup for that address.
.Fl a
(all) option is equivalent to setting the
.Fl v
-option and asking
+option and asking
.Nm host
to make a query of type ANY.
.Pp
List mode is selected by the
.Fl l
option.
-This makes
+This makes
.Nm host
perform a zone transfer for zone
.Ar name .
.Dv domain
or
.Dv search
-directives in
+directives in
.Pa /etc/resolv.conf .
Therefore
.Ar name
option is used to select the query type.
.Ar type
can be any recognised query type: CNAME, NS, SOA, SIG, KEY, AXFR, etc.
-When no query type is specified,
+When no query type is specified,
.Nm host
automatically selects an appropriate query type.
By default it looks for A records unless the
.Fl W
option makes
.Nm host
-wait for
+wait for
.Ar wait
seconds.
If
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwresd.8,v 1.5 2000/07/27 09:42:28 tale Exp $
-.\"
+.\"
+.\" $Id: lwresd.8,v 1.6 2000/08/01 01:18:43 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRESD 8
.Os BIND9 9
is the daemon providing name lookup services to clients that use
the BIND 9 lightweight resolver library.
It is essentially a stripped-down, caching-only name server that
-answers queries using the BIND 9 lightweight resolver protocol
+answers queries using the BIND 9 lightweight resolver protocol
rather than the DNS protocol.
.Pp
.Nm lwresd
-listens for resolver queries on a UDP port on the IPv4 loopback
+listens for resolver queries on a UDP port on the IPv4 loopback
interface, 127.0.0.1.
This means that
.Nm lwresd
.Sy nameserver
entries are present, or if forwarding fails,
.Nm lwresd
-resolves the queries autonomously starting at the
-root name servers, using a compiled-in list of root
+resolves the queries autonomously starting at the
+root name servers, using a compiled-in list of root
servers hints.
.Pp
The options to
.Ar pid-file
instead of the default pathname.
.It Fl n
-create
+create
.Ar #cpus
worker threads to take advantage of multiple CPUs.
If no option is given,
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: named.8,v 1.4 2000/07/27 09:42:29 tale Exp $
-.\"
+.\"
+.\" $Id: named.8,v 1.5 2000/08/01 01:18:44 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt NAMED 8
.Os BIND9 9
.Nm named
is functionally and logically distinct from a
conventional name server.
-More information can be found in
+More information can be found in
.Xr lwresd 8 .
.Pp
Although some command-line options can be used with
.Nm named ,
-the name server's behaviour is mainly controlled by its configuration file,
+the name server's behaviour is mainly controlled by its configuration file,
.Pa /etc/named.conf .
Refer to the BIND9 Administrator Reference Manual for further details.
.Pp
in the foreground and force all logging to
.Dv stderr .
.It Fl n
-create
+create
.Ar #cpus
worker threads to take advantage of multiple CPUs.
If no option is given,
.Ar user-id .
.Nm named
will change its UID after it has
-carried out any privileged operations, such as
+carried out any privileged operations, such as
creating sockets that listen on privileged ports.
.It Fl x
load data from
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: nsupdate.8,v 1.3 2000/07/27 09:42:30 tale Exp $
-.\"
+.\"
+.\" $Id: nsupdate.8,v 1.4 2000/08/01 01:18:45 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt NSUPDATE 8
.Os BIND9 9
The signatures rely on a shared secret that should only be known to
.Nm nsupdate
and the name server.
-Currently, the only supported encryption algorithm for TSIG is
+Currently, the only supported encryption algorithm for TSIG is
HMAC-MD5, which is defined in RFC 2104.
Once other algorithms are defined for TSIG, applications will need to
ensure they select the appropriate algorithm as well as the key when
Every update request consists of zero or more prerequisites
and one or more updates.
This allows a suitably authenticated update request to proceed if some
-specified resource records are present or missing from the zone.
+specified resource records are present or missing from the zone.
A blank input line causes the accumulated commands to be sent as one Dynamic
DNS update request to the name server.
.Pp
zone.
Notice that the input in each example contains a trailing blank line so that
a group of commands are sent as one dynamic update request to the
-master name server for
+master name server for
.Dv example.com .
.Bd -literal -offset indent
# nsupdate
.Dv oldhost.example.com
are deleted.
and an A record for
-.Dv newhost.example.com
+.Dv newhost.example.com
it IP address 172.16.1.1 is added.
The newly-added record has a 1 day TTL (86400 seconds)
-.Bd -literal -offset indent
+.Bd -literal -offset indent
# nsupdate
> prereq nxdomain nickname.example.com
> update add nickname.example.com CNAME somehost.example.com
.It Pa K{name}.+157.+{random}.key
base-64 encoding of HMAC-MD5 key created by
.Xr dnssec-keygen 8 .
-.It Pa K{name}.+157.+{random}.private
+.It Pa K{name}.+157.+{random}.private
base-64 encoding of HMAC-MD5 key created by
.Xr dnssec-keygen 8 .
.El
.Xr RFC2535 ,
.Xr named 8 ,
.Xr dnssec-keygen 8 .
-.Sh BUGS
+.Sh BUGS
The
.Fl D
and
options are not documented apart from this self-referential paragraph.
They provide additional debugging information which is primarily of interest
to the BIND9 developers.
-These options might be changed or removed in future releases.
+These options might be changed or removed in future releases.
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: rndc.8,v 1.7 2000/07/27 23:49:40 tale Exp $
-.\"
+.\"
+.\" $Id: rndc.8,v 1.8 2000/08/01 01:18:46 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt RDNC 8
.Os BIND9 9
.Op Fl s Ar server
.Op Fl v
.Op Fl y Ar key_id
-.Ar command ....
+.Ar command ....
.Sh DESCRIPTION
This command allows the system administrator to control the operation
of a name server.
options and their arguments.
.Pp
.Nm rndc
-communicates with the name server over a TCP connection,
-sending commands authenticated with digital signatures.
+communicates with the name server over a TCP connection,
+sending commands authenticated with digital signatures.
In the current versions of
.Nm rndc
-and
+and
.Xr named 8
the only supported encryption algorithm is HMAC-MD5, which uses a
shared secret on each end of the connection.
This provides TSIG-style authentication for the command request
-and the name server's response.
+and the name server's response.
All commands sent over the channel
must be signed by a key_id known to the server.
.Pp
.Nm rndc
send commands to TCP port number
.Ar port#
-on the system running the name server instead of BIND 9's
+on the system running the name server instead of BIND 9's
default control channel port of 953.
.Pp
The
.Fl y
option is provided,
.Nm rndc
-will first look for a
+will first look for a
.Dv key
clause in the
.Dv server{}
.Xr ndc
utility.
.Pp
-There is currently no way to provide the shared secret for a key_id
+There is currently no way to provide the shared secret for a key_id
without using the configuration file.
.Pp
Several error messages could be clearer.
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: rndc.conf.5,v 1.5 2000/07/27 09:42:31 tale Exp $
-.\"
+.\"
+.\" $Id: rndc.conf.5,v 1.6 2000/08/01 01:18:48 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt RDNC.CONF 5
.Os BIND9 9
.Nd rdnc configuration file
.Sh SYNOPSIS
.Nm rdnc.conf
-.Sh DESCRIPTION
+.Sh DESCRIPTION
The BIND9 utility for controlling the name server,
.Nm rndc ,
has its own configuration file
The
.Dv default-key
clause
-is followed by the name of a key which is identified by a
+is followed by the name of a key which is identified by a
.Dv key{}
statement.
-If no
+If no
.Fl y
option is provided on the
-.Xr rndc
+.Xr rndc
command line, and no
.Dv key
clause is found in a a matching
.Pp
After the keyword
.Dv server ,
-the
+the
.Dv server{}
statement is followed by a string which is the hostname or address for a
name server.
identifies the encryption algorithm for
.Nm rndc
to use; currently only HMAC-MD5 is supported.
-This is followed by a
+This is followed by a
.Dv secret
clause which contains the base-64 encoding of the
algorithm's encryption key.
$ dnssec-keygen -a hmac-md5 -b 128 -n user rndc
.Ed
.Pp
-The base-64 string will appear in two files,
+The base-64 string will appear in two files,
.Pa Krndc.+157.+{random}.key
-and
+and
.Pa Krndc.+157.+{random}.private .
After extracting the key to be
placed in the
#!/usr/bin/gawk -f
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: ctoman,v 1.4 2000/07/27 09:42:25 tale Exp $
+# $Id: ctoman,v 1.5 2000/08/01 01:18:40 tale Exp $
#
# ctoman - an awk program that makes a passable job of
# converting ISC BIND9 C files into template
print ".Nd XXX"
print ".Sh SYNOPSIS"
for (i = 1; i < inc; i++)
- print ".Fd", inclist[i]
+ print ".Fd", inclist[i]
for (i = 1; i < fnc; i++ ) {
print ".Ft", functypes[i]
print ".Fo", funclist[i]
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: dnssec-keygen.8,v 1.6 2000/07/27 09:42:32 tale Exp $
-.\"
+.\"
+.\" $Id: dnssec-keygen.8,v 1.7 2000/08/01 01:18:49 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt DNSSEC-KEYGEN 8
.Os BIND9 9
.Ar nametype
can be either
.Dv ZONE ,
-.Dv HOST ,
+.Dv HOST ,
.Dv ENTITY ,
or
.Dv USER
The only supported values value of
.Ar generator
are 2 and 5.
-If no Diffie-Hellman generator is supplied, a known prime
+If no Diffie-Hellman generator is supplied, a known prime
from RFC2539 will be used if possible; otherwise 2 will be used as the
generator.
.Pp
option sets the protocol value for the generated key to
.Ar protocol-value .
The default is 2 (email) for keys of type
-.Dv USER
+.Dv USER
and 3 (DNSSEC) for all other key types.
Other possible values for this argument are listed in RFC2535 and its
successors.
keystrokes to provide randomness.
The
.Fl r
-option overrides this behaviour, making
+option overrides this behaviour, making
.Nm dnssec-keygen
use
.Ar randomdev
can be one of
.Dv AUTHCONF ,
.Dv NOAUTHCONF ,
-.Dv NOAUTH
+.Dv NOAUTH
or
.Dv NOCONF .
The default is
.Dv AUTHCONF .
If type is
-.Dv AUTHCONF
+.Dv AUTHCONF
the key can be used for authentication and confidentialty.
Setting
-.Ar type
+.Ar type
to
.Dv NOAUTHCONF
indicates that the key cannot be used for authentication or confidentialty.
defines that the key cannot be used for confidentiality though it can
be used for authentication.
.Pp
-The
+The
.Fl v
option can be used to make
.Nm dnssec-keygen
more verbose.
As the debugging/tracing level
.Ar level
-increases,
+increases,
.Nm dnssec-keygen
generates increasingly detailed reports about what it is doing.
The default level is zero.
The
.Ar .key
file contains a KEY resource record that can be inserted into a zone file
-with a
+with a
.Dv $INCLUDE
statement.
The private part of the key is in the
.Xr dnssec-signzone 8
to generate signatures and the public part is used to verify the
signatures.
-Both
+Both
.Ar .key
and
.Ar .private
.Dv Kexample.com.+003+26160 ,
indicating a DSA key with identifier 26160.
It will also have created the files
-.Pa Kexample.com.+003+26160.key
+.Pa Kexample.com.+003+26160.key
and
.Pa Kexample.com.+003+26160.private
containing respectively the public and private keys for the generated
DSA key.
.Sh FILES
-.Pa /dev/random
+.Pa /dev/random
.Sh SEE ALSO
.Xr RFC2535,
.Xr RFC2845,
The naming convention for the public and private key files is a little
clumsy.
It won't work for domain names that are longer than 236 characters
-because of the
+because of the
.Ar .+aaa+iiiii.private
suffix results in filenames that are too long for most
.Ux
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: dnssec-makekeyset.8,v 1.7 2000/07/31 19:39:38 bwelling Exp $
-.\"
+.\"
+.\" $Id: dnssec-makekeyset.8,v 1.8 2000/08/01 01:18:50 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt DNSSEC-MAKEKEYSET 8
.Os BIND9 9
.Ar start-time
is given as +N: N seconds from the current time.
If no
-.Fl s
+.Fl s
option is supplied, the current date and time is used for the start
time of the SIG records.
.Pp
increases,
.Nm dnssec-makekeyset
generates increasingly detailed reports about what it is doing.
-The default level is zero.
+The default level is zero.
.Pp
The
.Fl h
the command line when running
.Nm dnssec-makekeyset .
.nf
-.Dl # dnssec-makekeyset -t 86400 -s 20000701120000 \e\p
+.Dl # dnssec-makekeyset -t 86400 -s 20000701120000 \e\p
.Dl -e +2592000 Kexample.com.+003+26160
.fi
.Pp
.Dv .com
so that they could sign the resource records in the file.
This assumes that the
-.Dv .com
+.Dv .com
zone is DNSSEC-aware and the administrators of the two zones have some
mechanism for authenticating each other and exchanging the keys and
signatures securely.
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: dnssec-signkey.8,v 1.8 2000/07/31 19:39:39 bwelling Exp $
-.\"
+.\"
+.\" $Id: dnssec-signkey.8,v 1.9 2000/08/01 01:18:51 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt DNSSEC-SIGNKEY 8
.Os BIND9 9
.Sh DESCRIPTION
.Nm dnssec-signkey
is used to sign a key set for a child zone.
-Typically this would be provided by a
+Typically this would be provided by a
.Ar keyset
file generated by
.Xr dnssec-makekeyset 8 .
argument will be a key identification string as reported by
.Xr dnssec-keygen 8
for the parent zone.
-This allows the child's keys to be signed by more than one
+This allows the child's keys to be signed by more than one
parent zone key.
.Pp
The
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: dnssec-signzone.8,v 1.10 2000/07/31 19:39:42 bwelling Exp $
-.\"
+.\"
+.\" $Id: dnssec-signzone.8,v 1.11 2000/08/01 01:18:52 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt DNSSEC-SIGNZONE 8
.Os BIND9 9
.Ar signedkey
file from the zone's parent, the parent's signatures will be
incorporated into the generated signed zone file.
-The security status of delegations from the the signed zone
+The security status of delegations from the the signed zone
- i.e. whether the child zones are DNSSEC-aware or not - is
set according to the presence or absence of a
.Ar signedkey
.Ar start-time
is given as +N: N seconds from the current time.
If no
-.Fl s
+.Fl s
option is supplied, the current date and time is used for the start
time of the SIG records.
.Pp
will remove it and generate a new SIG record to replace it.
.Pp
The default cycle period is one quarter of the difference between the
-specified signature end and start dates. So if the
+specified signature end and start dates. So if the
.Fl e
-and
+and
.Fl s
options are not specified,
.Nm dnssec-signzone
.Fl o
option to set the origin.
The zone's keys were either appended to the zone file or
-incorporated using a
-.Dv $INCLUDE
+incorporated using a
+.Dv $INCLUDE
statement.
If there was a
.Ar signedkey
-file from the parent zone - i.e.
+file from the parent zone - i.e.
.Dv signedkey-example.com.
- it should be present in the current directory.
This allows the parent zone's signature to be included in the signed
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc__errno2result.3,v 1.2 2000/07/27 09:42:37 tale Exp $
-.\"
+.\"
+.\" $Id: isc__errno2result.3,v 1.3 2000/08/01 01:18:54 tale Exp $
+.\"
.so isc_error.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_app.3,v 1.3 2000/07/27 09:42:38 tale Exp $
-.\"
+.\"
+.\" $Id: isc_app.3,v 1.4 2000/08/01 01:18:55 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt ISC_APP 3
.Os BIND9 9
.Nm isc_app_run ,
.Nm isc_app_shutdown ,
.Nm isc_app_reload ,
-.Nm isc_app_finish
+.Nm isc_app_finish
.Nd application management functions
.Sh SYNOPSIS
.Fd #include <config.h>
-
+
.Fd #include <pthread.h>
-
+
.Fd #include <sys/types.h>
-
+
.Fd #include <stddef.h>
.Fd #include <errno.h>
.Fd #include <unistd.h>
.fd #include <signal.h>
-
+
.Fd #include <isc/app.h>
.Fd #include <isc/boolean.h>
.Fd #include <isc/mutex.h>
.Fd #include <isc/string.h>
.Fd #include <isc/task.h>
.Fd #include <isc/util.h>
-
+
.Ft isc_result_t
.Fo isc_app_start
.Fa void
.Fn isc_app_start .
It sets up a signal handler to ignore
.Dv SIGPIPE .
-.Fn isc_app_start
+.Fn isc_app_start
blocks signals
.Dv SIGHUP ,
-.Dv SIGINT
+.Dv SIGINT
and
.Dv SIGTERM
This ensures that all subsequent threads will have these signals blocked by
then initialises a queue of runnable tasks for the application.
Calls to
.Fn isc_app_start
-should be made before any other BIND9 library call, ideally as
+should be made before any other BIND9 library call, ideally as
close to the beginning of the application as possible.
-.Pp
+.Pp
.Fn isc_app_onrun
arranges for delivery of an event to an application when it is executing.
This function should only be invoked after
.Fn isc_app_start
has been called.
-It creates an
+It creates an
.Ft isc_event_t
structure from memory context
.Fa mctx
.Fa arg
is a pointer to some structure that can be referenced by the event
handler
-.Fa action
+.Fa action
which is invoked when the application takes delivery of a shutdown
event
.Dv ISC_APPEVENT_SHUTDOWN .
has been called.
.Fn isc_app_shutdown
sends a
-.Dv SIGTERM
+.Dv SIGTERM
signal to the current process.
Multiple calls to
.Fn isc_app_shutdown
.Pp
The reload signal
.Dv SIGHUP
-is sent to the process by
+is sent to the process by
.Fn isc_app_reload .
The function returns
.Er ISC_R_SUCCESS
.Sh RETURN VALUES
A successful call to
.Fn handle_signal
-returns
+returns
.Er ISC_R_SUCCESS
and
.Er ISC_R_UNEXPECTED
returns
.Er ISC_R_SUCCESS
unless it was not possible to create the event structure
-.Ft isc_event_t
+.Ft isc_event_t
in which case it returns
.Er ISC_R_NOMEMORY .
.Pp
when attempts to set or reset signal handlers fail.
.Pp
.Er ISC_R_UNEXPECTED
-is returned by
+is returned by
.Fn isc_app_shutdown
if the signal was not sent successfully.
Otherwise
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_app_finish.3,v 1.2 2000/07/27 09:42:39 tale Exp $
-.\"
+.\"
+.\" $Id: isc_app_finish.3,v 1.3 2000/08/01 01:18:56 tale Exp $
+.\"
.so isc_app.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_app_onrun.3,v 1.2 2000/07/27 09:42:40 tale Exp $
-.\"
+.\"
+.\" $Id: isc_app_onrun.3,v 1.3 2000/08/01 01:18:57 tale Exp $
+.\"
.so isc_app.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_app_reload.3,v 1.2 2000/07/27 09:42:41 tale Exp $
-.\"
+.\"
+.\" $Id: isc_app_reload.3,v 1.3 2000/08/01 01:18:58 tale Exp $
+.\"
.so isc_app.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_app_run.3,v 1.2 2000/07/27 09:42:42 tale Exp $
-.\"
+.\"
+.\" $Id: isc_app_run.3,v 1.3 2000/08/01 01:18:59 tale Exp $
+.\"
.so isc_app.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_app_shutdown.3,v 1.2 2000/07/27 09:42:43 tale Exp $
-.\"
+.\"
+.\" $Id: isc_app_shutdown.3,v 1.3 2000/08/01 01:19:01 tale Exp $
+.\"
.so isc_app.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_app_start.3,v 1.2 2000/07/27 09:42:44 tale Exp $
-.\"
+.\"
+.\" $Id: isc_app_start.3,v 1.3 2000/08/01 01:19:02 tale Exp $
+.\"
.so isc_app.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_dir.3,v 1.2 2000/07/27 09:42:45 tale Exp $
-.\"
+.\"
+.\" $Id: isc_dir.3,v 1.3 2000/08/01 01:19:03 tale Exp $
+.\"
.Dd Jun 30, 2000
-.Dt ISC_DIR 3
+.Dt ISC_DIR 3
.Os BIND9 9
.ds vT BIND9 Programmer's Manual
.Sh NAME
.Nm isc_dir_init ,
.Nm isc_dir_open ,
.Nm isc_dir_read ,
-.Nm isc_dir_close ,
+.Nm isc_dir_close ,
.Nm isc_dir_reset ,
-.Nm isc_dir_chdir
+.Nm isc_dir_chdir
.Nd file system directory operations
.Sh SYNOPSIS
.Fd #include <config.h>
.Fd #include <errno.h>
.Fd #include <unistd.h>
-
+
.Fd #include <isc/dir.h>
.Fd #include <isc/magic.h>
.Fd #include <isc/string.h>
.Fd #include <isc/util.h>
-
+
.Fd #include \*qerrno2result.h\*q
.Ft void
.Fo isc_dir_init
They are intended to isolate BIND9 from the semantics of the underlying
directory access routines provided by the operating system,
BIND9 uses an internal structure of type
-.Fa isc_dir_t
+.Fa isc_dir_t
to reference a directory.
The contents of this structure are OS-specific.
.Fn isc_dir_init
-initialises the directory structure pointed at
+initialises the directory structure pointed at
.Fa dir .
All functions taking a
.Fa dir
structure.
.Pp
.Fn isc_dir_open
-opens the directory named by
+opens the directory named by
.Fa dirname .
.Pp
.Fn isc_dir_read
-retrieves the next entry from the file descriptor associated with directory
+retrieves the next entry from the file descriptor associated with directory
.Fa dir .
The name of that entry and the length of its name are copied to
.Fa dir .
.Fa dir .
.Pp
.Fn isc_dir_reset
-repositions
+repositions
.Fa dir
to the start of the directory.
.Pp
The name server's current directory is changed to
.Fa dirname
by
-.Fn isc_dir_chdir .
+.Fn isc_dir_chdir .
.Pp
.Sh RETURN VALUES
Successful calls to
.Fn isc_dir_open ,
.Fn isc_dir_read ,
.Fn isc_dir_reset ,
-.Fn isc_dir_read
+.Fn isc_dir_read
and
.Fn isc_dir_chdir
return
to fit in the
.Fa isc_dir_t
structure.
-If
+If
.Fn isc_dir_chdir
-fails,
+fails,
.Er ISC_R_INVALIDFILE
is returned if
.Fa dirname
-is not a directory, or
+is not a directory, or
.Er ISC_R_NOPERM
if access permission is denied or
.Er ISC_R_IOERROR
if an I/O error occurs.
-The WinNT version of
+The WinNT version of
.Fn isc_dir_chdir
returns
.Er ISC_R_NOTIMPLEMENTED
and
.Fn isc_dir_reset .
.Sh SEE ALSO
-.Xr opendir 3 ,
+.Xr opendir 3 ,
.Xr readdir 3 ,
-.Xr closedir 3 ,
+.Xr closedir 3 ,
.Xr rewinddir 3 ,
.Xr chdir 2
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_dir_chdir.3,v 1.2 2000/07/27 09:42:47 tale Exp $
-.\"
+.\"
+.\" $Id: isc_dir_chdir.3,v 1.3 2000/08/01 01:19:04 tale Exp $
+.\"
.so isc_dir.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_dir_close.3,v 1.2 2000/07/27 09:42:48 tale Exp $
-.\"
+.\"
+.\" $Id: isc_dir_close.3,v 1.3 2000/08/01 01:19:05 tale Exp $
+.\"
.so isc_dir.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_dir_init.3,v 1.2 2000/07/27 09:42:49 tale Exp $
-.\"
+.\"
+.\" $Id: isc_dir_init.3,v 1.3 2000/08/01 01:19:06 tale Exp $
+.\"
.so isc_dir.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_dir_open.3,v 1.2 2000/07/27 09:42:50 tale Exp $
-.\"
+.\"
+.\" $Id: isc_dir_open.3,v 1.3 2000/08/01 01:19:07 tale Exp $
+.\"
.so isc_dir.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_dir_read.3,v 1.2 2000/07/27 09:42:51 tale Exp $
-.\"
+.\"
+.\" $Id: isc_dir_read.3,v 1.3 2000/08/01 01:19:09 tale Exp $
+.\"
.so isc_dir.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_dir_reset.3,v 1.2 2000/07/27 09:42:52 tale Exp $
-.\"
+.\"
+.\" $Id: isc_dir_reset.3,v 1.3 2000/08/01 01:19:10 tale Exp $
+.\"
.so isc_dir.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_error.3,v 1.2 2000/07/27 09:42:53 tale Exp $
-.\"
+.\"
+.\" $Id: isc_error.3,v 1.3 2000/08/01 01:19:11 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt error 3
.Os BIND9 9
.Nd map POSIX error codes to BIND9 error codes
.Sh SYNOPSIS
.Fd #include <config.h>
-
+
.Fd #include <errno.h>
-
+
.Fd #include <isc/result.h>
-
+
.Fd #include "errno2result.h"
.Ft isc_result_t
.Fo isc__errno2result
are mapped to their ISC equivalents.
.Pp
.Sh RETURN VALUES
-When
-.Fa posixerrno
+When
+.Fa posixerrno
is set to the POSIX error codes
.Er ENOTDIR ,
.Er ELOOP ,
.Er ENAMETOOLONG ,
and
.Er EBADF ,
-.Fn isc__errno2result
+.Fn isc__errno2result
returns
.Er ISC_R_INVALIDFILE .
.Er ISC_R_FILENOTFOUND
is returned when
-.Fa posixerrno
+.Fa posixerrno
is set to
.Er ENOENT .
A retun value of
.Er EIO
.Fn isc__errno2result
returns
-.Er ISC_R_IOERROR
+.Er ISC_R_IOERROR
and if the error code is
.Er ENOMEM ,
-.Er ISC_R_NOMEMORY
+.Er ISC_R_NOMEMORY
is returned.
For all other values of
.Fa posixerrno ,
.Fn isc__errno2result
-returns
+returns
.Er ISC_R_UNEXPECTED .
.Sh SEE ALSO
.Xr errno 2 ,
-.Xr perror 3
+.Xr perror 3
.Sh BUGS
Returning
.Er ISC_R_UNEXPECTED
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_file.3,v 1.3 2000/07/27 09:42:54 tale Exp $
-.\"
+.\"
+.\" $Id: isc_file.3,v 1.4 2000/08/01 01:19:12 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt ISC_FILE 3
.Os BIND9 9
.Fd #include <limits.h>
.Fd #include <stdlib.h>
.Fd #include <unistd.h>
-
+
.Fd #include <sys/stat.h>
.Fd #include <sys/time.h>
-
+
.Fd #include <isc/file.h>
.Fd #include <isc/string.h>
.Fd #include <isc/time.h>
.Fd #include <isc/util.h>
-
+
.Fd #include \*qerrno2result.h\*q
.Ft isc_result_t
structure which contains the file's modification date.
.Pp
.Fn isc_file_settime
-sets the access and modification times of the file named
+sets the access and modification times of the file named
.Fa file
to the value of the timestamp supplied in
.Fa time .
.Pp
Pathnames for temporary files are created with
.Fn isc_file_mktemplate .
-It copies the pathname in
+It copies the pathname in
.Fa path
up to the last \*q/\*q character, if any, in
.Fa buf .
The 14-character string \*qtmp-XXXXXXXXXX\*q is then appended to that
buffer.
.Fa buflen
-indicates the size of buffer
+indicates the size of buffer
.Fa buf .
-Calls to
+Calls to
.Fn isc_file_mktemplate
fail if the buffer is too small to hold for the newly-created pathname.
.Pp
file for reading and writing.
The name of the unique file is returned in
.Fa templet
-and a pointer to a pointer to a
+and a pointer to a pointer to a
.Dv stdio stream
associated with the opened file is returned in
.Fa fp .
The file name template
.Fa templet
-should be generated by calling
+should be generated by calling
.Fn isc_file_mktemplate .
This ensures the last 10 characters of the template are the letter \*qX\*q
-so that these can be overwritten by
+so that these can be overwritten by
.Fn mkstemp
to generate a unique file name.
.Pp
Files are deleted with
.Fn isc_file_remove .
-It unlinks the file named
+It unlinks the file named
.Fa filename .
.Sh RETURN VALUES
Successful calls to these functions all return
.Er ISC_R_SUCCESS .
-Apart from the exceptions listed below, failed calls return
+Apart from the exceptions listed below, failed calls return
a BIND9 error code by mapping the corresponding POSIX error code using\p
.Fn isc__errno2result .
.Fn file_stats ,
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_file_getmodtime.3,v 1.2 2000/07/27 09:42:55 tale Exp $
-.\"
+.\"
+.\" $Id: isc_file_getmodtime.3,v 1.3 2000/08/01 01:19:14 tale Exp $
+.\"
.so isc_file.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_file_mktemplate.3,v 1.2 2000/07/27 09:42:56 tale Exp $
-.\"
+.\"
+.\" $Id: isc_file_mktemplate.3,v 1.3 2000/08/01 01:19:15 tale Exp $
+.\"
.so isc_file.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_file_openunique.3,v 1.2 2000/07/27 09:42:58 tale Exp $
-.\"
+.\"
+.\" $Id: isc_file_openunique.3,v 1.3 2000/08/01 01:19:16 tale Exp $
+.\"
.so isc_file.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_file_remove.3,v 1.2 2000/07/27 09:42:59 tale Exp $
-.\"
+.\"
+.\" $Id: isc_file_remove.3,v 1.3 2000/08/01 01:19:17 tale Exp $
+.\"
.so isc_file.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_file_settime.3,v 1.2 2000/07/27 09:43:00 tale Exp $
-.\"
+.\"
+.\" $Id: isc_file_settime.3,v 1.3 2000/08/01 01:19:18 tale Exp $
+.\"
.so isc_file.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_interfaceiter_create.3,v 1.2 2000/07/27 09:43:01 tale Exp $
-.\"
+.\"
+.\" $Id: isc_interfaceiter_create.3,v 1.3 2000/08/01 01:19:19 tale Exp $
+.\"
.so isc_netif.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_interfaceiter_current.3,v 1.2 2000/07/27 09:43:02 tale Exp $
-.\"
+.\"
+.\" $Id: isc_interfaceiter_current.3,v 1.3 2000/08/01 01:19:20 tale Exp $
+.\"
.so isc_netif.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_interfaceiter_destroy.3,v 1.2 2000/07/27 09:43:03 tale Exp $
-.\"
+.\"
+.\" $Id: isc_interfaceiter_destroy.3,v 1.3 2000/08/01 01:19:22 tale Exp $
+.\"
.so isc_netif.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_interfaceiter_first.3,v 1.2 2000/07/27 09:43:04 tale Exp $
-.\"
+.\"
+.\" $Id: isc_interfaceiter_first.3,v 1.3 2000/08/01 01:19:23 tale Exp $
+.\"
.so isc_netif.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_interfaceiter_next.3,v 1.2 2000/07/27 09:43:05 tale Exp $
-.\"
+.\"
+.\" $Id: isc_interfaceiter_next.3,v 1.3 2000/08/01 01:19:24 tale Exp $
+.\"
.so isc_netif.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_interval_iszero.3,v 1.2 2000/07/27 09:43:06 tale Exp $
-.\"
+.\"
+.\" $Id: isc_interval_iszero.3,v 1.3 2000/08/01 01:19:25 tale Exp $
+.\"
.so isc_time.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_ipproto.3,v 1.3 2000/07/27 09:43:07 tale Exp $
-.\"
+.\"
+.\" $Id: isc_ipproto.3,v 1.4 2000/08/01 01:19:26 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt ISC_IPPROTO 3
.Os BIND9 9
.Nd protocol probe functions
.Sh SYNOPSIS
.Fd #include <config.h>
-
+
.Fd #include <errno.h>
.Fd #include <unistd.h>
-
+
.Fd #include <isc/net.h>
.Fd #include <isc/once.h>
.Fd #include <isc/string.h>
-.Fd #include <isc/util.h>
+.Fd #include <isc/util.h>
.Fo isc_net_probeipv4
.Fa void
respectively.
.Sh RETURN VALUES
.Fn isc_net_probeipv4
-returns
+returns
.Er ISC_R_SUCCESS
if the IPv4 protocol is supported by the kernel and
.Fn isc_net_probeipv6
returns
-.Er ISC_R_SUCCESS
+.Er ISC_R_SUCCESS
if the operating system supports IPv6.
.Fn try_proto
returns
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_net_probeipv4.3,v 1.2 2000/07/27 09:43:08 tale Exp $
-.\"
+.\"
+.\" $Id: isc_net_probeipv4.3,v 1.3 2000/08/01 01:19:28 tale Exp $
+.\"
.so isc_ipproto.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_net_probeipv6.3,v 1.2 2000/07/27 09:43:09 tale Exp $
-.\"
+.\"
+.\" $Id: isc_net_probeipv6.3,v 1.3 2000/08/01 01:19:29 tale Exp $
+.\"
.so isc_ipproto.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_netif.3,v 1.2 2000/07/27 09:43:11 tale Exp $
-.\"
+.\"
+.\" $Id: isc_netif.3,v 1.3 2000/08/01 01:19:30 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt ISC_NETIF 3
.Os BIND9 9
.Nd network interface management
.Sh SYNOPSIS
.Fd #include <config.h>
-
+
.Fd #include <sys/types.h>
.Fd #include <sys/ioctl.h>
.Fd #ifdef HAVE_SYS_SOCKIO_H
.Fd #include <sys/sockio.h> /* Required for ifiter_ioctl.c. */
.Fd #endif
-
+
.Fd #include <stdio.h>
.Fd #include <stdlib.h>
.Fd #include <unistd.h>
.Fd #include <errno.h>
-
+
.Fd #include <isc/mem.h>
.Fd #include <isc/net.h>
.Fd #include <isc/result.h>
.Fd #include <isc/types.h>
.Fd #include <isc/interfaceiter.h>
.Fd #include <isc/util.h>
-
+
.Fd #include <net/if.h> /* Must follow <isc/net.h>. */
.Ft isc_result_t
.\" .Fo internal_destroy
.\" .Fc
.\" .Ft static void
-.\" .Fo get_addr
+.\" .Fo get_addr
.\" .Fa "unsigned int family"
.\" .Fa "isc_netaddr_t *dst"
.\" .Fa "struct sockaddr *src"
Details of the system's network interfaces can be retrieved with
.Fn isc_interfaceiter_create .
It uses
-.Xr sysctl 3
+.Xr sysctl 3
or an
.Dv SIOCGLIFCONF
.Xr ioctl 2
to get the information from the kernel.
Configuration details of the system's network interfaces - IP addresses, network
mask, status, MAC address, etc. - is stored in a buffer which is
-accessed through
+accessed through
.Fa iterp .
Memory is allocated from the memory context
.Fa mctx
.Dv isc_interfaceiter_t
can be accessed using
.Fn isc_interfaceiter_current ,
-.Fn isc_interfaceiter_first
+.Fn isc_interfaceiter_first
and
.Fn isc_interfaceiter_next .
.\" which use the internal functions
.\" .Pp
.\" .Fn internal_current
.\" gets information for the current network interface from
-.\" .Fa iter .
+.\" .Fa iter .
.\" .Fn internal_current
.\" sets
.\" .Dv iter->current
.\" .Xr isc_interfaceiter_destroy 3 .
.\" .Pp
.\" .Fn get_addr
-.\" extracts the network address part of the
+.\" extracts the network address part of the
.\" .Dv sockaddr
.\" struct referenced by
.\" .Fa src
.\" .Fa family
.\" indicates the address family \*-
.\" .Dv AF_INET
-.\" or
+.\" or
.\" .Dv AF_INET6 .
.\" The address family is given explicitly because the network address might
.\" contain a netmask obtained by an
.\" .Dv src->sa_family .
.Pp
.Fn isc_interfaceiter_current
-copies the configuration details of
+copies the configuration details of
.Fa iter 's
current network interface to
.Fa ifdata .
IPv6 address.
.Fn isc_interfaceiter_next
find the next network interface in the list referenced by
-.Fa iter
+.Fa iter
that has an IPv4 or IPv6 address.
.Pp
The
.Fa iterp
is discarded by calling
.Fn isc_interfaceiter_destroy .
-Any memory associated with
+Any memory associated with
.Fa iterp is freed.
.Sh RETURN VALUES
Successful calls to
.Fn isc_interfaceiter_current
always returns
.Er ISC_R_SUCCESS
-if
+if
.Fa iter
-points to a valid
+points to a valid
.Dv isc_interfaceiter_t
structure.
.Pp
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket.3,v 1.2 2000/07/27 09:43:12 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket.3,v 1.3 2000/08/01 01:19:31 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt ISC_SOCKET 3
.Os BIND9 9
.Nd name server network I/O
.Sh SYNOPSIS
.Fd #include <config.h>
-.Fd
+.Fd
.Fd #include <sys/param.h>
.Fd #include <sys/types.h>
.Fd #include <sys/socket.h>
.Fd #include <sys/time.h>
.Fd #include <sys/uio.h>
-.Fd
+.Fd
.Fd #include <errno.h>
.Fd #include <stddef.h>
.Fd #include <stdlib.h>
.Fd #include <string.h>
.Fd #include <unistd.h>
.Fd #include <fcntl.h>
-.Fd
+.Fd
.Fd #include <isc/buffer.h>
.Fd #include <isc/bufferlist.h>
.Fd #include <isc/condition.h>
.Fd #include <isc/task.h>
.Fd #include <isc/thread.h>
.Fd #include <isc/util.h>
-.Fd
+.Fd
.Ft isc_result_t
.Fo isc_socket_create
.Fa "isc_socketmgr_t *manager"
.Fa "isc_socket_t *sock"
.Fa "isc_socket_t **socketp"
.Fc
-.Ft void
+.Ft void
.Fo isc_socket_detach
.Fa "isc_socket_t **socketp"
.Fc
isc_socketmgr_t *manager;
isc_mutex_t lock;
isc_sockettype_t type;
-
+
/* Locked by socket lock. */
unsigned int references;
int fd;
isc_result_t recv_result;
isc_result_t send_result;
-
+
ISC_LIST(isc_socketevent_t) send_list;
ISC_LIST(isc_socketevent_t) recv_list;
ISC_LIST(isc_socket_newconnev_t) accept_list;
isc_socket_connev_t *connect_ev;
-
+
/*
* Internal events. Posted when a descriptor is readable or
* writable. These are statically allocated and never freed.
*/
intev_t readable_ev;
intev_t writable_ev;
-
+
isc_sockaddr_t address; /* remote address */
-
+
unsigned int pending_recv : 1,
pending_send : 1,
pending_accept : 1,
connected : 1,
connecting : 1, /* connect pending */
bound : 1; /* bound to local addr */
-
+
#ifdef ISC_NET_RECVOVERFLOW
unsigned char overflow; /* used for MSG_TRUNC fake */
#endif
.Pp
.Fn isc_socket_create
creates a new socket of protocol family
-.Fa pf
+.Fa pf
which is either
.Dv PF_INET
or
If the caller uses this manager to hold any socket references, it will
deadlock itself.
Therefore those sockets should be detached by calling
-.Xr isc_socket_detach 3
+.Xr isc_socket_detach 3
before invoking
.Fn isc_socketmgr_destroy .
.Pp
should not be modified by the caller until the completion event has
been received.
When a successful call to
-.Fn isc_socket_recvv
+.Fn isc_socket_recvv
completes,
.Fa *buflist
will be empty.
.Fn isc_socket_send ,
.Fn isc_socket_sendto ,
.Fn isc_socket_sendv
-and
+and
.Fn isc_socket_sendtov
are used to send data to the peer for socket
.Fa sock .
If
.Fa action
is NULL, no completion event is posted.
-.Pp
+.Pp
For
.Fn isc_socket_sendto
and
.Dv SOMAXCONN .
The value of
.Fa backlog
-may be ignored on other operating systems.
+may be ignored on other operating systems.
.Pp
.Fn isc_socket_accept
is used to queue an accept event when an incoming connection request
and copies it to
.Fa addressp .
Both functions have assertion checks to ensure that
-.Fa sock
+.Fa sock
is a valid socket
and that
.Fa *addressp
and
.Fa task
are a valid socket and task pointers respectively.
-.Fa how
+.Fa how
is a bitmask of the events that are to be cancelled.
Possible values for
.Fa how
are any combination of
.Dv ISC_SOCKCANCEL_RECV ,
.Dv ISC_SOCKCANCEL_SEND ,
-.Dv ISC_SOCKCANCEL_ACCEPT
+.Dv ISC_SOCKCANCEL_ACCEPT
and
.Dv ISC_SOCKCANCEL_CONNECT .
When the events are cancelled,
.Pp
When the event handler returns, its
.Dv result
-member can sometimes contain useful information.
+member can sometimes contain useful information.
Depending on the marker type, the event's
.Dv result member
will contain the same error that the last
The handler that is invoked for
the
.Dv ISC_SOCKEVENT_RECVDONE
-when the socket read
+when the socket read
completes will return
.Er ISC_R_SUCCESS
on success or
The functions
.Fn isc_socket_sendto ,
.Fn isc_socket_sendtov ,
-.Fn isc_socket_send
+.Fn isc_socket_send
and
-.Fn isc_socket_sendv
+.Fn isc_socket_sendv
all return
.Er ISC_R_SUCCESS
on success.
If these four functions are unable to allocate memory when setting up
-an event handler, they return
+an event handler, they return
.Er ISC_R_NOMEMORY .
The event handler that is invoked when a
.Dv ISC_SOCKEVENT_SENDDONE
.Er ISC_R_ADDRNOTAVAIL
is returned if the specified address is not available.
.Fn isc_socket_bind
-returns
+returns
.Er ISC_R_ADDRINUSE
if the address is already in use and
.Er ISC_R_BOUND
.Fa sock had already been bound to an address.
.Er ISC_R_UNEXPECTED
is returned for any other error conditions that are reported by
-.Xr bind 2
+.Xr bind 2
and an error message printed on
.Dv stderr .
.Pp
.Fn isc_socket_listen
-returns
+returns
.Er ISC_R_SUCCESS
on success.
.Er ISC_R_UNEXPECTED
.Er ISC_R_SUCCESS
when the connection attempt completes successfully.
It returns
-.Er ISC_R_TIMEDOUT
+.Er ISC_R_TIMEDOUT
when the connection attempt times out or
.Er ISC_R_CONNREFUSED
-if the peer
+if the peer
.Fa addr
refused the connection.
An error of
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_accept.3,v 1.2 2000/07/27 09:43:13 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_accept.3,v 1.3 2000/08/01 01:19:33 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_attach.3,v 1.2 2000/07/27 09:43:14 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_attach.3,v 1.3 2000/08/01 01:19:34 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_bind.3,v 1.2 2000/07/27 09:43:15 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_bind.3,v 1.3 2000/08/01 01:19:35 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_cancel.3,v 1.2 2000/07/27 09:43:16 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_cancel.3,v 1.3 2000/08/01 01:19:36 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_connect.3,v 1.2 2000/07/27 09:43:17 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_connect.3,v 1.3 2000/08/01 01:19:37 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_create.3,v 1.2 2000/07/27 09:43:18 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_create.3,v 1.3 2000/08/01 01:19:38 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_detach.3,v 1.2 2000/07/27 09:43:19 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_detach.3,v 1.3 2000/08/01 01:19:40 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_getpeername.3,v 1.2 2000/07/27 09:43:20 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_getpeername.3,v 1.3 2000/08/01 01:19:41 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_getsockname.3,v 1.2 2000/07/27 09:43:21 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_getsockname.3,v 1.3 2000/08/01 01:19:42 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_gettype.3,v 1.2 2000/07/27 09:43:23 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_gettype.3,v 1.3 2000/08/01 01:19:43 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_isbound.3,v 1.2 2000/07/27 09:43:24 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_isbound.3,v 1.3 2000/08/01 01:19:44 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_listen.3,v 1.2 2000/07/27 09:43:25 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_listen.3,v 1.3 2000/08/01 01:19:45 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_recv.3,v 1.2 2000/07/27 09:43:26 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_recv.3,v 1.3 2000/08/01 01:19:46 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_recvmark.3,v 1.2 2000/07/27 09:43:27 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_recvmark.3,v 1.3 2000/08/01 01:19:47 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_recvv.3,v 1.2 2000/07/27 09:43:28 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_recvv.3,v 1.3 2000/08/01 01:19:48 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_send.3,v 1.2 2000/07/27 09:43:29 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_send.3,v 1.3 2000/08/01 01:19:50 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_sendmark.3,v 1.2 2000/07/27 09:43:30 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_sendmark.3,v 1.3 2000/08/01 01:19:51 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_sendto.3,v 1.2 2000/07/27 09:43:31 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_sendto.3,v 1.3 2000/08/01 01:19:52 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_sendtov.3,v 1.2 2000/07/27 09:43:32 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_sendtov.3,v 1.3 2000/08/01 01:19:53 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socket_sendv.3,v 1.2 2000/07/27 09:43:33 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socket_sendv.3,v 1.3 2000/08/01 01:19:54 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socketmgr_create.3,v 1.2 2000/07/27 09:43:34 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socketmgr_create.3,v 1.3 2000/08/01 01:19:55 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_socketmgr_destroy.3,v 1.2 2000/07/27 09:43:35 tale Exp $
-.\"
+.\"
+.\" $Id: isc_socketmgr_destroy.3,v 1.3 2000/08/01 01:19:57 tale Exp $
+.\"
.so isc_socket.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_stdio.3,v 1.2 2000/07/27 09:43:37 tale Exp $
-.\"
+.\"
+.\" $Id: isc_stdio.3,v 1.3 2000/08/01 01:19:58 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt ISC_STDIO 3
.Os BIND9 9
.Dv FILE
pointer and
.Fa offset
-and
+and
.Fa whence
have the usual meanings.
The new position is found by adding
.Fa offset
bytes to the position specified by
-.Fa whence
+.Fa whence
which is set to the values
.Dv SEEK_SET ,
.Dv SEEK_CUR ,
The objects are stored at the location given by
.Fa ptr .
.Fa isc_stdio_write
-writes
+writes
.Fa nmemb
objects, each
.Fa size
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_stdio_close.3,v 1.2 2000/07/27 09:43:38 tale Exp $
-.\"
+.\"
+.\" $Id: isc_stdio_close.3,v 1.3 2000/08/01 01:19:59 tale Exp $
+.\"
.so isc_stdio.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_stdio_flush.3,v 1.2 2000/07/27 09:43:39 tale Exp $
-.\"
+.\"
+.\" $Id: isc_stdio_flush.3,v 1.3 2000/08/01 01:20:00 tale Exp $
+.\"
.so isc_stdio.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_stdio_open.3,v 1.2 2000/07/27 09:43:40 tale Exp $
-.\"
+.\"
+.\" $Id: isc_stdio_open.3,v 1.3 2000/08/01 01:20:01 tale Exp $
+.\"
.so isc_stdio.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_stdio_read.3,v 1.2 2000/07/27 09:43:41 tale Exp $
-.\"
+.\"
+.\" $Id: isc_stdio_read.3,v 1.3 2000/08/01 01:20:03 tale Exp $
+.\"
.so isc_stdio.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_stdio_seek.3,v 1.2 2000/07/27 09:43:42 tale Exp $
-.\"
+.\"
+.\" $Id: isc_stdio_seek.3,v 1.3 2000/08/01 01:20:04 tale Exp $
+.\"
.so isc_stdio.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_stdio_sync.3,v 1.2 2000/07/27 09:43:43 tale Exp $
-.\"
+.\"
+.\" $Id: isc_stdio_sync.3,v 1.3 2000/08/01 01:20:05 tale Exp $
+.\"
.so isc_stdio.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_stdio_write.3,v 1.2 2000/07/27 09:43:44 tale Exp $
-.\"
+.\"
+.\" $Id: isc_stdio_write.3,v 1.3 2000/08/01 01:20:06 tale Exp $
+.\"
.so isc_stdio.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_stdtime.3,v 1.2 2000/07/27 09:43:45 tale Exp $
-.\"
+.\"
+.\" $Id: isc_stdtime.3,v 1.3 2000/08/01 01:20:07 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt ISC_STDTIME 3
.Os BIND9 9
.Fd #include <config.h>
.Fd #include <sys/time.h>
-
+
.Fd #include <isc/stdtime.h>
-.Fd #include <isc/util.h>
+.Fd #include <isc/util.h>
.Ft void
.Fo isc_stdtime_get
sets
.Fa t
to the number of seconds since the UNIX epoch, 00:00:00 UTC, January
-1, 1970.
+1, 1970.
.Sh SEE ALSO
.Xr gettimeofday 2 ,
.Xr isc_time_now 3 .
This may cause unpredictable behaviour on systems which treat these
timestamps as 32-bit signed quantities.
.Dv isc_stdtime_t
-is defined as a 32-bit unsigned quantity, which means
+is defined as a 32-bit unsigned quantity, which means
.Fn isc_stdtime_get
should be safe until some time in 2106.
Applications that
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_stdtime_get.3,v 1.2 2000/07/27 09:43:46 tale Exp $
-.\"
+.\"
+.\" $Id: isc_stdtime_get.3,v 1.3 2000/08/01 01:20:08 tale Exp $
+.\"
.so isc_stdtime.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_time.3,v 1.4 2000/07/27 09:43:47 tale Exp $
-.\"
+.\"
+.\" $Id: isc_time.3,v 1.5 2000/08/01 01:20:09 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt ISC_TIME 3
.Os BIND9 9
.Nm isc_time_microdiff ,
.Nm isc_time_seconds ,
.Nm isc_time_secondsastimet ,
-.Nm isc_time_nanoseconds
+.Nm isc_time_nanoseconds
.Nd time-related operations
.Sh SYNOPSIS
.Fd #include <config.h>
-
+
.Fd #include <errno.h>
.Fd #include <limits.h>
.Fd #include <time.h>
-
+
.Fd #include <sys/time.h>
-
+
.Fd #include <isc/string.h>
.Fd #include <isc/time.h>
.Fd #include <isc/util.h>
unsigned int nanoseconds;
};
-typedef struct isc_time isc_time_t;
+typedef struct isc_time isc_time_t;
.Ed
The contents of these structures are private
and MUST NOT be accessed by callers directly.
.Fa *i
is the zero interval.
This condition should hold when the desired amount of time until an
-event associated with interval
+event associated with interval
.Fa *i
has elapsed.
.Pp
.Fn isc_time_settoepoch
-sets
+sets
.Fa *t
to the time of the epoch.
On
is set to the number of seconds and nanoseconds since the epoch.
.Pp
.Fn isc_time_nowplusinterval
-sets
+sets
.Fa *t
to the current time plus the interval specified in
.Fa *i .
and
.Fa *t2 .
It returns 0 if the two times are equal.
-A value of 1 is returned when
+A value of 1 is returned when
.Fa *t1
is greater than
.Fa *t2 .
.Pp
Calls to
.Fn isc_time_add ,
-.Fn isc_time_subtract
+.Fn isc_time_subtract
and
.Fn isc_time_secondsastimet
normally return
and
.Fa i
result in a number of seconds that are too big to fit in a
-.Dv "unsigned int"
+.Dv "unsigned int"
quantity.
If the time value given by
.Fa i
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_time_add.3,v 1.2 2000/07/27 09:43:49 tale Exp $
-.\"
+.\"
+.\" $Id: isc_time_add.3,v 1.3 2000/08/01 01:20:10 tale Exp $
+.\"
.so isc_time.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_time_compare.3,v 1.2 2000/07/27 09:43:50 tale Exp $
-.\"
+.\"
+.\" $Id: isc_time_compare.3,v 1.3 2000/08/01 01:20:11 tale Exp $
+.\"
.so isc_time.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_time_isepoch.3,v 1.2 2000/07/27 09:43:51 tale Exp $
-.\"
+.\"
+.\" $Id: isc_time_isepoch.3,v 1.3 2000/08/01 01:20:12 tale Exp $
+.\"
.so isc_time.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_time_microdiff.3,v 1.2 2000/07/27 09:43:52 tale Exp $
-.\"
+.\"
+.\" $Id: isc_time_microdiff.3,v 1.3 2000/08/01 01:20:14 tale Exp $
+.\"
.so isc_time.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_time_nanoseconds.3,v 1.2 2000/07/27 09:43:53 tale Exp $
-.\"
+.\"
+.\" $Id: isc_time_nanoseconds.3,v 1.3 2000/08/01 01:20:15 tale Exp $
+.\"
.so isc_time.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_time_now.3,v 1.2 2000/07/27 09:43:54 tale Exp $
-.\"
+.\"
+.\" $Id: isc_time_now.3,v 1.3 2000/08/01 01:20:16 tale Exp $
+.\"
.so isc_time.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_time_nowplusinterval.3,v 1.2 2000/07/27 09:43:55 tale Exp $
-.\"
+.\"
+.\" $Id: isc_time_nowplusinterval.3,v 1.3 2000/08/01 01:20:17 tale Exp $
+.\"
.so isc_time.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_time_seconds.3,v 1.2 2000/07/27 09:43:56 tale Exp $
-.\"
+.\"
+.\" $Id: isc_time_seconds.3,v 1.3 2000/08/01 01:20:18 tale Exp $
+.\"
.so isc_time.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_time_secondsastimet.3,v 1.2 2000/07/27 09:43:57 tale Exp $
-.\"
+.\"
+.\" $Id: isc_time_secondsastimet.3,v 1.3 2000/08/01 01:20:19 tale Exp $
+.\"
.so isc_time.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_time_set.3,v 1.2 2000/07/27 09:43:58 tale Exp $
-.\"
+.\"
+.\" $Id: isc_time_set.3,v 1.3 2000/08/01 01:20:20 tale Exp $
+.\"
.so isc_time.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_time_settoepoch.3,v 1.2 2000/07/27 09:43:59 tale Exp $
-.\"
+.\"
+.\" $Id: isc_time_settoepoch.3,v 1.3 2000/08/01 01:20:21 tale Exp $
+.\"
.so isc_time.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: isc_time_subtract.3,v 1.2 2000/07/27 09:44:00 tale Exp $
-.\"
+.\"
+.\" $Id: isc_time_subtract.3,v 1.3 2000/08/01 01:20:22 tale Exp $
+.\"
.so isc_time.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres.3,v 1.2 2000/07/27 09:44:02 tale Exp $
-.\"
+.\"
+.\" $Id: lwres.3,v 1.3 2000/08/01 01:20:24 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES 3
.Os BIND9 9
to encode requests and decode responses.
The server for the lightweight resolver is
.Nm lwresd .
-In reality this is implemented by the name server,
+In reality this is implemented by the name server,
.Nm named ,
-though when operating as the lightweight resolver server,
+though when operating as the lightweight resolver server,
.Nm lwresd
is functionally and logically distinct from the actual name server.
The protocol consists of a number of opcodes, each of which has a
This simplifies structure handling and parsing for both the server
receiving a request and the client receiving a reply.
It also eliminates data copying by enabling a mapping structure to
-directly point at data in the actual receive buffer.
+directly point at data in the actual receive buffer.
.Sh OPCODES
.Pp
Every lightweight resolver operation uses a unique opcode.
Opcodes in the range 0x00000000 and 0x03ffffff are reserved for use by
the lightweight resolver library.
Opcodes between 0x04000000 and 0xffffffff have been set aside for use by
-applications.
+applications.
.Pp
Three opcodes are currently defined:
.Bl -tag -width LWRES_OPCODE_GETADDRSBYNAME
.It Li LWRES_OPCODE_NOOP
-The no-op opcode is essentially an echo operation, comparable to
+The no-op opcode is essentially an echo operation, comparable to
.Xr ping 1 .
The server simply returns the entire data region that had been sent by
the client.
structure.
Memory allocated to the opcode's request or reply structures is
discarded using the
-.Ar free
+.Ar free
function.
Clients will typically use the op-code specific
.Ar xxx_request_render ,
-.Ar xxx_response_parse
+.Ar xxx_response_parse
and
.Ar xxx_response_free
functions.
The name server will use the
.Ar xxx_request_parse ,
.Ar xxx_response_render
-and
+and
.Ar xxx_request_free
functions.
.Pp
For example, the no-op opcode -
.Dv LWRES_OPCODE_NOOP
-- uses
+- uses
.Dv lwres_nooprequest_t
and
.Dv lwres_noopresponse_t
and
.Dv lwres_noopresponse_t
structures respectively.
-.\"
+.\"
.\" XXXJR
.\" NOT YET.
.\" This is just a placeholder to indicate where the section on the
thread.
See
.Xr lwres_context 3 .
-Once the context has been created,
+Once the context has been created,
.Fn lwres_conf_init
-is called to read
+is called to read
.Pa /etc/resolv.conf
so that various options such as sort lists, search lists and so on can
be applied.
.Xr lwres_context 3 ,
.Xr lwres_config 3 ,
.Xr resolver 5 ,
-.Xr lwres_getipnode 3
+.Xr lwres_getipnode 3
.Xr lwresd 8 ,
.Xr named 8 .
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_addr_parse.3,v 1.2 2000/07/27 09:44:03 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_addr_parse.3,v 1.3 2000/08/01 01:20:25 tale Exp $
+.\"
.so lwres_resutil.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer.3,v 1.2 2000/07/27 09:44:04 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer.3,v 1.3 2000/08/01 01:20:26 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_BUFFER 3
.Os BIND9 9
.Nd lightweight resolver buffer management
.Sh SYNOPSIS
.Fd #include <lwres/lwbuffer.h>
-.Fd
+.Fd
.Ft void
.Fo lwres_buffer_init
.Fa "lwres_buffer_t *b"
unsigned int active;
};
.Ed
-The main reason for making the buffer structure public is so that
+The main reason for making the buffer structure public is so that
buffer operations can be implemented using macros.
Applications should not manipulate this structure directly.
They should use the functions listed below.
remaining region.
Initially, the active region is empty.
If the current offset advances beyond the chosen offset,
-the active region will also be empty.
+the active region will also be empty.
.Pp
Except for
.Fn lwres_buffer_init ,
.Fa *b
is invalidated by
.Fn lwres_buffer_invalidate .
-.Fa *b
+.Fa *b
must be a valid lightweight resolver buffer.
.Pp
The functions
by
.Fa n
bytes.
-.Fa *b
+.Fa *b
.Fn lwres_buffer_add
checks for buffer overflow and
.Fn lwres_buffer_subtract
.Fn lwres_buffer_clear .
The function sets
.Li b->used ,
-.Li b->current
+.Li b->current
and
-.Li b->active
+.Li b->active
to zero.
.Pp
.Fn lwres_buffer_first
.Fn lwres_buffer_putmem
copies
.Fa length
-bytes of memory at
+bytes of memory at
.Fa base
to
.Fa b.
-Conversely,
+Conversely,
.Fn lwres_buffer_getmem
copies
.Fa length
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_add.3,v 1.2 2000/07/27 09:44:05 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_add.3,v 1.3 2000/08/01 01:20:27 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_back.3,v 1.2 2000/07/27 09:44:06 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_back.3,v 1.3 2000/08/01 01:20:28 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_clear.3,v 1.2 2000/07/27 09:44:07 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_clear.3,v 1.3 2000/08/01 01:20:29 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_first.3,v 1.2 2000/07/27 09:44:08 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_first.3,v 1.3 2000/08/01 01:20:30 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_forward.3,v 1.2 2000/07/27 09:44:09 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_forward.3,v 1.3 2000/08/01 01:20:31 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_getmem.3,v 1.2 2000/07/27 09:44:10 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_getmem.3,v 1.3 2000/08/01 01:20:33 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_getuint16.3,v 1.2 2000/07/27 09:44:12 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_getuint16.3,v 1.3 2000/08/01 01:20:34 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_getuint32.3,v 1.2 2000/07/27 09:44:13 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_getuint32.3,v 1.3 2000/08/01 01:20:35 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_getuint8.3,v 1.2 2000/07/27 09:44:14 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_getuint8.3,v 1.3 2000/08/01 01:20:36 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_init.3,v 1.2 2000/07/27 09:44:15 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_init.3,v 1.3 2000/08/01 01:20:37 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_invalidate.3,v 1.2 2000/07/27 09:44:16 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_invalidate.3,v 1.3 2000/08/01 01:20:38 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_putmem.3,v 1.2 2000/07/27 09:44:17 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_putmem.3,v 1.3 2000/08/01 01:20:39 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_putuint16.3,v 1.2 2000/07/27 09:44:18 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_putuint16.3,v 1.3 2000/08/01 01:20:40 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_putuint32.3,v 1.2 2000/07/27 09:44:19 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_putuint32.3,v 1.3 2000/08/01 01:20:41 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_putuint8.3,v 1.2 2000/07/27 09:44:20 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_putuint8.3,v 1.3 2000/08/01 01:20:42 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_subtract.3,v 1.2 2000/07/27 09:44:21 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_subtract.3,v 1.3 2000/08/01 01:20:43 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_conf_clear.3,v 1.2 2000/07/27 09:44:22 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_conf_clear.3,v 1.3 2000/08/01 01:20:45 tale Exp $
+.\"
.so lwres_config.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_conf_get.3,v 1.2 2000/07/27 09:44:23 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_conf_get.3,v 1.3 2000/08/01 01:20:46 tale Exp $
+.\"
.so lwres_config.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_conf_init.3,v 1.2 2000/07/27 09:44:25 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_conf_init.3,v 1.3 2000/08/01 01:20:47 tale Exp $
+.\"
.so lwres_config.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_conf_parse.3,v 1.2 2000/07/27 09:44:26 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_conf_parse.3,v 1.3 2000/08/01 01:20:48 tale Exp $
+.\"
.so lwres_config.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_conf_print.3,v 1.2 2000/07/27 09:44:27 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_conf_print.3,v 1.3 2000/08/01 01:20:50 tale Exp $
+.\"
.so lwres_config.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_config.3,v 1.2 2000/07/27 09:44:28 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_config.3,v 1.3 2000/08/01 01:20:51 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_CONFIG 3
.Os BIND9 9
.Fa ctx .
.Pp
.Fn lwres_conf_clear
-frees up all the internal memory used by
+frees up all the internal memory used by
that
.Dv lwres_conf_t
structure in resolver context
.Fa fp.
.Sh RETURN VALUES
.Fn lwres_conf_parse
-returns
+returns
.Er LWRES_R_SUCCESS
if it successfully read and parsed
.Fa filename .
.Er LWRES_R_FAILURE
if
.Fa filename
-could not be opened or contained incorrect
+could not be opened or contained incorrect
resolver statements.
.Pp
.Fn lwres_conf_print
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context.3,v 1.2 2000/07/27 09:44:29 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context.3,v 1.3 2000/08/01 01:20:52 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_CONTEXT 3
.Os BIND9 9
.Nd lightweight resolver memory allocation routines
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft lwres_result_t
.Fo lwres_context_create
.Fa "lwres_context_t **contextp"
.Fa "void *arg"
.Fa "lwres_malloc_t malloc_function"
.Fa "lwres_free_t free_function"
-.Fc
+.Fc
.Ft lwres_result_t
.Fo lwres_context_destroy
.Fa "lwres_context_t **contextp"
.Fn lwres_context_initserial
sets the serial number for context
.Fa *ctx
-to
+to
.Fa serial .
.Fn lwres_context_nextserial
returns the current serial number for the context and increments
.Fa *recvd_len .
.Sh RETURN VALUES
.Fn lwres_context_create
-returns
+returns
.Er LWRES_R_NOMEMORY
if memory for the
.Dv "struct lwres_context"
is returned if an I/O error occurs and
.Er LWRES_R_TIMEOUT
is returned if the
-.Xr recvfrom 2
+.Xr recvfrom 2
call times out.
.Sh SEE ALSO
.Xr lwres_conf_init 3 ,
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context_allocmem.3,v 1.2 2000/07/27 09:44:30 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context_allocmem.3,v 1.3 2000/08/01 01:20:53 tale Exp $
+.\"
.so lwres_context.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context_create.3,v 1.2 2000/07/27 09:44:31 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context_create.3,v 1.3 2000/08/01 01:20:54 tale Exp $
+.\"
.so lwres_context.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context_destroy.3,v 1.2 2000/07/27 09:44:32 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context_destroy.3,v 1.3 2000/08/01 01:20:55 tale Exp $
+.\"
.so lwres_context.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context_freemem.3,v 1.2 2000/07/27 09:44:33 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context_freemem.3,v 1.3 2000/08/01 01:20:56 tale Exp $
+.\"
.so lwres_context.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context_initserial.3,v 1.2 2000/07/27 09:44:34 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context_initserial.3,v 1.3 2000/08/01 01:20:57 tale Exp $
+.\"
.so lwres_context.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context_nextserial.3,v 1.2 2000/07/27 09:44:35 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context_nextserial.3,v 1.3 2000/08/01 01:20:58 tale Exp $
+.\"
.so lwres_context.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context_sendrecv.3,v 1.2 2000/07/27 09:44:36 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context_sendrecv.3,v 1.3 2000/08/01 01:20:59 tale Exp $
+.\"
.so lwres_context.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_endhostent.3,v 1.2 2000/07/27 09:44:38 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_endhostent.3,v 1.3 2000/08/01 01:21:00 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_endhostent_r.3,v 1.2 2000/07/27 09:44:39 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_endhostent_r.3,v 1.3 2000/08/01 01:21:01 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_freeaddrinfo.3,v 1.2 2000/07/27 09:44:40 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_freeaddrinfo.3,v 1.3 2000/08/01 01:21:02 tale Exp $
+.\"
.so lwres_getaddrinfo.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_freehostent.3,v 1.2 2000/07/27 09:44:41 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_freehostent.3,v 1.3 2000/08/01 01:21:04 tale Exp $
+.\"
.so lwres_getipnode.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gabn.3,v 1.2 2000/07/27 09:44:42 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gabn.3,v 1.3 2000/08/01 01:21:05 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_GABN 3
.Os BIND9 9
.Nd lightweight resolver getaddrbyname functions
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft lwres_result_t
.Fo lwres_gabnrequest_render
.Fa "lwres_context_t *ctx"
They are shown below.
.Bd -literal -offset indent
#define LWRES_OPCODE_GETADDRSBYNAME 0x00010001U
-
+
typedef struct lwres_addr lwres_addr_t;
-typedef LWRES_LIST(lwres_addr_t) lwres_addrlist_t;
+typedef LWRES_LIST(lwres_addr_t) lwres_addrlist_t;
typedef struct {
lwres_uint32_t flags;
.Fa ctx
to convert the contents of packet
.Fa pkt
-to a
+to a
.Dv lwres_gabnrequest_t
structure.
Buffer
is returned if the available space in the buffer
.Fa b
is too small to accommodate the packet header or the
-.Dv lwres_gabnrequest_t
+.Dv lwres_gabnrequest_t
and
.Dv lwres_gabnresponse_t
structures.
.Dv lwres_lwpacket_t
indicate that the packet is not a response to an earlier query.
.Sh SEE ALSO
-.Xr lwres_packet 3
+.Xr lwres_packet 3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gabnrequest_free.3,v 1.2 2000/07/27 09:44:43 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gabnrequest_free.3,v 1.3 2000/08/01 01:21:06 tale Exp $
+.\"
.so lwres_gabn.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gabnrequest_parse.3,v 1.2 2000/07/27 09:44:44 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gabnrequest_parse.3,v 1.3 2000/08/01 01:21:07 tale Exp $
+.\"
.so lwres_gabn.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gabnrequest_render.3,v 1.2 2000/07/27 09:44:45 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gabnrequest_render.3,v 1.3 2000/08/01 01:21:08 tale Exp $
+.\"
.so lwres_gabn.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gabnresponse_free.3,v 1.2 2000/07/27 09:44:46 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gabnresponse_free.3,v 1.3 2000/08/01 01:21:09 tale Exp $
+.\"
.so lwres_gabn.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gabnresponse_parse.3,v 1.2 2000/07/27 09:44:47 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gabnresponse_parse.3,v 1.3 2000/08/01 01:21:10 tale Exp $
+.\"
.so lwres_gabn.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gabnresponse_render.3,v 1.2 2000/07/27 09:44:48 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gabnresponse_render.3,v 1.3 2000/08/01 01:21:11 tale Exp $
+.\"
.so lwres_gabn.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gai_strerror.3,v 1.2 2000/07/27 09:44:49 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gai_strerror.3,v 1.3 2000/08/01 01:21:12 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_GAI_STRERROR 3
.Os BIND9 9
.Nd print suitable error string
.Sh SYNOPSIS
.Fd #include <lwres/netdb.h>
-.Fd
+.Fd
.Ft char *
.Fo gai_strerror
.Fa "int ecode"
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_getaddrinfo.3,v 1.2 2000/07/27 09:44:50 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_getaddrinfo.3,v 1.3 2000/08/01 01:21:13 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_GETADDRINFO 3
.Os BIND9 9
.Nd socket address structure to host and service name
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft int
.Fo lwres_getaddrinfo
.Fa "const char *hostname"
the protocol family that should be used.
When
.Li ai_family
-is set to
+is set to
.Dv PF_UNSPEC ,
it means the caller will accept any protocol family supported by the
operating system.
.It Dv ai_socktype
denotes the type of socket -
.Dv SOCK_STREAM ,
-.Dv SOCK_DGRAM
+.Dv SOCK_DGRAM
or
.Dv SOCK_RAW
- that is wanted.
.Dv AI_PASSIVE
bit, the returned socket address structure will be ready
for use in a call to
-.Xr connect 2
+.Xr connect 2
for a connection-oriented protocol or
-.Xr connect 2 ,
+.Xr connect 2 ,
.Xr sendto 2 ,
or
.Xr sendmsg 2
.Dv NULL
pointer and
.Dv AI_PASSIVE
-is not set in
+is not set in
.Li ai_flags .
.Pp
If
is set to
.Dv AI_NUMERICHOST
it indicates that
-the
+the
.Dv non-NuLL
.Fa hostname
should be treated as a numeric string defining an IPv4 or IPv6 address.
.Fa arg
must be zero.
.Pp
-If
+If
.Fa arg
is not supplied, a
.Dv NULL
.Li ai_next
pointer, until a
.Dv NULL
-pointer is encountered.
+pointer is encountered.
The three members
.Li ai_family ,
ai_socktype,
returns zero on success or one of the error codes listed in
.Xr gai_strerror 3
if an error occurs.
-If both
+If both
.Fa hostname
and
.Fa servname
.Xr RFC2133 ,
.Xr getservbyname 3 ,
.Xr bind 2
-.Xr connect 2
-.Xr connect 2 ,
+.Xr connect 2
+.Xr connect 2 ,
.Xr sendto 2 ,
.Xr sendmsg 2 ,
.Xr socket 2 .
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_getaddrsbyname.3,v 1.2 2000/07/27 09:44:52 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_getaddrsbyname.3,v 1.3 2000/08/01 01:21:15 tale Exp $
+.\"
.so lwres_resutil.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gethostbyaddr.3,v 1.2 2000/07/27 09:44:53 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gethostbyaddr.3,v 1.3 2000/08/01 01:21:16 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gethostbyaddr_r.3,v 1.2 2000/07/27 09:44:54 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gethostbyaddr_r.3,v 1.3 2000/08/01 01:21:17 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gethostbyname.3,v 1.2 2000/07/27 09:44:55 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gethostbyname.3,v 1.3 2000/08/01 01:21:18 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gethostbyname2.3,v 1.2 2000/07/27 09:44:56 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gethostbyname2.3,v 1.3 2000/08/01 01:21:19 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gethostbyname_r.3,v 1.2 2000/07/27 09:44:57 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gethostbyname_r.3,v 1.3 2000/08/01 01:21:20 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gethostent.3,v 1.2 2000/07/27 09:44:58 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gethostent.3,v 1.3 2000/08/01 01:21:21 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_GETHOSTENT 3
.Os BIND9 9
.Nd lightweight resolver get network host entry
.Sh SYNOPSIS
.Fd #include <lwres/netdb.h>
-.Fd
+.Fd
.Ft struct hostent *
.Fo lwres_gethostbyname
.Fa "const char *name"
daemon \fPNOT IF IT IS GOING AWAY\fP
for looking up hostnames and addresses. They are similar to the
standard
-.Xr gethostent 3
+.Xr gethostent 3
functions provided by as part of the standard system software.
They use a
.Dv "struct hostent"
A NULL-terminated array of alternate names (nicknames) for the host.
.It Li h_addrtype
The type of address being returned -
-.Dv PF_INET
+.Dv PF_INET
or
.Dv PF_INET6 .
.It Li h_length
Host addresses are returned in network byte order.
.El
.Pp
-For backward compatibility with very old software,
+For backward compatibility with very old software,
.Li h_addr
is the first address in
.Li h_addr_list.
.Fn lwres_gethostbyname2
looks for an address of protocol family
.Fa af :
-either
+either
.Dv PF_INET
or
-.Dv PF_INET6
+.Dv PF_INET6
- IPv4 or IPV6 addresses respectively.
Both functions call
.Fn lwres_getipnodebyname
.Fn lwres_getipnodebyname
to lookup the hostname
.Fa name .
-If
+If
.Fn lwres_getipnodebyname
encounters an error, the error code is returned in
-.Fa *error .
+.Fa *error .
.Fa resbuf
is a pointer to a
.Dv "struct hostent"
which is initialised by a successful call to
-.Fn lwres_gethostbyname_r .
+.Fn lwres_gethostbyname_r .
.Fa buf
is a buffer of length
.Fa len
is a pointer to a
.Dv "struct hostent"
which is initialised by a successful call to
-.Fn lwres_gethostbyaddr_r .
+.Fn lwres_gethostbyaddr_r .
.Fa buf
is a buffer of length
.Fa len
it created.
.Sh RETURN VALUES
.Pp
-The functions
+The functions
.Fn lwres_gethostbyname ,
.Fn lwres_gethostbyname2 ,
.Fn lwres_gethostbyaddr ,
-and
+and
.Fn lwres_gethostent
are not thread-safe because they free any memory that had been allocated
in a previous call to those functions before they perform a lookup.
.Li h_addr_list
elements of the
.Dv "struct hostent" .
-If
+If
.Fa buf
was too small, both
.Fn lwres_gethostbyname_r
Although
.Fn lwres_gethostbyname ,
.Fn lwres_gethostbyname2 ,
-.Fn lwres_gethostbyaddr
+.Fn lwres_gethostbyaddr
and
.Fn lwres_endhostent
call thread-safe functions to perform lookups, these 3 functions
Thread-safe versions for name and address lookup are provided by
.Fn lwres_gethostbyname_r ,
and
-.Fn lwres_gethostbyaddr_r
+.Fn lwres_gethostbyaddr_r
respectively.
.Pp
Although the above functions can be considered as drop-in replacements
.Dv NIS/YP
or
.Dv NIS+
-maps which could be supported by the operating system's
+maps which could be supported by the operating system's
.Xr gethostent 3
functions.
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gethostent_r.3,v 1.2 2000/07/27 09:44:59 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gethostent_r.3,v 1.3 2000/08/01 01:21:23 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_getipnode.3,v 1.2 2000/07/27 09:45:00 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_getipnode.3,v 1.3 2000/08/01 01:21:24 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_GETIPNODE 3
.Os BIND9 9
.Nd lookup functions for the lightweight resolver
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft struct hostent *
.Fo lwres_getipnodebyname
.Fa "const char *name"
A NULL-terminated array of alternate names (nicknames) for the host.
.It Li h_addrtype
The type of address being returned -
-.Dv PF_INET
+.Dv PF_INET
or
.Dv PF_INET6 .
.It Li h_length
Host addresses are returned in network byte order.
.El
.Pp
-For backward compatibility with very old software,
+For backward compatibility with very old software,
.Li h_addr
is the first address in
.Li h_addr_list.
.Pp
.Fn lwres_freehostent
releases all the memory associated with
-the
+the
.Dv "struct hostent"
pointer
.Fa he .
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_getipnodebyaddr.3,v 1.2 2000/07/27 09:45:02 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_getipnodebyaddr.3,v 1.3 2000/08/01 01:21:25 tale Exp $
+.\"
.so lwres_getipnode.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_getipnodebyname.3,v 1.2 2000/07/27 09:45:03 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_getipnodebyname.3,v 1.3 2000/08/01 01:21:26 tale Exp $
+.\"
.so lwres_getipnode.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_getnamebyaddr.3,v 1.2 2000/07/27 09:45:04 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_getnamebyaddr.3,v 1.3 2000/08/01 01:21:27 tale Exp $
+.\"
.so lwres_resutil.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_getnameinfo.3,v 1.3 2000/07/27 09:45:05 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_getnameinfo.3,v 1.4 2000/08/01 01:21:28 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_GETNAMEINFO 3
.Os BIND9 9
.Nd lightweight resolver socket address structure to hostname and service name
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft int
.Fo lwres_getnameinfo
.Fa "const struct sockaddr *sa"
.Fn lwres_getnameinfo
returns so that the created resolver context gets discarded.
.Sh RETURN VALUES
-.Fn lwres_getnameinfo
+.Fn lwres_getnameinfo
returns 0 on success or a non-zero error code if an error occurs.
.\"
.\" The error codes below were invented by the ISC/Nominum. They
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gnba.3,v 1.2 2000/07/27 09:45:06 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gnba.3,v 1.3 2000/08/01 01:21:29 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_GNBA 3
.Os BIND9 9
.Nd lightweight resolver getnamebyaddress functions
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft lwres_result_t
.Fo lwres_gnbarequest_render
.Fa "lwres_context_t *ctx"
.Fa ctx
to convert the contents of packet
.Fa pkt
-to a
+to a
.Dv lwres_gnbarequest_t
structure.
Buffer
is returned if the available space in the buffer
.Fa b
is too small to accommodate the packet header or the
-.Dv lwres_gnbarequest_t
+.Dv lwres_gnbarequest_t
and
.Dv lwres_gnbaresponse_t
structures.
.Dv lwres_lwpacket_t
indicate that the packet is not a response to an earlier query.
.Sh SEE ALSO
-.Xr lwres_packet 3
+.Xr lwres_packet 3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gnbarequest_free.3,v 1.2 2000/07/27 09:45:08 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gnbarequest_free.3,v 1.3 2000/08/01 01:21:30 tale Exp $
+.\"
.so lwres_gnba.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gnbarequest_parse.3,v 1.2 2000/07/27 09:45:09 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gnbarequest_parse.3,v 1.3 2000/08/01 01:21:31 tale Exp $
+.\"
.so lwres_gnba.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gnbarequest_render.3,v 1.2 2000/07/27 09:45:10 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gnbarequest_render.3,v 1.3 2000/08/01 01:21:33 tale Exp $
+.\"
.so lwres_gnba.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gnbaresponse_free.3,v 1.2 2000/07/27 09:45:11 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gnbaresponse_free.3,v 1.3 2000/08/01 01:21:34 tale Exp $
+.\"
.so lwres_gnba.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gnbaresponse_parse.3,v 1.2 2000/07/27 09:45:13 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gnbaresponse_parse.3,v 1.3 2000/08/01 01:21:35 tale Exp $
+.\"
.so lwres_gnba.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gnbaresponse_render.3,v 1.2 2000/07/27 09:45:14 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gnbaresponse_render.3,v 1.3 2000/08/01 01:21:36 tale Exp $
+.\"
.so lwres_gnba.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_herror.3,v 1.2 2000/07/27 09:45:15 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_herror.3,v 1.3 2000/08/01 01:21:37 tale Exp $
+.\"
.so lwres_hstrerror.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_hstrerror.3,v 1.2 2000/07/27 09:45:16 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_hstrerror.3,v 1.3 2000/08/01 01:21:38 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_ERROR 3
.Os BIND9 9
.Nd lightweight resolver error message generation
.Sh SYNOPSIS
.Fd #include <lwres/netdb.h>
-.Fd
+.Fd
.Ft void
.Fo lwres_herror
.Fa "const char *s"
.Sh RETURN VALUES
The string \*qUnknown resolver error\*q is returned by
.Fn lwres_hstrerror
-when the value of
+when the value of
.Li lwres_h_errno
is not a valid error code.
.Sh SEE ALSO
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_inetaton.3,v 1.2 2000/07/27 09:45:18 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_inetaton.3,v 1.3 2000/08/01 01:21:39 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_INETATON 3
.Os BIND9 9
.Sh SYNOPSIS
.Fd #include <lwres/int.h>
.Fd #include <lwres/net.h>
-.Fd
+.Fd
.Ft int
.Fo lwres_net_aton
.Fa "const char *cp"
.Pp
If a one-part address is given, its value is placed in the network
address without any byte rearrangement.
-When a two-part address -
-.Li a.b -
+When a two-part address -
+.Li a.b -
is supplied, the last part is considered a 24-bit quantity and placed
in the bottom 3 bytes of
.Li addr->s_addr .
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_inetntop.3,v 1.2 2000/07/27 09:45:19 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_inetntop.3,v 1.3 2000/08/01 01:21:41 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_INETNTOP 3
.Os BIND9 9
.Nd lightweight resolver IP address presentation
.Sh SYNOPSIS
.Fd #include <lwres/net.h>
-.Fd
+.Fd
.Ft const char *
.Fo lwres_net_ntop
.Fa "int af"
.Sh DESCRIPTION
.Fn lwres_net_ntop
converts an IP address of protocol family
-.Fa af
+.Fa af
- IPv4 or IPv6 - at location
.Fa src
from network format to its conventional representation as a string.
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_inetpton.3,v 1.2 2000/07/27 09:45:20 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_inetpton.3,v 1.3 2000/08/01 01:21:42 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_INETPTON 3
.Os BIND9 9
.Nd lightweight resolver IP address conversion
.Sh SYNOPSIS
.Fd #include <lwres/net.h>
-.Fd
+.Fd
.Ft int
.Fo lwres_net_pton
.Fa "int af"
.Fa src
to its representation in network format.
.Fa af
-indicates the protocol family for the address
+indicates the protocol family for the address
.Dv PF_INET
or
.Dv PF_INET6
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_lwpacket_parseheader.3,v 1.2 2000/07/27 09:45:22 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_lwpacket_parseheader.3,v 1.3 2000/08/01 01:21:43 tale Exp $
+.\"
.so lwres_packet.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_lwpacket_renderheader.3,v 1.2 2000/07/27 09:45:23 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_lwpacket_renderheader.3,v 1.3 2000/08/01 01:21:44 tale Exp $
+.\"
.so lwres_packet.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_net_aton.3,v 1.2 2000/07/27 09:45:24 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_net_aton.3,v 1.3 2000/08/01 01:21:45 tale Exp $
+.\"
.so lwres_inetaton.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_net_ntop.3,v 1.2 2000/07/27 09:45:25 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_net_ntop.3,v 1.3 2000/08/01 01:21:46 tale Exp $
+.\"
.so lwres_inetntop.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_net_pton.3,v 1.2 2000/07/27 09:45:26 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_net_pton.3,v 1.3 2000/08/01 01:21:47 tale Exp $
+.\"
.so lwres_inetpton.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_noop.3,v 1.2 2000/07/27 09:45:28 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_noop.3,v 1.3 2000/08/01 01:21:48 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_NOOP 3
.Os BIND9 9
.Nd lightweight resolver no-op functions
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft lwres_result_t
.Fo lwres_nooprequest_render
.Fa "lwres_context_t *ctx"
.Fa ctx
to convert the contents of packet
.Fa pkt
-to a
+to a
.Dv lwres_nooprequest_t
structure.
Buffer
is returned if the available space in the buffer
.Fa b
is too small to accommodate the packet header or the
-.Dv lwres_nooprequest_t
+.Dv lwres_nooprequest_t
and
.Dv lwres_noopresponse_t
structures.
.Dv lwres_lwpacket_t
indicate that the packet is not a response to an earlier query.
.Sh SEE ALSO
-.Xr lwres_packet 3
+.Xr lwres_packet 3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_nooprequest_free.3,v 1.2 2000/07/27 09:45:29 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_nooprequest_free.3,v 1.3 2000/08/01 01:21:50 tale Exp $
+.\"
.so lwres_noop.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_nooprequest_parse.3,v 1.2 2000/07/27 09:45:31 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_nooprequest_parse.3,v 1.3 2000/08/01 01:21:51 tale Exp $
+.\"
.so lwres_noop.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_nooprequest_render.3,v 1.2 2000/07/27 09:45:32 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_nooprequest_render.3,v 1.3 2000/08/01 01:21:52 tale Exp $
+.\"
.so lwres_noop.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_noopresponse_free.3,v 1.2 2000/07/27 09:45:33 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_noopresponse_free.3,v 1.3 2000/08/01 01:21:53 tale Exp $
+.\"
.so lwres_noop.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_noopresponse_parse.3,v 1.2 2000/07/27 09:45:34 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_noopresponse_parse.3,v 1.3 2000/08/01 01:21:54 tale Exp $
+.\"
.so lwres_noop.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_noopresponse_render.3,v 1.2 2000/07/27 09:45:35 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_noopresponse_render.3,v 1.3 2000/08/01 01:21:55 tale Exp $
+.\"
.so lwres_noop.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_packet.3,v 1.2 2000/07/27 09:45:38 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_packet.3,v 1.3 2000/08/01 01:21:56 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_PACKET 3
.Os BIND9 9
.Fd #include <lwres/lwbuffer.h>
.Fd #include <lwres/lwpacket.h>
.Fd #include <lwres/result.h>
-.Fd
+.Fd
.Ft lwres_result_t
.Fo lwres_lwpacket_renderheader
.Fa "lwres_buffer_t *b"
the caller.
.It Li serial
is set by the requestor and is returned in all replies. If two or more
-packets from the same source have the same serial number and are from
+packets from the same source have the same serial number and are from
the same source, they are assumed to be duplicates and the latter ones
may be dropped.
.It Li opcode
0x04000000 and 0xffffffff are application defined.
.It Li result
is only valid for replies.
-Results between 0x04000000 and 0xffffffff are application defined.
+Results between 0x04000000 and 0xffffffff are application defined.
Results between 0x00000000 and 0x03ffffff are reserved for library use.
.It Li recvlength
is the maximum buffer size that the receiver can handle on requests
If there is insufficient space to copy data between the buffer
.Fa *b
and lightweight resolver packet
-.Fa *pkt
+.Fa *pkt
both functions return
.Er LWRES_R_UNEXPECTEDEND .
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_resutil.3,v 1.2 2000/07/27 09:45:39 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_resutil.3,v 1.3 2000/08/01 01:21:57 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_RESUTIL 3
.Os BIND9 9
.Nd lightweight resolver utility functions
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft lwres_result_t
.Fo lwres_string_parse
.Fa "lwres_buffer_t *b"
.Fa *len .
The buffer's current pointer is advanced to point at the character
following the string length, the encoded string, and the trailing
-.Dv NULL
+.Dv NULL
character.
.Fn lwres_string_parse
has an assertion check that
.Ed
The contents of this structure are not manipulated directly but
they are controlled through the
-.Xr lwres_gabn 3
+.Xr lwres_gabn 3
functions.
.Pp
The lightweight resolver uses
.Fa *structp .
.Fn lwres_getaddrsbyname
checks that its pointer arguments are not
-.Dv NULL
+.Dv NULL
and that
.Fa addrtypes
is non-zero.
.Fn lwres_getaddrsbyname ,
.Fn lwres_getnamebyaddr
uses assertion checking to ensure its pointer arguments are not
-.Dv NULL
-and
+.Dv NULL
+and
.Fa addrtype
is not zero.
.Fn lwres_getaddrsbyname
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_sethostent.3,v 1.2 2000/07/27 09:45:40 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_sethostent.3,v 1.3 2000/08/01 01:21:58 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_sethostent_r.3,v 1.2 2000/07/27 09:45:41 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_sethostent_r.3,v 1.3 2000/08/01 01:21:59 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_string_parse.3,v 1.2 2000/07/27 09:45:43 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_string_parse.3,v 1.3 2000/08/01 01:22:01 tale Exp $
+.\"
.so lwres_resutil.3
Copyright (C) 2000 Internet Software Consortium.
See COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
-$Id: options,v 1.31 2000/07/12 15:55:10 gson Exp $
+$Id: options,v 1.32 2000/08/01 01:22:02 tale Exp $
This is a summary of the implementation status of the various named.conf
options in BIND 9.
No Not implemented, may be implemented in a later release.
- Obsolete Obsolete, not applicable to BIND 9, or just evil.
+ Obsolete Obsolete, not applicable to BIND 9, or just evil.
Will not be implemented.
* New in BIND 9.
% The default value has changed since BIND 8.
@ Semantics of certain pathological address match lists, in
- particular those involving double negation, have changed.
+ particular those involving double negation, have changed.
The new semantics are generally safer. IPv6 addresses
- are supported, but the predefined ACLs "localhost" and
+ are supported, but the predefined ACLs "localhost" and
"localnets" match IPv4 addresses only.
# BIND 9 accepts both LF and CRLF as end-of-line markers.
trusted-keys Yes
-zone "domain_name" [ ( in | hs | hesiod | chaos ) ] {
+zone "domain_name" [ ( in | hs | hesiod | chaos ) ] {
type master; Yes
file path_name; Yes
[ forward ( only | first ); ] No
[ pubkey number number number string; ] No
};
-zone "domain_name" [ ( in | hs | hesiod | chaos ) ] {
+zone "domain_name" [ ( in | hs | hesiod | chaos ) ] {
type stub; No
};
-zone "domain_name" [ ( in | hs | hesiod | chaos ) ] {
+zone "domain_name" [ ( in | hs | hesiod | chaos ) ] {
type slave; Yes
[ file path_name; ] Yes
[ ixfr-base path_name; ] Obsolete
[ pubkey number number number string; ] No
};
-zone "domain_name" [ ( in | hs | hesiod | chaos ) ] {
+zone "domain_name" [ ( in | hs | hesiod | chaos ) ] {
type forward; No
};
-zone "." [ ( in | hs | hesiod | chaos ) ] {
+zone "." [ ( in | hs | hesiod | chaos ) ] {
type hint; Yes
file path_name; Yes
[ check-names ( warn | fail | ignore ); ] No
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
-
+
if [ -d $dst ]; then
instcmd=:
else
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
+# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f $src -o -d $src ]
echo "install: $src does not exist"
exit 1
fi
-
+
if [ x"$dst" = x ]
then
echo "install: no destination specified"
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
-defaultIFS='
+defaultIFS='
'
IFS="${IFS-${defaultIFS}}"
# If we're going to rename the final executable, determine the name now.
- if [ x"$transformarg" = x ]
+ if [ x"$transformarg" = x ]
then
dstfile=`basename $dst`
else
- dstfile=`basename $dst $transformbasename |
+ dstfile=`basename $dst $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
- if [ x"$dstfile" = x ]
+ if [ x"$dstfile" = x ]
then
dstfile=`basename $dst`
else
# Now rename the file to the real destination.
$doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
+ $doit $mvcmd $dsttmp $dstdir/$dstfile
fi &&
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: isc-config.sh.in,v 1.5 2000/07/27 09:36:22 tale Exp $
+# $Id: isc-config.sh.in,v 1.6 2000/08/01 01:11:05 tale Exp $
prefix=@prefix@
exec_prefix=@exec_prefix@
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.10 2000/07/27 09:45:44 tale Exp $
+# $Id: Makefile.in,v 1.11 2000/08/01 01:22:03 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.95 2000/07/31 19:44:12 bwelling Exp $
+# $Id: Makefile.in,v 1.96 2000/08/01 01:22:05 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: a6.c,v 1.15 2000/07/27 09:45:48 tale Exp $ */
+/* $Id: a6.c,v 1.16 2000/08/01 01:22:06 tale Exp $ */
#include <config.h>
expiration = a6ctx->now + parent->ttl;
if (expiration < a6ctx->expiration || a6ctx->expiration == 0)
a6ctx->expiration = expiration;
-
+
depth++;
result = dns_rdataset_first(parent);
while (result == ISC_R_SUCCESS) {
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: acl.c,v 1.12 2000/07/27 09:45:49 tale Exp $ */
+/* $Id: acl.c,v 1.13 2000/08/01 01:22:07 tale Exp $ */
#include <config.h>
*/
if (n == 0)
n = 1;
-
+
acl = isc_mem_get(mctx, sizeof(*acl));
if (acl == NULL)
return (ISC_R_NOMEMORY);
acl->elements = NULL;
acl->alloc = 0;
acl->length = 0;
-
+
ISC_LINK_INIT(acl, nextincache);
/*
* Must set magic early because we use dns_acl_detach() to clean up.
*/
- acl->magic = DNS_ACL_MAGIC;
+ acl->magic = DNS_ACL_MAGIC;
acl->elements = isc_mem_get(mctx, n * sizeof(dns_aclelement_t));
if (acl->elements == NULL) {
* Append the new element.
*/
acl->elements[acl->length++] = *elt;
-
+
return (ISC_R_SUCCESS);
}
-
+
static isc_result_t
dns_acl_anyornone(isc_mem_t *mctx, isc_boolean_t neg, dns_acl_t **target) {
isc_result_t result;
REQUIRE(reqaddr != NULL);
REQUIRE(matchelt == NULL || *matchelt == NULL);
-
+
for (i = 0; i < acl->length; i++) {
dns_aclelement_t *e = &acl->elements[i];
dns_acl_t *inner = NULL;
-
+
switch (e->type) {
case dns_aclelementtype_ipprefix:
if (isc_netaddr_eqprefix(reqaddr,
- &e->u.ip_prefix.address,
+ &e->u.ip_prefix.address,
e->u.ip_prefix.prefixlen))
goto matched;
break;
-
+
case dns_aclelementtype_keyname:
if (reqsigner != NULL &&
dns_name_equal(reqsigner, &e->u.keyname))
goto matched;
break;
-
+
case dns_aclelementtype_nestedacl:
inner = e->u.nestedacl;
nested:
/*
* Treat negative matches in indirect ACLs as
* "no match".
- * That way, a negated indirect ACL will never become
+ * That way, a negated indirect ACL will never become
* a surprise positive match through double negation.
* XXXDCL this should be documented.
*/
} else {
break;
}
-
+
case dns_aclelementtype_localnets:
if (env != NULL && env->localnets != NULL) {
inner = env->localnets;
} else {
break;
}
-
+
default:
INSIST(0);
break;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: aclconf.c,v 1.19 2000/07/27 09:45:50 tale Exp $ */
+/* $Id: aclconf.c,v 1.20 2000/08/01 01:22:08 tale Exp $ */
#include <config.h>
void
dns_aclconfctx_destroy(dns_aclconfctx_t *ctx) {
- dns_acl_t *dacl, *next;
+ dns_acl_t *dacl, *next;
for (dacl = ISC_LIST_HEAD(ctx->named_acl_cache);
dacl != NULL;
dacl = next)
}
return (dns_name_dup(dns_fixedname_name(&fixname), mctx, dnsname));
}
-
+
isc_result_t
dns_acl_fromconfig(dns_c_ipmatchlist_t *caml,
dns_c_ctx_t *cctx,
dns_c_ipmatchelement_t *ce;
REQUIRE(target != NULL && *target == NULL);
-
+
count = 0;
for (ce = ISC_LIST_HEAD(caml->elements);
ce != NULL;
result = dns_acl_create(mctx, count, &dacl);
if (result != ISC_R_SUCCESS)
return (result);
-
+
de = dacl->elements;
for (ce = ISC_LIST_HEAD(caml->elements);
ce != NULL;
*target = dacl;
return (ISC_R_SUCCESS);
-
+
cleanup:
dns_acl_detach(&dacl);
return (result);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: adb.c,v 1.143 2000/07/27 09:45:52 tale Exp $ */
+/* $Id: adb.c,v 1.144 2000/08/01 01:22:09 tale Exp $ */
/*
* Implementation notes
addr_bucket = DNS_ADB_INVALIDBUCKET;
DP(ENTER_LEVEL, "ENTER: import_a6() name %p", name);
-
+
nh = new_adbnamehook(adb, NULL);
if (nh == NULL) {
name->partial_result |= DNS_ADBFIND_INET6; /* clear for AAAA */
if (NAME_FETCH_A(name))
dns_resolver_cancelfetch(name->fetch_a->fetch);
-
+
if (NAME_FETCH_AAAA(name))
dns_resolver_cancelfetch(name->fetch_aaaa->fetch);
-
+
fetch6 = ISC_LIST_HEAD(name->fetches_a6);
while (fetch6 != NULL) {
INSIST(DNS_ADBNAME_VALID(name));
adb = name->adb;
INSIST(DNS_ADB_VALID(adb));
-
+
return (dns_view_simplefind(adb->view, a6name, type, now,
DNS_DBFIND_GLUEOK, ISC_FALSE,
rdataset, sigrdataset));
dns_adb_t *adb;
dns_adbfetch6_t *fetch;
isc_result_t result;
-
+
name = a6ctx->arg;
INSIST(DNS_ADBNAME_VALID(name));
adb = name->adb;
zi = next_zi;
}
-
+
return (is_bad);
}
return;
if (entry->expires == 0 || entry->expires > now)
return;
-
+
/*
* The entry is not in use. Delete it.
*/
isc_task_setname(adb->task, "ADB", adb);
/*
* XXXMLG When this is changed to be a config file option,
- */
+ */
isc_interval_set(&adb->tick_interval, CLEAN_SECONDS, 0);
result = isc_timer_create(adb->timermgr, isc_timertype_once,
NULL, &adb->tick_interval, adb->task,
else
zeroirefcnt = ISC_FALSE;
UNLOCK(&adb->ilock);
-
+
if (adb->shutting_down && zeroirefcnt &&
isc_mempool_getallocated(adb->ahmp) == 0) {
/*
event->ev_sender = clone;
ISC_LIST_APPEND(adb->whenshutdown, event, ev_link);
}
-
+
UNLOCK(&adb->lock);
}
ISC_LIST_UNLINK(name->fetches_a6, fetch, plink);
DP(ENTER_LEVEL, "ENTER: fetch_callback_a6() name %p", name);
-
+
dns_resolver_destroyfetch(&fetch->fetch);
dev->fetch = NULL;
name = NULL;
nameservers = NULL;
dns_rdataset_init(&rdataset);
-
+
if (start_at_root) {
DP(50, "fetch_name_v4: starting at DNS root for name %p",
adbname);
isc_stdtime_get(&now);
*addrp = NULL;
-
+
bucket = addr->entry->lock_bucket;
LOCK(&adb->entrylocks[bucket]);
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: byaddr.c,v 1.17 2000/07/27 09:45:53 tale Exp $ */
+/* $Id: byaddr.c,v 1.18 2000/08/01 01:22:11 tale Exp $ */
#include <config.h>
static void byaddr_find(dns_byaddr_t *byaddr, dns_fetchevent_t *event);
static char hex_digits[] = {
- '0', '1', '2', '3', '4', '5', '6', '7',
+ '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
};
/*
* The caller must be holding the byaddr's lock.
*/
-
+
result = dns_rdataset_first(&byaddr->rdataset);
while (result == ISC_R_SUCCESS) {
dns_rdataset_current(&byaddr->rdataset, &rdata);
}
if (result == ISC_R_NOMORE)
result = ISC_R_SUCCESS;
-
+
return (result);
}
byaddr->canceled = ISC_FALSE;
dns_rdataset_init(&byaddr->rdataset);
byaddr->magic = BYADDR_MAGIC;
-
+
*byaddrp = byaddr;
byaddr_find(byaddr, NULL);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: cache.c,v 1.25 2000/07/27 09:45:54 tale Exp $ */
+/* $Id: cache.c,v 1.26 2000/08/01 01:22:12 tale Exp $ */
#include <config.h>
/*
* A cache_cleaner_t encapsulsates the state of the periodic
- * cache cleaning.
+ * cache cleaning.
*/
typedef struct cache_cleaner cache_cleaner_t;
unsigned int cleaning_interval; /* The cleaning-interval from
named.conf, in seconds. */
isc_timer_t *cleaning_timer;
- isc_event_t *resched_event; /* Sent by cleaner task to
+ isc_event_t *resched_event; /* Sent by cleaner task to
itself to reschedule */
dns_dbiterator_t *iterator;
- int increment; /* Number of names to
+ int increment; /* Number of names to
clean in one increment */
cleaner_state_t state; /* Idle/Busy. */
};
/*
- * The actual cache object.
+ * The actual cache object.
*/
struct dns_cache {
/* Locked by 'lock'. */
int references;
- int live_tasks;
+ int live_tasks;
dns_rdataclass_t rdclass;
dns_db_t *db;
cache_cleaner_t cleaner;
- /* Locked by 'filelock'. */
+ /* Locked by 'filelock'. */
char * filename;
/* Access to the on-disk cache file is also locked by 'filelock'. */
};
static void
cleaner_shutdown_action(isc_task_t *task, isc_event_t *event);
-isc_result_t
+isc_result_t
dns_cache_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr,
isc_timermgr_t *timermgr, dns_rdataclass_t rdclass,
const char *db_type, unsigned int db_argc, char **db_argv,
if (result != ISC_R_SUCCESS)
goto cleanup_mutex;
- cache->filename = NULL;
-
+ cache->filename = NULL;
+
cache->magic = CACHE_MAGIC;
result = cache_cleaner_init(cache, taskmgr, timermgr,
return (result);
}
-static void
+static void
cache_free(dns_cache_t *cache) {
isc_mem_t *mctx;
dns_db_detach(&cache->db);
isc_mutex_destroy(&cache->lock);
- cache->magic = 0;
+ cache->magic = 0;
mctx = cache->mctx;
- isc_mem_put(cache->mctx, cache, sizeof *cache);
+ isc_mem_put(cache->mctx, cache, sizeof *cache);
isc_mem_detach(&mctx);
-}
+}
void
char *newname = isc_mem_strdup(filename);
if (newname == NULL)
return (ISC_R_NOMEMORY);
- LOCK(&cache->filelock);
+ LOCK(&cache->filelock);
if (cache->filename)
isc_mem_free(cache->mctx, cache->filename);
cache->filename = newname;
- UNLOCK(&cache->filelock);
+ UNLOCK(&cache->filelock);
return (ISC_R_SUCCESS);
}
LOCK(&cache->filelock);
/* XXX handle TTLs in a way appropriate for the cache */
result = dns_db_load(cache->db, cache->filename);
- UNLOCK(&cache->filelock);
+ UNLOCK(&cache->filelock);
return (result);
}
isc_timertype_ticker,
NULL, &interval, ISC_FALSE);
}
- UNLOCK(&cache->lock);
+ UNLOCK(&cache->lock);
}
/*
- * Initialize the cache cleaner object at *cleaner.
+ * Initialize the cache cleaner object at *cleaner.
* Space for the object must be allocated by the caller.
*/
static isc_result_t
-cache_cleaner_init(dns_cache_t *cache, isc_taskmgr_t *taskmgr,
+cache_cleaner_init(dns_cache_t *cache, isc_taskmgr_t *taskmgr,
isc_timermgr_t *timermgr, cache_cleaner_t *cleaner)
{
isc_result_t result;
cleaner->state = cleaner_s_idle;
cleaner->cache = cache;
cleaner->iterator = NULL;
-
+
cleaner->task = NULL;
cleaner->cleaning_timer = NULL;
cleaner->resched_event = NULL;
-
+
if (taskmgr != NULL && timermgr != NULL) {
result = isc_task_create(taskmgr, 1, &cleaner->task);
if (result != ISC_R_SUCCESS) {
dns_result_totext(result));
goto cleanup;
}
-
+
cleaner->cleaning_interval = 0; /* Initially turned off. */
result = isc_timer_create(timermgr, isc_timertype_inactive,
NULL, NULL,
result = ISC_R_UNEXPECTED;
goto cleanup;
}
-
+
cleaner->resched_event =
isc_event_allocate(cache->mctx, cleaner,
DNS_EVENT_CACHECLEAN,
goto cleanup;
}
}
-
+
return (ISC_R_SUCCESS);
-
+
cleanup:
if (cleaner->cleaning_timer != NULL)
isc_timer_detach(&cleaner->cleaning_timer);
return;
destroyiter:
- dns_dbiterator_destroy(&cleaner->iterator);
+ dns_dbiterator_destroy(&cleaner->iterator);
idle:
ENSURE(CLEANER_IDLE(cleaner));
return;
/*
* This is where the actual freeing takes place.
- */
+ */
dns_db_detachnode(cleaner->cache->db, &node);
-
+
/*
* Step to the next node.
*/
* No longer busy; save the event for later use.
*/
end_cleaning(cleaner, event);
- INSIST(CLEANER_IDLE(cleaner));
+ INSIST(CLEANER_IDLE(cleaner));
return;
}
/*
- * Do immediate cleaning.
+ * Do immediate cleaning.
*/
isc_result_t
dns_cache_clean(dns_cache_t *cache, isc_stdtime_t now) {
result = dns_db_createiterator(cache->db, ISC_FALSE, &iterator);
if (result != ISC_R_SUCCESS)
return result;
-
+
result = dns_dbiterator_first(iterator);
while (result == ISC_R_SUCCESS) {
/*
* This is where the actual freeing takes place.
- */
+ */
dns_db_detachnode(cache->db, &node);
result = dns_dbiterator_next(iterator);
if (result == ISC_R_NOMORE)
result = ISC_R_SUCCESS;
-
+
return result;
}
static void
cleaner_shutdown_action(isc_task_t *task, isc_event_t *event) {
dns_cache_t *cache = event->ev_arg;
- isc_boolean_t should_free = ISC_FALSE;
+ isc_boolean_t should_free = ISC_FALSE;
UNUSED(task);
INSIST(event->ev_type == ISC_TASKEVENT_SHUTDOWN);
isc_event_free(&event);
-
+
cache->live_tasks--;
INSIST(cache->live_tasks == 0);
if (cache->references == 0)
- should_free = ISC_TRUE;
+ should_free = ISC_TRUE;
/*
* By detaching the timer in the context of its task,
/* Make sure we don't reschedule anymore. */
isc_task_purge(task, NULL, DNS_EVENT_CACHECLEAN, NULL);
-
+
UNLOCK(&cache->lock);
if (should_free)
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: callbacks.c,v 1.9 2000/07/27 09:45:55 tale Exp $ */
+/* $Id: callbacks.c,v 1.10 2000/08/01 01:22:13 tale Exp $ */
#include <config.h>
va_list ap;
UNUSED(callbacks);
-
+
va_start(ap, fmt);
isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_GENERAL,
DNS_LOGMODULE_MASTER, /* XXX */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: compress.c,v 1.34 2000/07/27 09:45:56 tale Exp $ */
+/* $Id: compress.c,v 1.35 2000/08/01 01:22:14 tale Exp $ */
#define DNS_NAME_USEINLINE 1
dns_decompress_getmethods(dns_decompress_t *dctx) {
REQUIRE(VALID_DCTX(dctx));
-
+
return (dctx->allowed);
}
dns_decompress_edns(dns_decompress_t *dctx) {
REQUIRE(VALID_DCTX(dctx));
-
+
return (dctx->edns);
}
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.16 2000/07/27 09:46:55 tale Exp $
+# $Id: Makefile.in,v 1.17 2000/08/01 01:23:13 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
conflsn.c confndc.c confresolv.c confrrset.c \
confview.c confzone.c
-SUBDIRS =
+SUBDIRS =
TARGETS = ${OBJS}
@BIND9_MAKE_RULES@
## mv y.tab.c confparser.c
## mv y.tab.h confparser_p.h
-## This rule is here during development to help debugging.
+## This rule is here during development to help debugging.
## Remove and uncomment the rule above before release.
confparser.c: confparser.y
${YACC} -d ${srcdir}/confparser.y
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confacl.c,v 1.19 2000/07/27 09:46:56 tale Exp $ */
+/* $Id: confacl.c,v 1.20 2000/08/01 01:23:14 tale Exp $ */
#include <config.h>
isc_result_t
dns_c_acltable_new(isc_mem_t *mem, dns_c_acltable_t **newtable) {
dns_c_acltable_t *table;
-
+
REQUIRE(mem != NULL);
REQUIRE(newtable != NULL);
REQUIRE(table != NULL);
REQUIRE(*table != NULL);
-
+
acltable = *table;
REQUIRE(DNS_C_CONFACLTABLE_VALID(acltable));
dns_c_acltable_clear(acltable);
mem = acltable->mem;
-
+
acltable->magic = 0;
acltable->mem = NULL;
-
-
+
+
isc_mem_put(mem, acltable, sizeof *acltable);
return (ISC_R_SUCCESS);
if (table == NULL) {
return;
}
-
+
REQUIRE(DNS_C_CONFACLTABLE_VALID(table));
-
+
acl = ISC_LIST_HEAD(table->acl_list);
while (acl != NULL) {
acltmp = ISC_LIST_NEXT(acl, next);
-
+
if (!acl->is_special) { /* don't print specials */
dns_c_acl_print(fp, indent, acl);
fprintf(fp, "\n");
dns_c_acl_t *elem;
dns_c_acl_t *tmpelem;
isc_result_t r;
-
+
REQUIRE(DNS_C_CONFACLTABLE_VALID(table));
-
+
elem = ISC_LIST_HEAD(table->acl_list);
while (elem != NULL) {
tmpelem = ISC_LIST_NEXT(elem, next);
ISC_LIST_UNLINK(table->acl_list, elem, next);
-
+
r = acl_delete(&elem);
if (r != ISC_R_SUCCESS) {
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
elem = ISC_LIST_NEXT(elem, next);
}
-
+
if (elem != NULL) {
REQUIRE(DNS_C_CONFACL_VALID(elem));
*retval = elem;
REQUIRE(DNS_C_CONFACLTABLE_VALID(table));
REQUIRE(aclname != NULL);
-
+
acl = ISC_LIST_HEAD(table->acl_list);
while (acl != NULL) {
tmpacl = ISC_LIST_NEXT(acl, next);
isc_boolean_t isspecial, dns_c_acl_t **newacl)
{
dns_c_acl_t *acl;
-
+
REQUIRE(DNS_C_CONFACLTABLE_VALID(table));
REQUIRE(aclname != NULL);
REQUIRE(*aclname != '\0');
}
ISC_LIST_APPEND(table->acl_list, acl, next);
-
+
*newacl = acl;
return (ISC_R_SUCCESS);
void
dns_c_acl_print(FILE *fp, int indent, dns_c_acl_t *acl) {
REQUIRE(DNS_C_CONFACL_VALID(acl));
-
+
dns_c_printtabs(fp, indent);
fprintf(fp, "acl ");
if (acl->name == NULL) {
dns_c_ipmatchlist_t *ipml, isc_boolean_t deepcopy)
{
isc_result_t res;
-
+
REQUIRE(DNS_C_CONFACL_VALID(acl));
REQUIRE(ipml != NULL);
isc_result_t r;
REQUIRE(DNS_C_CONFACL_VALID(acl));
-
+
if (acl->ipml == NULL) {
newlist = NULL;
r = ISC_R_SUCCESS;
}
*retval = newlist;
-
+
return (r);
}
isc_boolean_t isneg;
REQUIRE(DNS_C_CONFACLTABLE_VALID(table));
-
+
if (list == NULL) {
return (ISC_R_SUCCESS);
}
if (acl->ipml != NULL) {
isneg = dns_c_ipmatchelement_isneg(elem);
- /* XXX I this should be inserted in place and
+ /* XXX I this should be inserted in place and
* not appended
*/
dns_c_ipmatchlist_append(list,
default:
; /* Do nothing */
}
-
+
tmpelem = ISC_LIST_NEXT(elem, next);
if (elem->type == dns_c_ipmatch_acl) {
REQUIRE(aclptr != NULL);
REQUIRE(*aclptr != NULL);
-
+
acl = *aclptr;
REQUIRE(DNS_C_CONFACL_VALID(acl));
mem = acl->mytable->mem;
acl->mytable = NULL;
-
+
isc_mem_free(mem, acl->name);
if (acl->ipml != NULL)
res = dns_c_ipmatchlist_detach(&acl->ipml);
else
res = ISC_R_SUCCESS;
-
+
acl->magic = 0;
-
+
isc_mem_put(mem, acl, sizeof *acl);
-
+
return (res);
}
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confcache.c,v 1.7 2000/07/27 09:46:57 tale Exp $ */
+/* $Id: confcache.c,v 1.8 2000/08/01 01:23:15 tale Exp $ */
#include <config.h>
(void) mem ; (void) cfgcache; /* lint */
/* XXX nothing yet */
-
+
return (ISC_R_SUCCESS);
}
return (ISC_R_SUCCESS);
}
-
+
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confcommon.c,v 1.33 2000/07/27 09:46:59 tale Exp $ */
+/* $Id: confcommon.c,v 1.34 2000/08/01 01:23:16 tale Exp $ */
#include <config.h>
/***
*** TYPES
***/
-
+
#define ordering_nametable_size \
(sizeof (ordering_nametable) / sizeof (struct dns_c_pvt_ont))
static struct dns_c_pvt_ont {
{ dns_c_log_dynamic, "dynamic" }
};
-
+
static struct dsn_c_pvt_sfnt {
int val;
const char *strval;
#ifdef LOG_FTP
{ LOG_FTP, "ftp" },
#endif
- { LOG_LOCAL0, "local0"},
- { LOG_LOCAL1, "local1"},
- { LOG_LOCAL2, "local2"},
- { LOG_LOCAL3, "local3"},
- { LOG_LOCAL4, "local4"},
- { LOG_LOCAL5, "local5"},
- { LOG_LOCAL6, "local6"},
- { LOG_LOCAL7, "local7"},
+ { LOG_LOCAL0, "local0"},
+ { LOG_LOCAL1, "local1"},
+ { LOG_LOCAL2, "local2"},
+ { LOG_LOCAL3, "local3"},
+ { LOG_LOCAL4, "local4"},
+ { LOG_LOCAL5, "local5"},
+ { LOG_LOCAL6, "local6"},
+ { LOG_LOCAL7, "local7"},
{ 0, NULL }
};
"xfer-in",
"xfer-out",
#endif
-
+
NULL
};
/* XXXJAB These format strings may break if isc_offset_t is a large
enough type and val has a value greater than MAX_ULONG. I know
of no portablt solution to this. */
-
+
if (val == DNS_C_SIZE_SPEC_DEFAULT)
fprintf(fp, "default");
else if (val == 0)
isc_buffer_t sourceb;
isc_buffer_init(&sourceb, buffer, sizeof(buffer));
-
+
if (dns_rdataclass_totext(rclass, &sourceb) == ISC_R_SUCCESS) {
INSIST(sourceb.used + 1 < sizeof(buffer));
buffer[sourceb.used] = '\0';
break;
}
}
-
+
return (rval);
}
isc_result_t rval = ISC_R_FAILURE;
REQUIRE(result != NULL);
-
+
for (i = 0 ; i < log_severity_nametable_size ; i++) {
if (strcmp(log_severity_nametable[i].strval, string) == 0) {
*result = log_severity_nametable[i].val;
isc_result_t rval = ISC_R_FAILURE;
REQUIRE (category != NULL);
-
+
for (i = 0 ; i < category_nametable_size ; i++) {
if (strcmp(category_nametable[i].strval, string) == 0) {
*category = category_nametable[i].val;
break;
}
}
-
+
return (rval == NULL && printable ? "UNKNOWN_FACILITY" : rval);
}
case dns_trans_primary:
rval = "master";
break;
-
+
case dns_trans_secondary:
rval = "slave";
break;
return (result);
}
-
-
+
+
void
dns_c_print_ipaddr(FILE *fp, isc_sockaddr_t *inaddr) {
const char *p;
addr = (family == AF_INET ?
(void *)&inaddr->type.sin.sin_addr :
(void *)&inaddr->type.sin6.sin6_addr);
-
+
p = inet_ntop(family, addr, tmpaddrstr, sizeof tmpaddrstr);
if (p == NULL) {
fprintf(fp, "BAD-IP-ADDRESS");
isc_boolean_t
dns_c_netaddrisanyaddr(isc_netaddr_t *inaddr) {
isc_boolean_t result = ISC_FALSE;
-
+
if (inaddr->family == AF_INET) {
if (inaddr->type.in.s_addr == htonl(INADDR_ANY)) {
result = ISC_TRUE;
addr = (family == AF_INET ?
(void *)&inaddr->type.in :
(void *)&inaddr->type.in6);
-
+
p = inet_ntop(family, addr, tmpaddrstr, sizeof tmpaddrstr);
if (p == NULL) {
fprintf(fp, "BAD-IP-ADDRESS");
}
-
+
void
dns_c_peerlist_print(FILE *fp, int indent,
dns_peerlist_t *servers)
{
dns_peer_t *server;
-
+
REQUIRE(fp != NULL);
REQUIRE(DNS_PEERLIST_VALID(servers));
-
+
server = ISC_LIST_HEAD(servers->elements);
while (server != NULL) {
dns_c_peer_print(fp, indent, server);
fprintf(fp, "\n");
}
}
-
+
return;
}
dns_transfer_format_t tval;
isc_int32_t ival;
dns_name_t *name = NULL;
-
+
REQUIRE(DNS_PEER_VALID(peer));
REQUIRE(fp != NULL);
-
+
dns_c_printtabs(fp, indent);
fprintf(fp, "server ");
dns_c_netaddrprint(fp, &peer->address);
fprintf(fp, " {\n");
-
+
res = dns_peer_getbogus(peer, &bval);
if (res == ISC_R_SUCCESS) {
dns_c_printtabs(fp, indent + 1);
dns_name_print(peer->key, fp);
fprintf(fp, "\"; };\n");
}
-
+
dns_c_printtabs(fp, indent);
fprintf(fp, "};\n");
}
REQUIRE(name != NULL);
len = strlen(keyval);
-
+
dns_name_init(&newkey, NULL);
res = isc_buffer_allocate(mem, &b1, len + 2);
REQUIRE(res == ISC_R_SUCCESS);
-
+
dns_name_setbuffer(&newkey, b1);
-
+
isc_buffer_init(&b2, keyval, len);
isc_buffer_add(&b2, len);
-
+
res = dns_name_fromtext(&newkey, &b2, dns_rootname, ISC_FALSE, NULL);
if (res != ISC_R_SUCCESS) {
return (res);
*name = isc_mem_get(mem, sizeof (dns_name_t));
REQUIRE(*name != NULL);
dns_name_init(*name, NULL);
-
+
dns_name_dup(&newkey, mem, *name);
dns_name_invalidate(&newkey);
isc_buffer_free(&b1);
dns_rdatatype_t *types;
unsigned int i;
unsigned int tcount;
-
+
res = dns_ssutable_firstrule(ssutable, &rule);
if (res != ISC_R_SUCCESS) {
return;
fputc('\n', fp);
dns_c_printtabs(fp, indent);
fprintf(fp, "update-policy {\n");
-
+
do {
dns_c_printtabs(fp, indent + 1);
fputs ((dns_ssurule_isgrant(rule) ? "grant" : "deny"), fp);
fputc(' ', fp);
-
+
dns_name_print(dns_ssurule_identity(rule), fp);
fputc(' ', fp);
return (ISC_R_FAILURE);
}
-
+
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confctl.c,v 1.28 2000/07/27 09:47:00 tale Exp $ */
+/* $Id: confctl.c,v 1.29 2000/08/01 01:23:17 tale Exp $ */
#include <config.h>
isc_result_t
dns_c_ctrllist_new(isc_mem_t *mem, dns_c_ctrllist_t **newlist) {
dns_c_ctrllist_t *newl;
-
+
REQUIRE(mem != NULL);
REQUIRE (newlist != NULL);
newl->mem = mem;
newl->magic = DNS_C_CONFCTLLIST_MAGIC;
-
+
ISC_LIST_INIT(newl->elements);
*newlist = newl;
}
REQUIRE(DNS_C_CONFCTLLIST_VALID(cl));
-
+
fprintf(fp, "controls {\n");
ctl = dns_c_ctrllist_head(cl);
ctl = dns_c_ctrl_next(ctl);
}
}
-
+
fprintf(fp, "};\n");
}
REQUIRE(list != NULL);
REQUIRE(*list != NULL);
-
+
clist = *list;
REQUIRE(DNS_C_CONFCTLLIST_VALID(clist));
-
+
ctrl = ISC_LIST_HEAD(clist->elements);
while (ctrl != NULL) {
tmpctrl = ISC_LIST_NEXT(ctrl, next);
dns_c_ctrl_validate(dns_c_ctrl_t *ctrl)
{
isc_result_t result = ISC_R_SUCCESS;
-
+
REQUIRE(DNS_C_CONFCTL_VALID(ctrl));
if (ctrl->control_type == dns_c_unix_control) {
return (result);
}
-
+
isc_result_t
dns_c_ctrlinet_new(isc_mem_t *mem, dns_c_ctrl_t **control,
{
dns_c_ctrl_t *ctrl;
isc_result_t res;
-
+
REQUIRE(mem != NULL);
REQUIRE(control != NULL);
const char *path, int perm, uid_t uid, gid_t gid)
{
dns_c_ctrl_t *ctrl;
-
+
REQUIRE(mem != NULL);
REQUIRE(control != NULL);
/* XXXJAB logwrite */
return (ISC_R_NOMEMORY);
}
-
+
ctrl->u.unix_v.perm = perm;
ctrl->u.unix_v.owner = uid;
ctrl->u.unix_v.group = gid;
ctrl->keyidlist = NULL;
-
+
*control = ctrl;
return (ISC_R_SUCCESS);
isc_result_t res = ISC_R_SUCCESS;
isc_mem_t *mem;
dns_c_ctrl_t *ctrl;
-
+
REQUIRE(control != NULL);
REQUIRE(*control != NULL);
}
ctrl->magic = 0;
-
+
isc_mem_put(mem, ctrl, sizeof *ctrl);
*control = NULL;
dns_c_ipmatchlist_t *iml;
REQUIRE(DNS_C_CONFCTL_VALID(ctl));
-
+
(void) indent;
-
+
if (ctl->control_type == dns_c_inet_control) {
port = isc_sockaddr_getport(&ctl->u.inet_v.addr);
iml = ctl->u.inet_v.matchlist;
-
+
fprintf(fp, "inet ");
dns_c_print_ipaddr(fp, &ctl->u.inet_v.addr);
-
+
if (port == 0) {
fprintf(fp, " port *\n");
} else {
fprintf(fp, " port %d\n", port);
}
-
+
dns_c_printtabs(fp, indent + 1);
fprintf(fp, "allow ");
dns_c_ipmatchlist_print(fp, indent + 2, iml);
return(ISC_LIST_HEAD(list->elements));
}
-
+
dns_c_ctrl_t *
dns_c_ctrl_next(dns_c_ctrl_t *ctl)
{
return (ISC_LIST_NEXT(ctl, next));
}
-
-
+
+
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confctx.c,v 1.78 2000/07/31 21:07:00 explorer Exp $ */
+/* $Id: confctx.c,v 1.79 2000/08/01 01:23:19 tale Exp $ */
#include <config.h>
dns_c_lstnlist_t *listenlist;
dns_c_ctrllist_t *controls;
-
+
if (dns_c_ctx_getnamedxfer(cfg, &cpval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'named-xfer' is now obsolete");
}
-
+
if (dns_c_ctx_getdumpfilename(cfg, &cpval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'dump-file' is not yet implemented");
}
-
-
+
+
if (dns_c_ctx_getmemstatsfilename(cfg, &cpval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'memstatistics-file' is not yet "
"implemented");
}
-
+
if (dns_c_ctx_getauthnxdomain(cfg, &bval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
"option 'deallocate-on-exit' is obsolete");
}
-
+
if (dns_c_ctx_getdialup(cfg, &bval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'dialup' is not yet implemented");
}
-
+
if (dns_c_ctx_getfakeiquery(cfg, &bval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"implemented");
}
-
+
if (dns_c_ctx_getmultiplecnames(cfg, &bval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'check-names' is not yet implemented");
}
-
+
if (dns_c_ctx_getblackhole(cfg, &ipml) != ISC_R_NOTFOUND) {
dns_c_ipmatchlist_detach(&ipml);
"option 'lame-ttl' is not yet "
"implemented");
}
-
+
if (dns_c_ctx_getminroots(cfg, &uintval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
"option 'min-roots' is not yet "
"implemented");
}
-
+
if (dns_c_ctx_getserialqueries(cfg, &uintval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
"option 'serial-queries' is not yet "
"implemented");
}
-
+
if (dns_c_ctx_getmaxlogsizeixfr(cfg, &uintval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
"option 'max-ixfr-log-size' is not yet "
"implemented");
}
-
+
if (dns_c_ctx_getcoresize(cfg, &uintval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
"option 'coresize' is not yet "
"implemented");
}
-
+
if (dns_c_ctx_getdatasize(cfg, &uintval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
"option 'datasize' is not yet "
"implemented");
}
-
+
if (dns_c_ctx_getfiles(cfg, &uintval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
"implemented");
}
-
+
if (dns_c_ctx_getstacksize(cfg, &uintval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'stacksize' is not yet "
"implemented");
}
-
+
if (dns_c_ctx_getheartbeatinterval(cfg, &uintval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
"implemented");
}
-
+
if (dns_c_ctx_getstatsinterval(cfg, &uintval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"implemented");
}
-
+
if (dns_c_ctx_gettopology(cfg, &ipml) != ISC_R_NOTFOUND) {
dns_c_ipmatchlist_detach(&ipml);
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
"option 'sortlist' is not yet implemented");
}
-
+
if (dns_c_ctx_getrrsetorderlist(cfg, &olist) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'rrset-order' is not yet implemented");
}
-
+
if (dns_c_ctx_getallowupdateforwarding(cfg, &ipml) != ISC_R_NOTFOUND) {
dns_c_ipmatchlist_detach(&ipml);
result = tmpres;
}
}
-
+
return (result);
}
{
dns_c_ctx_t *tmpcfg;
isc_result_t r;
-
+
REQUIRE(mem != NULL);
tmpcfg = isc_mem_get(mem, sizeof *tmpcfg);
tmpcfg->currview = NULL;
tmpcfg->currzone = NULL;
-
+
r = acl_init(tmpcfg);
if (r != ISC_R_SUCCESS) {
return (r);
if (r != ISC_R_SUCCESS) {
return (r);
}
-
-
+
+
#if 1 /* XXX brister */
tmpcfg->controls = NULL;
-#else
+#else
r = dns_c_ctrllist_new(mem, &tmpcfg->controls);
if (r != ISC_R_SUCCESS) {
dns_c_ctx_delete(&tmpcfg);
return r;
}
-#endif
+#endif
*cfg = tmpcfg;
if (c->options != NULL)
dns_c_ctx_optionsdelete(&c->options);
-
+
if (c->controls != NULL)
dns_c_ctrllist_delete(&c->controls);
-
+
if (c->peers != NULL)
dns_peerlist_detach(&c->peers);
-
+
if (c->acls != NULL)
dns_c_acltable_delete(&c->acls);
-
+
if (c->keydefs != NULL)
dns_c_kdeflist_delete(&c->keydefs);
-
+
if (c->zlist != NULL)
dns_c_zonelist_delete(&c->zlist);
-
+
if (c->trusted_keys != NULL)
dns_c_tkeylist_delete(&c->trusted_keys);
-
+
if (c->logging != NULL)
dns_c_logginglist_delete(&c->logging);
-
+
if (c->views != NULL)
dns_c_viewtable_delete(&c->views);
c->magic = 0;
isc_mem_put(c->mem, c, sizeof *c);
*cfg = NULL;
-
+
return (ISC_R_SUCCESS);
}
dns_c_ctx_setcontrols(dns_c_ctx_t *cfg, dns_c_ctrllist_t *ctrls)
{
isc_boolean_t existed = ISC_FALSE;
-
+
REQUIRE(DNS_C_CONFCTX_VALID(cfg));
REQUIRE(DNS_C_CONFCTLLIST_VALID(ctrls));
return (cfg->controls != NULL ? ISC_R_SUCCESS : ISC_R_NOTFOUND);
}
-
-
+
+
isc_result_t
dns_c_ctx_setcurrzone(dns_c_ctx_t *cfg, dns_c_zone_t *zone)
{
return (cfg->currzone);
}
-
+
isc_result_t
dns_c_ctx_setcurrview(dns_c_ctx_t *cfg,
{
REQUIRE(DNS_C_CONFCTX_VALID(cfg));
REQUIRE(retval != NULL);
-
+
if (cfg->peers == NULL) {
*retval = NULL;
return (ISC_R_NOTFOUND);
return (ISC_R_FAILURE);
}
}
-
+
isc_result_t
dns_c_ctx_setpeerlist(dns_c_ctx_t *cfg, dns_peerlist_t *newval)
cfg->logging, ISC_FALSE);
fprintf(fp,"\n");
}
-
-
+
+
if (cfg->keydefs != NULL) {
dns_c_kdeflist_print(fp, indent, cfg->keydefs);
fprintf(fp, "\n");
}
-
+
if (cfg->trusted_keys != NULL) {
dns_c_tkeylist_print(fp, indent, cfg->trusted_keys);
fprintf(fp, "\n");
}
-
+
if (cfg->acls != NULL) {
dns_c_acltable_print(fp, indent, cfg->acls);
fprintf(fp,"\n");
}
-
+
if (cfg->options != NULL) {
dns_c_ctx_optionsprint(fp, indent, cfg->options);
fprintf(fp,"\n");
}
-
+
if (cfg->views != NULL) {
dns_c_viewtable_print(fp, indent, cfg->views);
fprintf(fp, "\n");
}
-
-
+
+
if (cfg->zlist != NULL) {
dns_c_zonelist_print(fp, indent, cfg->zlist, NULL);
fprintf(fp, "\n");
dns_c_ctrllist_print(fp, indent, cfg->controls);
fprintf(fp, "\n");
}
-
+
if (cfg->peers != NULL) {
dns_c_peerlist_print(fp, indent, cfg->peers);
dns_severity_t nameseverity;
in_port_t port;
in_port_t defport = DNS_C_DEFAULTPORT;
-
+
REQUIRE(fp != NULL);
if (options == NULL) {
return;
}
-
+
REQUIRE(DNS_C_CONFOPT_VALID(options));
if (options->port != NULL) {
defport = *options->port;
}
-
+
#define PRINT_INTEGER(FIELD, NAME) \
if (options->FIELD != NULL) { \
dns_c_printtabs(fp, indent + 1); \
fprintf(fp, "%s %d;\n",NAME,(int)*options->FIELD); \
}
-
+
#define PRINT_AS_MINUTES(FIELD, NAME) \
if (options->FIELD != NULL) { \
dns_c_printtabs(fp, indent + 1); \
dns_c_printtabs(fp, indent + 1); \
fprintf(fp, "%s \"%s\";\n", NAME, options->FIELD); \
}
-
+
#define PRINT_IPANDPORT(FIELD, NAME) \
if (options->FIELD != NULL) { \
port = isc_sockaddr_getport(options->FIELD); \
dns_c_transport2string(INDEX, ISC_TRUE), \
dns_c_nameseverity2string(nameseverity, ISC_TRUE)); \
}
-
+
#define PRINT_IPMLIST(FIELD, NAME) \
if (options->FIELD != NULL) { \
PRINT_CHAR_P(random_seed_file, "random-seed-file");
PRINT_INTEGER(port, "port");
-
+
PRINT_INTEGER(transfers_in, "transfers-in");
PRINT_INTEGER(transfers_per_ns, "transfers-per-ns");
PRINT_INTEGER(transfers_out, "transfers-out");
PRINT_INTEGER(max_log_size_ixfr, "max-ixfr-log-size");
-
-
+
+
PRINT_AS_MINUTES(clean_interval, "cleaning-interval");
PRINT_AS_MINUTES(interface_interval, "interface-interval");
PRINT_AS_MINUTES(stats_interval, "statistics-interval");
PRINT_INTEGER(min_roots, "min-roots");
PRINT_INTEGER(serial_queries, "serial-queries");
PRINT_INTEGER(sig_valid_interval, "sig-validity-interval");
- PRINT_AS_SIZE_CLAUSE(max_cache_size, "max-cache-size");
-
- PRINT_AS_SIZE_CLAUSE(data_size, "datasize");
- PRINT_AS_SIZE_CLAUSE(stack_size, "stacksize");
- PRINT_AS_SIZE_CLAUSE(core_size, "coresize");
+ PRINT_AS_SIZE_CLAUSE(max_cache_size, "max-cache-size");
+
+ PRINT_AS_SIZE_CLAUSE(data_size, "datasize");
+ PRINT_AS_SIZE_CLAUSE(stack_size, "stacksize");
+ PRINT_AS_SIZE_CLAUSE(core_size, "coresize");
PRINT_AS_SIZE_CLAUSE(files, "files");
PRINT_INTEGER(max_ncache_ttl, "max-ncache-ttl");
dns_c_transformat2string(*options->transfer_format,
ISC_TRUE));
}
-
+
PRINT_IP(transfer_source, "transfer-source");
PRINT_IP(transfer_source_v6, "transfer-source-v6");
-
+
PRINT_IPANDPORT(query_source, "query-source");
PRINT_IPANDPORT(query_source_v6, "query-source-v6");
dns_c_addata2string(*options->additional_data,
ISC_TRUE));
}
-
+
PRINT_CHECKNAME(dns_trans_primary);
PRINT_CHECKNAME(dns_trans_secondary);
PRINT_CHECKNAME(dns_trans_response);
-
+
fprintf(fp, "\n");
PRINT_IPMLIST(queryacl, "allow-query");
PRINT_IPMLIST(topology, "topology");
PRINT_IPMLIST(sortlist, "sortlist");
PRINT_IPMLIST(allowupdateforwarding, "allow-update-forwarding");
-
+
if (options->listens != NULL) {
dns_c_lstnlist_print(fp, indent + 1,
options->listens,
defport);
}
-
+
if (options->v6listens != NULL) {
dns_c_lstnlistv6_print(fp, indent + 1,
options->v6listens,
defport);
}
-
+
dns_c_ctx_forwarderprint(fp, indent + 1, options);
if (options->ordering != NULL) {
options->also_notify);
fprintf(fp, ";\n");
}
-
+
PRINT_CHAR_P(tkeydomain, "tkey-domain");
if (options->tkeydhkeycp != NULL) {
fprintf(fp, "tkey-dhkey \"%s\" %d ;\n",
options->tkeydhkeycp, options->tkeydhkeyi);
}
-
+
dns_c_printtabs(fp, indent);
fprintf(fp,"};\n");
#undef PRINT_CHAR_P
#undef PRINT_IPMLIST
#undef PRINT_IPANDPORT
-#undef PRINT_IP
+#undef PRINT_IP
#undef PRINT_CHECKNAME
-
+
}
void
{
REQUIRE(DNS_C_CONFCTX_VALID(cfg));
REQUIRE(options != NULL);
-
+
if (cfg->options != NULL) {
REQUIRE(DNS_C_CONFOPT_VALID(cfg->options));
}
-
+
*options = cfg->options;
-
+
return (cfg->options == NULL ? ISC_R_NOTFOUND : ISC_R_SUCCESS);
}
}
REQUIRE(DNS_C_CONFOPT_VALID(cfg->options));
-
+
dns_c_ctx_optionsdelete(&cfg->options);
return (ISC_R_SUCCESS);
dns_c_logginglist_t *ll;
isc_result_t res;
isc_boolean_t existed;
-
+
REQUIRE(DNS_C_CONFCTX_VALID(cfg));
existed = ISC_TF(cfg->logging != NULL);
-
+
if (deepcopy) {
res = dns_c_logginglist_copy(cfg->mem, &ll, newval);
if (res != ISC_R_SUCCESS) {
} else {
ll = newval;
}
-
+
cfg->logging = ll;
return (existed ? ISC_R_EXISTS : ISC_R_SUCCESS);
return (dns_c_logginglist_delete(&cfg->logging));
}
-
+
isc_result_t
dns_c_ctx_getkdeflist(dns_c_ctx_t *cfg,
REQUIRE(retval != NULL);
*retval = cfg->keydefs;
-
+
if (cfg->keydefs == NULL) {
return (ISC_R_NOTFOUND);
} else {
dns_c_kdeflist_t *newval, isc_boolean_t deepcopy)
{
isc_result_t res;
-
+
REQUIRE(DNS_C_CONFCTX_VALID(cfg));
if (cfg->keydefs != NULL) {
dns_c_kdeflist_delete(&cfg->keydefs);
}
-
+
if (newval == NULL) {
cfg->keydefs = NULL;
res = ISC_R_SUCCESS;
return (res);
}
-
+
isc_result_t
dns_c_ctx_addfile_channel(dns_c_ctx_t *cfg, const char *name,
dns_c_logchan_t **chan)
ISC_FALSE);
*chan = newc;
-
+
return (res);
}
ISC_FALSE);
*chan = newc;
-
+
return (res);
}
res = dns_c_logginglist_addchannel(cfg->logging, newc, ISC_FALSE);
*chan = newc;
-
+
return (res);
}
if (res != ISC_R_SUCCESS) {
return (res);
}
-
+
res = dns_c_logginglist_addcategory(cfg->logging, newc,
ISC_FALSE);
*newcat = newc;
-
+
return (res);
}
newc = ISC_LIST_TAIL(cfg->logging->channels);
*channel = newc;
-
+
return (newc == NULL ? ISC_R_NOTFOUND : ISC_R_SUCCESS);
}
newc = ISC_LIST_TAIL(llist->categories);
*category = newc;
-
+
return (newc == NULL ? ISC_R_NOTFOUND : ISC_R_SUCCESS);
}
REQUIRE(options != NULL);
*options = NULL;
-
+
opts = isc_mem_get(mem, sizeof *opts);
if (opts == NULL) {
return (ISC_R_NOMEMORY);
opts->random_seed_file = NULL;
opts->port = NULL;
-
+
opts->transfers_in = NULL;
opts->transfers_per_ns = NULL;
opts->transfers_out = NULL;
opts->interface_interval = NULL;
opts->stats_interval = NULL;
opts->heartbeat_interval = NULL;
-
+
opts->max_transfer_time_in = NULL;
opts->max_transfer_time_out = NULL;
opts->max_transfer_idle_in = NULL;
opts->min_roots = NULL;
opts->serial_queries = NULL;
opts->sig_valid_interval = NULL;
-
+
opts->data_size = NULL;
opts->stack_size = NULL;
opts->core_size = NULL;
opts->max_cache_size = NULL;
opts->max_ncache_ttl = NULL;
opts->max_cache_ttl = NULL;
-
+
opts->expert_mode = NULL;
opts->fake_iquery = NULL;
opts->recursion = NULL;
opts->tkeydhkeycp = NULL;
opts->tkeydhkeyi = 0;
opts->tkeydomain = NULL;
-
+
opts->also_notify = NULL;
opts->check_names[dns_trans_primary] = NULL;
opts->check_names[dns_trans_response] = NULL;
opts->transfer_format = NULL;
-
+
opts->queryacl = NULL;
opts->transferacl = NULL;
opts->recursionacl = NULL;
opts->topology = NULL;
opts->sortlist = NULL;
opts->allowupdateforwarding = NULL;
-
+
opts->listens = NULL;
opts->v6listens = NULL;
-
+
opts->ordering = NULL;
opts->forwarders = NULL;
*options = opts;
-
+
return (ISC_R_SUCCESS);
}
{
dns_c_options_t *options;
isc_result_t r, result;
-
+
REQUIRE(opts != NULL);
options = *opts;
if (options == NULL) {
return (ISC_R_SUCCESS);
}
-
+
REQUIRE(DNS_C_CONFOPT_VALID(options));
do { if (options->FIELD != NULL) { \
(void)dns_c_ipmatchlist_detach(&options->FIELD); \
} } while (0)
-
-
+
+
FREESTRING(directory);
FREESTRING(version);
FREESTRING(random_device);
FREESTRING(random_seed_file);
-
+
FREEFIELD(expert_mode);
FREEFIELD(fake_iquery);
FREEFIELD(recursion);
FREEFIELD(treat_cr_as_space);
FREEFIELD(additional_from_cache);
FREEFIELD(additional_from_auth);
-
+
FREEFIELD(port);
-
+
FREEFIELD(transfers_in);
FREEFIELD(transfers_per_ns);
FREEFIELD(transfers_out);
FREEFIELD(additional_data);
FREEFIELD(forward);
-
+
FREESTRING(tkeydomain);
FREESTRING(tkeydhkeycp);
-
+
if (options->also_notify != NULL) {
dns_c_iplist_detach(&options->also_notify);
}
FREEIPMLIST(topology);
FREEIPMLIST(sortlist);
FREEIPMLIST(allowupdateforwarding);
-
+
result = ISC_R_SUCCESS;
if (options->listens != NULL) {
if (r != ISC_R_SUCCESS)
result = r;
}
-
+
if (options->v6listens != NULL) {
r = dns_c_lstnlist_delete(&options->v6listens);
if (r != ISC_R_SUCCESS)
result = r;
}
-
+
if (options->ordering != NULL) {
r = dns_c_rrsolist_delete(&options->ordering);
if (r != ISC_R_SUCCESS)
result = r;
}
-
+
if (options->forwarders != NULL) {
r = dns_c_iplist_detach(&options->forwarders);
if (r != ISC_R_SUCCESS)
result = r;
}
-
+
*opts = NULL;
options->magic = 0;
-
+
isc_mem_put(options->mem, options, sizeof *options);
-
+
return (result);
#undef FREEFIELD
SETBOOL(additionalfromauth, additional_from_auth)
UNSETBOOL(additionalfromauth, additional_from_auth)
-
+
GETBOOL(additionalfromcache, additional_from_cache)
SETBOOL(additionalfromcache, additional_from_cache)
UNSETBOOL(additionalfromcache, additional_from_cache)
-
+
GETSOCKADDR(transfersource, transfer_source)
SETSOCKADDR(transfersource, transfer_source)
UNSETSOCKADDR(transfersource, transfer_source)
-
+
/*
dns_c_ctx_settkeydomain(dns_c_ctx_t *cfg, const char *newval)
{
isc_result_t res;
-
+
REQUIRE(DNS_C_CONFCTX_VALID(cfg));
res = make_options(cfg);
if (res != ISC_R_SUCCESS) {
return (res);
}
-
+
return (cfg_set_string(cfg->options,
&cfg->options->tkeydomain,
newval));
const char *charval, isc_uint32_t uintval)
{
isc_result_t res;
-
+
REQUIRE(DNS_C_CONFCTX_VALID(cfg));
res = make_options(cfg);
isc_boolean_t existed = ISC_FALSE;
isc_result_t res;
dns_severity_t **ptr = NULL;
-
+
REQUIRE(DNS_C_CONFCTX_VALID(cfg));
res = make_options(cfg);
}
**ptr = newval;
-
+
return (existed ? ISC_R_EXISTS : ISC_R_SUCCESS);
}
dns_severity_t *retval)
{
isc_result_t result;
- dns_severity_t **ptr = NULL;
+ dns_severity_t **ptr = NULL;
REQUIRE(DNS_C_CONFCTX_VALID(cfg));
if (cfg->options == NULL) {
return (ISC_R_NOTFOUND);
}
-
+
REQUIRE(retval != NULL);
switch (transtype) {
case dns_trans_response:
ptr = &cfg->options->check_names[transtype];
break;
-
+
default:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
{
isc_result_t res;
dns_severity_t **ptr = NULL;
-
+
REQUIRE(DNS_C_CONFCTX_VALID(cfg));
res = make_options(cfg);
if (*ptr == NULL) {
return (ISC_R_NOTFOUND);
}
-
+
isc_mem_put(cfg->options->mem, *ptr, sizeof (**ptr));
return (ISC_R_SUCCESS);
UNSETIPMLIST(allowquery, queryacl)
GETIPMLIST(allowquery, queryacl)
-
+
SETIPMLIST(allowtransfer, transferacl)
UNSETIPMLIST(allowtransfer, transferacl)
GETIPMLIST(allowtransfer, transferacl)
UNSETIPMLIST(allowrecursion, recursionacl)
GETIPMLIST(allowrecursion, recursionacl)
-
+
SETIPMLIST(blackhole, blackhole)
UNSETIPMLIST(blackhole, blackhole)
GETIPMLIST(blackhole, blackhole)
-
+
SETIPMLIST(topology, topology)
UNSETIPMLIST(topology, topology)
GETIPMLIST(topology, topology)
UNSETIPMLIST(allowupdateforwarding, allowupdateforwarding)
GETIPMLIST(allowupdateforwarding, allowupdateforwarding)
-
+
isc_result_t
if (res != ISC_R_SUCCESS) {
return (res);
}
-
+
opts = cfg->options;
existed = (opts->ordering == NULL ? ISC_FALSE : ISC_TRUE);
-
+
if (copy) {
if (opts->ordering == NULL) {
res = dns_c_rrsolist_new(opts->mem,
} else {
dns_c_rrsolist_clear(opts->ordering);
}
-
+
res = dns_c_rrsolist_append(opts->ordering, olist);
} else {
if (opts->ordering != NULL) {
dns_c_rrsolist_delete(&opts->ordering);
}
-
+
opts->ordering = olist;
res = ISC_R_SUCCESS;
}
if (res == ISC_R_SUCCESS && existed) {
res = ISC_R_EXISTS;
}
-
+
return (res);
}
isc_boolean_t existed;
dns_c_tkeylist_t *newl;
isc_result_t res;
-
+
REQUIRE(DNS_C_CONFCTX_VALID(cfg));
existed = (cfg->trusted_keys == NULL ? ISC_FALSE : ISC_TRUE);
return (res);
}
}
-
+
if (copy) {
res = dns_c_tkeylist_copy(cfg->mem, &newl, list);
if (res != ISC_R_SUCCESS) {
if (cfg->options == NULL) {
return (ISC_R_NOTFOUND);
}
-
+
REQUIRE(DNS_C_CONFOPT_VALID(cfg->options));
*retval = cfg->options->tkeydomain;
if (cfg->options == NULL) {
return (ISC_R_NOTFOUND);
}
-
+
REQUIRE(DNS_C_CONFOPT_VALID(cfg->options));
if (cfg->options->tkeydhkeycp == NULL) {
if (res != ISC_R_SUCCESS) {
return (res);
}
-
+
opts = cfg->options;
if (opts->listens == NULL) {
}
}
-#if 0
+#if 0
lo = ISC_LIST_HEAD(opts->listens->elements);
while (lo != NULL) {
/* XXX we should probably check that a listen on statement
}
lo = ISC_LIST_NEXT(lo, next);
}
-#endif
+#endif
res = dns_c_lstnon_new(cfg->mem, &lo);
if (res != ISC_R_SUCCESS) {
return (res);
}
-
+
lo->port = port;
res = dns_c_lstnon_setiml(lo, ml, copy);
if (cfg->options == NULL) {
return (ISC_R_NOTFOUND);
}
-
+
REQUIRE(ll != NULL);
*ll = NULL;
if (res != ISC_R_SUCCESS) {
return (res);
}
-
+
opts = cfg->options;
if (opts->v6listens == NULL) {
}
}
-#if 0
+#if 0
lo = ISC_LIST_HEAD(opts->v6listens->elements);
while (lo != NULL) {
/* XXX we should probably check that a listen on statement
}
lo = ISC_LIST_NEXT(lo, next);
}
-#endif
+#endif
res = dns_c_lstnon_new(cfg->mem, &lo);
if (res != ISC_R_SUCCESS) {
return (res);
}
-
+
lo->port = port;
res = dns_c_lstnon_setiml(lo, ml, copy);
if (cfg->options == NULL) {
return (ISC_R_NOTFOUND);
}
-
+
REQUIRE(ll != NULL);
*ll = NULL;
dns_c_iplist_t *ipl)
{
isc_result_t res;
-
+
REQUIRE(DNS_C_CONFCTX_VALID(cfg));
res = make_options(cfg);
if (res != ISC_R_SUCCESS) {
return (res);
}
-
+
res = cfg_set_iplist(cfg->options, &cfg->options->forwarders,
ipl, copy);
if (cfg->options == NULL) {
return (ISC_R_NOTFOUND);
}
-
+
REQUIRE(list != NULL);
return (cfg_get_iplist(cfg->options,
dns_c_iplist_t *iml)
{
isc_result_t result;
-
+
REQUIRE(DNS_C_CONFCTX_VALID(cfg));
result = make_options(cfg);
if (result != ISC_R_SUCCESS) {
return (result);
}
-
+
REQUIRE(iml != NULL);
if (cfg->options->also_notify != NULL)
return (ISC_R_SUCCESS);
}
-
+
isc_result_t
dns_c_ctx_getalsonotify(dns_c_ctx_t *cfg, dns_c_iplist_t **ret)
if (cfg->options == NULL || cfg->options->also_notify == NULL) {
return (ISC_R_NOTFOUND);
}
-
+
REQUIRE(ret != NULL);
dns_c_iplist_attach(cfg->options->also_notify, ret);
}
REQUIRE(DNS_C_CONFOPT_VALID(cfg->options));
-
+
if (cfg->options->also_notify != NULL) {
dns_c_iplist_detach(&cfg->options->also_notify);
return (ISC_R_SUCCESS);
REQUIRE(DNS_C_CONFCTX_VALID(cfg));
REQUIRE(keyname != NULL);
REQUIRE(*keyname != '\0');
-
+
if (cfg->keydefs != NULL) {
res = dns_c_kdeflist_find(cfg->keydefs, keyname, &keyid);
if (res == ISC_R_SUCCESS) {
if (p != NULL) {
existed = ISC_TRUE;
}
-
+
if (newval == NULL) {
if (p != NULL) {
isc_mem_free(options->mem, p);
{
isc_result_t res;
isc_boolean_t existed = ISC_FALSE;
-
+
REQUIRE(DNS_C_CONFOPT_VALID(options));
REQUIRE(fieldaddr != NULL);
if (*fieldaddr != NULL) {
existed = ISC_TRUE;
}
-
+
if (newval == NULL) {
res = dns_c_iplist_new(options->mem,
newval->size,
if (*fieldaddr != NULL) {
dns_c_iplist_detach(fieldaddr);
}
-
+
res = dns_c_iplist_copy(options->mem, fieldaddr,
newval);
} else {
if (res != ISC_R_SUCCESS) {
return (res);
}
- }
+ }
res = ISC_R_SUCCESS;
-
+
*fieldaddr = newval;
}
if (res == ISC_R_SUCCESS && existed) {
res = ISC_R_EXISTS;
}
-
+
return (res);
}
isc_result_t res;
UNUSED(options);
-
+
REQUIRE(DNS_C_CONFOPT_VALID(options));
REQUIRE(resval != NULL);
logging_init (dns_c_ctx_t *cfg)
{
isc_result_t res;
-
+
REQUIRE(DNS_C_CONFCTX_VALID(cfg));
REQUIRE(cfg->logging == NULL);
return (res);
}
}
-
+
REQUIRE(DNS_C_CONFOPT_VALID(cfg->options));
return (res);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confip.c,v 1.31 2000/07/27 09:47:02 tale Exp $ */
+/* $Id: confip.c,v 1.32 2000/08/01 01:23:20 tale Exp $ */
#include <config.h>
dns_c_ipmatchelement_isneg(dns_c_ipmatchelement_t *elem) {
REQUIRE(DNS_C_IPMELEM_VALID(elem));
-
+
return (ISC_TF((elem->flags & DNS_C_IPMATCH_NEGATE) ==
DNS_C_IPMATCH_NEGATE));
}
isc_result_t
dns_c_ipmatchelement_delete(isc_mem_t *mem, dns_c_ipmatchelement_t **ipme) {
dns_c_ipmatchelement_t *elem;
-
+
REQUIRE(mem != NULL);
REQUIRE(ipme != NULL);
REQUIRE(*ipme != NULL);
-
+
elem = *ipme;
REQUIRE(DNS_C_IPMELEM_VALID(elem));
-
+
switch (elem->type) {
case dns_c_ipmatch_localhost:
case dns_c_ipmatch_localnets:
isc_mem_put(mem, elem, sizeof *elem);
*ipme = NULL;
-
+
return (ISC_R_SUCCESS);
}
REQUIRE(mem != NULL);
REQUIRE(dest != NULL);
REQUIRE(DNS_C_IPMELEM_VALID(src));
-
+
result = dns_c_ipmatchelement_new(mem, &newel);
if (result != ISC_R_SUCCESS) {
return (result);
newel->type = src->type;
newel->flags = src->flags;
-
+
switch(src->type) {
case dns_c_ipmatch_pattern:
newel->u.direct.address = src->u.direct.address;
result = dns_c_ipmatchlist_copy(mem,
&newel->u.indirect.list,
src->u.indirect.list);
- break;
+ break;
case dns_c_ipmatch_localhost:
break;
case dns_c_ipmatch_acl:
newel->u.aclname = isc_mem_strdup(mem, src->u.aclname);
break;
-
+
case dns_c_ipmatch_any:
break;
}
*dest = newel;
-
+
return (ISC_R_SUCCESS);
}
} else {
dns_c_ipmatchlist_detach(&iml_copy);
}
-
+
*result = ime;
return (res);
newlist->magic = DNS_C_IPMLIST_MAGIC;
newlist->mem = mem;
newlist->refcount = 1;
-
+
ISC_LIST_INIT(newlist->elements);
*ptr = newlist;
REQUIRE(ml != NULL);
REQUIRE(*ml != NULL);
-
+
iml = *ml;
*ml = NULL;
if (iml->refcount > 0) {
return (ISC_R_SUCCESS);
}
-
+
mem = iml->mem;
INSIST(mem != NULL);
while (ime != NULL) {
iptr = ISC_LIST_NEXT(ime, next);
dns_c_ipmatchelement_delete(mem, &ime);
-
+
ime = iptr;
}
{
REQUIRE(DNS_C_IPMLIST_VALID(source));
-
+
INSIST(source->refcount > 0);
source->refcount++;
isc_result_t res = ISC_R_SUCCESS;
REQUIRE(DNS_C_IPMLIST_VALID(ipml));
-
+
ime = ISC_LIST_HEAD(ipml->elements);
while (ime != NULL) {
imptmp = ISC_LIST_NEXT(ime, next);
}
ime = imptmp;
}
-
+
return (res);
}
dns_c_ipmatchlist_detach(&newlist);
return (result);
}
-
+
ISC_LIST_APPEND(newlist->elements, ptr, next);
ime = ISC_LIST_NEXT(ime, next);
REQUIRE(l1 == NULL || DNS_C_IPMLIST_VALID(l1));
REQUIRE(l2 == NULL || DNS_C_IPMLIST_VALID(l2));
-
+
if (l1 == NULL && l2 == NULL)
return (ISC_TRUE);
if (l1 != NULL || l2 != NULL)
if (negate) {
dns_c_ipmatch_negate(ime_copy);
}
-
+
ISC_LIST_APPEND(dest->elements, ime_copy, next);
ime = ISC_LIST_NEXT(ime, next);
switch (ipme->type) {
case dns_c_ipmatch_pattern:
dns_c_print_ipaddr(fp, &ipme->u.direct.address);
-
+
bits = ipme->u.direct.mask;
if (bits > 0) {
isc_uint32_t fam =
dns_c_printtabs(fp, indent);
dns_c_ipmatchelement_print(fp, indent + 1, ipme);
fprintf(fp, ";\n");
-
+
ipme = ISC_LIST_NEXT(ipme, next);
}
}
-
+
dns_c_printtabs(fp, indent - 1);
fprintf(fp, "}");
ipme = ISC_LIST_NEXT(ipme, next);
}
-
+
return (retval);
}
list->refcount = 1;
*newlist = list;
-
+
return (ISC_R_SUCCESS);
}
#ifndef NOMINUM_PUBLIC
unsigned int i;
#endif /* NOMINUM_PUBLIC */
-
+
REQUIRE(list != NULL);
REQUIRE(*list != NULL);
-
+
l = *list;
REQUIRE(DNS_C_IPLIST_VALID(l));
if (list->keys == NULL) {
return (ISC_FALSE);
}
-
+
for (i = 0 ; i < list->nextidx ; i++) {
if (list->keys[i] != NULL) {
return (ISC_TRUE);
return (ISC_FALSE);
}
#endif /* NOMINUM_PUBLIC */
-
+
void
dns_c_iplist_attach(dns_c_iplist_t *source, dns_c_iplist_t **target) {
REQUIRE(DNS_C_IPLIST_VALID(source));
}
#endif /* NOMINUM_PUBLIC */
}
-
+
newl->nextidx = src->nextidx;
*dest = newl;
isc_boolean_t athead = ISC_TRUE;
REQUIRE(DNS_C_IPLIST_VALID(list));
-
+
if (list->nextidx == 0) {
fputc('{', fp);
fputc('\n', fp);
dns_c_printtabs(fp, indent);
fprintf(fp, "/* no ip addresses defined */\n");
- dns_c_printtabs(fp, indent - 1);
+ dns_c_printtabs(fp, indent - 1);
fputc('}', fp);
} else {
if (porttoo) {
port = isc_sockaddr_getport(&list->ips[0]);
-
+
for (i = 0 ; i < list->nextidx ; i++) {
tmpport = isc_sockaddr_getport(&list->ips[i]);
if (tmpport != port) {
list->size = newsize;
}
-
+
list->ips[i] = newaddr;
list->nextidx++;
res = ISC_R_SUCCESS;
-
+
#ifndef NOMINUM_PUBLIC
if (key != NULL) {
if (list->keys[i] != NULL) {
dns_name_free(list->keys[i], list->mem);
- isc_mem_put(list->mem, list->keys,
+ isc_mem_put(list->mem, list->keys,
sizeof (dns_name_t));
list->keys[i] = NULL;
}
-
+
res = dns_c_charptoname(list->mem, key, &list->keys[i]);
}
#endif /* NOMINUM_PUBLIC */
isc_uint32_t i;
REQUIRE(DNS_C_IPLIST_VALID(list));
-
+
for (i = 0 ; i < list->nextidx ; i++) {
if (memcmp(&list->ips[i], &newaddr, sizeof newaddr) == 0) {
break;
if (bits > 0) {
if (address->type.sa.sa_family == AF_INET) {
isc_uint32_t mask;
-
+
if (bits > 32) {
return (ISC_R_FAILURE);
}
-
+
mask = ntohl(0xffffffffU << (32 - bits));
-
+
if ((mask & address->type.sin.sin_addr.s_addr) !=
address->type.sin.sin_addr.s_addr) {
return (ISC_R_FAILURE);
unsigned char *maskp;
unsigned char *addrp;
int i;
-
+
if (bits > 128) {
return (ISC_R_FAILURE);
}
-
+
if (bits2v6mask(&iaddr, bits) != ISC_R_SUCCESS) {
return (ISC_R_FAILURE);
}
-
+
addrp = (unsigned char *)&address->type.sin6.sin6_addr;
maskp = (unsigned char *)&iaddr;
for (i = 0 ; i < 16 ; i++) {
}
}
}
-
+
return (ISC_R_SUCCESS);
}
char addrbuff [ sizeof "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff" + 1 ];
INSIST(bits <= 128);
-
+
/* Break the 128 bits up into 32-bit sections */
bitmask[0] = bitmask[1] = bitmask[2] = bitmask[3] = 0U;
-
+
if (bits >= 32) {
bitmask[0] = 0xffffffffU;
} else if (bits > 0) {
} else if (bits > 64) {
bitmask[2] = 0xffffffffU << (96 - bits);
}
-
+
memset(addr, 0x0, sizeof *addr);
-
+
sprintf(addrbuff, "%04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x",
(((bitmask[0] & 0xffff0000U) >> 16) & 0xffffU),
(bitmask[0] & 0xffff),
return (i == 1 ? ISC_R_SUCCESS : ISC_R_FAILURE);
}
-
+
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confkeys.c,v 1.26 2000/07/27 09:47:04 tale Exp $ */
+/* $Id: confkeys.c,v 1.27 2000/08/01 01:23:21 tale Exp $ */
#include <config.h>
newlist->mem = mem;
newlist->magic = DNS_C_KDEFLIST_MAGIC;
-
+
ISC_LIST_INIT(newlist->keydefs);
*list = newlist;
dns_c_kdef_t *kd;
dns_c_kdef_t *tmpkd;
isc_result_t res;
-
+
REQUIRE(list != NULL);
REQUIRE(DNS_C_KDEFLIST_VALID(*list));
isc_mem_put(l->mem, l, sizeof *l);
*list = NULL;
-
+
return (ISC_R_SUCCESS);
}
REQUIRE(dest != NULL);
REQUIRE(DNS_C_KDEFLIST_VALID(src));
-
+
res = dns_c_kdeflist_new(mem, &newlist);
if (res != ISC_R_SUCCESS) {
return (res);
}
-
+
key = ISC_LIST_HEAD(src->keydefs);
while (key != NULL) {
res = dns_c_kdeflist_append(newlist, key, ISC_TRUE);
dns_c_kdeflist_delete(&newlist);
return (res);
}
-
+
key = ISC_LIST_NEXT(key, next);
}
{
dns_c_kdef_t *newe;
isc_result_t res;
-
+
REQUIRE(DNS_C_KDEFLIST_VALID(list));
REQUIRE(DNS_C_KDEF_VALID(key));
if (list == NULL) {
return;
}
-
+
kd = ISC_LIST_HEAD(list->keydefs);
while (kd != NULL) {
dns_c_kdef_print(fp, indent, kd);
REQUIRE(keyid != NULL);
REQUIRE(name != NULL);
REQUIRE(*name != '\0');
-
+
kd = isc_mem_get(mem, sizeof *kd);
if (kd == NULL) {
return (ISC_R_NOMEMORY);
kd->magic = DNS_C_KDEF_MAGIC;
kd->mem = mem;
-
+
kd->algorithm = NULL;
kd->secret = NULL;
*keyid = kd;
-
+
return (ISC_R_SUCCESS);
}
kd = *keydef;
mem = kd->mem;
-
+
isc_mem_free(mem, kd->keyid);
if (kd->algorithm != NULL) {
REQUIRE(dest != NULL);
REQUIRE(DNS_C_KDEF_VALID(src));
-
+
newk = isc_mem_get(mem, sizeof *newk);
if (newk == NULL) {
return (ISC_R_NOMEMORY);
}
newk->magic = DNS_C_KDEF_MAGIC;
newk->secret = newk->algorithm = newk->keyid = NULL;
-
+
newk->keyid = isc_mem_strdup(mem, src->keyid);
if (newk->keyid == NULL) {
dns_c_kdef_delete(&newk);
return (ISC_R_NOMEMORY);
}
-
+
newk->algorithm = isc_mem_strdup(mem, src->algorithm);
if (newk->algorithm == NULL) {
dns_c_kdef_delete(&newk);
return (ISC_R_NOMEMORY);
}
-
+
newk->secret = isc_mem_strdup(mem, src->secret);
if (newk->secret == NULL) {
dns_c_kdef_delete(&newk);
return (ISC_R_SUCCESS);
}
-
+
void
dns_c_kdef_print(FILE *fp, int indent, dns_c_kdef_t *keydef)
if (keydef->algorithm != NULL) {
isc_mem_free(keydef->mem, keydef->algorithm);
}
-
+
keydef->algorithm = isc_mem_strdup(keydef->mem, algorithm);
if (keydef->algorithm == NULL) {
return (ISC_R_NOMEMORY);
REQUIRE(DNS_C_KDEF_VALID(keydef));
REQUIRE(secret != NULL);
REQUIRE(*secret != '\0');
-
+
if (keydef->secret != NULL) {
isc_mem_free(keydef->mem, keydef->secret);
}
-
+
keydef->secret = isc_mem_strdup(keydef->mem, secret);
if (keydef->secret == NULL) {
return (ISC_R_NOMEMORY);
l->magic = DNS_C_KEYIDLIST_MAGIC;
l->mem = mem;
*list = l;
-
+
ISC_LIST_INIT(l->keyids);
return (ISC_R_SUCCESS);
REQUIRE(list != NULL);
REQUIRE(DNS_C_KEYIDLIST_VALID(*list));
-
+
l = *list;
ki = ISC_LIST_HEAD(l->keyids);
isc_mem_put(l->mem, l, sizeof *l);
*list = NULL;
-
+
return (ISC_R_SUCCESS);
}
return (count);
}
-
+
REQUIRE(keyid != NULL);
REQUIRE(DNS_C_KEYID_VALID(*keyid));
-
+
ki = *keyid;
isc_mem_free(ki->mem, ki->keyid);
isc_mem_put(ki->mem, ki, sizeof *ki);
*keyid = NULL;
-
+
return (ISC_R_SUCCESS);
}
REQUIRE(DNS_C_KEYIDLIST_VALID(list));
REQUIRE(keyid != NULL);
REQUIRE(*keyid != '\0');
-
+
dns_c_kidlist_find(list, keyid, &ki);
-
+
if (ki != NULL) {
ISC_LIST_UNLINK(list->keyids, ki, next);
r = keyid_delete(&ki);
REQUIRE(keyid != NULL);
REQUIRE(*keyid != '\0');
REQUIRE(retval != NULL);
-
+
iter = ISC_LIST_HEAD(list->keyids);
while (iter != NULL) {
if (strcmp(keyid, iter->keyid) == 0) {
iter = ISC_LIST_NEXT(iter, next);
}
}
-
+
dns_c_printtabs(fp, indent);
fprintf(fp, "}");
}
REQUIRE(name != NULL);
REQUIRE(*name != '\0');
REQUIRE(keyid != NULL);
-
+
ki = isc_mem_get(mem, sizeof *ki);
if (ki == NULL) {
return (ISC_R_NOMEMORY);
ISC_LIST_INIT(newl->keylist);
*pklist = newl;
-
+
return (ISC_R_SUCCESS);
}
-
+
isc_result_t
dns_c_pklist_delete(dns_c_pklist_t **list)
{
}
REQUIRE(DNS_C_PKLIST_VALID(list));
-
+
pk = ISC_LIST_HEAD(list->keylist);
while (pk != NULL) {
dns_c_pubkey_print(fp, indent, pk);
isc_mem_put(mem, pkey, sizeof *pkey);
return (ISC_R_NOMEMORY);
}
-
+
*pubkey = pkey;
return (ISC_R_SUCCESS);
REQUIRE(DNS_C_PUBKEY_VALID(src));
REQUIRE(dest != NULL);
-
+
res = dns_c_pubkey_new(mem, src->flags, src->protocol,
src->algorithm, src->key, &k);
if (res != ISC_R_SUCCESS) {
REQUIRE(DNS_C_TKEYLIST_VALID(*list));
l = *list;
-
+
tkey = ISC_LIST_HEAD(l->tkeylist);
while (tkey != NULL) {
tmptkey = ISC_LIST_NEXT(tkey, next);
if (res != ISC_R_SUCCESS) {
return (res);
}
-
+
tkey = tmptkey;
}
isc_mem_put(l->mem, l, sizeof *l);
*list = NULL;
-
+
return (ISC_R_SUCCESS);
}
REQUIRE(dest != NULL);
REQUIRE(DNS_C_TKEYLIST_VALID(src));
-
+
res = dns_c_tkeylist_new(mem, &newlist);
if (res != ISC_R_SUCCESS) {
return (res);
}
-
+
tkey = ISC_LIST_HEAD(src->tkeylist);
while (tkey != NULL) {
res = dns_c_tkey_copy(mem, &tmptkey, tkey);
dns_c_tkeylist_delete(&newlist);
return (res);
}
-
+
tkey = ISC_LIST_NEXT(tkey, next);
}
dns_c_tkeylist_print(FILE *fp, int indent, dns_c_tkeylist_t *list)
{
dns_c_tkey_t *tkey;
-
+
REQUIRE(fp != NULL);
REQUIRE(DNS_C_TKEYLIST_VALID(list));
-
+
dns_c_printtabs(fp, indent);
fprintf(fp, "trusted-keys {\n");
tkey = ISC_LIST_HEAD(list->tkeylist);
{
dns_c_tkey_t *newe;
isc_result_t res;
-
+
REQUIRE(DNS_C_TKEYLIST_VALID(list));
REQUIRE(DNS_C_TKEY_VALID(element));
isc_mem_put(mem, newk, sizeof *newk);
return (ISC_R_NOMEMORY);
}
-
+
newk->pubkey = pk;
ISC_LINK_INIT(newk, next);
tk->magic = 0;
isc_mem_put(tk->mem, tk, sizeof *tk);
-
+
*tkey = NULL;
-
+
return (ISC_R_SUCCESS);
}
{
REQUIRE(key != NULL);
REQUIRE(DNS_C_TKEY_VALID(tkey));
-
+
*key = tkey->pubkey->key;
return (ISC_R_SUCCESS);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: conflog.c,v 1.17 2000/07/27 09:47:05 tale Exp $ */
+/* $Id: conflog.c,v 1.18 2000/08/01 01:23:22 tale Exp $ */
#include <config.h>
REQUIRE(list != NULL);
REQUIRE(DNS_C_LOGLIST_VALID(*list));
-
+
l = *list;
chan = ISC_LIST_HEAD(l->channels);
if (!logchan->predefined) {
return ISC_FALSE;
}
-
+
logchan = ISC_LIST_NEXT(logchan, next);
}
-
+
logcat = ISC_LIST_HEAD(ll->categories);
while (logcat != NULL) {
if (!logcat->predefined) {
return ISC_TRUE;
}
-
+
void
dns_c_logginglist_print(FILE *fp, int indent, dns_c_logginglist_t *ll,
isc_boolean_t if_predef_too)
dns_c_printtabs(fp, indent);
fprintf(fp, "logging {\n");
-
+
logchan = ISC_LIST_HEAD(ll->channels);
while (logchan != NULL) {
dns_c_logchan_print(fp, indent + 1, logchan,
if_predef_too);
logchan = ISC_LIST_NEXT(logchan, next);
}
-
+
logcat = ISC_LIST_HEAD(ll->categories);
while (logcat != NULL) {
dns_c_logcat_print(fp, indent + 1, logcat,
if_predef_too);
logcat = ISC_LIST_NEXT(logcat, next);
}
-
+
dns_c_printtabs(fp, indent);
fprintf(fp, "};\n");
}
} else {
newc = newchan;
}
-
+
tmpchan = ISC_LIST_HEAD(list->channels);
while (tmpchan != NULL) {
if (strcmp(newchan->name, tmpchan->name) == 0) {
REQUIRE(DNS_C_LOGLIST_VALID(list));
REQUIRE(DNS_C_LOGCAT_VALID(newcat));
-
+
if (deepcopy) {
res = dns_c_logcat_copy(list->mem, &newc, newcat);
if (strcmp(newcat->catname,tmpcat->catname) == 0) {
existed = ISC_TRUE;
predefined = tmpcat->predefined;
-
+
ISC_LIST_UNLINK(list->categories, tmpcat, next);
res = dns_c_logcat_delete(&tmpcat);
if (res != ISC_R_SUCCESS) {
memset(&newc->setflags, 0x0, sizeof newc->setflags);
ISC_LINK_INIT(newc, next);
-
+
newc->name = isc_mem_strdup(mem, name);
if (newc->name == NULL) {
isc_mem_put(mem, newc, sizeof *newc);
return (ISC_R_NOMEMORY);
}
-
+
switch (ctype) {
case dns_c_logchan_file:
newc->u.filec.path = NULL;
case dns_c_logchan_stderr:
break;
}
-
+
*newchan = newc;
return (ISC_R_SUCCESS);
logc->print_severity = src->print_severity;
logc->print_time = src->print_time;
logc->setflags = src->setflags;
-
+
switch (logc->ctype) {
case dns_c_logchan_file:
logc->u.filec.path = isc_mem_strdup(mem, src->u.filec.path);
}
*dest = logc;
-
+
return (ISC_R_SUCCESS);
}
if (logchan->predefined && !if_predef_too) {
return;
}
-
+
dns_c_printtabs(fp, indent);
fprintf(fp, "channel %s {\n", logchan->name) ;
fprintf(fp, "print-severity %s;\n",
(logchan->print_severity ? "true" : "false"));
}
-
+
if (DNS_C_CHECKBIT(CHAN_PCAT_BIT, &logchan->setflags)) {
dns_c_printtabs(fp, indent + 1);
fprintf(fp, "print-category %s;\n",
(logchan->print_category ? "true" : "false"));
}
-
+
if (DNS_C_CHECKBIT(CHAN_PTIME_BIT, &logchan->setflags)) {
dns_c_printtabs(fp, indent + 1);
fprintf(fp, "print-time %s;\n",
return (ISC_R_FAILURE);
}
-
+
if (dns_c_facility2string(facility, ISC_FALSE) == NULL) {
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
facility);
return (ISC_R_FAILURE);
}
-
+
existed = DNS_C_CHECKBIT(CHAN_FACILITY_BIT, &channel->setflags);
if (channel->severity == dns_c_log_debug) {
existed = DNS_C_CHECKBIT(CHAN_DEBUG_LEVEL_BIT,
&channel->setflags);
-
+
DNS_C_SETBIT(CHAN_DEBUG_LEVEL_BIT, &channel->setflags);
channel->debug_level = level;
-
+
return (existed ? ISC_R_EXISTS : ISC_R_SUCCESS);
} else {
return (ISC_R_FAILURE);
isc_boolean_t if_predef_too)
{
unsigned int i;
-
+
REQUIRE(fp != NULL);
REQUIRE(DNS_C_LOGCAT_VALID(logcat));
if (logcat->predefined && !if_predef_too) {
return;
}
-
+
dns_c_printtabs(fp, indent);
fprintf(fp, "category %s {\n", logcat->catname);
static void
print_log_facility(FILE *fp, int value) {
REQUIRE(fp != NULL);
-
+
fputs(dns_c_facility2string(value, ISC_TRUE), fp);
}
static void
print_log_severity(FILE *fp, dns_c_logseverity_t severity) {
REQUIRE(fp != NULL);
-
+
fputs(dns_c_logseverity2string(severity, ISC_TRUE), fp);
}
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: conflsn.c,v 1.17 2000/07/27 09:47:06 tale Exp $ */
+/* $Id: conflsn.c,v 1.18 2000/08/01 01:23:24 tale Exp $ */
#include <config.h>
REQUIRE(listen != NULL);
*listen = NULL;
-
+
ll = isc_mem_get(mem, sizeof *ll);
ll->mem = mem;
ll->port = 0;
isc_mem_put(mem, ll, sizeof *ll);
return (result);
}
-
+
ISC_LINK_INIT(ll, next);
*listen = ll;
-
+
return (ISC_R_SUCCESS);
}
isc_mem_put(lo->mem, lo, sizeof *lo);
*listen = NULL;
-
+
return (r);
}
} else {
result = ISC_R_SUCCESS;
}
-
+
if (deepcopy) {
result = dns_c_ipmatchlist_copy(listen->mem,
REQUIRE(llist != NULL);
*llist = NULL;
-
+
ll = isc_mem_get(mem, sizeof *ll);
if (ll == NULL) {
/* XXXJAB logwrite */
ISC_LIST_INIT(ll->elements);
*llist = ll;
-
+
return (ISC_R_SUCCESS);
}
isc_mem_put(ll->mem, ll, sizeof *ll);
*llist = NULL;
-
+
return (ISC_R_SUCCESS);
}
in_port_t default_port) {
REQUIRE(lo != NULL);
REQUIRE(DNS_C_LISTEN_VALID(lo));
-
+
fprintf(fp, "listen-on ");
if (lo->port != default_port) {
fprintf(fp, "port %d ", lo->port);
in_port_t default_port) {
REQUIRE(lo != NULL);
REQUIRE(DNS_C_LISTEN_VALID(lo));
-
+
fprintf(fp, "listen-on-v6 ");
if (lo->port != default_port) {
fprintf(fp, "port %d ", lo->port);
case dns_c_ipmatch_localnets:
ok = ISC_FALSE;
break;
-
+
case dns_c_ipmatch_any:
case dns_c_ipmatch_none:
ok = ISC_TRUE;
case dns_c_ipmatch_indirect:
/* XXX shouldn't be reached */
break;
-
+
case dns_c_ipmatch_acl:
/* XXX handle this. */
break;
{
int pf;
isc_boolean_t ok = ISC_FALSE;
-
+
switch (element->type) {
case dns_c_ipmatch_pattern:
pf = isc_sockaddr_pf(&element->u.direct.address);
-
+
ok = ISC_TF(pf == AF_INET6);
break;
case dns_c_ipmatch_localnets:
ok = ISC_FALSE;
break;
-
+
case dns_c_ipmatch_any:
case dns_c_ipmatch_none:
ok = ISC_TRUE;
case dns_c_ipmatch_indirect:
/* XXX shouldn't be reached */
break;
-
+
case dns_c_ipmatch_acl:
/* XXX handle this. */
break;
dns_c_lstnlist_validate(dns_c_lstnlist_t *ll)
{
#if 0
-
+
dns_c_lstnon_t *lo;
isc_boolean_t checkval;
"addresses only.");
return (ISC_R_FAILURE);
}
-
+
lo = ISC_LIST_NEXT(lo, next);
}
return (ISC_R_SUCCESS);
-#else
+#else
UNUSED(ll);
return (ISC_R_SUCCESS);
-#endif
+#endif
}
"addresses only.");
return (ISC_R_FAILURE);
}
-
+
lo = ISC_LIST_NEXT(lo, next);
}
return (ISC_R_SUCCESS);
#else
-
+
UNUSED(ll);
return (ISC_R_SUCCESS);
-
-#endif
+
+#endif
}
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confndc.c,v 1.24 2000/07/28 19:33:29 gson Exp $ */
+/* $Id: confndc.c,v 1.25 2000/08/01 01:23:25 tale Exp $ */
/*
** options {
** [ default-server server_name; ]
** [ default-key key_name; ]
** };
-**
+**
** server server_name {
** key key_name;
** [ host name_or_addr; ]
** };
-**
+**
** key key_name {
** algorithm string;
** secret string;
** };
-**
+**
*/
#include <dns/confndc.h>
#include <dns/log.h>
-
+
/*
* Type keys for symtab lookup.
*/
};
-/*
+/*
* DATA
*/
newctx = isc_mem_get(mem, sizeof *newctx);
if (newctx == NULL)
return (ISC_R_NOMEMORY);
-
+
newctx->mem = mem;
newctx->magic = DNS_C_NDCCTX_MAGIC;
newctx->opts = NULL;
dns_c_ndcctx_destroy(dns_c_ndcctx_t **ndcctx) {
dns_c_ndcctx_t *ctx;
isc_mem_t *mem;
-
+
REQUIRE(ndcctx != NULL);
ctx = *ndcctx;
-
+
REQUIRE(DNS_C_NDCCTX_VALID(ctx));
mem = ctx->mem;
void
dns_c_ndcserverlist_print(FILE *fp, dns_c_ndcserverlist_t *servers) {
dns_c_ndcserver_t *server;
-
+
REQUIRE(DNS_C_NDCSERVERLIST_VALID(servers));
REQUIRE(fp != NULL);
isc_result_t
dns_c_ndcctx_setoptions(dns_c_ndcctx_t *ctx, dns_c_ndcopts_t *opts) {
isc_boolean_t existed;
-
+
REQUIRE(DNS_C_NDCCTX_VALID(ctx));
REQUIRE(opts == NULL || DNS_C_NDCOPTIONS_VALID(opts));
existed = ISC_TF(ctx->opts != NULL);
-
+
ctx->opts = opts;
if (existed)
REQUIRE(DNS_C_NDCCTX_VALID(ctx));
REQUIRE(opts != NULL);
REQUIRE(*opts == NULL);
-
+
*opts = ctx->opts;
if (ctx->opts == NULL)
REQUIRE(servers == NULL || DNS_C_NDCSERVERLIST_VALID(servers));
existed = ISC_TF(ctx->servers != NULL);
-
+
ctx->servers = servers;
if (existed)
REQUIRE(DNS_C_NDCCTX_VALID(ctx));
REQUIRE(servers != NULL);
REQUIRE(*servers == NULL);
-
+
*servers = ctx->servers;
if (ctx->servers == NULL)
isc_result_t
dns_c_ndcctx_addserver(dns_c_ndcctx_t *ctx, dns_c_ndcserver_t **server) {
isc_result_t result;
-
+
REQUIRE(DNS_C_NDCCTX_VALID(ctx));
REQUIRE(server != NULL);
REQUIRE(DNS_C_NDCSERVER_VALID(*server));
-
+
if (ctx->servers == NULL) {
result = dns_c_ndcserverlist_new(ctx->mem, &ctx->servers);
if (result != ISC_R_SUCCESS)
isc_result_t
dns_c_ndcctx_setkeys(dns_c_ndcctx_t *ctx, dns_c_kdeflist_t *keys) {
isc_boolean_t existed;
-
+
REQUIRE(DNS_C_NDCCTX_VALID(ctx));
REQUIRE(DNS_C_KDEFLIST_VALID(keys));
existed = ISC_TF(ctx->keys != NULL);
-
+
ctx->keys = keys;
if (existed)
REQUIRE(servers != NULL);
REQUIRE(*servers == NULL);
-
+
newlist = isc_mem_get(mem, sizeof *newlist);
if (newlist == NULL)
return (ISC_R_NOMEMORY);
ISC_LIST_INIT(newlist->list);
*servers = newlist;
-
+
return (ISC_R_SUCCESS);
}
dns_c_ndcserver_t *
dns_c_ndcserverlist_first(dns_c_ndcserverlist_t *servers) {
REQUIRE(DNS_C_NDCSERVERLIST_VALID(servers));
-
+
return (ISC_LIST_HEAD(servers->list));
}
isc_result_t
dns_c_ndcopts_new(isc_mem_t *mem, dns_c_ndcopts_t **opts) {
dns_c_ndcopts_t *newo;
-
+
REQUIRE(opts != NULL);
REQUIRE(*opts == NULL);
newo->defkey = NULL;
*opts = newo;
-
+
return (ISC_R_SUCCESS);
}
dns_c_ndcopts_destroy(dns_c_ndcopts_t **opts) {
dns_c_ndcopts_t *o;
isc_mem_t *mem;
-
+
REQUIRE(opts != NULL);
o = *opts;
-
+
REQUIRE(DNS_C_NDCOPTIONS_VALID(o));
if (o->defserver != NULL)
return (ISC_R_SUCCESS);
}
-
-
+
+
isc_result_t
dns_c_ndcopts_getdefserver(dns_c_ndcopts_t *opts, const char **retval) {
REQUIRE(DNS_C_NDCOPTIONS_VALID(opts));
REQUIRE(newval == NULL || *newval != '\0');
existed = ISC_TF(opts->defkey != NULL);
-
+
if (newval != NULL) {
opts->defkey = isc_mem_strdup(opts->mem, newval);
if (opts->defkey == NULL)
isc_result_t
dns_c_ndcserver_new(isc_mem_t *mem, dns_c_ndcserver_t **server) {
dns_c_ndcserver_t *serv = NULL;
-
+
REQUIRE(server != NULL);
REQUIRE(*server == NULL);
return (ISC_R_SUCCESS);
}
-
+
isc_result_t
dns_c_ndcserver_destroy(dns_c_ndcserver_t **server) {
dns_c_ndcserver_t *serv;
isc_mem_t *mem;
-
+
REQUIRE(server != NULL);
serv = *server ;
if (serv->name != NULL)
isc_mem_free(serv->mem, serv->name);
-
+
if (serv->key != NULL)
isc_mem_free(serv->mem, serv->key);
-
+
if (serv->host != NULL)
isc_mem_free(serv->mem, serv->host);
return (ISC_R_SUCCESS);
}
-
+
isc_result_t
dns_c_ndcserver_setkey(dns_c_ndcserver_t *server, const char *val) {
isc_boolean_t existed;
-
+
REQUIRE(DNS_C_NDCSERVER_VALID(server));
existed = ISC_TF(server->key != NULL);
isc_result_t
dns_c_ndcserver_setname(dns_c_ndcserver_t *server, const char *val) {
isc_boolean_t existed;
-
+
REQUIRE(DNS_C_NDCSERVER_VALID(server));
existed = ISC_TF(server->name != NULL);
isc_result_t
dns_c_ndcserver_sethost(dns_c_ndcserver_t *server, const char *val) {
isc_boolean_t existed;
-
+
REQUIRE(DNS_C_NDCSERVER_VALID(server));
existed = ISC_TF(server->host != NULL);
else
return (ISC_R_SUCCESS);
}
-
+
isc_result_t
dns_c_ndcserver_getkey(dns_c_ndcserver_t *server, const char **val) {
REQUIRE(DNS_C_NDCSERVER_VALID(server));
ndcpcontext pctx;
isc_result_t result;
dns_c_ndcctx_t *aConfig = NULL;
-
+
result = parser_setup(&pctx, mem, filename);
if (result != ISC_R_SUCCESS)
goto done;
-
+
result = parse_file(&pctx, &aConfig);
if (result != ISC_R_SUCCESS && aConfig != NULL)
dns_c_ndcctx_destroy(&aConfig);
done:
if (pctx.thelexer != NULL)
isc_lex_destroy(&pctx.thelexer);
-
+
if (pctx.thekeywords != NULL)
isc_symtab_destroy(&pctx.thekeywords);
*ndcctx = aConfig;
-
+
return (result);
}
result = getnexttoken(pctx);
done = ISC_TF(result != ISC_R_SUCCESS);
-
+
while (!done) {
switch (pctx->currtok) {
case L_END_INPUT:
dns_c_ndcopts_t *tmpopts = NULL;
dns_c_ndcserver_t *server = NULL;
dns_c_kdeflist_t *keys = NULL;
-
+
switch (pctx->currtok) {
case L_OPTIONS:
result = parse_options(pctx, &opts);
result = parse_keystmt(pctx, keys);
break;
-
+
default:
syntax_error(pctx, pctx->currtok);
result = ISC_R_FAILURE;
if (opts != NULL)
dns_c_ndcopts_destroy(&opts);
-
+
return (result);
}
dns_c_ndcctx_t *cfgctx = pctx->thecontext;
REQUIRE(DNS_C_NDCCTX_VALID(cfgctx));
-
+
if (!eat(pctx, L_OPTIONS) || !eat_lbrace(pctx))
return (ISC_R_FAILURE);
result = dns_c_ndcopts_new(cfgctx->mem, &newopts);
if (result != ISC_R_SUCCESS)
return (result);
-
+
result = ISC_R_SUCCESS;
while (result == ISC_R_SUCCESS && pctx->currtok != L_RBRACE) {
option = pctx->currtok;
if (!eat(pctx, pctx->currtok))
return (ISC_R_FAILURE);
-
+
switch (option) {
case L_DEFAULT_SERVER:
if (!looking_at_stringoripaddr(pctx))
pctx->tokstr);
if (result == ISC_R_SUCCESS)
result = getnexttoken(pctx);
-
+
if (result != ISC_R_SUCCESS)
return (result);
break;
-
+
case L_DEFAULT_KEY:
if (!looking_at_anystring(pctx))
return (result);
-
+
result = dns_c_ndcopts_setdefkey(newopts,
pctx->tokstr);
if (result == ISC_R_SUCCESS)
result = getnexttoken(pctx);
-
+
if (result != ISC_R_SUCCESS)
return (result);
break;
*opts = newopts;
else
dns_c_ndcopts_destroy(&newopts);
-
+
return (result);
}
char *keyname = NULL;
char *hostname = NULL;
dns_c_ndcserver_t *serv = NULL;
-
+
if (!eat(pctx, L_SERVER))
return (ISC_R_FAILURE);
result = ISC_R_FAILURE;
goto done;
}
-
+
switch (field) {
case L_KEY:
if (!looking_at_anystring(pctx)) {
keyname = isc_mem_strdup(pctx->themem, pctx->tokstr);
if (keyname == NULL)
result = ISC_R_NOMEMORY;
-
+
if (result == ISC_R_SUCCESS)
result = getnexttoken(pctx);
-
+
break;
case L_HOST:
hostname = isc_mem_strdup(pctx->themem, pctx->tokstr);
if (hostname == NULL)
result = ISC_R_NOMEMORY;
-
+
if (result == ISC_R_SUCCESS)
result = getnexttoken(pctx);
-
+
break;
default:
if (result != ISC_R_SUCCESS)
goto done;
-
+
if (!eat_eos(pctx)) {
result = ISC_R_FAILURE;
goto done;
result = dns_c_ndcserver_setname(serv, servername);
if (result != ISC_R_SUCCESS)
goto done;
-
+
result = dns_c_ndcserver_setkey(serv, keyname);
if (result != ISC_R_SUCCESS)
goto done;
done:
if (serv != NULL)
dns_c_ndcserver_destroy(&serv);
-
+
if (servername != NULL)
isc_mem_free(pctx->themem, servername);
char *keyname = NULL;
char *algorithm = NULL;
char *secret = NULL;
-
+
REQUIRE(DNS_C_NDCCTX_VALID(ctx));
REQUIRE(DNS_C_KDEFLIST_VALID(keys));
result = ISC_R_FAILURE;
goto done;
}
-
+
if (algorithm != NULL) {
parser_warn(pctx, ISC_FALSE,
"multiple 'algorithm' values");
result = ISC_R_FAILURE;
goto done;
}
-
+
if (secret != NULL) {
parser_warn(pctx, ISC_FALSE,
"multiple 'secret' values");
parser_error(pctx, ISC_FALSE, "zero length 'algorithm'");
result = ISC_R_FAILURE;
}
-
+
if (secret == NULL) {
parser_error(pctx, ISC_FALSE, "missing 'secret'");
result = ISC_R_FAILURE;
if (result != ISC_R_SUCCESS)
goto done;
-
+
result = dns_c_kdef_new(keys->mem, keyname, &key);
if (result != ISC_R_SUCCESS)
goto done;
return (result);
}
-
+
static const char *
keyword2str(isc_int32_t val) {
int i;
static isc_boolean_t
eat(ndcpcontext *pctx, isc_uint32_t token) {
isc_boolean_t rval = ISC_FALSE;
-
+
if (looking_at(pctx, token))
if (getnexttoken(pctx) == ISC_R_SUCCESS)
rval = ISC_TRUE;
static isc_boolean_t
looking_at(ndcpcontext *pctx, isc_uint32_t token) {
isc_boolean_t rval = ISC_TRUE;
-
+
if (pctx->currtok != token) {
parser_error(pctx, ISC_TRUE, "expected a '%s'",
keyword2str(token));
return (ISC_TRUE);
}
-
+
static isc_boolean_t
eat_lbrace(ndcpcontext *pctx) {
}
memset(specials, 0x0, sizeof specials);
-
+
specials['{'] = 1;
specials['}'] = 1;
specials[';'] = 1;
specials['"'] = 1;
isc_lex_setspecials(pctx->thelexer, specials);
-
+
isc_lex_setcomments(pctx->thelexer, (ISC_LEXCOMMENT_C |
ISC_LEXCOMMENT_CPLUSPLUS |
ISC_LEXCOMMENT_SHELL));
else
return (ISC_FALSE);
-
+
if (inet_pton(AF_INET, addrbuf, addr) != 1)
return (ISC_FALSE);
pctx->prevtok = pctx->currtok;
strcpy(pctx->prevtokstr, pctx->tokstr);
-
+
result = isc_lex_gettoken(pctx->thelexer, options, &token);
switch(result) {
case isc_tokentype_special:
case isc_tokentype_string: {
char *tokstr = &pctx->tokstr[0];
-
+
if (token.type == isc_tokentype_special) {
tokstr[0] = token.value.as_char;
tokstr[1] = '\0';
} else
pctx->currtok = keywordtok.as_integer;
-
+
result = ISC_R_SUCCESS;
break;
}
result = ISC_R_FAILURE;
break;
}
-
+
return (result);
}
%{
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confparser.y.dirty,v 1.5 2000/07/31 21:07:02 explorer Exp $ */
+/* $Id: confparser.y.dirty,v 1.6 2000/08/01 01:23:26 tale Exp $ */
#include <config.h>
* XXXJAB The #define for the default OMAPI port is not available
* to us, so we make our own.
*/
-
+
#define OMAPI_DEFAULT_PORT 953
-
+
#define CONF_MAX_IDENT 1024
/* This should be sufficient to permit multiple parsers and lexers if needed */
"zones and views");
YYABORT;
}
-
+
tmpres = dns_c_ctx_getoptions(currcfg, &options);
if (tmpres == ISC_R_SUCCESS) {
parser_error(ISC_FALSE, "cannot redefine options");
$$ = $3;
};
-
-
+
+
control_port: /* nothing */
{
$$ = OMAPI_DEFAULT_PORT;
isc_mem_free(memctx, $2);
}
#endif /* NOMINUM_PUBLIC */
-
+
$$ = list;
}
#ifndef NOMINUM_PUBLIC
$$ = dns_notifytype_yes;
else
$$ = dns_notifytype_no;
-
+
}
| L_EXPLICIT
{
"'max-cache-size'");
YYABORT;
}
-
+
tmpres = dns_c_ctx_setmaxcachesize(currcfg, $2);
if (tmpres == ISC_R_EXISTS) {
parser_error(ISC_FALSE,
isc_result_totext(tmpres));
$$ = DNS_C_SIZE_SPEC_DEFAULT;
}
-
+
isc_mem_free(memctx, $1);
}
| L_INTEGER
}
isc_mem_free(memctx, $2);
-
+
dns_c_kidlist_append($$, kid);
};
-
+
/*
* Address Matching
*/
"'max-cache-size'");
YYABORT;
}
-
+
tmpres = dns_c_view_setmaxcachesize(view, $2);
if (tmpres == ISC_R_EXISTS) {
parser_error(ISC_FALSE,
if (tmpres != ISC_R_SUCCESS) {
YYABORT;
}
-
+
tmpres = callbacks->zonecbk(currcfg,
zone,
view,
} else {
tmpres = dns_c_view_gettrustedkeys(view, &newlist);
}
-
+
if (tmpres == ISC_R_NOTFOUND) {
tmpres = dns_c_tkeylist_new(currcfg->mem, &newlist);
if (tmpres != ISC_R_SUCCESS) {
newlist,
ISC_FALSE);
}
-
+
if (tmpres != ISC_R_SUCCESS) {
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG,
tmpres = dns_c_view_gettrustedkeys(view, &list);
mem = view->mem;
}
-
+
if (tmpres != ISC_R_SUCCESS) {
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG,
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confpvt.h,v 1.9 2000/07/27 09:47:10 tale Exp $ */
+/* $Id: confpvt.h,v 1.10 2000/08/01 01:23:27 tale Exp $ */
#ifndef CONFIG_CONFPVT_H
#define CONFIG_CONFPVT_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confresolv.c,v 1.8 2000/07/27 09:47:11 tale Exp $ */
+/* $Id: confresolv.c,v 1.9 2000/08/01 01:23:28 tale Exp $ */
#include <config.h>
dns_c_resolv_new(isc_mem_t *mem, dns_c_resolv_t **cfgres) {
UNUSED(mem);
UNUSED(cfgres);
-
+
/* XXX nothing yet */
return (ISC_R_SUCCESS);
return (ISC_R_SUCCESS);
}
-
+
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confrrset.c,v 1.15 2000/07/27 09:47:12 tale Exp $ */
+/* $Id: confrrset.c,v 1.16 2000/08/01 01:23:29 tale Exp $ */
#include <config.h>
isc_result_t
dns_c_rrsolist_clear(dns_c_rrsolist_t *olist) {
dns_c_rrso_t *elem;
-
+
REQUIRE(DNS_C_RRSOLIST_VALID(olist));
elem = ISC_LIST_HEAD(olist->elements);
if (ro == NULL) {
return (ISC_R_NOMEMORY);
}
-
+
ISC_LIST_INIT(ro->elements);
ro->mem = mem;
ro->magic = DNS_C_RRSOLIST_MAGIC;
*rval = ro;
-
+
return (ISC_R_SUCCESS);
}
REQUIRE(mem != NULL);
REQUIRE(res != NULL);
-
+
if (name == NULL) {
name = "*";
}
-
+
newo = isc_mem_get(mem, sizeof *newo);
if (newo == NULL) {
return (ISC_R_NOMEMORY);
if (r != ISC_R_SUCCESS) {
return (r);
}
-
+
elem = q;
}
isc_mem_put(oldo->mem, oldo, sizeof *oldo);
*order = NULL;
-
+
return (ISC_R_SUCCESS);
}
} else {
*dest = NULL;
}
-
+
return (res);
}
REQUIRE(DNS_C_RRSOLIST_VALID(source));
REQUIRE(dest != NULL);
-
+
res = dns_c_rrsolist_new(mem, &nlist);
if (res != ISC_R_SUCCESS) {
return (res);
}
-
+
elem = ISC_LIST_HEAD(source->elements);
while (elem != NULL) {
res = dns_c_rrso_copy(mem, &newe, elem);
}
ISC_LIST_APPEND(nlist->elements, newe, next);
-
+
elem = ISC_LIST_NEXT(elem, next);
}
dns_c_rrso_t *or;
REQUIRE(DNS_C_RRSOLIST_VALID(rrlist));
-
+
if (ISC_LIST_EMPTY(rrlist->elements)) {
return;
}
-
+
dns_c_printtabs(fp, indent);
fprintf(fp, "rrset-order {\n");
dns_c_printtabs(fp, indent);
fprintf(fp, "};\n");
-
+
}
void
dns_c_rrso_print(FILE *fp, int indent, dns_c_rrso_t *order) {
REQUIRE(DNS_C_RRSO_VALID(order));
-
+
dns_c_printtabs(fp, indent);
-
+
fputs("class ", fp);
if (order->oclass == dns_rdataclass_any) {
fputc('*', fp);
} else {
dns_c_dataclass_tostream(fp, order->oclass);
}
-
+
fputs(" type ", fp);
if (order->otype == dns_rdatatype_any) {
fprintf(fp, " order %s",
dns_c_ordering2string(order->ordering, ISC_TRUE));
-
+
fputs(";\n", fp);
}
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confview.c,v 1.41 2000/07/31 21:07:03 explorer Exp $ */
+/* $Id: confview.c,v 1.42 2000/08/01 01:23:30 tale Exp $ */
#include <config.h>
return (ISC_R_NOTFOUND); \
} \
}
-
+
#define GETIPMLIST(FUNCNAME, FIELDNAME) \
isc_result_t \
isc_result_t
dns_c_viewtable_new(isc_mem_t *mem, dns_c_viewtable_t **viewtable) {
dns_c_viewtable_t *table;
-
+
REQUIRE(viewtable != NULL);
table = isc_mem_get(mem, sizeof *table);
isc_result_t
dns_c_viewtable_delete(dns_c_viewtable_t **viewtable) {
dns_c_viewtable_t *table;
-
+
REQUIRE(viewtable != NULL);
REQUIRE(DNS_C_VIEWTABLE_VALID(*viewtable));
table = *viewtable;
*viewtable = NULL;
-
+
dns_c_viewtable_clear(table);
table->magic = 0;
dns_c_viewtable_addview(dns_c_viewtable_t *viewtable, dns_c_view_t *view) {
REQUIRE(DNS_C_VIEWTABLE_VALID(viewtable));
REQUIRE(DNS_C_VIEW_VALID(view));
-
+
ISC_LIST_APPEND(viewtable->views, view, next);
}
dns_c_viewtable_rmview(dns_c_viewtable_t *viewtable, dns_c_view_t *view) {
REQUIRE(DNS_C_VIEWTABLE_VALID(viewtable));
REQUIRE(DNS_C_VIEW_VALID(view));
-
+
ISC_LIST_UNLINK(viewtable->views, view, next);
}
dns_c_view_t *elem;
dns_c_view_t *tmpelem;
isc_result_t r;
-
+
REQUIRE(DNS_C_VIEWTABLE_VALID(table));
-
+
elem = ISC_LIST_HEAD(table->views);
while (elem != NULL) {
tmpelem = ISC_LIST_NEXT(elem, next);
ISC_LIST_UNLINK(table->views, elem, next);
-
+
r = dns_c_view_delete(&elem);
if (r != ISC_R_SUCCESS) {
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
elem = ISC_LIST_NEXT(elem, next);
}
-
+
if (elem != NULL) {
*retval = elem;
}
isc_result_t res;
REQUIRE(DNS_C_VIEWTABLE_VALID(viewtable));
-
+
res = dns_c_viewtable_viewbyname(viewtable, name, &view);
if (res == ISC_R_SUCCESS) {
ISC_LIST_UNLINK(viewtable->views, view, next);
return (res);
}
-
+
isc_result_t
dns_c_viewtable_checkviews(dns_c_viewtable_t *viewtable) {
dns_c_view_t *elem;
isc_uint32_t buival;
isc_result_t result = ISC_R_SUCCESS;
dns_c_rrsolist_t *boval;
-
+
REQUIRE(DNS_C_VIEWTABLE_VALID(viewtable));
elem = ISC_LIST_HEAD(viewtable->views);
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"view 'rrset-order' is not yet "
"implemented");
-
+
elem = ISC_LIST_NEXT(elem, next);
}
-
+
return (result);
}
view->rfc2308_type1 = NULL;
view->additional_from_cache = NULL;
view->additional_from_auth = NULL;
-
+
view->transfer_source = NULL;
view->transfer_source_v6 = NULL;
view->query_source = NULL;
view->peerlist = NULL;
view->trusted_keys = NULL;
-
+
#if 0
view->max_transfer_time_in = NULL;
view->max_transfer_idle_in = NULL;
#endif
ISC_LINK_INIT(view, next);
-
+
*newview = view;
return (ISC_R_SUCCESS);
in_port_t port;
REQUIRE(DNS_C_VIEW_VALID(view));
-
+
dns_c_printtabs(fp, indent);
fprintf(fp, "view \"%s\"", view->name);
dns_c_printtabs(fp, indent + 1); \
fprintf(fp, "%s %d;\n",NAME,(int)*view->FIELD); \
}
-
+
#define PRINT_AS_MINUTES(FIELD, NAME) \
if (view->FIELD != NULL) { \
dns_c_printtabs(fp, indent + 1); \
fprintf(fp, ";\n"); \
}
-
+
if (view->forward != NULL) {
dns_c_printtabs(fp, indent + 1);
fprintf(fp, "forward %s;\n",
dns_c_transport2string(dns_trans_primary, ISC_TRUE),
dns_c_nameseverity2string(nameseverity, ISC_TRUE));
}
-
+
if (view->check_names[dns_trans_secondary] != NULL) {
nameseverity = *view->check_names[dns_trans_secondary];
dns_c_printtabs(fp, indent + 1);
dns_c_transport2string(dns_trans_secondary, ISC_TRUE),
dns_c_nameseverity2string(nameseverity, ISC_TRUE));
}
-
+
if (view->check_names[dns_trans_response] != NULL) {
nameseverity = *view->check_names[dns_trans_response];
dns_c_printtabs(fp, indent + 1);
PRINT_IP(transfer_source, "transfer-source");
PRINT_IP(transfer_source_v6, "transfer-source-v6");
-
+
PRINT_IPANDPORT(query_source, "query-source");
PRINT_IPANDPORT(query_source_v6, "query-source-v6");
fprintf(fp, "additional-data %s;\n",
dns_c_addata2string(*view->additional_data, ISC_TRUE));
}
-
+
if (view->transfer_format != NULL) {
dns_c_printtabs(fp, indent + 1);
fprintf(fp, "transfer-format %s;\n",
dns_c_transformat2string(*view->transfer_format,
ISC_TRUE));
}
-
+
if (view->keydefs != NULL) {
dns_c_kdeflist_print(fp, indent + 1, view->keydefs);
}
-#if 0
+#if 0
PRINT_INT32(max_transfer_time_in, "max-transfer-time-in");
PRINT_INT32(max_transfer_idle_in, "max-transfer-idle-in");
PRINT_INT32(transfers_per_ns, "transfers-per-ns");
PRINT_INT32(serialqueries, "serial-queries");
#endif
-
+
fprintf(fp, "\n");
if (view->zonelist != NULL) {
#undef PRINT_INT32
#undef PRINT_IP
#undef PRINT_IPANDPORT
-
+
}
isc_mem_put(view->mem, view->FIELD, sizeof (*view->FIELD)); \
view->FIELD = NULL; \
} } while (0)
-
+
REQUIRE(viewptr != NULL);
REQUIRE(DNS_C_VIEW_VALID(*viewptr));
view = *viewptr;
isc_mem_free(view->mem, view->name);
-
+
if (view->zonelist != NULL) {
dns_c_zonelist_delete(&view->zonelist);
}
if (view->forwarders != NULL) {
dns_c_iplist_detach(&view->forwarders);
}
-
+
if (view->also_notify != NULL) {
dns_c_iplist_detach(&view->also_notify);
}
-
+
FREEIPMLIST(allowquery);
FREEIPMLIST(allowupdateforwarding);
FREEIPMLIST(transferacl);
dns_c_view_unsetpeerlist(view);
dns_c_view_unsettrustedkeys(view);
-
-#if 0
+
+#if 0
FREEFIELD(max_transfer_time_in);
FREEFIELD(max_transfer_idle_in);
FREEFIELD(transfers_per_ns);
FREEFIELD(serial_queries);
#endif
-
-
+
+
view->magic = 0;
isc_mem_put(view->mem, view, sizeof *view);
-
+
return (ISC_R_SUCCESS);
}
REQUIRE(DNS_C_VIEW_VALID(view));
REQUIRE(keyname != NULL);
REQUIRE(*keyname != '\0');
-
+
if (view->keydefs != NULL) {
res = dns_c_kdeflist_find(view->keydefs, keyname, &keyid);
if (res == ISC_R_SUCCESS) {
dns_c_view_addzone(dns_c_view_t *view, dns_c_zone_t *zone) {
isc_result_t res;
dns_c_zone_t *attached;
-
+
REQUIRE(DNS_C_VIEW_VALID(view));
REQUIRE(DNS_C_ZONE_VALID(zone));
dns_c_zone_attach(zone, &attached);
-
+
if (view->zonelist == NULL) {
res = dns_c_zonelist_new(view->mem, &view->zonelist);
if (res != ISC_R_SUCCESS) {
return (res);
}
}
-
+
return (dns_c_zonelist_addzone(view->zonelist, attached));
}
REQUIRE(zonelist != NULL);
*zonelist = view->zonelist;
-
+
if (view->zonelist == NULL) {
return (ISC_R_NOTFOUND);
} else {
UNSETBYTYPE(dns_c_forw_t, forward, forward)
GETBYTYPE(dns_c_forw_t, forward, forward)
-
+
/*
**
*/
{
isc_boolean_t existed = ISC_FALSE;
isc_result_t res;
-
+
REQUIRE(DNS_C_VIEW_VALID(view));
REQUIRE(DNS_C_IPLIST_VALID(ipl));
return (res);
}
}
-
+
isc_result_t
return (ISC_R_NOTFOUND);
}
}
-
-
+
+
isc_result_t
dns_c_view_getforwarders(dns_c_view_t *view,
{
REQUIRE(DNS_C_VIEW_VALID(view));
REQUIRE(ipl != NULL);
-
+
*ipl = view->forwarders;
return (*ipl == NULL ? ISC_R_NOTFOUND : ISC_R_SUCCESS);
dns_c_iplist_t *ipl)
{
isc_boolean_t existed = ISC_FALSE;
-
+
REQUIRE(DNS_C_VIEW_VALID(view));
REQUIRE(DNS_C_IPLIST_VALID(ipl));
return (existed ? ISC_R_EXISTS : ISC_R_SUCCESS);
}
-
+
isc_result_t
return (ISC_R_NOTFOUND);
}
}
-
-
+
+
isc_result_t
dns_c_view_getalsonotify(dns_c_view_t *view,
} else {
dns_c_rrsolist_clear(view->ordering);
}
-
+
res = dns_c_rrsolist_append(view->ordering, olist);
} else {
if (view->ordering != NULL) {
dns_c_rrsolist_delete(&view->ordering);
}
-
+
view->ordering = olist;
res = ISC_R_SUCCESS;
}
if (res == ISC_R_SUCCESS && existed) {
res = ISC_R_EXISTS;
}
-
+
return (res);
}
-
+
isc_result_t
{
isc_boolean_t existed = ISC_FALSE;
dns_severity_t **ptr = NULL;
-
+
REQUIRE(DNS_C_VIEW_VALID(view));
switch(transtype) {
}
**ptr = newval;
-
+
return (existed ? ISC_R_EXISTS : ISC_R_SUCCESS);
}
dns_severity_t *retval)
{
isc_result_t result;
- dns_severity_t **ptr = NULL;
+ dns_severity_t **ptr = NULL;
REQUIRE(DNS_C_VIEW_VALID(view));
switch (transtype) {
case dns_trans_response:
ptr = &view->check_names[transtype];
break;
-
+
default:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
dns_c_trans_t transtype)
{
dns_severity_t **ptr = NULL;
-
+
REQUIRE(DNS_C_VIEW_VALID(view));
switch(transtype) {
if (*ptr == NULL) {
return (ISC_R_NOTFOUND);
}
-
+
isc_mem_put(view->mem, *ptr, sizeof (**ptr));
return (ISC_R_SUCCESS);
REQUIRE(retval != NULL);
*retval = view->keydefs;
-
+
if (view->keydefs == NULL) {
return (ISC_R_NOTFOUND);
} else {
dns_c_view_getpeerlist(dns_c_view_t *view, dns_peerlist_t **retval) {
REQUIRE(DNS_C_VIEW_VALID(view));
REQUIRE(retval != NULL);
-
+
if (view->peerlist == NULL) {
*retval = NULL;
return (ISC_R_NOTFOUND);
return (ISC_R_FAILURE);
}
}
-
+
isc_result_t
dns_c_view_setpeerlist(dns_c_view_t *view, dns_peerlist_t *newval) {
dns_c_view_gettrustedkeys(dns_c_view_t *view, dns_c_tkeylist_t **retval) {
REQUIRE(DNS_C_VIEW_VALID(view));
REQUIRE(retval != NULL);
-
+
if (view->trusted_keys == NULL) {
*retval = NULL;
return (ISC_R_NOTFOUND);
return (ISC_R_FAILURE);
}
}
-
+
isc_result_t
dns_c_view_settrustedkeys(dns_c_view_t *view, dns_c_tkeylist_t *newval,
isc_boolean_t existed;
dns_c_tkeylist_t *newl;
isc_result_t res;
-
+
REQUIRE(DNS_C_VIEW_VALID(view));
existed = ISC_TF(view->trusted_keys != NULL);
-
+
if (view->trusted_keys != NULL) {
dns_c_view_unsettrustedkeys(view);
}
GETUINT32(sigvalidityinterval, sig_valid_interval)
UNSETUINT32(sigvalidityinterval, sig_valid_interval)
-
+
GETUINT32(maxcachesize, max_cache_size)
SETUINT32(maxcachesize, max_cache_size)
UNSETUINT32(maxcachesize, max_cache_size)
-
+
GETBYTYPE(dns_c_addata_t, additionaldata, additional_data)
SETBYTYPE(dns_c_addata_t, additionaldata, additional_data)
UNSETBYTYPE(dns_c_addata_t, additionaldata, additional_data)
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confzone.c,v 1.51 2000/07/27 09:47:14 tale Exp $ */
+/* $Id: confzone.c,v 1.52 2000/08/01 01:23:32 tale Exp $ */
#include <config.h>
zoneelem = ISC_LIST_HEAD(zlist->zones);
while (zoneelem != NULL) {
REQUIRE(zoneelem->thezone != NULL);
-
+
if (strcmp(name, zoneelem->thezone->name) == 0) {
break;
}
zoneelem = ISC_LIST_HEAD(zlist->zones);
while (zoneelem != NULL) {
REQUIRE(zoneelem->thezone != NULL);
-
+
if (strcmp(name, zoneelem->thezone->name) == 0) {
break;
}
if (zoneelem == NULL) {
return (ISC_R_NOMEMORY);
}
-
+
zoneelem->thezone = zone;
ISC_LINK_INIT(zoneelem, next);
dns_c_zonelist_rmzone(dns_c_zonelist_t *zlist, dns_c_zone_t *zone) {
dns_c_zonelem_t *zoneelem;
isc_result_t res;
-
+
REQUIRE(zlist != NULL);
REQUIRE(zone != NULL);
zoneelem = ISC_LIST_HEAD(zlist->zones);
while (zoneelem != NULL) {
REQUIRE(zoneelem->thezone != NULL);
-
+
if (zone == zoneelem->thezone) {
break;
}
fprintf(fp, "\n");
}
}
-
+
zoneelem = ISC_LIST_NEXT(zoneelem, next);
}
dns_c_zone_t *
dns_c_zonelist_nextzone(dns_c_zonelist_t *list, dns_c_zone_t *zone) {
dns_c_zonelem_t *zoneelem;
-
+
REQUIRE(DNS_C_ZONELIST_VALID(list));
zoneelem = ISC_LIST_HEAD(list->zones);
isc_mem_strdup(mem, name) :
isc_mem_strdup(mem, internalname));
newzone->database = NULL;
-
+
switch (ztype) {
case dns_c_zone_master:
master_zone_init(&newzone->u.mzone);
forward_zone_init(&newzone->u.fzone);
break;
}
-
+
*zone = newzone;
return (ISC_R_SUCCESS);
}
fprintf(fp, " {\n");
-
+
switch (zone->ztype) {
case dns_c_zone_master:
dns_c_printtabs(fp, indent + 1);
fprintf(fp, "type master;\n");
master_zone_print(fp, indent + 1, &zone->u.mzone);
break;
-
+
case dns_c_zone_slave:
dns_c_printtabs(fp, indent + 1);
fprintf(fp, "type slave;\n");
fprintf(fp, "type stub;\n");
stub_zone_print(fp, indent + 1, &zone->u.tzone);
break;
-
+
case dns_c_zone_hint:
dns_c_printtabs(fp, indent + 1);
fprintf(fp, "type hint;\n");
fprintf(fp, "enable-zone %s;\n",
(*zone->enabled ? "true" : "false"));
}
-
+
dns_c_printtabs(fp, indent);
fprintf(fp, "};\n");
}
const char *nomasterserr = "zone '%s': missing 'masters' entry";
const char *emptymasterserr = "zone '%s': 'masters' value is empty";
const char *disabledzone = "zone '%s': is disabled";
-
+
/*
* Check if zone is diabled. This isn't really a validation, just a
* place to issue a warning.
ISC_LOG_WARNING, disabledzone,
zone->name);
}
-
-
+
+
/*
* Check for allow-update and update-policy together
*/
/* XXX TODO make sure no 'key' clauses were given on any iplist
- except for masters{}; */
-
+ except for masters{}; */
+
return (result);
}
dns_c_zone_getpubkeylist(dns_c_zone_t *zone, dns_c_pklist_t **retval) {
dns_c_pklist_t *p = NULL;
isc_result_t res;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
case dns_c_zone_master:
p = zone->u.mzone.pubkeylist;
break;
-
+
case dns_c_zone_slave:
p = zone->u.szone.pubkeylist;
break;
-
+
case dns_c_zone_stub:
p = zone->u.tzone.pubkeylist;
break;
-
+
case dns_c_zone_hint:
#if 1
p = zone->u.hzone.pubkeylist;
-#else
+#else
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a pubkey field");
-#endif
+#endif
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
dns_c_zone_setfile(dns_c_zone_t *zone, const char *newfile) {
char **p = NULL;
isc_result_t res;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(newfile != NULL);
REQUIRE(*newfile != '\0');
case dns_c_zone_slave:
p = &zone->u.szone.file;
break;
-
+
case dns_c_zone_stub:
p = &zone->u.tzone.file;
break;
case dns_c_zone_hint:
p = &zone->u.hzone.file;
break;
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
dns_c_zone_getfile(dns_c_zone_t *zone, const char **retval) {
const char *p = NULL;
isc_result_t res;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
case dns_c_zone_slave:
p = zone->u.szone.file;
break;
-
+
case dns_c_zone_stub:
p = zone->u.tzone.file;
break;
-
+
case dns_c_zone_hint:
p = zone->u.hzone.file;
break;
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
bits = &zone->u.mzone.setflags;
bit = MZ_CHECK_NAME_BIT;
break;
-
+
case dns_c_zone_slave:
p = &zone->u.szone.check_names;
bits = &zone->u.szone.setflags;
bit = SZ_CHECK_NAME_BIT;
break;
-
+
case dns_c_zone_stub:
p = &zone->u.tzone.check_names;
bits = &zone->u.tzone.setflags;
bit = TZ_CHECK_NAME_BIT;
break;
-
+
case dns_c_zone_hint:
p = &zone->u.hzone.check_names;
bits = &zone->u.hzone.setflags;
bit = HZ_CHECK_NAME_BIT;
break;
-
+
case dns_c_zone_forward:
p = &zone->u.fzone.check_names;
bits = &zone->u.fzone.setflags;
} else {
res = ISC_R_SUCCESS;
}
-
+
*p = severity;
DNS_C_SETBIT(bit, bits);
bits = &zone->u.mzone.setflags;
bit = MZ_CHECK_NAME_BIT;
break;
-
+
case dns_c_zone_slave:
p = &zone->u.szone.check_names;
bits = &zone->u.szone.setflags;
bit = SZ_CHECK_NAME_BIT;
break;
-
+
case dns_c_zone_stub:
p = &zone->u.tzone.check_names;
bits = &zone->u.tzone.setflags;
bit = TZ_CHECK_NAME_BIT;
break;
-
+
case dns_c_zone_hint:
p = &zone->u.hzone.check_names;
bits = &zone->u.hzone.setflags;
bit = HZ_CHECK_NAME_BIT;
break;
-
+
case dns_c_zone_forward:
p = &zone->u.fzone.check_names;
bits = &zone->u.fzone.setflags;
} else {
res = ISC_R_NOTFOUND;
}
-
+
return (res);
}
dns_c_ipmatchlist_t **p = NULL;
isc_result_t res;
isc_boolean_t existed;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(DNS_C_IPMLIST_VALID(ipml));
case dns_c_zone_master:
p = &zone->u.mzone.allow_update_forwarding;
break;
-
+
case dns_c_zone_slave:
p = &zone->u.szone.allow_update_forwarding;
break;
-
+
case dns_c_zone_stub:
p = &zone->u.tzone.allow_update_forwarding;
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have "
"an allow_update_forwarding field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
}
existed = (*p != NULL ? ISC_TRUE : ISC_FALSE);
-
+
res = set_ipmatch_list_field(zone->mem, p,
ipml, deepcopy);
if (res == ISC_R_SUCCESS && existed) {
{
dns_c_ipmatchlist_t *p = NULL;
isc_result_t res;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
case dns_c_zone_master:
p = zone->u.mzone.allow_update_forwarding;
break;
-
+
case dns_c_zone_slave:
p = zone->u.szone.allow_update_forwarding;
break;
-
+
case dns_c_zone_stub:
p = zone->u.tzone.allow_update_forwarding;
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have an "
"allow_update_forwarding field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
dns_c_zone_setssuauth(dns_c_zone_t *zone, dns_ssutable_t *ssu) {
dns_ssutable_t **p = NULL;
isc_boolean_t existed;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
switch (zone->ztype) {
case dns_c_zone_master:
p = &zone->u.mzone.ssuauth;
break;
-
+
case dns_c_zone_slave:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Slave zones do not have an ssuauth field");
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Stub zones do not have an ssuauth field");
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have an ssuauth field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
}
existed = (*p != NULL ? ISC_TRUE : ISC_FALSE);
-
+
*p = ssu;
return (existed ? ISC_R_EXISTS : ISC_R_SUCCESS);
dns_c_zone_getssuauth(dns_c_zone_t *zone, dns_ssutable_t **retval) {
dns_ssutable_t *p = NULL;
isc_result_t res;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
case dns_c_zone_master:
p = zone->u.mzone.ssuauth;
break;
-
+
case dns_c_zone_slave:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Slave zones do not have an ssuauth field");
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Stub zones do not have an ssuauth field");
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have an ssuauth field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
dns_c_ipmatchlist_t **p = NULL;
isc_boolean_t existed;
isc_result_t res;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(DNS_C_IPMLIST_VALID(ipml));
case dns_c_zone_master:
p = &zone->u.mzone.allow_query;
break;
-
+
case dns_c_zone_slave:
p = &zone->u.szone.allow_query;
break;
-
+
case dns_c_zone_stub:
p = &zone->u.tzone.allow_query;
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have an allow_query field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
}
existed = (*p != NULL ? ISC_TRUE : ISC_FALSE);
-
+
res = set_ipmatch_list_field(zone->mem, p,
ipml, deepcopy);
if (res == ISC_R_SUCCESS && existed) {
dns_c_zone_getallowquery(dns_c_zone_t *zone, dns_c_ipmatchlist_t **retval) {
dns_c_ipmatchlist_t *p = NULL;
isc_result_t res;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
case dns_c_zone_master:
p = zone->u.mzone.allow_query;
break;
-
+
case dns_c_zone_slave:
p = zone->u.szone.allow_query;
break;
-
+
case dns_c_zone_stub:
p = zone->u.tzone.allow_query;
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have an allow_query field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
dns_c_ipmatchlist_t **p = NULL;
isc_boolean_t existed;
isc_result_t res;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(DNS_C_IPMLIST_VALID(ipml));
case dns_c_zone_master:
p = &zone->u.mzone.allow_transfer;
break;
-
+
case dns_c_zone_slave:
p = &zone->u.szone.allow_transfer;
break;
-
+
case dns_c_zone_stub:
p = &zone->u.tzone.allow_transfer;
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have an "
"allow_transfer field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
dns_c_zone_getallowtransfer(dns_c_zone_t *zone, dns_c_ipmatchlist_t **retval) {
dns_c_ipmatchlist_t *p = NULL;
isc_result_t res;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
case dns_c_zone_master:
p = zone->u.mzone.allow_transfer;
break;
-
+
case dns_c_zone_slave:
p = zone->u.szone.allow_transfer;
break;
-
+
case dns_c_zone_stub:
p = zone->u.tzone.allow_transfer;
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have an "
"allow_transfer field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a dialup field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
isc_result_t
dns_c_zone_getdialup(dns_c_zone_t *zone, isc_boolean_t *retval) {
isc_result_t res = ISC_R_SUCCESS;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_slave:
if (DNS_C_CHECKBIT(SZ_DIALUP_BIT, &zone->u.szone.setflags)) {
*retval = zone->u.szone.dialup;
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_stub:
if (DNS_C_CHECKBIT(TZ_DIALUP_BIT, &zone->u.tzone.setflags)) {
*retval = zone->u.tzone.dialup;
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a dialup field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
isc_result_t
dns_c_zone_setnotify(dns_c_zone_t *zone, dns_notifytype_t newval) {
isc_boolean_t existed = ISC_FALSE;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
switch (zone->ztype) {
&zone->u.mzone.setflags);
DNS_C_SETBIT(MZ_NOTIFY_BIT, &zone->u.mzone.setflags);
break;
-
+
case dns_c_zone_slave:
zone->u.szone.notify = newval;
existed = DNS_C_CHECKBIT(SZ_NOTIFY_BIT,
&zone->u.szone.setflags);
DNS_C_SETBIT(SZ_NOTIFY_BIT, &zone->u.szone.setflags);
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a notify field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
REQUIRE(zone != NULL);
REQUIRE(DNS_C_IPLIST_VALID(newval));
-
+
switch (zone->ztype) {
case dns_c_zone_master:
p = &zone->u.mzone.also_notify ;
break;
-
+
case dns_c_zone_slave:
p = &zone->u.szone.also_notify ;
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Stub zones do not have a also_notify field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a also_notify field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
-
+
switch (zone->ztype) {
case dns_c_zone_master:
p = zone->u.mzone.also_notify ;
break;
-
+
case dns_c_zone_slave:
p = zone->u.szone.also_notify ;
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Stub zones do not have a also_notify field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a also_notify field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
isc_result_t
dns_c_zone_setmaintixfrbase(dns_c_zone_t *zone, isc_boolean_t newval) {
isc_boolean_t existed = ISC_FALSE;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
switch (zone->ztype) {
&zone->u.mzone.setflags);
DNS_C_SETBIT(MZ_MAINT_IXFR_BASE_BIT, &zone->u.mzone.setflags);
break;
-
+
case dns_c_zone_slave:
zone->u.szone.maint_ixfr_base = newval;
existed = DNS_C_CHECKBIT(SZ_MAINT_IXFR_BASE_BIT,
&zone->u.szone.setflags);
DNS_C_SETBIT(SZ_MAINT_IXFR_BASE_BIT, &zone->u.szone.setflags);
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a "
"maintain-xfer-base field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
dns_c_setbits_t *bits = NULL;
isc_boolean_t val = ISC_FALSE;
int bit = 0;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
bit = MZ_MAINT_IXFR_BASE_BIT;
bits = &zone->u.mzone.setflags;
break;
-
+
case dns_c_zone_slave:
val = zone->u.szone.maint_ixfr_base;
bit = SZ_MAINT_IXFR_BASE_BIT;
bits = &zone->u.szone.setflags;
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Stub zones do not have a notify field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a notify field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
} else {
res = ISC_R_NOTFOUND;
}
-
+
return (res);
}
dns_c_zone_setixfrbase(dns_c_zone_t *zone, const char *newval) {
isc_boolean_t existed ;
char **p = NULL;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(newval != NULL);
REQUIRE(*newval != '\0');
case dns_c_zone_master:
p = &zone->u.mzone.ixfr_base;
break;
-
+
case dns_c_zone_slave:
p = &zone->u.szone.ixfr_base;
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a ixfr_base field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
dns_c_zone_getixfrbase(dns_c_zone_t *zone, const char **retval) {
char *p = NULL;
isc_result_t res;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
case dns_c_zone_master:
p = zone->u.mzone.ixfr_base;
break;
-
+
case dns_c_zone_slave:
p = zone->u.szone.ixfr_base;
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Stub zones do not have a ixfr_base field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a ixfr_base field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
case dns_c_zone_master:
p = &zone->u.mzone.ixfr_tmp;
break;
-
+
case dns_c_zone_slave:
p = &zone->u.szone.ixfr_tmp;
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a ixfr_tmp field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
dns_c_zone_getixfrtmp(dns_c_zone_t *zone, const char **retval) {
char *p = NULL;
isc_result_t res;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
case dns_c_zone_master:
p = zone->u.mzone.ixfr_tmp;
break;
-
+
case dns_c_zone_slave:
p = zone->u.szone.ixfr_tmp;
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Stub zones do not have a ixfr_tmp field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a ixfr_tmp field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
{
dns_c_pklist_t **p = NULL;
isc_result_t res;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(DNS_C_PUBKEY_VALID(pubkey));
case dns_c_zone_master:
p = &zone->u.mzone.pubkeylist;
break;
-
+
case dns_c_zone_slave:
p = &zone->u.szone.pubkeylist;
break;
-
+
case dns_c_zone_stub:
p = &zone->u.tzone.pubkeylist;
break;
-
+
case dns_c_zone_hint:
#if 1
p = &zone->u.hzone.pubkeylist;
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a pubkey field");
-#endif
+#endif
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
return (res);
}
}
-
+
res = dns_c_pklist_addpubkey(*p, pubkey, deepcopy);
return (res);
isc_result_t
dns_c_zone_setmasterport(dns_c_zone_t *zone, in_port_t port) {
isc_boolean_t existed = ISC_FALSE;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
switch(zone->ztype) {
"Forward zones do not have a "
"master_port field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_slave:
zone->u.szone.master_port = port;
existed = DNS_C_CHECKBIT(SZ_MASTER_PORT_BIT,
&zone->u.szone.setflags);
DNS_C_SETBIT(SZ_MASTER_PORT_BIT, &zone->u.szone.setflags);
break;
-
+
case dns_c_zone_stub:
zone->u.tzone.master_port = port;
existed = DNS_C_CHECKBIT(TZ_MASTER_PORT_BIT,
&zone->u.tzone.setflags);
DNS_C_SETBIT(TZ_MASTER_PORT_BIT, &zone->u.tzone.setflags);
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a master_port field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"master_port field");
return (ISC_R_FAILURE);
}
-
+
return (existed ? ISC_R_EXISTS : ISC_R_SUCCESS);
}
isc_result_t
dns_c_zone_getmasterport(dns_c_zone_t *zone, in_port_t *retval) {
isc_result_t res = ISC_R_SUCCESS;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
"Forward zones do not have a "
"master_port field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_slave:
if (DNS_C_CHECKBIT(SZ_MASTER_PORT_BIT,
&zone->u.szone.setflags)) {
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a master_port field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(DNS_C_IPLIST_VALID(newval));
-
+
switch (zone->ztype) {
case dns_c_zone_master:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Master zones do not have a master_ips field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_slave:
case dns_c_zone_stub:
if (zone->ztype == dns_c_zone_slave) {
} else {
p = &zone->u.tzone.master_ips ;
}
-
+
existed = (*p != NULL ? ISC_TRUE : ISC_FALSE);
res = set_iplist_field(zone->mem, p,
newval, deepcopy);
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a master_ips field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
-
+
switch (zone->ztype) {
case dns_c_zone_master:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Master zones do not have a master_ips field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_slave:
if (zone->u.szone.master_ips != NULL) {
*retval = zone->u.szone.master_ips;
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_stub:
if (zone->u.tzone.master_ips != NULL) {
*retval = zone->u.tzone.master_ips;
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a master_ips field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
isc_result_t
dns_c_zone_settransfersource(dns_c_zone_t *zone, isc_sockaddr_t newval) {
isc_boolean_t existed = ISC_FALSE;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
switch (zone->ztype) {
"Master zones do not have a "
"transfer_source field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_slave:
zone->u.szone.transfer_source = newval ;
existed = DNS_C_CHECKBIT(SZ_TRANSFER_SOURCE_BIT,
&zone->u.szone.setflags);
DNS_C_SETBIT(SZ_TRANSFER_SOURCE_BIT, &zone->u.szone.setflags);
break;
-
+
case dns_c_zone_stub:
zone->u.tzone.transfer_source = newval ;
existed = DNS_C_CHECKBIT(TZ_TRANSFER_SOURCE_BIT,
&zone->u.tzone.setflags);
DNS_C_SETBIT(TZ_TRANSFER_SOURCE_BIT, &zone->u.tzone.setflags);
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a "
"transfer_source field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Master zones do not have a "
"transfer_source field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_slave:
if (DNS_C_CHECKBIT(SZ_TRANSFER_SOURCE_BIT,
&zone->u.szone.setflags)) {
} else {
res = ISC_R_NOTFOUND;
}
-
+
break;
-
+
case dns_c_zone_stub:
if (DNS_C_CHECKBIT(TZ_TRANSFER_SOURCE_BIT,
&zone->u.tzone.setflags)) {
} else {
res = ISC_R_NOTFOUND;
}
-
+
break;
case dns_c_zone_hint:
"Hint zones do not have a "
"transfer_source field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
isc_result_t
dns_c_zone_settransfersourcev6(dns_c_zone_t *zone, isc_sockaddr_t newval) {
isc_boolean_t existed = ISC_FALSE;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
switch (zone->ztype) {
"Master zones do not have a "
"transfer_source_v6 field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_slave:
zone->u.szone.transfer_source_v6 = newval ;
existed = DNS_C_CHECKBIT(SZ_TRANSFER_SOURCE_V6_BIT,
DNS_C_SETBIT(SZ_TRANSFER_SOURCE_V6_BIT,
&zone->u.szone.setflags);
break;
-
+
case dns_c_zone_stub:
zone->u.tzone.transfer_source_v6 = newval ;
existed = DNS_C_CHECKBIT(TZ_TRANSFER_SOURCE_V6_BIT,
DNS_C_SETBIT(TZ_TRANSFER_SOURCE_V6_BIT,
&zone->u.tzone.setflags);
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a "
"transfer_source_v6 field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Master zones do not have a "
"transfer_source_v6 field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_slave:
if (DNS_C_CHECKBIT(SZ_TRANSFER_SOURCE_V6_BIT,
&zone->u.szone.setflags)) {
} else {
res = ISC_R_NOTFOUND;
}
-
+
break;
-
+
case dns_c_zone_stub:
if (DNS_C_CHECKBIT(TZ_TRANSFER_SOURCE_V6_BIT,
&zone->u.tzone.setflags)) {
} else {
res = ISC_R_NOTFOUND;
}
-
+
break;
case dns_c_zone_hint:
"Hint zones do not have a "
"transfer_source_v6 field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
isc_result_t
dns_c_zone_setmaxtranstimein(dns_c_zone_t *zone, isc_uint32_t newval) {
isc_boolean_t existed = ISC_FALSE;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
switch (zone->ztype) {
"Master zones do not have a "
"max_trans_time_in field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_slave:
zone->u.szone.max_trans_time_in = newval ;
existed = DNS_C_CHECKBIT(SZ_MAX_TRANS_TIME_IN_BIT,
DNS_C_SETBIT(SZ_MAX_TRANS_TIME_IN_BIT,
&zone->u.szone.setflags);
break;
-
+
case dns_c_zone_stub:
zone->u.tzone.max_trans_time_in = newval ;
existed = DNS_C_CHECKBIT(TZ_MAX_TRANS_TIME_IN_BIT,
"Hint zones do not have a "
"max_trans_time_in field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Master zones do not have a "
"max_trans_time_in field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_slave:
if (DNS_C_CHECKBIT(SZ_MAX_TRANS_TIME_IN_BIT,
&zone->u.szone.setflags)) {
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_stub:
if (DNS_C_CHECKBIT(TZ_MAX_TRANS_TIME_IN_BIT,
&zone->u.tzone.setflags)) {
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a "
"max_trans_time_in field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
isc_result_t
dns_c_zone_setmaxtranstimeout(dns_c_zone_t *zone, isc_uint32_t newval) {
isc_boolean_t existed = ISC_FALSE;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
switch (zone->ztype) {
DNS_C_SETBIT(MZ_MAX_TRANS_TIME_OUT_BIT,
&zone->u.mzone.setflags);
break;
-
+
case dns_c_zone_slave:
zone->u.szone.max_trans_time_out = newval ;
existed = DNS_C_CHECKBIT(SZ_MAX_TRANS_TIME_OUT_BIT,
DNS_C_SETBIT(SZ_MAX_TRANS_TIME_OUT_BIT,
&zone->u.szone.setflags);
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a "
"max_trans_time_out field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_slave:
if (DNS_C_CHECKBIT(SZ_MAX_TRANS_TIME_OUT_BIT,
&zone->u.szone.setflags)) {
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Stub zones do not have a "
"max_trans_time_out field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a "
"max_trans_time_out field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
isc_result_t
dns_c_zone_setmaxtransidlein(dns_c_zone_t *zone, isc_uint32_t newval) {
isc_boolean_t existed = ISC_FALSE;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
switch (zone->ztype) {
"Master zones do not have a "
"max_trans_idle_in field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_slave:
zone->u.szone.max_trans_idle_in = newval ;
existed = DNS_C_CHECKBIT(SZ_MAX_TRANS_IDLE_IN_BIT,
DNS_C_SETBIT(SZ_MAX_TRANS_IDLE_IN_BIT,
&zone->u.szone.setflags);
break;
-
+
case dns_c_zone_stub:
zone->u.tzone.max_trans_idle_in = newval ;
existed = DNS_C_CHECKBIT(TZ_MAX_TRANS_IDLE_IN_BIT,
"Hint zones do not have a "
"max_trans_idle_in field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Master zones do not have a "
"max_trans_idle_in field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_slave:
if (DNS_C_CHECKBIT(SZ_MAX_TRANS_IDLE_IN_BIT,
&zone->u.szone.setflags)) {
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_stub:
if (DNS_C_CHECKBIT(TZ_MAX_TRANS_IDLE_IN_BIT,
&zone->u.tzone.setflags)) {
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a "
"max_trans_idle_in field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
isc_result_t
dns_c_zone_setmaxtransidleout(dns_c_zone_t *zone, isc_uint32_t newval) {
isc_boolean_t existed = ISC_FALSE;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
switch (zone->ztype) {
DNS_C_SETBIT(MZ_MAX_TRANS_IDLE_OUT_BIT,
&zone->u.mzone.setflags);
break;
-
+
case dns_c_zone_slave:
zone->u.szone.max_trans_idle_out = newval ;
existed = DNS_C_CHECKBIT(SZ_MAX_TRANS_IDLE_OUT_BIT,
DNS_C_SETBIT(SZ_MAX_TRANS_IDLE_OUT_BIT,
&zone->u.szone.setflags);
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a "
"max_trans_idle_out field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
res = ISC_R_NOTFOUND;
}
break;
-
-
+
+
case dns_c_zone_slave:
if (DNS_C_CHECKBIT(SZ_MAX_TRANS_IDLE_OUT_BIT,
&zone->u.szone.setflags)) {
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Stub zones do not have a "
"max_trans_idle_out field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a "
"max_trans_idle_out field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
isc_result_t
dns_c_zone_setsigvalidityinterval(dns_c_zone_t *zone, isc_uint32_t newval) {
isc_boolean_t existed = ISC_FALSE;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
switch (zone->ztype) {
DNS_C_SETBIT(MZ_SIG_VALID_INTERVAL_BIT,
&zone->u.mzone.setflags);
break;
-
+
case dns_c_zone_slave:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Slave zones do not have a "
"sig_valid_interval field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a "
"sig_valid_interval field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
res = ISC_R_NOTFOUND;
}
break;
-
-
+
+
case dns_c_zone_slave:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Slave zones do not have a "
"sig_valid_interval field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Stub zones do not have a "
"sig_valid_interval field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a "
"sig_valid_interval field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
isc_uint32_t *p = NULL;
int bit = 0;
isc_result_t res;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
switch (zone->ztype) {
bits = &zone->u.mzone.setflags;
bit = MZ_MAX_IXFR_LOG_BIT;
break;
-
+
case dns_c_zone_slave:
p = &zone->u.szone.max_ixfr_log;
bits = &zone->u.mzone.setflags;
bit = SZ_MAX_IXFR_LOG_BIT;
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a max-ixfr-log field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
} else {
res = ISC_R_SUCCESS;
}
-
+
*p = newval;
DNS_C_SETBIT(bit, bits);
bit = MZ_MAX_IXFR_LOG_BIT;
ptr = &zone->u.mzone.max_ixfr_log;
break;
-
+
case dns_c_zone_slave:
bits = &zone->u.szone.setflags;
bit = SZ_MAX_IXFR_LOG_BIT;
ptr = &zone->u.szone.max_ixfr_log;
break;
-
+
case dns_c_zone_stub:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a max_ixfr_log field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
} else {
res = ISC_R_NOTFOUND;
}
-
+
return (res);
}
isc_result_t
dns_c_zone_setforward(dns_c_zone_t *zone, dns_c_forw_t newval) {
isc_boolean_t existed = ISC_FALSE;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
-
+
switch (zone->ztype) {
case dns_c_zone_master:
zone->u.mzone.forward = newval;
&zone->u.mzone.setflags);
DNS_C_SETBIT(MZ_FORWARD_BIT, &zone->u.mzone.setflags);
break;
-
+
case dns_c_zone_slave:
zone->u.szone.forward = newval;
existed = DNS_C_CHECKBIT(SZ_FORWARD_BIT,
&zone->u.szone.setflags);
DNS_C_SETBIT(SZ_FORWARD_BIT, &zone->u.szone.setflags);
break;
-
+
case dns_c_zone_stub:
zone->u.tzone.forward = newval;
existed = DNS_C_CHECKBIT(TZ_FORWARD_BIT,
&zone->u.tzone.setflags);
DNS_C_SETBIT(TZ_FORWARD_BIT, &zone->u.tzone.setflags);
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a forward field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
zone->u.fzone.forward = newval;
existed = DNS_C_CHECKBIT(FZ_FORWARD_BIT,
isc_result_t
dns_c_zone_getforward(dns_c_zone_t *zone, dns_c_forw_t *retval) {
isc_result_t res = ISC_R_SUCCESS;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_slave:
if (DNS_C_CHECKBIT(SZ_FORWARD_BIT, &zone->u.szone.setflags)) {
*retval = zone->u.szone.forward;
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a forward field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
if (DNS_C_CHECKBIT(FZ_FORWARD_BIT, &zone->u.fzone.setflags)) {
*retval = zone->u.fzone.forward;
isc_boolean_t existed = ISC_FALSE;
isc_result_t res;
dns_c_iplist_t **p = NULL;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(DNS_C_IPLIST_VALID(ipl));
p = &zone->u.mzone.forwarders;
existed = (*p == NULL ? ISC_FALSE : ISC_TRUE);
break;
-
+
case dns_c_zone_slave:
p = &zone->u.szone.forwarders;
existed = (*p == NULL ? ISC_FALSE : ISC_TRUE);
break;
-
+
case dns_c_zone_stub:
p = &zone->u.tzone.forwarders;
existed = (*p == NULL ? ISC_FALSE : ISC_TRUE);
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a forwarders field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
p = &zone->u.fzone.forwarders;
existed = (*p == NULL ? ISC_FALSE : ISC_TRUE);
isc_result_t
dns_c_zone_getforwarders(dns_c_zone_t *zone, dns_c_iplist_t **retval) {
isc_result_t res = ISC_R_SUCCESS;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_slave:
if (zone->u.szone.forwarders != NULL &&
zone->u.szone.forwarders->nextidx > 0) {
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_stub:
if (zone->u.tzone.forwarders != NULL &&
zone->u.tzone.forwarders->nextidx > 0) {
res = ISC_R_NOTFOUND;
}
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have a forwarders field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
if (zone->u.fzone.forwarders != NULL &&
zone->u.fzone.forwarders->nextidx > 0) {
dns_c_ipmatchlist_t **p = NULL;
isc_result_t res;
isc_boolean_t existed;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(DNS_C_IPMLIST_VALID(ipml));
case dns_c_zone_master:
p = &zone->u.mzone.allow_update;
break;
-
+
case dns_c_zone_slave:
p = &zone->u.szone.allow_update;
break;
-
+
case dns_c_zone_stub:
p = &zone->u.tzone.allow_update;
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have an allow_update field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
}
existed = (*p != NULL ? ISC_TRUE : ISC_FALSE);
-
+
res = set_ipmatch_list_field(zone->mem, p,
ipml, deepcopy);
if (res == ISC_R_SUCCESS && existed) {
dns_c_zone_getallowupd(dns_c_zone_t *zone, dns_c_ipmatchlist_t **retval) {
dns_c_ipmatchlist_t *p = NULL;
isc_result_t res;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
REQUIRE(retval != NULL);
case dns_c_zone_master:
p = zone->u.mzone.allow_update;
break;
-
+
case dns_c_zone_slave:
p = zone->u.szone.allow_update;
break;
-
+
case dns_c_zone_stub:
p = zone->u.tzone.allow_update;
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have an allow_update field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
isc_result_t
dns_c_zone_unsetallowupd(dns_c_zone_t *zone) {
dns_c_ipmatchlist_t **p = NULL;
-
+
REQUIRE(DNS_C_ZONE_VALID(zone));
switch (zone->ztype) {
case dns_c_zone_master:
p = &zone->u.mzone.allow_update;
break;
-
+
case dns_c_zone_slave:
p = &zone->u.szone.allow_update;
break;
-
+
case dns_c_zone_stub:
p = &zone->u.tzone.allow_update;
break;
-
+
case dns_c_zone_hint:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"Hint zones do not have an allow_update field");
return (ISC_R_FAILURE);
-
+
case dns_c_zone_forward:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
existed = ISC_TRUE;
isc_mem_free(zone->mem, zone->database);
}
-
+
zone->database = isc_mem_strdup(zone->mem, database);
if (zone->database == NULL) {
return (ISC_R_NOMEMORY);
} else {
zone->enabled = isc_mem_get(zone->mem, sizeof (zone->enabled));
}
-
+
*zone->enabled = enabled;
if (existed) {
static void
master_zone_print(FILE *fp, int indent, dns_c_masterzone_t *mzone) {
REQUIRE(mzone != NULL);
-
+
if (mzone->file != NULL) {
dns_c_printtabs(fp, indent);
fprintf(fp, "file \"%s\";\n", mzone->file);
fprintf(fp, "max-transfer-time-out %d;\n",
mzone->max_trans_time_out / 60);
}
-
+
if (DNS_C_CHECKBIT(MZ_SIG_VALID_INTERVAL_BIT, &mzone->setflags)) {
dns_c_printtabs(fp, indent);
fprintf(fp, "sig-validity-interval %d;\n",
mzone->sig_valid_interval);
}
-
+
if (mzone->pubkeylist != NULL) {
fprintf(fp, "\n");
dns_c_pklist_print(fp, indent, mzone->pubkeylist);
static void
slave_zone_print(FILE *fp, int indent, dns_c_slavezone_t *szone) {
REQUIRE(szone != NULL);
-
+
if (szone->file != NULL) {
dns_c_printtabs(fp, indent);
fprintf(fp, "file \"%s\";\n", szone->file);
}
fprintf(fp, ";\n");
}
-
+
if (DNS_C_CHECKBIT(SZ_FORWARD_BIT, &szone->setflags)) {
dns_c_printtabs(fp, indent);
fprintf(fp, "max-transfer-time-in %d;\n",
szone->max_trans_time_in / 60);
}
-
+
if (DNS_C_CHECKBIT(SZ_MAX_TRANS_TIME_OUT_BIT, &szone->setflags)) {
dns_c_printtabs(fp, indent);
fprintf(fp, "max-transfer-time-out %d;\n",
szone->max_trans_time_out / 60);
}
-
+
if (DNS_C_CHECKBIT(SZ_MAX_TRANS_IDLE_IN_BIT, &szone->setflags)) {
dns_c_printtabs(fp, indent);
fprintf(fp, "max-transfer-idle-in %d;\n",
szone->max_trans_idle_in / 60);
}
-
+
if (DNS_C_CHECKBIT(SZ_MAX_TRANS_IDLE_OUT_BIT, &szone->setflags)) {
dns_c_printtabs(fp, indent);
fprintf(fp, "max-transfer-idle-out %d;\n",
szone->max_trans_idle_out / 60);
}
-
+
if (DNS_C_CHECKBIT(SZ_DIALUP_BIT, &szone->setflags)) {
dns_c_printtabs(fp, indent);
fprintf(fp, "dialup %s;\n",
static void
stub_zone_print(FILE *fp, int indent, dns_c_stubzone_t *tzone) {
REQUIRE(tzone != NULL);
-
+
if (tzone->file != NULL) {
dns_c_printtabs(fp, indent);
fprintf(fp, "file \"%s\";\n", tzone->file);
fprintf(fp, "max-transfer-time-in %d;\n",
tzone->max_trans_time_in / 60);
}
-
+
if (DNS_C_CHECKBIT(TZ_MAX_TRANS_IDLE_IN_BIT, &tzone->setflags)) {
dns_c_printtabs(fp, indent);
fprintf(fp, "max-transfer-idle-in %d;\n",
tzone->max_trans_idle_in / 60);
}
-
+
if (tzone->pubkeylist != NULL) {
fprintf(fp, "\n");
dns_c_pklist_print(fp, indent, tzone->pubkeylist);
static void
hint_zone_print(FILE *fp, int indent, dns_c_hintzone_t *hzone) {
REQUIRE(hzone != NULL);
-
+
if (hzone->file != NULL) {
dns_c_printtabs(fp, indent);
fprintf(fp, "file \"%s\";\n", hzone->file);
static void
forward_zone_print(FILE *fp, int indent, dns_c_forwardzone_t *fzone) {
REQUIRE(fzone != NULL);
-
+
if (DNS_C_CHECKBIT(FZ_FORWARD_BIT, &fzone->setflags)) {
dns_c_printtabs(fp, indent);
fprintf(fp, "forward %s;\n",
static void
master_zone_init(dns_c_masterzone_t *mzone) {
REQUIRE(mzone != NULL);
-
+
mzone->file = NULL;
mzone->allow_update = NULL;
mzone->ssuauth = NULL;
zone_delete(dns_c_zone_t **zone) {
dns_c_zone_t *z;
isc_result_t res = ISC_R_SUCCESS;
-
+
REQUIRE(zone != NULL);
REQUIRE(DNS_C_ZONE_VALID(*zone));
isc_mem_put(z->mem, z->enabled, sizeof (z->enabled));
z->enabled = NULL;
}
-
+
switch(z->ztype) {
case dns_c_zone_master:
res = master_zone_clear(z->mem, &z->u.mzone);
case dns_c_zone_slave:
res = slave_zone_clear(z->mem, &z->u.szone);
break;
-
+
case dns_c_zone_stub:
res = stub_zone_clear(z->mem, &z->u.tzone);
break;
-
+
case dns_c_zone_hint:
res = hint_zone_clear(z->mem, &z->u.hzone);
break;
-
+
case dns_c_zone_forward:
res = forward_zone_clear(z->mem, &z->u.fzone);
break;
static isc_result_t
master_zone_clear(isc_mem_t *mem, dns_c_masterzone_t *mzone) {
REQUIRE(mzone != NULL);
-
+
if (mzone == NULL) {
return (ISC_R_SUCCESS);
}
if (mzone->ssuauth != NULL)
dns_ssutable_detach(&mzone->ssuauth);
-
+
if (mzone->allow_update_forwarding != NULL)
dns_c_ipmatchlist_detach(&mzone->allow_update_forwarding);
if (mzone->also_notify != NULL)
dns_c_iplist_detach(&mzone->also_notify);
-
+
if (mzone->ixfr_base != NULL) {
isc_mem_free(mem, mzone->ixfr_base);
}
-
+
if (mzone->ixfr_tmp != NULL) {
isc_mem_free(mem, mzone->ixfr_tmp);
}
static isc_result_t
slave_zone_clear(isc_mem_t *mem, dns_c_slavezone_t *szone) {
REQUIRE(szone != NULL);
-
+
if (szone == NULL) {
return (ISC_R_SUCCESS);
}
if (szone->ixfr_base != NULL) {
isc_mem_free(mem, szone->ixfr_base);
}
-
+
if (szone->ixfr_tmp != NULL) {
isc_mem_free(mem, szone->ixfr_tmp);
}
-
+
if (szone->master_ips != NULL)
dns_c_iplist_detach(&szone->master_ips);
-
+
if (szone->allow_update != NULL)
dns_c_ipmatchlist_detach(&szone->allow_update);
-
+
if (szone->allow_update_forwarding != NULL)
dns_c_ipmatchlist_detach(&szone->allow_update_forwarding);
-
+
if (szone->allow_query != NULL)
dns_c_ipmatchlist_detach(&szone->allow_query);
-
+
if (szone->allow_transfer != NULL)
dns_c_ipmatchlist_detach(&szone->allow_transfer);
-
+
if (szone->also_notify != NULL)
dns_c_iplist_detach(&szone->also_notify);
-
+
if (szone->forwarders != NULL)
dns_c_iplist_detach(&szone->forwarders);
-
+
if (szone->pubkeylist != NULL)
dns_c_pklist_delete(&szone->pubkeylist);
static isc_result_t
stub_zone_clear(isc_mem_t *mem, dns_c_stubzone_t *tzone) {
REQUIRE(tzone != NULL);
-
+
if (tzone == NULL) {
return (ISC_R_SUCCESS);
}
if (tzone->master_ips != NULL)
dns_c_iplist_detach(&tzone->master_ips);
-
+
if (tzone->allow_update != NULL)
dns_c_ipmatchlist_detach(&tzone->allow_update);
-
+
if (tzone->allow_update_forwarding != NULL)
dns_c_ipmatchlist_detach(&tzone->allow_update_forwarding);
-
+
if (tzone->allow_query != NULL)
dns_c_ipmatchlist_detach(&tzone->allow_query);
-
+
if (tzone->allow_transfer != NULL)
dns_c_ipmatchlist_detach(&tzone->allow_transfer);
-
+
if (tzone->forwarders != NULL)
dns_c_iplist_detach(&tzone->forwarders);
-
+
if (tzone->pubkeylist != NULL)
dns_c_pklist_delete(&tzone->pubkeylist);
-
+
return (ISC_R_SUCCESS);
}
static isc_result_t
forward_zone_clear(isc_mem_t *mem, dns_c_forwardzone_t *fzone) {
REQUIRE(fzone != NULL);
-
+
if (fzone == NULL) {
return (ISC_R_SUCCESS);
}
(void) mem; /* lint happiness */
-
+
if (fzone->forwarders != NULL)
dns_c_iplist_detach(&fzone->forwarders);
-
+
return (ISC_R_SUCCESS);
}
static isc_result_t
hint_zone_clear(isc_mem_t *mem, dns_c_hintzone_t *hzone) {
REQUIRE(hzone != NULL);
-
+
if (hzone == NULL) {
return (ISC_R_SUCCESS);
}
if (hzone->file != NULL) {
isc_mem_free(mem, hzone->file);
}
-
+
if (hzone->pubkeylist != NULL)
dns_c_pklist_delete(&hzone->pubkeylist);
-
+
return (ISC_R_SUCCESS);
}
isc_boolean_t deepcopy)
{
isc_result_t res;
-
+
if (*dest != NULL) {
res = dns_c_ipmatchlist_detach(dest);
if (res != ISC_R_SUCCESS) {
return (res);
}
}
-
+
if (deepcopy) {
res = dns_c_ipmatchlist_copy(mem, dest, src);
} else {
isc_boolean_t deepcopy)
{
isc_result_t res;
-
+
if (*dest != NULL) {
res = dns_c_iplist_detach(dest);
if (res != ISC_R_SUCCESS) {
return (res);
}
}
-
+
if (deepcopy) {
res = dns_c_iplist_copy(mem, dest, src);
} else {
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: db.c,v 1.48 2000/07/27 09:45:57 tale Exp $ */
+/* $Id: db.c,v 1.49 2000/08/01 01:22:15 tale Exp $ */
/***
*** Imports
***/
typedef struct {
- const char * name;
+ const char * name;
isc_result_t (*create)(isc_mem_t *mctx, dns_name_t *name,
dns_dbtype_t type,
dns_rdataclass_t rdclass,
/*
* Does 'db' have cache semantics?
*/
-
+
REQUIRE(DNS_DB_VALID(db));
if ((db->attributes & DNS_DBATTR_CACHE) != 0)
/*
* Does 'db' have zone semantics?
*/
-
+
REQUIRE(DNS_DB_VALID(db));
if ((db->attributes & (DNS_DBATTR_CACHE|DNS_DBATTR_STUB)) == 0)
/*
* Does 'db' have stub semantics?
*/
-
+
REQUIRE(DNS_DB_VALID(db));
if ((db->attributes & DNS_DBATTR_STUB) != 0)
/*
* Is 'db' secure?
*/
-
+
REQUIRE(DNS_DB_VALID(db));
REQUIRE((db->attributes & DNS_DBATTR_CACHE) == 0);
void
dns_db_currentversion(dns_db_t *db, dns_dbversion_t **versionp) {
-
+
/*
* Open the current version for reading.
*/
-
+
REQUIRE(DNS_DB_VALID(db));
REQUIRE((db->attributes & DNS_DBATTR_CACHE) == 0);
REQUIRE(versionp != NULL && *versionp == NULL);
isc_result_t
dns_db_newversion(dns_db_t *db, dns_dbversion_t **versionp) {
-
+
/*
* Open a new version for reading and writing.
*/
(db->methods->attachversion)(db, source, targetp);
ENSURE(*targetp != NULL);
-}
+}
void
dns_db_closeversion(dns_db_t *db, dns_dbversion_t **versionp,
isc_boolean_t commit)
{
-
+
/*
* Close version '*versionp'.
*/
isc_buffer_t buffer;
REQUIRE(dns_db_iszone(db) || dns_db_isstub(db));
-
+
result = dns_db_findnode(db, dns_db_origin(db), ISC_FALSE, &node);
if (result != ISC_R_SUCCESS)
return (result);
(isc_stdtime_t)0, &rdataset, NULL);
if (result != ISC_R_SUCCESS)
goto freenode;
-
+
result = dns_rdataset_first(&rdataset);
if (result != ISC_R_SUCCESS)
goto freerdataset;
freerdataset:
dns_rdataset_disassociate(&rdataset);
-
+
freenode:
dns_db_detachnode(db, &node);
return (result);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dbiterator.c,v 1.10 2000/07/27 09:45:59 tale Exp $ */
+/* $Id: dbiterator.c,v 1.11 2000/08/01 01:22:16 tale Exp $ */
#include <config.h>
REQUIRE(DNS_DBITERATOR_VALID(iterator));
REQUIRE(iterator->relative_names);
REQUIRE(dns_name_hasbuffer(name));
-
+
return (iterator->methods->origin(iterator, name));
}
/*
* Copyright (C) 1999, 2000 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
*/
/*
- * $Id: dbtable.c,v 1.19 2000/07/27 09:46:00 tale Exp $
+ * $Id: dbtable.c,v 1.20 2000/08/01 01:22:17 tale Exp $
*/
/*
dns_dbtable_attach(dns_dbtable_t *source, dns_dbtable_t **targetp) {
REQUIRE(VALID_DBTABLE(source));
REQUIRE(targetp != NULL && *targetp == NULL);
-
+
LOCK(&source->lock);
INSIST(source->references > 0);
REQUIRE(dbtablep != NULL);
dbtable = *dbtablep;
REQUIRE(VALID_DBTABLE(dbtable));
-
+
LOCK(&dbtable->lock);
INSIST(dbtable->references > 0);
dns_name_t *name;
REQUIRE(VALID_DBTABLE(dbtable));
-
+
name = dns_db_origin(db);
/*
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dispatch.c,v 1.61 2000/07/27 09:46:01 tale Exp $ */
+/* $Id: dispatch.c,v 1.62 2000/08/01 01:22:19 tale Exp $ */
#include <config.h>
if (! isc_log_wouldlog(dns_lctx, level))
return;
-
+
va_start(ap, fmt);
vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap);
va_end(ap);
case ISC_R_CANCELED:
/*
- * The event is statically allocated in the tcpmsg
+ * The event is statically allocated in the tcpmsg
* structure, and destroy_disp() frees the tcpmsg, so we must
* free the event *before* calling destroy_disp().
*/
UNLOCK(&mgr->lock);
mgr_log(mgr, LVL(90), "destroy: killit=%d", killit);
-
+
if (killit)
destroy_mgr(&mgr);
}
dns_dispatch_starttcp(dns_dispatch_t *disp) {
REQUIRE(VALID_DISPATCH(disp));
-
+
dispatch_log(disp, LVL(90), "starttcp %p", disp->task);
LOCK(&disp->lock);
/*
* Copyright (C) 1999, 2000 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
*/
/*
- * $Id: dnssec.c,v 1.46 2000/07/31 20:53:56 tale Exp $
+ * $Id: dnssec.c,v 1.47 2000/08/01 01:22:20 tale Exp $
* Principal Author: Brian Wellington
*/
isc_buffer_putuint16(&envbuf, set->type);
isc_buffer_putuint16(&envbuf, set->rdclass);
isc_buffer_putuint32(&envbuf, set->ttl);
-
+
ret = rdataset_to_sortedarray(set, mctx, &rdatas, &nrdatas);
if (ret != ISC_R_SUCCESS)
goto cleanup_context;
isc_uint16_t len;
isc_buffer_t lenbuf;
isc_region_t lenr;
-
+
/*
* Digest the envelope.
*/
if (ret != ISC_R_SUCCESS)
goto cleanup_array;
}
-
+
isc_buffer_init(&sigbuf, sig.signature, sig.siglen);
ret = dst_context_sign(ctx, &sigbuf);
if (ret != ISC_R_SUCCESS)
dns_rdata_toregion(sigrdata, &r);
r.length -= sig.siglen;
RUNTIME_CHECK(r.length >= 19);
-
+
ret = dst_context_create(key, mctx, &ctx);
if (ret != ISC_R_SUCCESS)
goto cleanup_struct;
sig.siglen = 0;
sig.signature = NULL;
-
+
isc_buffer_init(&databuf, data, sizeof(data));
RETERR(dst_context_create(key, mctx, &ctx));
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: gen-unix.h,v 1.10 2000/07/27 09:46:03 tale Exp $ */
+/* $Id: gen-unix.h,v 1.11 2000/08/01 01:22:21 tale Exp $ */
/*
* This file is responsible for defining two operations that are not
* directly portable between Unix-like systems and Windows NT, option
* parsing and directory scanning. It is here because it was decided
* that the "gen" build utility was not to depend on libisc.a, so
- * the functions delcared in isc/commandline.h and isc/dir.h could not
+ * the functions delcared in isc/commandline.h and isc/dir.h could not
* be used.
*
* The commandline stuff is really just a wrapper around getopt().
/*
* Copyright (C) 1999, 2000 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
* SUCH DAMAGE.
*/
-/* $Id: gen-win32.h,v 1.5 2000/07/27 09:46:05 tale Exp $ */
+/* $Id: gen-win32.h,v 1.6 2000/08/01 01:22:22 tale Exp $ */
/*
* Principal Authors: Computer Systems Research Group at UC Berkeley
* directly portable between Unix-like systems and Windows NT, option
* parsing and directory scanning. It is here because it was decided
* that the "gen" build utility was not to depend on libisc.a, so
- * the functions delcared in isc/commandline.h and isc/dir.h could not
+ * the functions delcared in isc/commandline.h and isc/dir.h could not
* be used.
*
* The commandline stuff is pretty much a straight copy from the initial
*p++ = '\\';
*p++ = '*';
*p++ = '\0';
-
+
dir->first_file = ISC_TRUE;
dir->handle = FindFirstFile(pattern, &dir->find_data);
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: gen.c,v 1.53 2000/07/27 09:46:07 tale Exp $ */
+/* $Id: gen.c,v 1.54 2000/08/01 01:22:24 tale Exp $ */
#include <config.h>
else
fprintf(stdout,
"\t\tcase %d:%s %s_%s_%s(%s); break;",
- tt->rdclass, result, function,
+ tt->rdclass, result, function,
funname(tt->classname, buf1),
funname(tt->typename, buf2), args);
fputs(" \\\n", stdout);
if (subswitch) {
if (res == NULL)
fprintf(stdout, "\t\tdefault: break; \\\n");
- else
+ else
fprintf(stdout, "\t\tdefault: %s; break; \\\n", res);
fputs(/*{*/ "\t\t} \\\n", stdout);
fputs("\t\tbreak; \\\n", stdout);
else
fprintf(stdout,
"static inline %s %s_%s(%s);\n",
- type, function,
+ type, function,
funname(tt->typename, buf1), args);
}
strcpy(newcc->classname, classname);
cc = classes;
oldcc = NULL;
-
+
while ((cc != NULL) && (cc->rdclass < rdclass)) {
oldcc = cc;
cc = cc->next;
"((dns_rdatatype_t)dns_rdatatype_maila)\n");
fprintf(stdout, "#define dns_rdatatype_any\t"
"((dns_rdatatype_t)dns_rdatatype_any)\n");
-
+
fprintf(stdout, "\n#endif /* DNS_ENUMTYPE_H */\n");
} else if (class_enum) {
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.9 2000/07/27 09:47:16 tale Exp $
+# $Id: Makefile.in,v 1.10 2000/08/01 01:23:34 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.30 2000/07/27 09:47:17 tale Exp $
+# $Id: Makefile.in,v 1.31 2000/08/01 01:23:35 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
GENHEADERS = enumclass.h enumtype.h rdatastruct.h
-SUBDIRS =
+SUBDIRS =
TARGETS =
@BIND9_MAKE_RULES@
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: a6.h,v 1.9 2000/07/27 09:47:18 tale Exp $ */
+/* $Id: a6.h,v 1.10 2000/08/01 01:23:36 tale Exp $ */
#ifndef DNS_A6_H
#define DNS_A6_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: acl.h,v 1.12 2000/07/27 09:47:19 tale Exp $ */
+/* $Id: acl.h,v 1.13 2000/08/01 01:23:37 tale Exp $ */
#ifndef DNS_ACL_H
#define DNS_ACL_H 1
struct dns_aclenv {
dns_acl_t *localhost;
- dns_acl_t *localnets;
+ dns_acl_t *localnets;
};
#define DNS_ACL_MAGIC 0x4461636c /* Dacl */
void
dns_aclenv_copy(dns_aclenv_t *t, dns_aclenv_t *s);
-
+
void
dns_aclenv_destroy(dns_aclenv_t *env);
* whose absoluate value indicates the distance from the beginning of
* the list.
*
- * If there is a match (either positive or negative) and 'matchelt' is
+ * If there is a match (either positive or negative) and 'matchelt' is
* non-NULL, *matchelt will be attached to the primitive
* (non-indirect) address match list element that matched.
*
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: aclconf.h,v 1.8 2000/07/27 09:47:20 tale Exp $ */
+/* $Id: aclconf.h,v 1.9 2000/08/01 01:23:38 tale Exp $ */
#ifndef DNS_ACLCONF_H
#define DNS_ACLCONF_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: adb.h,v 1.58 2000/07/27 09:47:22 tale Exp $ */
+/* $Id: adb.h,v 1.59 2000/08/01 01:23:39 tale Exp $ */
#ifndef DNS_ADB_H
#define DNS_ADB_H 1
-/*****
- ***** Module Info
- *****/
+/*****
+ ***** Module Info
+ *****/
/*
* DNS Address Database
*
* MP:
*
- * The ADB takes care of all necessary locking.
+ * The ADB takes care of all necessary locking.
*
* Only the task which initiated the name lookup can cancel the lookup.
*
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: bit.h,v 1.5 2000/07/27 09:47:23 tale Exp $ */
+/* $Id: bit.h,v 1.6 2000/08/01 01:23:40 tale Exp $ */
#ifndef DNS_BIT_H
#define DNS_BIT_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: byaddr.h,v 1.9 2000/07/27 09:47:24 tale Exp $ */
+/* $Id: byaddr.h,v 1.10 2000/08/01 01:23:41 tale Exp $ */
#ifndef DNS_BYADDR_H
#define DNS_BYADDR_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: cache.h,v 1.12 2000/07/27 09:47:25 tale Exp $ */
+/* $Id: cache.h,v 1.13 2000/08/01 01:23:43 tale Exp $ */
#ifndef DNS_CACHE_H
#define DNS_CACHE_H 1
/*
* cache
*
- * Defines dns_cache_t, the cache object.
+ * Defines dns_cache_t, the cache object.
*
* Notes:
* A cache object contains DNS data of a single class.
*** Functions
***/
-isc_result_t
+isc_result_t
dns_cache_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr,
isc_timermgr_t *timermgr, dns_rdataclass_t rdclass,
const char *db_type, unsigned int db_argc, char **db_argv,
dns_cache_t **cachep);
/*
- * Create a new DNS cache.
+ * Create a new DNS cache.
*
* Requires:
*
* This may be used to get a reference to the database for
* the purpose of cache lookups (XXX currently it is also
* the way to add data to the cache, but having a
- * separate dns_cache_add() interface instead would allow
+ * separate dns_cache_add() interface instead would allow
* more control over memory usage).
- * The caller should call dns_db_detach() on the reference
+ * The caller should call dns_db_detach() on the reference
* when it is no longer needed.
*
* Requires:
* If no file name has been set, do nothing and return success.
*
* MT:
- * Multiple simultaneous attempts to load or dump the cache
+ * Multiple simultaneous attempts to load or dump the cache
* will be serialized with respect to one another, but
* the cache may be read and updated while the dump is
- * in progress. Updates performed during loading
+ * in progress. Updates performed during loading
* may or may not be preserved, and reads may return
* either the old or the newly loaded data.
*
* do nothing and return success.
*
* MT:
- * Multiple simultaneous attempts to load or dump the cache
+ * Multiple simultaneous attempts to load or dump the cache
* will be serialized with respect to one another, but
* the cache may be read and updated while the dump is
* in progress. Updates performed during the dump may
* or may not be reflected in the dumped file.
- *
+ *
* Returns:
*
* ISC_R_SUCCESS
dns_cache_setcleaninginterval(dns_cache_t *cache, unsigned int interval);
/*
* Set the periodic cache cleaning interval to 'interval' seconds.
- */
+ */
ISC_LANG_ENDDECLS
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: callbacks.h,v 1.13 2000/07/27 09:47:26 tale Exp $ */
+/* $Id: callbacks.h,v 1.14 2000/08/01 01:23:44 tale Exp $ */
#ifndef DNS_CALLBACKS_H
#define DNS_CALLBACKS_H 1
#include <dns/types.h>
ISC_LANG_BEGINDECLS
-
+
/***
*** Types
***/
* Initalise 'callbacks'.
* 'error' and 'warn' are set to default callbacks that print the
* error message through the DNS library log context.
- *
+ *
* All other elements are initalised to NULL.
*
* Requires:
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: cert.h,v 1.10 2000/07/27 09:47:27 tale Exp $ */
+/* $Id: cert.h,v 1.11 2000/08/01 01:23:45 tale Exp $ */
#ifndef DNS_CERT_H
#define DNS_CERT_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: compress.h,v 1.17 2000/07/27 09:47:28 tale Exp $ */
+/* $Id: compress.h,v 1.18 2000/08/01 01:23:46 tale Exp $ */
#ifndef DNS_COMPRESS_H
#define DNS_COMPRESS_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confacl.h,v 1.13 2000/07/27 09:47:29 tale Exp $ */
+/* $Id: confacl.h,v 1.14 2000/08/01 01:23:47 tale Exp $ */
#ifndef DNS_CONFACL_H
#define DNS_CONFACL_H 1
/*
* MP:
* Caller must do necessary locking.
- *
+ *
* Reliability:
*
* No known problems.
* Standards:
*
* N/A.
- *
+ *
*/
/***
isc_uint32_t magic;
dns_c_acltable_t *mytable;
-
+
char *name;
dns_c_ipmatchlist_t *ipml;
isc_boolean_t is_special;
struct dns_c_acl_table {
isc_uint32_t magic;
-
+
isc_mem_t *mem;
-
+
ISC_LIST(dns_c_acl_t) acl_list;
};
* mem is a valid memory pool
* newtable is a valid non-NULL pointer.
* mem remain a valuid memory pool until the table is destroyed.
- *
+ *
* Returns:
* ISC_R_SUCCESS -- all is well.
* ISC_R_NOMEMORY -- not enough memory.
- *
+ *
*/
* Requires:
* table is a valid pointer.
* The memory pool used at creation time still be valid.
- *
+ *
* Returns:
* ISC_R_SUCCESS
- *
+ *
*/
*
* Requires:
* TABLE be a value ACL table.
- *
+ *
* Returns:
* ISC_R_SUCCESS -- all is well
* ISC_R_NOTFOUND -- acl was not found
- *
+ *
*/
isc_result_t
* Requires:
* table be a valid pointer to an acl table
* aclname be a valid pointer to string of positive length.
- *
+ *
* Returns:
* ISC_R_SUCCESS -- all is well
* ISC_R_NOTFOUND -- acl was not in the table.
- *
+ *
*/
void
* fp be a valid stdio stream
* indent be a non-negative number
* table be a valid acl table.
- *
+ *
*/
isc_result_t
*
* Requires:
* table must point to a valid ACL table.
- *
+ *
* Returns:
* ISC_R_SUCCESS
- *
+ *
*/
isc_result_t
dns_c_acl_new(dns_c_acltable_t *table, const char *aclname,
isc_boolean_t isspecial, dns_c_acl_t **newacl);
/*
- * Creates a new ACL. The acl is placed in the given table. If isspecial is
+ * Creates a new ACL. The acl is placed in the given table. If isspecial is
* true then the acl is not printed by dns_c_acl_print. The new acl is
* returned via the newacl parameter
*
* table be a pointer to a valid acl table.
* aclname be a pointer to a valid string of positive length
* newacl be a valid non-NULL pointer.
- *
+ *
* Returns:
* ISC_R_SUCCESS -- all is well
* ISC_R_NOMEMORY -- out of memory
- *
+ *
*/
void
dns_c_acl_print(FILE *fp, int indent, dns_c_acl_t *acl);
/*
- * Prints out the acl to the stdio stream. The outupt is indented by INDENT
+ * Prints out the acl to the stdio stream. The outupt is indented by INDENT
* tabs.
*
* Requires:
* fp be a pointer to a valid stdio stream
* indent be non-negative,
* acl be a pointer to a valid acl.
- *
+ *
*/
isc_result_t
isc_boolean_t deepcopy);
/*
* Sets the ipmatch list of the ACL to the IPML. If DEEPCOPY is true, then
- * a full copy of IPML is made using the MEM memory pool. In which case the
- * caller still is the owner the memory IPML points to. If DEEPCOPY is
- * false, then the acl takes ownership of the memory IPML points to. If the
+ * a full copy of IPML is made using the MEM memory pool. In which case the
+ * caller still is the owner the memory IPML points to. If DEEPCOPY is
+ * false, then the acl takes ownership of the memory IPML points to. If the
* acl already has an ipmatch list, then it is deleted before the new one
* is added.
*
* Requires:
* mem be a pointer to a valid memory manager
* ipml be a valid dns_c_ipmatchlist_t
- *
+ *
* Returns:
* ISC_R_SUCCESS -- all is well
* ISC_R_NOMEMORY -- memory could not be allocated for the
* deepcopy .
- *
+ *
*/
isc_result_t
* mem be a pointer to a valid memory manager
* acl be a pointer to a valid acl.
* retval be a valid non-NULL pointer.
- *
+ *
* Returns:
* ISC_R_SUCCESS -- all is well
* ISC_R_NOMEMORY -- not enough memory to make copy.
* ISC_R_FAILURE -- an acl reference couldn't be expanded.
- *
+ *
*/
isc_result_t
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confcache.h,v 1.9 2000/07/27 09:47:30 tale Exp $ */
+/* $Id: confcache.h,v 1.10 2000/08/01 01:23:48 tale Exp $ */
#ifndef DNS_CONFCACHE_H
#define DNS_CONFCACHE_H 1
*
* MP:
* Client must do necessary locking.
- *
+ *
* Reliability:
*
* No problems.
* Security:
*
* N/A
- *
+ *
*/
/***
* Requires:
* mem be a pointer to a valid memory manager.
* newres be a valid non-NULL pointer.
- *
+ *
* Returns:
* ISC_R_SUCCESS -- all is well
* ISC_R_NOMEMORY -- out of memory
- *
+ *
*/
isc_result_t
* Requires:
* cfgres be a valid non-NULL pointer. The pointer it points to
* can be NULL or must be a valid dns_c_cache_t object.
- *
+ *
* Returns:
* ISC_R_SUCCESS -- all is well
- *
+ *
*/
ISC_LANG_ENDDECLS
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confcommon.h,v 1.28 2000/07/27 09:47:31 tale Exp $ */
+/* $Id: confcommon.h,v 1.29 2000/08/01 01:23:49 tale Exp $ */
#ifndef DNS_CONFCOMMON_H
#define DNS_CONFCOMMON_H 1
#define DNS_C_STDERR_PATH " <stderr> " /* not really a path */
/*
- * The value we use in config files if the user doesn't specify the port or
+ * The value we use in config files if the user doesn't specify the port or
* in some statements.
*/
#define DNS_C_DEFAULTPORT 53 /* XXX this should be imported */
#define DNS_C_UNLIM_VERSIONS DNS_C_SIZE_SPEC_UNLIM
/*
- * The default ordering given to rrset-order statements when the type given
+ * The default ordering given to rrset-order statements when the type given
* is illegal (so parsing can continue).
*/
#define DNS_DEFAULT_ORDERING dns_c_ordering_fixed
} dns_c_zonetype_t;
-/* Possible address-match-element types */
+/* Possible address-match-element types */
typedef enum {
dns_c_ipmatch_pattern,
dns_c_ipmatch_indirect,
* Set this variable to a true value to get output by the wrapper
* functions (if the memory debugging hack is compiled in--it isn't by
* default
- */
+ */
extern isc_boolean_t debug_mem_print;
extern FILE *debug_mem_print_stream; /* NULL means stderr */
ISC_LANG_BEGINDECLS
-/* The following dns_c_xxx2string() functions convert the first argument into
+/* The following dns_c_xxx2string() functions convert the first argument into
* a string value and returns that value. If the first argument is not a
- * legal value, then NULL is returned, unless PRINTABLE is true, in which
+ * legal value, then NULL is returned, unless PRINTABLE is true, in which
* case an ugly, but safe-to-pass-to-printf string is returned.
*
- * e.g. dns_c_ordering2string(dns_c_ordering_cyclic,ISC_FALSE) returns the
+ * e.g. dns_c_ordering2string(dns_c_ordering_cyclic,ISC_FALSE) returns the
* string "cyclic", but
* dns_c_ordering2string((dns_c_ordering_t)0xffff,ISC_TRUE) returns the
* value "UNKNOWN_ORDERING"
/*
* The following dns_c_string2xxx() functions will look up the string
- * argument in a table of values and will return the appropriate enum/integer
+ * argument in a table of values and will return the appropriate enum/integer
* through the second argument and ISC_R_SUCCESS is returned. If the string
* doesn't match a valid value then ISC_R_FAILURE is returned.
*/
dns_c_need_quote(const char *string);
void
-dns_c_printtabs(FILE *fp, int count);
+dns_c_printtabs(FILE *fp, int count);
void
dns_c_printinunits(FILE *fp, isc_uint32_t val);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confctl.h,v 1.20 2000/07/27 09:47:32 tale Exp $ */
+/* $Id: confctl.h,v 1.21 2000/08/01 01:23:50 tale Exp $ */
#ifndef DNS_CONFCTL_H
#define DNS_CONFCTL_H 1
*/
/*
- *
+ *
* MP:
*
* Caller must do necessary locking.
* Standards:
*
* N/A.
- *
+ *
*/
} unix_v; /* when control_type == dns_c_unix_control */
} u;
dns_c_kidlist_t *keyidlist;
-
+
ISC_LINK(dns_c_ctrl_t) next;
};
* Returns:
* ISC_R_SUCCESS -- all is well
* ISC_R_NOMEMORY -- insufficient memory available
- *
+ *
*/
isc_result_t
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confctx.h,v 1.47 2000/07/31 21:07:04 explorer Exp $ */
+/* $Id: confctx.h,v 1.48 2000/08/01 01:23:52 tale Exp $ */
#ifndef DNS_CONFCTX_H
#define DNS_CONFCTX_H 1
*****/
/*
- * Defines the structures and accessor/modifier functions for the top level
+ * Defines the structures and accessor/modifier functions for the top level
* structures created by the config file parsing routines.
*/
/*
*
* MP:
- *
+ *
*
* Reliability:
- *
+ *
*
* Resources:
- *
+ *
*
* Security:
- *
+ *
*
* Standards:
- *
+ *
*/
/***
int warnings; /* semantic warning count */
int errors; /* semantic error count */
-
+
dns_c_options_t *options;
dns_c_cache_t *cache;
dns_c_resolv_t *resolver;
struct dns_c_options {
isc_uint32_t magic;
isc_mem_t *mem;
-
+
char *directory;
char *version;
char *dump_filename;
in_port_t *port;
- isc_uint32_t *transfers_in;
+ isc_uint32_t *transfers_in;
isc_uint32_t *transfers_per_ns;
- isc_uint32_t *transfers_out;
+ isc_uint32_t *transfers_out;
isc_uint32_t *max_log_size_ixfr;
isc_uint32_t *clean_interval;
isc_uint32_t *interface_interval;
isc_uint32_t *min_roots;
isc_uint32_t *serial_queries;
isc_uint32_t *sig_valid_interval;
-
+
isc_uint32_t *data_size;
isc_uint32_t *stack_size;
isc_uint32_t *core_size;
isc_boolean_t *treat_cr_as_space;
isc_boolean_t *additional_from_cache;
isc_boolean_t *additional_from_auth;
-
+
isc_sockaddr_t *transfer_source;
isc_sockaddr_t *transfer_source_v6;
isc_sockaddr_t *query_source;
isc_sockaddr_t *query_source_v6;
dns_c_addata_t *additional_data;
-
+
dns_c_forw_t *forward;
char *tkeydhkeycp;
isc_uint32_t tkeydhkeyi;
char *tkeydomain;
-
+
dns_notifytype_t *notify;
dns_c_iplist_t *also_notify;
dns_c_lstnlist_t *listens;
dns_c_lstnlist_t *v6listens;
-
+
dns_c_rrsolist_t *ordering;
dns_c_iplist_t *forwarders;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confip.h,v 1.26 2000/07/27 09:47:35 tale Exp $ */
+/* $Id: confip.h,v 1.27 2000/08/01 01:23:53 tale Exp $ */
#ifndef DNS_CONFIP_H
#define DNS_CONFIP_H 1
*/
struct dns_c_iplist {
isc_uint32_t magic;
-
+
isc_mem_t *mem;
int refcount;
isc_sockaddr_t *ips;
struct dns_c_ipmatch_direct {
isc_uint32_t magic;
-
+
isc_sockaddr_t address;
isc_uint32_t mask;
};
struct dns_c_ipmatch_indirect {
isc_uint32_t magic;
-
+
isc_textregion_t refname; /* For acls, mostly. */
dns_c_ipmatchlist_t *list;
};
struct dns_c_ipmatch_element {
isc_uint32_t magic;
-
+
dns_c_ipmatch_type_t type;
u_int flags;
union {
struct dns_c_ipmatch_list {
isc_uint32_t magic;
-
+
isc_mem_t *mem;
int refcount;
const char *key);
isc_result_t dns_c_ipmatchany_new(isc_mem_t *mem,
- dns_c_ipmatchelement_t **result);
+ dns_c_ipmatchelement_t **result);
isc_result_t dns_c_ipmatchlocalhost_new(isc_mem_t *mem,
- dns_c_ipmatchelement_t **result);
+ dns_c_ipmatchelement_t **result);
isc_result_t dns_c_ipmatchlocalnets_new(isc_mem_t *mem,
- dns_c_ipmatchelement_t **result);
+ dns_c_ipmatchelement_t **result);
isc_result_t dns_c_ipmatchpattern_new(isc_mem_t *mem,
dns_c_ipmatchelement_t **result,
typedef isc_boolean_t (*dns_c_ipmlwalker)(dns_c_ipmatchelement_t *element);
/*
- * Recursively decends the list and returns the boolean AND of the return
+ * Recursively decends the list and returns the boolean AND of the return
* values of func.
*/
isc_boolean_t
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confkeys.h,v 1.19 2000/07/27 09:47:36 tale Exp $ */
+/* $Id: confkeys.h,v 1.20 2000/08/01 01:23:54 tale Exp $ */
#ifndef DNS_CONFKEYS_H
#define DNS_CONFKEYS_H 1
*/
/*
- *
+ *
* MP:
*
* Caller must to all necessary locking.
* Memory allocators supplied by caller
*
* Security:
- *
+ *
* Not applicable.
*
* Standards:
- *
+ *
* Not applicable.
*/
struct dns_c_tkey {
isc_uint32_t magic;
isc_mem_t *mem;
-
+
char *domain;
dns_c_pubkey_t *pubkey;
ISC_LIST(dns_c_tkey_t) tkeylist;
};
-
-
+
+
/*
* A public key value.
*/
isc_uint32_t dns_c_kidlist_keycount(dns_c_kidlist_t *list);
-
+
isc_result_t dns_c_kidlist_undef(dns_c_kidlist_t *list, const char *keyid);
isc_result_t dns_c_kidlist_find(dns_c_kidlist_t *list, const char *keyid,
isc_result_t dns_c_kdeflist_append(dns_c_kdeflist_t *list, dns_c_kdef_t *key,
isc_boolean_t copy);
-isc_result_t dns_c_kdeflist_undef(dns_c_kdeflist_t *list, const char *keyid);
+isc_result_t dns_c_kdeflist_undef(dns_c_kdeflist_t *list, const char *keyid);
isc_result_t dns_c_kdeflist_find(dns_c_kdeflist_t *list, const char *keyid,
dns_c_kdef_t **retval);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: conflog.h,v 1.14 2000/07/27 09:47:37 tale Exp $ */
+/* $Id: conflog.h,v 1.15 2000/08/01 01:23:55 tale Exp $ */
#ifndef DNS_CONFLOG_H
#define DNS_CONFLOG_H 1
* MP:
*
* Caller must do appropriate locking
- *
+ *
* Reliability:
*
* No impact.
* Resources:
*
* Caller supplies memory allocators
- *
+ *
* Security:
*
* No impact.
* Standards:
*
* N/A
- *
+ *
*/
/***
struct dns_c_logging_list {
isc_uint32_t magic;
isc_mem_t *mem;
-
+
ISC_LIST(dns_c_logchan_t) channels;
ISC_LIST(dns_c_logcat_t) categories;
};
char *name;
- dns_c_logchantype_t ctype;
+ dns_c_logchantype_t ctype;
union {
struct
{ /* when ctype == dns_c_logchan_file */
* Some channels are predefined e.g. default_syslog, in which case
* this is true.
*/
- isc_boolean_t predefined;
-
+ isc_boolean_t predefined;
+
ISC_LINK(dns_c_logchan_t) next;
dns_c_setbits_t setflags;
};
char *catname;
char **channel_names;
- size_t cnames_len; /* size, in elements of
+ size_t cnames_len; /* size, in elements of
channel_names */
size_t nextcname; /* index in
- channel_names of next
+ channel_names of next
free spot. */
-
+
isc_boolean_t predefined;
ISC_LINK(dns_c_logcat_t) next;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: conflsn.h,v 1.16 2000/07/27 09:47:38 tale Exp $ */
+/* $Id: conflsn.h,v 1.17 2000/08/01 01:23:56 tale Exp $ */
#ifndef DNS_CONFLSN_H
#define DNS_CONFLSN_H 1
* Data structures to hold information related to ``listen-on'' statements
* in the named.conf file.
*/
-
+
/*
*
* MP:
* Standards:
*
* N/A
- *
+ *
*/
/***
struct dns_c_lstn_on {
isc_uint32_t magic;
isc_mem_t *mem;
-
+
in_port_t port;
dns_c_ipmatchlist_t *iml;
* Sets *LLIST to NULL when done.
*
* Requires:
- *
+ *
* Returns:
*
* ISC_R_SUCCESS on success.
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confndc.h,v 1.10 2000/07/27 09:47:40 tale Exp $ */
+/* $Id: confndc.h,v 1.11 2000/08/01 01:23:57 tale Exp $ */
#ifndef DNS_CONFNDC_H
#define DNS_CONFNDC_H 1
struct dns_c_ndcctx {
isc_uint32_t magic;
isc_mem_t *mem;
-
+
dns_c_ndcopts_t *opts;
dns_c_ndcserverlist_t *servers;
dns_c_kdeflist_t *keys;
ISC_LIST(dns_c_ndcserver_t) list;
};
-
+
struct dns_c_ndcserver {
isc_uint32_t magic;
isc_mem_t *mem;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confparser.h,v 1.11 2000/07/27 09:47:41 tale Exp $ */
+/* $Id: confparser.h,v 1.12 2000/08/01 01:23:58 tale Exp $ */
#ifndef DNS_CONFPARSER_H
#define DNS_CONFPARSER_H 1
*
* Resources:
* Long-term memory allocation done with memory allocator supplied by
- * caller.
+ * caller.
*
* Security:
* <TBS>
#include <dns/confctx.h>
/*
- * Typedefs for the callbacks done while parsing. If the callback functions
+ * Typedefs for the callbacks done while parsing. If the callback functions
* return anything other than ISC_R_SUCCESS, then the parse routine
* terminates with an error.
*/
-
+
typedef isc_result_t (*dns_c_zonecbk_t)(dns_c_ctx_t *ctx,
dns_c_zone_t *zone,
dns_c_view_t *view,
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confresolv.h,v 1.9 2000/07/27 09:47:42 tale Exp $ */
+/* $Id: confresolv.h,v 1.10 2000/08/01 01:24:00 tale Exp $ */
#ifndef DNS_CONFRESOLV_H
#define DNS_CONFRESOLV_H 1
*
* MP:
* Client must do necessary locking.
- *
+ *
* Reliability:
*
* No problems.
* Security:
*
* N/A
- *
+ *
*/
/***
* Requires:
* mem be a pointer to a valid memory manager.
* newres be a valid non-NULL pointer.
- *
+ *
* Returns:
* ISC_R_SUCCESS -- all is well
* ISC_R_NOMEMORY -- out of memory
- *
+ *
*/
isc_result_t
* Requires:
* cfgres be a valid non-NULL pointer. The pointer it points to
* can be NULL or must be a valid dns_c_resolv_t object.
- *
+ *
* Returns:
* ISC_R_SUCCESS -- all is well
- *
+ *
*/
ISC_LANG_ENDDECLS
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confrrset.h,v 1.13 2000/07/27 09:47:43 tale Exp $ */
+/* $Id: confrrset.h,v 1.14 2000/08/01 01:24:01 tale Exp $ */
#ifndef DNS_CONFRRSET_H
#define DNS_CONFRRSET_H 1
*****/
/*
- *
+ *
* MP:
- *
+ *
*
* Reliability:
- *
+ *
*
* Resources:
- *
+ *
*
* Security:
- *
+ *
*
* Standards:
- *
+ *
*/
/***
struct dns_c_rrso {
isc_uint32_t magic;
-
+
isc_mem_t *mem;
-
+
dns_rdataclass_t oclass;
dns_rdatatype_t otype;
char *name;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confview.h,v 1.35 2000/07/31 21:07:06 explorer Exp $ */
+/* $Id: confview.h,v 1.36 2000/08/01 01:24:02 tale Exp $ */
#ifndef DNS_CONFVIEW_H
#define DNS_CONFVIEW_H 1
*****/
/*
- * Zones as seen by the config file parser. The data structures here define
+ * Zones as seen by the config file parser. The data structures here define
* the zone data as it is in the config file. The data structures here do
* *not* define the things like red-black trees for named's internal data
* structures.
*
* MP:
* Client must do necessary locking.
- *
+ *
* Reliability:
*
* No problems.
* Security:
*
* N/A
- *
+ *
*/
/***
struct dns_c_viewtable {
isc_uint32_t magic;
-
+
isc_mem_t *mem;
ISC_LIST(dns_c_view_t) views;
struct dns_c_view {
isc_uint32_t magic;
isc_mem_t *mem;
-
+
char *name;
dns_rdataclass_t viewclass;
-
+
dns_c_zonelist_t *zonelist;
dns_c_forw_t *forward;
dns_c_ipmatchlist_t *matchclients;
dns_c_rrsolist_t *ordering; /* XXX not parsed yet */
-
+
dns_severity_t *check_names[DNS_C_TRANSCOUNT];
-
+
/*
* XXX to implement now.
*/
dns_c_tkeylist_t *trusted_keys;
-#if 0
+#if 0
/*
* To implement later.
*/
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: confzone.h,v 1.38 2000/07/27 09:47:45 tale Exp $ */
+/* $Id: confzone.h,v 1.39 2000/08/01 01:24:03 tale Exp $ */
#ifndef DNS_CONFZONE_H
#define DNS_CONFZONE_H 1
*****/
/*
- * Zones as seen by the config file parser. The data structures here define
+ * Zones as seen by the config file parser. The data structures here define
* the zone data as it is in the config file. The data structures here do
* *not* define the things like red-black trees for named's internal data
* structures.
*
* MP:
* Client must do necessary locking.
- *
+ *
* Reliability:
*
* No problems.
* Security:
*
* N/A
- *
+ *
*/
/***
dns_c_pklist_t *pubkeylist;
in_port_t master_port;
dns_c_iplist_t *master_ips;
- isc_sockaddr_t transfer_source;
- isc_sockaddr_t transfer_source_v6;
+ isc_sockaddr_t transfer_source;
+ isc_sockaddr_t transfer_source_v6;
isc_uint32_t max_trans_time_in;
isc_uint32_t max_trans_idle_in;
struct dns_c_zone {
isc_int32_t magic;
-
+
isc_mem_t *mem;
isc_uint8_t refcount;
-
+
char *name; /* e.g. "foo.com" */
char *internalname; /* e.g. "foo.com.ext" */
char *database;
- dns_rdataclass_t zclass;
+ dns_rdataclass_t zclass;
dns_c_view_t *view;
isc_boolean_t *enabled;
-
+
dns_c_zonetype_t ztype;
- union
+ union
{
dns_c_masterzone_t mzone;
dns_c_slavezone_t szone;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: db.h,v 1.52 2000/07/27 09:47:46 tale Exp $ */
+/* $Id: db.h,v 1.53 2000/08/01 01:24:04 tale Exp $ */
#ifndef DNS_DB_H
#define DNS_DB_H 1
isc_result_t (*beginload)(dns_db_t *db, dns_addrdatasetfunc_t *addp,
dns_dbload_t **dbloadp);
isc_result_t (*endload)(dns_db_t *db, dns_dbload_t **dbloadp);
- isc_result_t (*dump)(dns_db_t *db, dns_dbversion_t *version,
+ isc_result_t (*dump)(dns_db_t *db, dns_dbversion_t *version,
const char *filename);
void (*currentversion)(dns_db_t *db,
dns_dbversion_t **versionp);
* Ensures:
*
* On success, '*versionp' is attached to the current version.
- *
+ *
* Returns:
*
* ISC_R_SUCCESS
*
* ISC_R_SUCCESS
* ISC_R_NOTFOUND
- *
+ *
* Other results are possible, depending upon the database
* implementation used.
*/
*
* ISC_R_SUCCESS
* ISC_R_NOTFOUND
- *
+ *
* Other results are possible, depending upon the database
* implementation used.
*/
* ISC_R_SUCCESS
* DNS_R_UNCHANGED The operation did not change anything.
* ISC_R_NOMEMORY
- *
+ *
* Other results are possible, depending upon the database
* implementation used.
*/
* Notes:
*
* If 'newrdataset' is not NULL, then it will be attached to the
- * resulting new rdataset in the database, unless the rdataset has
+ * resulting new rdataset in the database, unless the rdataset has
* become nonexistent.
*
* Requires:
* DNS_R_UNCHANGED The operation did not change anything.
* DNS_R_NXRRSET All rdata of the same type as those
* in 'rdataset' have been deleted.
- *
+ *
* Other results are possible, depending upon the database
* implementation used.
*/
* ISC_R_SUCCESS
* DNS_R_UNCHANGED No rdatasets of 'type' existed before
* the operation was attempted.
- *
+ *
* Other results are possible, depending upon the database
* implementation used.
*/
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dbiterator.h,v 1.13 2000/07/27 09:47:48 tale Exp $ */
+/* $Id: dbiterator.h,v 1.14 2000/08/01 01:24:05 tale Exp $ */
#ifndef DNS_DBITERATOR_H
#define DNS_DBITERATOR_H 1
* MP:
* The iterator itself is not locked. The caller must ensure
* synchronization.
- *
+ *
* The iterator methods ensure appropriate database locking.
*
* Reliability:
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dbtable.h,v 1.14 2000/07/27 09:47:49 tale Exp $ */
+/* $Id: dbtable.h,v 1.15 2000/08/01 01:24:07 tale Exp $ */
#ifndef DNS_DBTABLE_H
#define DNS_DBTABLE_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dispatch.h,v 1.34 2000/07/27 09:47:50 tale Exp $ */
+/* $Id: dispatch.h,v 1.35 2000/08/01 01:24:08 tale Exp $ */
#ifndef DNS_DISPATCH_H
#define DNS_DISPATCH_H 1
* < mumble >
*/
-void
+void
dns_dispatch_starttcp(dns_dispatch_t *disp);
/*
* Start processing of a TCP dispatch once the socket connects.
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dnssec.h,v 1.17 2000/07/27 09:47:51 tale Exp $ */
+/* $Id: dnssec.h,v 1.18 2000/08/01 01:24:09 tale Exp $ */
#ifndef DNS_DNSSEC_H
#define DNS_DNSSEC_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: events.h,v 1.27 2000/07/27 09:47:52 tale Exp $ */
+/* $Id: events.h,v 1.28 2000/08/01 01:24:10 tale Exp $ */
#ifndef DNS_EVENTS_H
#define DNS_EVENTS_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: fixedname.h,v 1.9 2000/07/27 09:47:53 tale Exp $ */
+/* $Id: fixedname.h,v 1.10 2000/08/01 01:24:11 tale Exp $ */
#ifndef DNS_FIXEDNAME_H
#define DNS_FIXEDNAME_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: journal.h,v 1.18 2000/07/27 09:47:54 tale Exp $ */
+/* $Id: journal.h,v 1.19 2000/08/01 01:24:12 tale Exp $ */
#ifndef DNS_JOURNAL_H
#define DNS_JOURNAL_H 1
* A dns_difftuple_t represents a single RR being added or deleted.
* The RR type and class are in the 'rdata' member; the class is always
* the real one, not a DynDNS meta-class, so that the rdatas can be
- * compared using dns_rdata_compare(). The TTL is significant
+ * compared using dns_rdata_compare(). The TTL is significant
* even for deletions, because a deletion/addition pair cannot
* be canceled out if the TTL differs (it might be an explicit
* TTL update).
*
* Tuples are also used to represent complete RRs with owner
- * names for a couple of other purposes, such as the
+ * names for a couple of other purposes, such as the
* individual RRs of a "RRset exists (value dependent)"
* prerequisite set. In this case, op==DNS_DIFFOP_EXISTS,
* and the TTL is ignored.
struct dns_difftuple {
unsigned int magic;
isc_mem_t *mctx;
- dns_diffop_t op;
+ dns_diffop_t op;
dns_name_t name;
dns_ttl_t ttl;
dns_rdata_t rdata;
/*
* A dns_diff_t represents a set of changes being applied to
- * a zone. Diffs are also used to represent "RRset exists
+ * a zone. Diffs are also used to represent "RRset exists
* (value dependent)" prerequisites.
*/
typedef struct dns_diff dns_diff_t;
* Copy a tuple.
*
* Requires:
- * 'orig' points to a valid tuple
+ * 'orig' points to a valid tuple
* copyp != NULL && *copyp == NULL
*/
*
* Ensures:
* '*diff' is a valid, empty diff.
- */
+ */
void
dns_diff_clear(dns_diff_t *diff);
* Sort 'diff' in-place according to the comparison function 'compare'.
*/
-isc_result_t
+isc_result_t
dns_diff_apply(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *ver);
/*
* Apply 'diff' to the database 'db'.
*
* Requires:
* *diff is a valid diff (possibly empty), containing
- * tuples of type DNS_DIFFOP_ADD and/or
+ * tuples of type DNS_DIFFOP_ADD and/or
* For DNS_DIFFOP_DEL tuples, the TTL is ignored.
*
*/
-isc_result_t
+isc_result_t
dns_diff_load(dns_diff_t *diff, dns_addrdatasetfunc_t addfunc,
void *add_private);
/*
* Requires:
* 'addfunc' is a valid dns_addradatasetfunc_t obtained from
* dns_db_beginload()
- *
+ *
* 'add_private' points to a corresponding dns_dbload_t *
* (XXX why is it a void pointer, then?)
*/
isc_result_t
dns_diff_print(dns_diff_t *diff, FILE *file);
-/*
+/*
* Print the differences to 'file' or if 'file' is NULL via the
* logging system.
*
* ISC_R_UNEXPECTED
* any error from dns_rdataset_totext()
*/
-
+
/**************************************************************************/
-/*
+/*
* Misc. utilities
* XXX these belong in a general-purpose DNS library
*/
dns_soa_getserial(dns_rdata_t *rdata);
/*
* Extract the serial number from the rdata of a SOA record.
- *
+ *
* Requires:
* rdata refers to the rdata of a well-formed SOA record.
*/
#define DNS_SERIAL_GT(a, b) ((int)(((a) - (b)) & 0xFFFFFFFF) > 0)
#define DNS_SERIAL_GE(a, b) ((int)(((a) - (b)) & 0xFFFFFFFF) >= 0)
/*
- * Compare SOA serial numbers. DNS_SERIAL_GT(a, b) returns true iff
+ * Compare SOA serial numbers. DNS_SERIAL_GT(a, b) returns true iff
* a is "greater than" b where "greater than" is as defined in RFC1982.
* DNS_SERIAL_GE(a, b) returns true iff a is "greater than or equal to" b.
*/
/*
* Open the journal file 'filename' and create a dns_journal_t object for it.
*
- * If 'write' is ISC_TRUE, the journal is open for writing. If it does
+ * If 'write' is ISC_TRUE, the journal is open for writing. If it does
* not exist, it is created.
*
- * If 'write' is ISC_FALSE, the journal is open for reading. If it does
+ * If 'write' is ISC_FALSE, the journal is open for reading. If it does
* not exist, ISC_R_NOTFOUND is returned.
*/
* Requires:
* 'j' is open for writing and dns_journal_begin_transaction()
* has been called.
- *
+ *
* 'diff' is a full or partial, correctly ordered IXFR
* difference sequence.
*/
* from SOA serial number 'begin_serial' to 'end_serial'.
*
* Returns:
- * ISC_R_SUCCESS
+ * ISC_R_SUCCESS
* ISC_R_RANGE begin_serial is outside the addressable range.
* ISC_R_NOTFOUND begin_serial is within the range of adressable
* serial numbers covered by the journal, but
* the order). This journal entry will consist of a single,
* possibly very large transaction. Append the journal
* entry to the journal file specified by 'journal_filename'.
- */
+ */
ISC_LANG_ENDDECLS
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: keyflags.h,v 1.7 2000/07/27 09:47:55 tale Exp $ */
+/* $Id: keyflags.h,v 1.8 2000/08/01 01:24:13 tale Exp $ */
#ifndef DNS_KEYFLAGS_H
#define DNS_KEYFLAGS_H 1
* Convert the text 'source' refers to into a DNSSEC KEY flags value.
* The text may contain either a set of flag mnemonics separated by
* vertical bars or a decimal flags value. For compatibility with
- * older versions of BIND and the DNSSEC signer, octal values
+ * older versions of BIND and the DNSSEC signer, octal values
* prefixed with a zero and hexadecimal values prefixed with "0x"
* are also accepted.
*
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: keytable.h,v 1.8 2000/07/27 09:47:56 tale Exp $ */
+/* $Id: keytable.h,v 1.9 2000/08/01 01:24:14 tale Exp $ */
#ifndef DNS_KEYTABLE_H
#define DNS_KEYTABLE_H 1
* Any other result indicates an error.
*/
-isc_result_t
+isc_result_t
dns_keytable_findnextkeynode(dns_keytable_t *keytable, dns_keynode_t *keynode,
dns_keynode_t **nextnodep);
/*
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: keyvalues.h,v 1.8 2000/07/27 09:47:58 tale Exp $ */
+/* $Id: keyvalues.h,v 1.9 2000/08/01 01:24:15 tale Exp $ */
#ifndef DNS_KEYVALUES_H
#define DNS_KEYVALUES_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lib.h,v 1.4 2000/07/27 09:47:59 tale Exp $ */
+/* $Id: lib.h,v 1.5 2000/08/01 01:24:16 tale Exp $ */
#ifndef DNS_LIB_H
#define DNS_LIB_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: log.h,v 1.22 2000/07/27 09:48:00 tale Exp $ */
+/* $Id: log.h,v 1.23 2000/08/01 01:24:17 tale Exp $ */
/* Principal Authors: DCL */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: master.h,v 1.21 2000/07/27 09:48:01 tale Exp $ */
+/* $Id: master.h,v 1.22 2000/08/01 01:24:19 tale Exp $ */
#ifndef DNS_MASTER_H
#define DNS_MASTER_H 1
*
* If 'age_ttl' is ISC_TRUE and the master file contains one or more
* $DATE directives, the TTLs of the data will be aged accordingly.
- *
+ *
* 'callbacks->commit' is assumed to call 'callbacks->error' or
* 'callbacks->warn' to generate any error messages required.
*
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: masterdump.h,v 1.11 2000/07/27 09:48:02 tale Exp $ */
+/* $Id: masterdump.h,v 1.12 2000/08/01 01:24:20 tale Exp $ */
#ifndef DNS_MASTERDUMP_H
#define DNS_MASTERDUMP_H 1
/*
* Style options for masterfile dumps. This struct is currently
* opaque, so applications cannot define their own style but have
- * to choose a predefined style. A more flexible interface may
+ * to choose a predefined style. A more flexible interface may
* be exported in the future.
*/
***/
/*
- * The default masterfile style.
+ * The default masterfile style.
*/
extern const dns_master_style_t dns_master_style_default;
dns_dbversion_t *version,
const dns_master_style_t *style, FILE *f);
/*
- * Dump the database 'db' to the steam 'f' in RFC1035 master
+ * Dump the database 'db' to the steam 'f' in RFC1035 master
* file format, in the style defined by 'style'
* (e.g., &dns_default_master_style_default)
*
* Temporary dynamic memory may be allocated from 'mctx'.
*
* Returns:
- * ISC_R_SUCCESS
+ * ISC_R_SUCCESS
* ISC_R_NOMEMORY
* Any database or rrset iterator error.
* Any dns_rdata_totext() error code.
dns_dbversion_t *version,
const dns_master_style_t *style, const char *filename);
/*
- * Dump the database 'db' to the file 'filename' in RFC1035 master
+ * Dump the database 'db' to the file 'filename' in RFC1035 master
* file format, in the style defined by 'style'
* (e.g., &dns_default_master_style_default)
*
* Temporary dynamic memory may be allocated from 'mctx'.
*
* Returns:
- * ISC_R_SUCCESS
+ * ISC_R_SUCCESS
* ISC_R_NOMEMORY
* Any database or rrset iterator error.
* Any dns_rdata_totext() error code.
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: message.h,v 1.74 2000/07/27 09:48:03 tale Exp $ */
+/* $Id: message.h,v 1.75 2000/08/01 01:24:21 tale Exp $ */
#ifndef DNS_MESSAGE_H
#define DNS_MESSAGE_H 1
isc_result_t
dns_message_create(isc_mem_t *mctx, unsigned int intent, dns_message_t **msgp);
-
+
/*
* Create msg structure.
*
dns_messagetextflag_t flags,
isc_buffer_t *target);
/*
- * Convert section 'section' or 'pseudosection' of message 'msg' to
+ * Convert section 'section' or 'pseudosection' of message 'msg' to
* a cleartext representation
*
* Notes:
* ISC_R_NOSPACE
* ISC_R_NOMORE
*
- * Note: On error return, *target may be partially filled with data.
+ * Note: On error return, *target may be partially filled with data.
*/
isc_result_t
* and the order of the RRs in the message is preserved.
* Otherwise, only one dns_name_t object will be created for each unique
* owner name in the section, and each such dns_name_t will have a list
- * of rdatasets. To access the names and their data, use
- * dns_message_firstname() and dns_message_nextname().
+ * of rdatasets. To access the names and their data, use
+ * dns_message_firstname() and dns_message_nextname().
*
* OPT and TSIG records are always handled specially, regardless of the
* 'preserve_order' setting.
* Returns:
* ISC_R_SUCCESS -- all is well.
*/
-
+
void
dns_message_renderreset(dns_message_t *msg);
/*
* Set internal per-section name pointer to the beginning of the section.
*
* The functions dns_message_firstname() and dns_message_nextname() may
- * be used for iterating over the owner names in a section.
+ * be used for iterating over the owner names in a section.
*
* Requires:
*
* Requires:
*
* 'msg' is a valid message with parsing intent, and contains a query.
- *
+ *
* Ensures:
*
* The message will have a rendering intent. If 'want_question_section'
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: name.h,v 1.77 2000/07/31 23:09:47 tale Exp $ */
+/* $Id: name.h,v 1.78 2000/08/01 01:24:22 tale Exp $ */
#ifndef DNS_NAME_H
#define DNS_NAME_H 1
*
* + If any buffer is associated with 'name' (via dns_name_setbuffer()
* or by being part of a dns_fixedname_t) the link to the buffer
- * is retained but the buffer itself is cleared.
+ * is retained but the buffer itself is cleared.
*
* + Of the attributes associated with 'name', all are retained except
* DNS_NAMEATTR_ABSOLUTE.
/***
*** Labels
***/
-
+
unsigned int
dns_name_countlabels(const dns_name_t *name);
/*
*
* This call is functionally equivalent to:
*
- * dns_name_getlabelsequence(source, 0,
+ * dns_name_getlabelsequence(source, 0,
* dns_label_countlabels(source),
* target);
*
/*
* Convert 'name' into wire format, compressing it as specified by the
* compression context 'cctx', and storing the result in 'target'.
- *
+ *
* Notes:
* If the compression context allows global compression, then the
* global compression table may be updated.
isc_buffer_t *target);
/*
* Convert 'name' into text format, storing the result in 'target'.
- *
+ *
* Notes:
* If 'omit_final_dot' is true, then the final '.' in absolute
* names other than the root name will be omitted.
* Requires:
*
* 'source' is a valid non-empty name.
- *
+ *
* 'target' is a valid name that is not read-only.
- *
+ *
* 'mctx' is a valid memory context.
*/
* Requires:
*
* 'source' is a valid non-empty name.
- *
+ *
* 'target' is a valid name that is not read-only.
*
* 'target' has no offsets table.
- *
+ *
* 'mctx' is a valid memory context.
*/
* ISC_R_SUCCESS
*
* Many other results are possible if not successful.
- *
+ *
*/
isc_boolean_t
* 'size' bytes. The resulting string is guaranteed to be
* null terminated.
*
- * The formatted name will have a terminating dot only if it is
+ * The formatted name will have a terminating dot only if it is
* the root.
*
* This function cannot fail, instead any errors are indicated
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: namedconf.h,v 1.7 2000/07/27 09:48:05 tale Exp $ */
+/* $Id: namedconf.h,v 1.8 2000/08/01 01:24:23 tale Exp $ */
#ifndef DNS_NAMEDCONF_H
#define DNS_NAMEDCONF_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ncache.h,v 1.10 2000/07/27 09:48:07 tale Exp $ */
+/* $Id: ncache.h,v 1.11 2000/08/01 01:24:24 tale Exp $ */
#ifndef DNS_NCACHE_H
#define DNS_NCACHE_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: nxt.h,v 1.9 2000/07/27 09:48:08 tale Exp $ */
+/* $Id: nxt.h,v 1.10 2000/08/01 01:24:25 tale Exp $ */
#ifndef DNS_NXT_H
#define DNS_NXT_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: peer.h,v 1.11 2000/07/27 09:48:09 tale Exp $ */
+/* $Id: peer.h,v 1.12 2000/08/01 01:24:26 tale Exp $ */
#ifndef DNS_PEER_H
#define DNS_PEER_H 1
struct dns_peerlist {
isc_uint32_t magic;
isc_uint32_t refs;
-
+
isc_mem_t *mem;
ISC_LIST(dns_peer_t) elements;
dns_name_t *key;
isc_uint32_t bitflags;
-
+
ISC_LINK(dns_peer_t) next;
};
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rbt.h,v 1.45 2000/07/31 23:27:25 tale Exp $ */
+/* $Id: rbt.h,v 1.46 2000/08/01 01:24:28 tale Exp $ */
#ifndef DNS_RBT_H
#define DNS_RBT_H 1
* responsible for cleaning up any memory associated with the data
* pointer of a node when the node is deleted. It is passed the
* deleted node's data pointer as its first argument and deleter_arg
- * as its second argument.
+ * as its second argument.
*
* Requires:
* mctx is a pointer to a valid memory context.
*
* If the chain parameter is non-NULL, then the path through the tree
* to the DNSSEC predecessor of the searched for name is maintained,
- * unless the DNS_RBTFIND_NOPREDECESSOR or DNS_RBTFIND_NOEXACT option
+ * unless the DNS_RBTFIND_NOPREDECESSOR or DNS_RBTFIND_NOEXACT option
* is used. (For more details on those options, see below.)
*
* If there is no predecessor, then the chain will point to nowhere, as
* will not point to the DNSSEC predecessor, but will instead point
* to the exact match, if there was any. Thus the preceding paragraphs
* should have "exact match" substituted for "predecessor" to describe
- * how the various elements of the chain are set. This was done to
+ * how the various elements of the chain are set. This was done to
* ensure that the chain's state was sane, and to prevent problems that
* occurred when running the predecessor location code under conditions
* it was not designed for. It is not clear *where* the chain should
*
* Notes:
* The name stored at each node, along with the node's color, is printed.
- * Then the down pointer, left and right pointers are displayed
+ * Then the down pointer, left and right pointers are displayed
* recursively in turn. NULL down pointers are silently omitted;
* NULL left and right pointers are printed.
*/
* 'origin', if non-NULL, is the sequence of labels in the levels
* above the terminal level, such as "isc.org." in the above example.
* 'origin' is always "." for the root node.
- *
+ *
*
* Returns:
* ISC_R_SUCCESS name, origin & node were successfully set.
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rcode.h,v 1.10 2000/07/27 09:48:11 tale Exp $ */
+/* $Id: rcode.h,v 1.11 2000/08/01 01:24:29 tale Exp $ */
#ifndef DNS_RCODE_H
#define DNS_RCODE_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdata.h,v 1.39 2000/07/27 09:48:12 tale Exp $ */
+/* $Id: rdata.h,v 1.40 2000/08/01 01:24:30 tale Exp $ */
#ifndef DNS_RDATA_H
#define DNS_RDATA_H 1
/*
* Convert 'rdata' into wire format, compressing it as specified by the
* compression context 'cctx', and storing the result in 'target'.
- *
+ *
* Notes:
* If the compression context allows global compression, then the
* global compression table may be updated.
dns_rdata_tofmttext(dns_rdata_t *rdata, dns_name_t *origin, unsigned int flags,
unsigned int width, char *linebreak, isc_buffer_t *target);
/*
- * Like dns_rdata_totext, but do formatted output suitable for
+ * Like dns_rdata_totext, but do formatted output suitable for
* database dumps. This is intended for use by dns_db_dump();
* library users are discouraged from calling it directly.
*
* are added when necessary. Because RRs contain unbreakable elements
* such as domain names whose length is variable, unpredictable, and
* potentially large, there is no guarantee that the lines will
- * not exceed 'width' anyway.
+ * not exceed 'width' anyway.
*
* If (flags & DNS_STYLEFLAG_MULTILINE) == 0, the rdata is always
* printed as a single line, and no parentheses are used.
* The 'width' and 'linebreak' arguments are ignored.
*
* If (flags & DNS_STYLEFLAG_COMMENT) != 0, output explanatory
- * comments next to things like the SOA timer fields. Some
+ * comments next to things like the SOA timer fields. Some
* comments (e.g., the SOA ones) are only printed when multiline
- * output is selected.
+ * output is selected.
*/
isc_result_t
dns_rdata_tostruct(dns_rdata_t *rdata, void *target, isc_mem_t *mctx);
/*
* Convert an rdata into its C structure representation.
- *
+ *
* If 'mctx' is NULL then 'rdata' must persist while 'target' is being used.
*
* If 'mctx' is non NULL then memory will be allocated if required.
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdataclass.h,v 1.13 2000/07/27 09:48:14 tale Exp $ */
+/* $Id: rdataclass.h,v 1.14 2000/08/01 01:24:31 tale Exp $ */
#ifndef DNS_RDATACLASS_H
#define DNS_RDATACLASS_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdatalist.h,v 1.11 2000/07/27 09:48:15 tale Exp $ */
+/* $Id: rdatalist.h,v 1.12 2000/08/01 01:24:32 tale Exp $ */
#ifndef DNS_RDATALIST_H
#define DNS_RDATALIST_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdataset.h,v 1.34 2000/07/27 09:48:16 tale Exp $ */
+/* $Id: rdataset.h,v 1.35 2000/08/01 01:24:33 tale Exp $ */
#ifndef DNS_RDATASET_H
#define DNS_RDATASET_H 1
* 'rdataset' is a valid, associated rdataset.
*
* Returns:
- * The number of records in 'rdataset'.
+ * The number of records in 'rdataset'.
*/
isc_result_t
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdatasetiter.h,v 1.11 2000/07/27 09:48:17 tale Exp $ */
+/* $Id: rdatasetiter.h,v 1.12 2000/08/01 01:24:34 tale Exp $ */
#ifndef DNS_RDATASETITER_H
#define DNS_RDATASETITER_H 1
* it, an implementation of the class is required. This implementation is
* supplied by the database.
*
- * It is the client's responsibility to call dns_rdataset_disassociate()
+ * It is the client's responsibility to call dns_rdataset_disassociate()
* on all rdatasets returned.
*
* XXX <more> XXX
* MP:
* The iterator itself is not locked. The caller must ensure
* synchronization.
- *
+ *
* The iterator methods ensure appropriate database locking.
*
* Reliability:
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdataslab.h,v 1.13 2000/07/27 09:48:18 tale Exp $ */
+/* $Id: rdataslab.h,v 1.14 2000/08/01 01:24:36 tale Exp $ */
#ifndef DNS_RDATASLAB_H
#define DNS_RDATASLAB_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdatatype.h,v 1.12 2000/07/27 09:48:19 tale Exp $ */
+/* $Id: rdatatype.h,v 1.13 2000/08/01 01:24:37 tale Exp $ */
#ifndef DNS_RDATATYPE_H
#define DNS_RDATATYPE_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: request.h,v 1.12 2000/07/27 09:48:20 tale Exp $ */
+/* $Id: request.h,v 1.13 2000/08/01 01:24:38 tale Exp $ */
#ifndef DNS_REQUEST_H
#define DNS_REQUEST_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: resolver.h,v 1.30 2000/07/27 09:48:21 tale Exp $ */
+/* $Id: resolver.h,v 1.31 2000/08/01 01:24:39 tale Exp $ */
#ifndef DNS_RESOLVER_H
#define DNS_RESOLVER_H 1
unsigned int options, isc_task_t *task,
isc_taskaction_t action, void *arg,
dns_rdataset_t *rdataset,
- dns_rdataset_t *sigrdataset,
+ dns_rdataset_t *sigrdataset,
dns_fetch_t **fetchp);
/*
* Recurse to answer a question.
*
* The 'domain' is a parent domain of 'name' for which
* a set of name servers 'nameservers' is known. If no
- * such name server information is available, set
+ * such name server information is available, set
* 'domain' and 'nameservers' to NULL.
*
* 'forwarders' is unimplemented, and subject to change when
* we figure out how selective forwarding will work.
*
- * When the fetch completes (successfully or otherwise), a
+ * When the fetch completes (successfully or otherwise), a
* DNS_EVENT_FETCHDONE event with action 'action' and arg 'arg' will be
* posted to 'task'.
*
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: result.h,v 1.63 2000/07/27 09:48:22 tale Exp $ */
+/* $Id: result.h,v 1.64 2000/08/01 01:24:40 tale Exp $ */
#ifndef DNS_RESULT_H
#define DNS_RESULT_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rootns.h,v 1.6 2000/07/27 09:48:23 tale Exp $ */
+/* $Id: rootns.h,v 1.7 2000/08/01 01:24:41 tale Exp $ */
#ifndef DNS_ROOTNS_H
#define DNS_ROOTNS_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: secalg.h,v 1.10 2000/07/27 09:48:24 tale Exp $ */
+/* $Id: secalg.h,v 1.11 2000/08/01 01:24:42 tale Exp $ */
#ifndef DNS_SECALG_H
#define DNS_SECALG_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: secproto.h,v 1.7 2000/07/27 09:48:26 tale Exp $ */
+/* $Id: secproto.h,v 1.8 2000/08/01 01:24:43 tale Exp $ */
#ifndef DNS_SECPROTO_H
#define DNS_SECPROTO_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ssu.h,v 1.9 2000/07/27 09:48:27 tale Exp $ */
+/* $Id: ssu.h,v 1.10 2000/08/01 01:24:44 tale Exp $ */
#ifndef DNS_SSU_H
#define DNS_SSU_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tcpmsg.h,v 1.13 2000/07/27 09:48:28 tale Exp $ */
+/* $Id: tcpmsg.h,v 1.14 2000/08/01 01:24:45 tale Exp $ */
#ifndef DNS_TCPMSG_H
#define DNS_TCPMSG_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: time.h,v 1.7 2000/07/27 09:48:29 tale Exp $ */
+/* $Id: time.h,v 1.8 2000/08/01 01:24:46 tale Exp $ */
#ifndef DNS_TIME_H
#define DNS_TIME_H 1
dns_time64_fromtext(char *source, isc_int64_t *target);
/*
* Convert a date and time in YYYYMMDDHHMMSS text format at 'source'
- * into to a 64-bit count of seconds since Jan 1 1970 0:00 GMT.
+ * into to a 64-bit count of seconds since Jan 1 1970 0:00 GMT.
* Store the count at 'target'.
- */
+ */
isc_result_t
dns_time32_fromtext(char *source, isc_uint32_t *target);
* Like dns_time64_fromtext, but returns the second count modulo 2^32
* as per RFC2535.
*/
-
+
isc_result_t
dns_time64_totext(isc_int64_t value, isc_buffer_t *target);
/*
- * Convert a 64-bit count of seconds since Jan 1 1970 0:00 GMT into
+ * Convert a 64-bit count of seconds since Jan 1 1970 0:00 GMT into
* a YYYYMMDDHHMMSS text representation and append it to 'target'.
*/
* Of those dates whose counts of seconds since Jan 1 1970 0:00 GMT
* are congruent with 'value' modulo 2^32, the one closest to the
* current date is chosen.
- */
+ */
ISC_LANG_ENDDECLS
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tkey.h,v 1.14 2000/07/27 09:48:30 tale Exp $ */
+/* $Id: tkey.h,v 1.15 2000/08/01 01:24:47 tale Exp $ */
#ifndef DNS_TKEY_H
#define DNS_TKEY_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tkeyconf.h,v 1.5 2000/07/27 09:48:31 tale Exp $ */
+/* $Id: tkeyconf.h,v 1.6 2000/08/01 01:24:49 tale Exp $ */
#ifndef DNS_TKEYCONF_H
#define DNS_TKEYCONF_H 1
* ISC_R_SUCCESS
* ISC_R_NOMEMORY
*/
-
+
ISC_LANG_ENDDECLS
#endif /* DNS_TKEYCONF_H */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tsig.h,v 1.30 2000/07/28 23:27:01 bwelling Exp $ */
+/* $Id: tsig.h,v 1.31 2000/08/01 01:24:50 tale Exp $ */
#ifndef DNS_TSIG_H
#define DNS_TSIG_H 1
dns_rbt_t *keys;
isc_rwlock_t lock;
isc_mem_t *mctx;
-};
+};
struct dns_tsigkey {
/* Unlocked */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tsigconf.h,v 1.5 2000/07/27 09:48:33 tale Exp $ */
+/* $Id: tsigconf.h,v 1.6 2000/08/01 01:24:51 tale Exp $ */
#ifndef DNS_TSIGCONF_H
#define DNS_TSIGCONF_H 1
* ISC_R_SUCCESS
* ISC_R_NOMEMORY
*/
-
+
ISC_LANG_ENDDECLS
#endif /* DNS_TSIGCONF_H */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ttl.h,v 1.10 2000/07/27 09:48:34 tale Exp $ */
+/* $Id: ttl.h,v 1.11 2000/08/01 01:24:52 tale Exp $ */
#ifndef DNS_TTL_H
#define DNS_TTL_H 1
*
* If 'verbose' is ISC_FALSE, use the terse BIND 8 style, like "1w2d3h4m5s".
*
- * If 'verbose' is ISC_TRUE, use a verbose style like the SOA comments
+ * If 'verbose' is ISC_TRUE, use a verbose style like the SOA comments
* in "dig", like "1 week 2 days 3 hours 4 minutes 5 seconds".
*
* Returns:
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: types.h,v 1.90 2000/07/27 09:48:35 tale Exp $ */
+/* $Id: types.h,v 1.91 2000/08/01 01:24:53 tale Exp $ */
#ifndef DNS_TYPES_H
#define DNS_TYPES_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: validator.h,v 1.11 2000/07/27 09:48:37 tale Exp $ */
+/* $Id: validator.h,v 1.12 2000/08/01 01:24:54 tale Exp $ */
#ifndef DNS_VALIDATOR_H
#define DNS_VALIDATOR_H 1
*
* The complete response message may be given in 'message',
* to make available any authority section NXTs that may be
- * needed for validation of a response resulting from a
- * wildcard expansion (though no such wildcard validation
+ * needed for validation of a response resulting from a
+ * wildcard expansion (though no such wildcard validation
* is implemented yet). If the complete response message
* is not available, 'message' is NULL.
*
* To validate a negative response, the complete negative response
- * message is given in 'message'. The 'rdataset', and
+ * message is given in 'message'. The 'rdataset', and
* 'sigrdataset' arguments must be NULL, but the 'name' and 'type'
* arguments must be provided.
*
* Cancel a DNSSEC validation in progress.
*
* Requires:
- * 'validator' points to a valid DNSSEC validator, which
+ * 'validator' points to a valid DNSSEC validator, which
* may or may not already have completed.
*
* Ensures:
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: view.h,v 1.46 2000/07/31 21:07:07 explorer Exp $ */
+/* $Id: view.h,v 1.47 2000/08/01 01:24:55 tale Exp $ */
#ifndef DNS_VIEW_H
#define DNS_VIEW_H 1
* locked by server configuration lock.
*/
dns_acl_t * matchclients;
-
+
/* Locked by lock. */
unsigned int references;
unsigned int weakrefs;
* 'type' is a valid dns_rdatatype_t, and is not a meta query type
* (e.g. dns_rdatatype_any), or dns_rdatatype_sig.
*
- * 'foundname' is
+ * 'foundname' is
*
* 'rdataset' is a valid, disassociated rdataset.
*
* covers 'type', then 'sigrdataset' will be bound to it.
*
* If the DNS_DBFIND_NOEXACT option is set, then the zonecut returned
- * (if any) will be the deepest known ancestor of 'name'.
+ * (if any) will be the deepest known ancestor of 'name'.
*
* Requires:
*
/*
* Load all zones attached to this view. If 'stop' is ISC_TRUE,
* stop on the first error and return it. If 'stop'
- * is ISC_FALSE, ignore errors.
+ * is ISC_FALSE, ignore errors.
*
* Requires:
*
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: xfrin.h,v 1.15 2000/07/27 09:48:39 tale Exp $ */
+/* $Id: xfrin.h,v 1.16 2000/08/01 01:24:56 tale Exp $ */
#ifndef DNS_XFRIN_H
#define DNS_XFRIN_H 1
dns_xfrindone_t done, dns_xfrin_ctx_t **xfrp);
/*
* Attempt to start an incoming zone transfer of 'zone'
- * from 'masteraddr', creating a dns_xfrin_ctx_t object to
+ * from 'masteraddr', creating a dns_xfrin_ctx_t object to
* manage it. Attach '*xfrp' to the newly created object.
*
* Iff ISC_R_SUCCESS is returned, '*done' is guaranteed to be
void
dns_xfrin_detach(dns_xfrin_ctx_t **xfrp);
/*
- * Detach a reference to a zone transfer object.
+ * Detach a reference to a zone transfer object.
*
- * (Because there is no attach() method, there can currently
+ * (Because there is no attach() method, there can currently
* only be one reference).
*/
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: zone.h,v 1.63 2000/07/27 09:48:40 tale Exp $ */
+/* $Id: zone.h,v 1.64 2000/08/01 01:24:58 tale Exp $ */
#ifndef DNS_ZONE_H
#define DNS_ZONE_H 1
* dns_zone_setclass() not to have been called since the zone was
* created.
* 'rdclass' != dns_rdataclass_none.
- */
+ */
dns_rdataclass_t
dns_zone_getclass(dns_zone_t *zone);
*
* Require:
* 'zone' to be a valid zone.
- */
+ */
dns_view_t *
dns_zone_getview(dns_zone_t *zone);
isc_result_t
dns_zone_setdatabase(dns_zone_t *zone, const char *database);
/*
- * Sets the name of the database to be loaded.
+ * Sets the name of the database to be loaded.
* For databases loaded from MASTER files this corresponds to the
* file name of the MASTER file.
*
void
dns_zone_iattach(dns_zone_t *source, dns_zone_t **target);
/*
- * Attach '*target' to 'source' incrementing its internal
+ * Attach '*target' to 'source' incrementing its internal
* reference count. This is intended for use by operations
* such as zone transfers that need to prevent the zone
* object from being freed but not from shutting down.
* 'zone' to be a valid zone.
* 'target' to be non NULL and '*target' to be NULL.
*/
-
+
void
dns_zone_idetach(dns_zone_t **zonep);
/*
* zone, it will be freed.
*
* Require:
- * The caller is running in the context of the zone's task.
+ * The caller is running in the context of the zone's task.
* 'zonep' to point to a valid zone.
*/
dns_zone_setdbtype(dns_zone_t *zone, const char *db_type);
/*
* Sets the database type. Current database types are: "rbt", "rbt64".
- * 'db_type' is not checked to see if it is a valid database type.
+ * 'db_type' is not checked to see if it is a valid database type.
*
* Require:
* 'zone' to be a valid zone.
* ISC_R_SUCCESS
*/
-void
+void
dns_zone_markdirty(dns_zone_t *zone);
/*
* Mark a zone as 'dirty'.
*
* Returns:
* ISC_R_SUCCESS
- * ISC_R_NOMEMORY
+ * ISC_R_NOMEMORY
*/
char *
* Requires:
* 'zone' to be a valid zone.
*/
-
+
void
dns_zone_setsigvalidityinterval(dns_zone_t *zone, isc_uint32_t interval);
/*
* 'zone' to be a valid zone.
* 'target' to be non NULL and '*target' to be NULL.
*/
-
+
void
dns_zonemgr_detach(dns_zonemgr_t **zmgrp);
/*
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: zoneconf.h,v 1.12 2000/07/27 09:48:41 tale Exp $ */
+/* $Id: zoneconf.h,v 1.13 2000/08/01 01:24:59 tale Exp $ */
#ifndef DNS_ZONECONF_H
#define DNS_ZONECONF_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: zt.h,v 1.20 2000/07/27 09:48:42 tale Exp $ */
+/* $Id: zt.h,v 1.21 2000/08/01 01:25:00 tale Exp $ */
#ifndef DNS_ZT_H
#define DNS_ZT_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: journal.c,v 1.56 2000/07/27 09:46:08 tale Exp $ */
+/* $Id: journal.c,v 1.57 2000/08/01 01:22:25 tale Exp $ */
#include <config.h>
(p[3] << 0));
}
-static inline void
+static inline void
encode_uint32(isc_uint32_t val, unsigned char *p) {
p[0] = (isc_uint8_t)(val >> 24);
p[1] = (isc_uint8_t)(val >> 16);
* (it starts 20 bytes from the end). This is a bit of
* a kludge, but the alternative approach of using
* dns_rdata_tostruct() and dns_rdata_fromstruct()
- * would involve a lot of unnecessary work (like
+ * would involve a lot of unnecessary work (like
* building domain names and allocating temporary memory)
* when all we really want to do is to change 32 bits of
* fixed-sized data. Besides, fromstruct_soa() is not
dns_rdataset_t rdataset;
dns_rdata_t rdata;
dns_name_t *zonename;
-
+
zonename = dns_db_origin(db);
-
+
node = NULL;
result = dns_db_findnode(db, zonename, ISC_FALSE, &node);
if (result != ISC_R_SUCCESS)
goto nonode;
-
+
dns_rdataset_init(&rdataset);
result = dns_db_findrdataset(db, node, ver, dns_rdatatype_soa, 0,
(isc_stdtime_t)0, &rdataset, NULL);
if (result != ISC_R_SUCCESS)
goto freenode;
-
+
result = dns_rdataset_first(&rdataset);
if (result != ISC_R_SUCCESS)
goto freenode;
unsigned char *datap;
REQUIRE(tp != NULL && *tp == NULL);
-
+
/*
* Create a new tuple. The variable-size wire-format name data and
* rdata immediately follow the dns_difftuple_t structure
t->op = op;
datap = (unsigned char *)(t + 1);
-
+
memcpy(datap, name->ndata, name->length);
dns_name_init(&t->name, NULL);
dns_name_clone(name, &t->name);
t->name.ndata = datap;
datap += name->length;
-
+
t->ttl = ttl;
memcpy(datap, rdata->data, rdata->length);
t->rdata.rdclass = rdata->rdclass;
t->rdata.type = rdata->type;
datap += rdata->length;
-
+
ISC_LINK_INIT(&t->rdata, link);
t->magic = DNS_DIFFTUPLE_MAGIC;
* that we never delete nonexistent data or add existing
* data).
*
- * If we find an old update of the same kind as
+ * If we find an old update of the same kind as
* the one we are doing, there must be a programming
- * error. We report it but try to continue anyway.
+ * error. We report it but try to continue anyway.
*/
for (ot = ISC_LIST_HEAD(diff->tuples); ot != NULL;
ot = next_ot)
dns_rdata_compare(&ot->rdata, &(*tuplep)->rdata) == 0 &&
ot->ttl == (*tuplep)->ttl)
{
- ISC_LIST_UNLINK(diff->tuples, ot, link);
+ ISC_LIST_UNLINK(diff->tuples, ot, link);
if ((*tuplep)->op == ot->op) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
"unexpected non-minimal diff");
ENSURE(*tuplep == NULL);
}
-isc_result_t
+isc_result_t
dns_diff_apply(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *ver)
{
dns_difftuple_t *t;
dns_dbnode_t *node = NULL;
isc_result_t result;
-
+
REQUIRE(DNS_DIFF_VALID(diff));
REQUIRE(DNS_DB_VALID(db));
-
+
t = ISC_LIST_HEAD(diff->tuples);
while (t != NULL) {
dns_name_t *name;
name = &t->name;
/*
* Find the node.
- * We create the node if it does not exist.
- * This will cause an empty node to be created if the diff
+ * We create the node if it does not exist.
+ * This will cause an empty node to be created if the diff
* contains a deletion of an RR at a nonexistent name,
- * but such diffs should never be created in the first
+ * but such diffs should never be created in the first
* place.
*/
node = NULL;
op = t->op;
type = t->rdata.type;
- covers = rdata_covers(&t->rdata);
+ covers = rdata_covers(&t->rdata);
/*
- * Collect a contiguous set of updates with
+ * Collect a contiguous set of updates with
* the same operation (add/delete) and RR type
* into a single rdatalist so that the
* database rrset merging/subtraction code
}
/* XXX this duplicates lots of code in dns_diff_apply(). */
-
-isc_result_t
+
+isc_result_t
dns_diff_load(dns_diff_t *diff, dns_addrdatasetfunc_t addfunc,
void *add_private)
{
isc_result_t result;
REQUIRE(DNS_DIFF_VALID(diff));
-
+
t = ISC_LIST_HEAD(diff->tuples);
while (t != NULL) {
dns_name_t *name;
dns_difftuple_t **v;
dns_difftuple_t *p;
REQUIRE(DNS_DIFF_VALID(diff));
-
+
for (p = ISC_LIST_HEAD(diff->tuples);
p != NULL;
p = ISC_LIST_NEXT(p, link))
REQUIRE(DNS_DIFFTUPLE_VALID(t));
REQUIRE(rdl != NULL);
REQUIRE(rds != NULL);
-
+
rdl->type = t->rdata.type;
rdl->rdclass = t->rdata.rdclass;
rdl->ttl = t->ttl;
isc_region_t r;
dns_rdatalist_t rdl;
- dns_rdataset_t rds;
+ dns_rdataset_t rds;
result = diff_tuple_tordataset(t, &rdl, &rds);
if (result != ISC_R_SUCCESS) {
t->op == DNS_DIFFOP_ADD ?
"add" : "del",
(int) r.length, (char *) r.base);
- } else
+ } else
goto cleanup;
}
result = ISC_R_SUCCESS;
*
* - The index. This is an unordered array of index entries
* of type journal_rawpos_t giving the locations
- * of some arbitrary subset of the journal's addressable
- * transactions. The index entries are used as hints to
- * speed up the process of locating a transaction with a given
+ * of some arbitrary subset of the journal's addressable
+ * transactions. The index entries are used as hints to
+ * speed up the process of locating a transaction with a given
* serial number. Unused index entries have an "offset"
- * field of zero. The size of the index can vary between
+ * field of zero. The size of the index can vary between
* journal files, but does not change during the lifetime
* of a file. The size can be zero.
*
* - The journal data. This consists of one or more transactions.
* Each transaction begins with a transaction header of type
- * journal_rawxhdr_t. The transaction header is followed by a
- * sequence of RRs, similar in structure to an IXFR difference
+ * journal_rawxhdr_t. The transaction header is followed by a
+ * sequence of RRs, similar in structure to an IXFR difference
* sequence (RFC1995). That is, the pre-transaction SOA,
- * zero or more other deleted RRs, the post-transaction SOA,
- * and zero or more other added RRs. Unlike in IXFR, each RR
+ * zero or more other deleted RRs, the post-transaction SOA,
+ * and zero or more other added RRs. Unlike in IXFR, each RR
* is prefixed with a 32-bit length.
*
* The journal data part grows as new transactions are
- * appended to the file. Only those transactions
+ * appended to the file. Only those transactions
* whose serial number is current-(2^31-1) to current
* are considered "addressable" and may be pointed
* to from the header or index. They may be preceded
* the "end" position in the header. The latter will
* be overwritten when new transactions are added.
*/
-
+
/*
* On-disk representation of a "pointer" to a journal entry.
* These are used in the journal header to locate the beginning
/* Position of the first addressable transaction */
journal_rawpos_t begin;
/* Position of the next (yet nonexistent) transaction. */
- journal_rawpos_t end;
+ journal_rawpos_t end;
/* Number of index entries following the header. */
unsigned char index_size[4];
} h;
typedef struct {
isc_uint32_t size;
- isc_uint32_t serial0;
- isc_uint32_t serial1;
+ isc_uint32_t serial0;
+ isc_uint32_t serial1;
} journal_xhdr_t;
/*
*
* The header starts with the magic string ";BIND LOG V9\n"
* to identify the file as a BIND 9 journal file. An ASCII
- * identification string is used rather than a binary magic
+ * identification string is used rather than a binary magic
* number to be consistent with BIND 8 (BIND 8 journal files
* are ASCII text files).
*/
-
+
static journal_header_t
initial_journal_header = { ";BIND LOG V9\n", { 0, 0 }, { 0, 0 }, 0 };
unsigned int n_soa; /* Number of SOAs seen */
journal_pos_t pos[2]; /* Begin/end position */
} x;
-
+
/* Iteration state (when reading). */
struct {
/* These define the part of the journal we iterate over. */
journal_header_decode(journal_rawheader_t *raw, journal_header_t *cooked) {
INSIST(sizeof(cooked->format) == sizeof(raw->h.format));
memcpy(cooked->format, raw->h.format, sizeof(cooked->format));
- journal_pos_decode(&raw->h.begin, &cooked->begin);
+ journal_pos_decode(&raw->h.begin, &cooked->begin);
journal_pos_decode(&raw->h.end, &cooked->end);
cooked->index_size = decode_uint32(raw->h.index_size);
}
INSIST(sizeof(cooked->format) == sizeof(raw->h.format));
memset(raw->pad, 0, sizeof(raw->pad));
memcpy(raw->h.format, cooked->format, sizeof(raw->h.format));
- journal_pos_encode(&raw->h.begin, &cooked->begin);
+ journal_pos_encode(&raw->h.begin, &cooked->begin);
journal_pos_encode(&raw->h.end, &cooked->end);
encode_uint32(cooked->index_size, raw->h.index_size);
}
j->filename, isc_result_totext(result));
return (ISC_R_UNEXPECTED);
}
- j->offset += nbytes;
+ j->offset += nbytes;
return (ISC_R_SUCCESS);
}
/*
* Read/write a transaction header at the current file position.
*/
-
+
static isc_result_t
journal_read_xhdr(dns_journal_t *j, journal_xhdr_t *xhdr) {
journal_rawxhdr_t raw;
/*
* Read an RR header at the current file position.
*/
-
+
static isc_result_t
journal_read_rrhdr(dns_journal_t *j, journal_rrhdr_t *rrhdr) {
journal_rawrrhdr_t raw;
void *mem; /* Memory for temporary index image. */
INSIST(sizeof(journal_rawheader_t) == JOURNAL_HEADER_SIZE);
-
+
result = isc_stdio_open(filename, "w", &fp);
if (result != ISC_R_SUCCESS) {
isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR,
"%s: write: %s",
filename, isc_result_totext(result));
(void)isc_stdio_close(fp);
- (void)isc_file_remove(filename);
- isc_mem_put(mctx, mem, size);
+ (void)isc_file_remove(filename);
+ isc_mem_put(mctx, mem, size);
return (ISC_R_UNEXPECTED);
}
- isc_mem_put(mctx, mem, size);
-
+ isc_mem_put(mctx, mem, size);
+
result = isc_stdio_close(fp);
if (result != ISC_R_SUCCESS) {
isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR,
return (ISC_R_SUCCESS);
}
-
+
isc_result_t
dns_journal_open(isc_mem_t *mctx, const char *filename, isc_boolean_t write,
isc_result_t result;
journal_rawheader_t rawheader;
dns_journal_t *j;
-
+
INSIST(journalp != NULL && *journalp == NULL);
j = isc_mem_get(mctx, sizeof(*j));
if (j == NULL)
return (ISC_R_NOMEMORY);
-
+
j->mctx = mctx;
j->state = JOURNAL_STATE_INVALID;
j->fp = NULL;
/*
* Set magic early so that seek/read can succeed.
*/
- j->magic = DNS_JOURNAL_MAGIC;
+ j->magic = DNS_JOURNAL_MAGIC;
CHECK(journal_seek(j, 0));
CHECK(journal_read(j, &rawheader, sizeof(rawheader)));
j->filename);
FAIL(ISC_R_UNEXPECTED);
}
-
+
/*
* If there is an index, read the raw index into a dynamically
* allocated buffer and then convert it into a cooked index.
unsigned int i;
unsigned int rawbytes;
unsigned char *p;
-
+
rawbytes = j->header.index_size * sizeof(journal_rawpos_t);
j->rawindex = isc_mem_get(mctx, rawbytes);
if (j->rawindex == NULL)
FAIL(ISC_R_NOMEMORY);
-
+
CHECK(journal_read(j, j->rawindex, rawbytes));
-
+
j->index = isc_mem_get(mctx, j->header.index_size *
sizeof(journal_pos_t));
if (j->index == NULL)
*/
dns_name_init(&j->it.name, NULL);
dns_rdata_init(&j->it.rdata);
-
+
/*
* Set up empty initial buffers for uncheched and checked
* wire format RR data. They will be reallocated
j->state =
write ? JOURNAL_STATE_WRITE : JOURNAL_STATE_READ;
-
+
*journalp = j;
return (ISC_R_SUCCESS);
}
if (j->fp != NULL)
(void)isc_stdio_close(j->fp);
- isc_mem_put(j->mctx, j, sizeof(*j));
+ isc_mem_put(j->mctx, j, sizeof(*j));
return (result);
}
* server receiving the IXFR - it may help reduce the amount of
* rdataset merging it has to do.
*/
-static int
+static int
ixfr_order(const void *av, const void *bv) {
dns_difftuple_t * const *ap = av;
dns_difftuple_t * const *bp = bv;
r = (b->op == DNS_DIFFOP_DEL) - (a->op == DNS_DIFFOP_DEL);
if (r != 0)
return (r);
-
+
r = (b->rdata.type == dns_rdatatype_soa) -
(a->rdata.type == dns_rdatatype_soa);
if (r != 0)
/*
* Advance '*pos' to the next journal transaction.
- *
+ *
* Requires:
* *pos refers to a valid journal transaction.
*
*
* Returns one of:
*
- * ISC_R_SUCCESS
+ * ISC_R_SUCCESS
* ISC_R_NOMORE *pos pointed at the last transaction
* Other results due to file errors are possible.
*/
isc_result_t result;
journal_xhdr_t xhdr;
REQUIRE(DNS_JOURNAL_VALID(j));
-
+
result = journal_seek(j, pos->offset);
if (result != ISC_R_SUCCESS)
return (result);
< pos->offset) {
isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR,
"%s: offset too large", j->filename);
- return (ISC_R_UNEXPECTED);
+ return (ISC_R_UNEXPECTED);
}
-
+
pos->offset += sizeof(journal_rawxhdr_t) + xhdr.size;
pos->serial = xhdr.serial1;
return (ISC_R_SUCCESS);
* the odd-numbered entries and compacting the others into the first
* half of the index. This decimates old index entries exponentially
* over time, so that the index always contains a much larger fraction
- * of recent serial numbers than of old ones. This is deliberate -
+ * of recent serial numbers than of old ones. This is deliberate -
* most index searches are for outgoing IXFR, and IXFR tends to request
* recent versions more often than old ones.
*/
k++;
}
}
- INSIST(i < j->header.index_size);
+ INSIST(i < j->header.index_size);
INSIST(! POS_VALID(j->index[i]));
/*
* If found, store its position at '*pos' and return ISC_R_SUCCESS.
*
* If 'serial' is current (= the ending serial number of the
- * last transaction in the journal), set '*pos' to
+ * last transaction in the journal), set '*pos' to
* the position immediately following the last transaction and
* return ISC_R_SUCCESS.
*
- * If 'serial' is within the range of addressable serial numbers
+ * If 'serial' is within the range of addressable serial numbers
* covered by the journal but that particular serial number is missing
* (from the journal, not just from the index), return ISC_R_NOTFOUND.
*
* If 'serial' is outside the range of addressable serial numbers
* covered by the journal, return ISC_R_RANGE.
- *
+ *
*/
static isc_result_t
journal_find(dns_journal_t *j, isc_uint32_t serial, journal_pos_t *pos) {
isc_result_t result;
journal_pos_t current_pos;
REQUIRE(DNS_JOURNAL_VALID(j));
-
+
if (DNS_SERIAL_GT(j->header.begin.serial, serial))
return (ISC_R_RANGE);
if (DNS_SERIAL_GT(serial, j->header.end.serial))
current_pos = j->header.begin;
index_find(j, serial, ¤t_pos);
-
+
while (current_pos.serial != serial) {
if (DNS_SERIAL_GT(current_pos.serial, serial))
return (ISC_R_NOTFOUND);
isc_uint32_t offset;
isc_result_t result;
journal_rawxhdr_t hdr;
-
+
REQUIRE(DNS_JOURNAL_VALID(j));
REQUIRE(j->state == JOURNAL_STATE_WRITE);
-
+
/*
* Find the file offset where the new transaction should
* be written, and seek there.
j->x.n_soa = 0;
CHECK(journal_seek(j, offset));
-
+
/*
* Write a dummy transaction header of all zeroes to reserve
* space. It will be filled in when the transaction is
result = ISC_R_SUCCESS;
failure:
return (result);
-}
+}
isc_result_t
dns_journal_writediff(dns_journal_t *j, dns_diff_t *diff) {
unsigned int size;
isc_result_t result;
isc_region_t used;
-
+
REQUIRE(DNS_DIFF_VALID(diff));
REQUIRE(j->state == JOURNAL_STATE_TRANSACTION);
-
+
isc_log_write(JOURNAL_DEBUG_LOGARGS(3), "writing to journal");
dns_diff_print(diff, NULL);
if (j->x.n_soa < 2)
j->x.pos[j->x.n_soa].serial =
dns_soa_getserial(&t->rdata);
- j->x.n_soa++;
+ j->x.n_soa++;
}
size += sizeof(journal_rawrrhdr_t);
size += t->name.length; /* XXX should have access macro? */
mem = isc_mem_get(j->mctx, size);
if (mem == NULL)
return (ISC_R_NOMEMORY);
-
+
isc_buffer_init(&buffer, mem, size);
/*
INSIST(isc_buffer_availablelength(&buffer) >= t->rdata.length);
isc_buffer_putmem(&buffer, t->rdata.data, t->rdata.length);
}
-
+
isc_buffer_usedregion(&buffer, &used);
INSIST(used.length == size);
j->x.pos[1].offset += used.length;
-
+
/*
* Write the buffer contents to the journal file.
*/
if (mem != NULL)
isc_mem_put(j->mctx, mem, size);
return (result);
-
+
}
isc_result_t
dns_journal_commit(dns_journal_t *j) {
isc_result_t result;
journal_rawheader_t rawheader;
-
+
REQUIRE(DNS_JOURNAL_VALID(j));
REQUIRE(j->state == JOURNAL_STATE_TRANSACTION);
-
+
/*
* Perform some basic consistency checks.
*/
{
isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR,
"malformed transaction: serial number "
- "would decrease");
+ "would decrease");
return (ISC_R_UNEXPECTED);
}
if (! JOURNAL_EMPTY(&j->header)) {
return (ISC_R_UNEXPECTED);
}
}
-
+
/*
* Some old journal entries may become non-addressable
* when we increment the current serial number. Purge them
j->header.begin = j->x.pos[0];
}
j->header.end = j->x.pos[1];
- journal_header_encode(&j->header, &rawheader);
+ journal_header_encode(&j->header, &rawheader);
CHECK(journal_seek(j, 0));
CHECK(journal_write(j, &rawheader, sizeof(rawheader)));
-
+
/*
* Update the index.
*/
unsigned int rawbytes;
rawbytes = j->header.index_size * sizeof(journal_rawpos_t);
-
+
p = j->rawindex;
for (i = 0; i < j->header.index_size; i++) {
encode_uint32(j->index[i].serial, p);
p += 4;
}
INSIST(p == j->rawindex + rawbytes);
-
+
CHECK(journal_write(j, j->index, rawbytes));
}
* We no longer have a transaction open.
*/
j->state = JOURNAL_STATE_WRITE;
-
+
result = ISC_R_SUCCESS;
failure:
isc_mem_put(j->mctx, j, sizeof(*j));
*journalp = NULL;
}
-
+
/*
* Roll the open journal 'j' into the database 'db'.
* A new database version will be created.
dns_diff_t diff;
unsigned int n_soa = 0;
unsigned int n_put = 0;
-
+
REQUIRE(DNS_JOURNAL_VALID(j));
REQUIRE(DNS_DB_VALID(db));
-
+
dns_diff_init(j->mctx, &diff);
-
+
/*
* Set up empty initial buffers for uncheched and checked
* wire format transaction data. They will be reallocated
isc_uint32_t ttl;
dns_rdata_t *rdata;
dns_difftuple_t *tuple = NULL;
-
+
name = NULL;
rdata = NULL;
dns_journal_current_rr(j, &name, &ttl, &rdata);
-
+
if (rdata->type == dns_rdatatype_soa)
n_soa++;
CHECK(dns_diff_apply(&diff, db, ver));
dns_diff_clear(&diff);
}
-
+
failure:
if (ver != NULL)
dns_db_closeversion(db, &ver, result == ISC_R_SUCCESS ?
isc_mem_put(j->mctx, target.base, target.length);
dns_diff_clear(&diff);
-
+
return (result);
}
REQUIRE(DNS_DB_VALID(db));
REQUIRE(filename != NULL);
-
+
j = NULL;
result = dns_journal_open(mctx, filename, ISC_FALSE, &j);
if (result == ISC_R_NOTFOUND) {
dns_diff_t diff;
unsigned int n_soa = 0;
unsigned int n_put = 0;
-
+
REQUIRE(filename != NULL);
j = NULL;
"journal open failure");
return (result);
}
-
+
dns_diff_init(j->mctx, &diff);
-
+
/*
* Set up empty initial buffers for uncheched and checked
* wire format transaction data. They will be reallocated
isc_uint32_t ttl;
dns_rdata_t *rdata;
dns_difftuple_t *tuple = NULL;
-
+
name = NULL;
rdata = NULL;
dns_journal_current_rr(j, &name, &ttl, &rdata);
-
+
if (rdata->type == dns_rdatatype_soa)
n_soa++;
dns_diff_clear(&diff);
}
goto cleanup;
-
+
failure:
isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR,
"%s: cannot print: journal file corrupt", j->filename);
dns_diff_clear(&diff);
dns_journal_destroy(&j);
-
+
return (result);
}
isc_uint32_t begin_serial, isc_uint32_t end_serial)
{
isc_result_t result;
-
- CHECK(journal_find(j, begin_serial, &j->it.bpos));
+
+ CHECK(journal_find(j, begin_serial, &j->it.bpos));
INSIST(j->it.bpos.serial == begin_serial);
- CHECK(journal_find(j, end_serial, &j->it.epos));
+ CHECK(journal_find(j, end_serial, &j->it.epos));
INSIST(j->it.epos.serial == end_serial);
result = ISC_R_SUCCESS;
dns_journal_first_rr(dns_journal_t *j) {
isc_result_t result;
- /*
- * Seek to the beginning of the first transaction we are
+ /*
+ * Seek to the beginning of the first transaction we are
* interested in.
*/
CHECK(journal_seek(j, j->it.bpos.offset));
j->it.xpos = 0; /* ...and haven't used any of it. */
return (read_one_rr(j));
-
+
failure:
return (result);
}
static isc_result_t
read_one_rr(dns_journal_t *j) {
isc_result_t result;
-
+
dns_rdatatype_t rdtype;
dns_rdataclass_t rdclass;
unsigned int rdlen;
"(%d bytes)", j->filename, rrhdr.size);
FAIL(ISC_R_UNEXPECTED);
}
-
+
CHECK(size_buffer(j->mctx, &j->it.source, rrhdr.size));
CHECK(journal_read(j, j->it.source.base, rrhdr.size));
isc_buffer_add(&j->it.source, rrhdr.size);
- /*
+ /*
* The target buffer is made the same size
* as the source buffer, with the assumption that when
* no compression in present, the output of dns_*_fromwire()
* is no larger than the input.
*/
CHECK(size_buffer(j->mctx, &j->it.target, rrhdr.size));
-
+
/*
* Parse the owner name. We don't know where it
* ends yet, so we make the entire "remaining"
* part of the buffer "active".
*/
- isc_buffer_setactive(&j->it.source,
+ isc_buffer_setactive(&j->it.source,
j->it.source.used - j->it.source.current);
CHECK(dns_name_fromwire(&j->it.name, &j->it.source,
&j->it.dctx, ISC_FALSE, &j->it.target));
*/
if (isc_buffer_remaininglength(&j->it.source) < 10)
FAIL(DNS_R_FORMERR);
-
+
rdtype = isc_buffer_getuint16(&j->it.source);
rdclass = isc_buffer_getuint16(&j->it.source);
ttl = isc_buffer_getuint32(&j->it.source);
/* XXX could do additional consistency checks here */
j->it.current_serial = dns_soa_getserial(&j->it.rdata);
}
-
+
result = ISC_R_SUCCESS;
failure:
result = dns_dbiterator_current(dbit, &node, name);
if (result != ISC_R_SUCCESS)
return (result);
-
+
result = dns_db_allrdatasets(db, node, ver, now, &rdsiter);
if (result != ISC_R_SUCCESS)
goto cleanup_node;
}
if (result != ISC_R_NOMORE)
goto cleanup_iterator;
-
+
result = ISC_R_SUCCESS;
cleanup_iterator:
p[1] = ISC_LIST_HEAD(diff[1].tuples);
if (p[0] == NULL && p[1] == NULL)
break;
-
+
for (i = 0; i < 2; i++)
if (p[!i] == NULL) {
ISC_LIST_UNLINK(diff[i].tuples, p[i], link);
db[0] = dba, db[1] = dbb;
ver[0] = dbvera, ver[1] = dbverb;
-
+
dns_diff_init(mctx, &diff[0]);
dns_diff_init(mctx, &diff[1]);
dns_diff_init(mctx, &resultdiff);
-
+
dns_fixedname_init(&fixname[0]);
dns_fixedname_init(&fixname[1]);
have[i] = ISC_TRUE;
}
}
-
+
if (! have[0] && ! have[1]) {
INSIST(ISC_LIST_EMPTY(diff[0].tuples));
INSIST(ISC_LIST_EMPTY(diff[1].tuples));
goto next;
}
}
-
+
t = dns_name_compare(dns_fixedname_name(&fixname[0]),
dns_fixedname_name(&fixname[1]));
if (t < 0) {
INSIST(ISC_LIST_EMPTY(diff[0].tuples));
INSIST(ISC_LIST_EMPTY(diff[1].tuples));
dns_diff_clear(&resultdiff);
-
+
failure:
dns_dbiterator_destroy(&dbit[0]);
dns_dbiterator_destroy(&dbit[1]);
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: keytable.c,v 1.20 2000/07/27 09:46:09 tale Exp $ */
+/* $Id: keytable.c,v 1.21 2000/08/01 01:22:26 tale Exp $ */
#include <config.h>
isc_uint32_t active_nodes;
/* Locked by rwlock. */
isc_uint32_t references;
- dns_rbt_t *table;
+ dns_rbt_t *table;
};
#define KEYTABLE_MAGIC 0x4b54626cU /* KTbl */
keytable = *keytablep;
RWLOCK(&keytable->rwlock, isc_rwlocktype_write);
-
+
INSIST(keytable->references > 0);
keytable->references--;
LOCK(&keytable->lock);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lib.c,v 1.6 2000/07/27 09:46:10 tale Exp $ */
+/* $Id: lib.c,v 1.7 2000/08/01 01:22:27 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: log.c,v 1.25 2000/07/27 09:46:11 tale Exp $ */
+/* $Id: log.c,v 1.26 2000/08/01 01:22:28 tale Exp $ */
/* Principal Authors: DCL */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: master.c,v 1.60 2000/07/30 20:28:07 bwelling Exp $ */
+/* $Id: master.c,v 1.61 2000/08/01 01:22:30 tale Exp $ */
#include <config.h>
*
* RDLSZ reflects the number of different types with the same name expected.
* RDSZ reflects the number of rdata expected at a give name that can fit into
- * 64k.
+ * 64k.
*/
#define RDLSZ 32
/*
* Target buffer size and minimum target size.
* MINTSIZ must be big enough to hold the largest rdata record.
- *
+ *
* TSIZ >= MINTSIZ
*/
#define TSIZ (128*1024)
* max message size - header - root - type - class - ttl - rdlen
*/
#define MINTSIZ (65535 - 12 - 1 - 2 - 2 - 4 - 2)
-/*
- * Size for tokens in the presentation format,
+/*
+ * Size for tokens in the presentation format,
* The largest tokens are the base64 blocks in KEY and CERT records,
- * Largest key allowed is about 1372 bytes but
+ * Largest key allowed is about 1372 bytes but
* there is no fixed upper bound on CERT records.
* 2K is too small for some X.509s, 8K is overkill.
*/
* Master file loading state that persists across $INCLUDEs.
*/
typedef struct {
- isc_boolean_t ttl_known;
+ isc_boolean_t ttl_known;
isc_boolean_t default_ttl_known;
isc_uint32_t ttl;
isc_uint32_t default_ttl;
ctx->default_ttl = 0;
ctx->warn_1035 = ISC_TRUE; /* XXX Argument? */
}
-
+
static isc_result_t
load(isc_lex_t *lex, dns_name_t *top, dns_name_t *origin,
dns_rdataclass_t zclass, isc_boolean_t age_ttl,
isc_boolean_t initialws;
char *include_file = NULL;
isc_token_t token;
- isc_result_t result = ISC_R_UNEXPECTED;
+ isc_result_t result = ISC_R_UNEXPECTED;
rdatalist_head_t glue_list;
rdatalist_head_t current_list;
dns_rdatalist_t *this;
if (ttl_offset != 0) {
(callbacks->error)(callbacks,
"%s: %s:%lu: $INCLUDE "
- "may not be used with $DATE",
+ "may not be used with $DATE",
"dns_master_load",
isc_lex_getsourcename(lex),
isc_lex_getsourceline(lex));
ttl_offset = current_time - dump_time;
read_till_eol = ISC_TRUE;
continue;
- } else if (strncasecmp(token.value.as_pointer,
+ } else if (strncasecmp(token.value.as_pointer,
"$", 1) == 0) {
- (callbacks->error)(callbacks,
- "%s: %s:%lu: "
+ (callbacks->error)(callbacks,
+ "%s: %s:%lu: "
"unknown $ directive '%s'",
"dns_master_load",
isc_lex_getsourcename(lex),
isc_lex_getsourcename(lex),
isc_lex_getsourceline(lex));
ctx->warn_1035 = ISC_FALSE;
- }
+ }
if (token.type != isc_tokentype_string) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
result = ISC_R_UNEXPECTED;
goto cleanup;
}
-
+
if (rdclass == 0 &&
dns_rdataclass_fromtext(&rdclass,
&token.value.as_textregion)
/*
* Adjust the TTL for $DATE. If the RR has already
* expired, ignore it without even parsing the rdata
- * part (good for performance, bad for catching
+ * part (good for performance, bad for catching
* syntax errors).
*/
if (ctx->ttl < ttl_offset) {
isc_lex_close(lex);
isc_lex_destroy(&lex);
}
- while ((this = ISC_LIST_HEAD(current_list)) != NULL)
+ while ((this = ISC_LIST_HEAD(current_list)) != NULL)
ISC_LIST_UNLINK(current_list, this, link);
- while ((this = ISC_LIST_HEAD(glue_list)) != NULL)
+ while ((this = ISC_LIST_HEAD(glue_list)) != NULL)
ISC_LIST_UNLINK(glue_list, this, link);
if (rdatalist != NULL)
isc_mem_put(mctx, rdatalist,
REQUIRE(buffer != NULL);
loadctx_init(&ctx);
-
+
result = isc_lex_create(mctx, TOKENSIZ, &lex);
if (result != ISC_R_SUCCESS)
return (result);
}
this = ISC_LIST_NEXT(this, link);
}
-
+
/*
* Copy glue relinking.
*/
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: masterdump.c,v 1.28 2000/07/27 09:46:13 tale Exp $ */
+/* $Id: masterdump.c,v 1.29 2000/08/01 01:22:31 tale Exp $ */
#include <config.h>
* define the formatting of the rdata part and are defined in
* rdata.h.
*/
-
+
/* Omit the owner name when possible. */
#define DNS_STYLEFLAG_OMIT_OWNER 0x00010000U
/*
- * Omit the TTL when possible. If DNS_STYLEFLAG_TTL is
+ * Omit the TTL when possible. If DNS_STYLEFLAG_TTL is
* also set, this means no TTLs are ever printed
* because $TTL directives are generated before every
- * change in the TTL. In this case, no columns need to
+ * change in the TTL. In this case, no columns need to
* be reserved for the TTL. Master files generated with
* these options will be rejected by BIND 4.x because it
* does not recognize the $TTL directive.
*
- * If DNS_STYLEFLAG_TTL is not also set, the TTL will be
+ * If DNS_STYLEFLAG_TTL is not also set, the TTL will be
* omitted when it is equal to the previous TTL.
- * This is correct according to RFC1035, but the
- * TTLs may be silently misinterpreted by older
+ * This is correct according to RFC1035, but the
+ * TTLs may be silently misinterpreted by older
* versions of BIND which use the SOA MINTTL as a
* default TTL value.
*/
*/
#define DNS_STYLEFLAG_REL_OWNER 0x00100000U
-/* Print domain names in RR data in relative form when possible.
+/* Print domain names in RR data in relative form when possible.
For this to take effect, DNS_STYLEFLAG_REL_OWNER must also be set. */
#define DNS_STYLEFLAG_REL_DATA 0x00200000U
/*
* The maximum length of the newline+indentation that is output
- * when inserting a line break in an RR. This effectively puts an
+ * when inserting a line break in an RR. This effectively puts an
* upper limits on the value of "rdata_column", because if it is
* very large, the tabs and spaces needed to reach it will not fit.
*/
* Because the TTL is always omitted, and the class is almost always
* omitted, neither is allocated any columns.
*/
-const dns_master_style_t
+const dns_master_style_t
dns_master_style_default = {
DNS_STYLEFLAG_OMIT_OWNER |
DNS_STYLEFLAG_OMIT_CLASS |
DNS_STYLEFLAG_TTL |
DNS_STYLEFLAG_COMMENT |
DNS_STYLEFLAG_MULTILINE,
- 24, 24, 24, 32, 80, 8
+ 24, 24, 24, 32, 80, 8
};
/*
* A style suitable for dns_rdataset_totext().
*/
-dns_master_style_t
+dns_master_style_t
dns_masterfile_style_debug = {
DNS_STYLEFLAG_REL_OWNER,
24, 32, 40, 48, 80, 8
/*
- * Output tabs and spaces to go from column '*current' to
+ * Output tabs and spaces to go from column '*current' to
* column 'to', and update '*current' to reflect the new
* current column.
*/
to = from + 1;
ntabs = to / tabwidth - from / tabwidth;
- if (ntabs < 0)
+ if (ntabs < 0)
ntabs = 0;
if (ntabs > 0) {
if (r.length < (unsigned) ntabs)
return (ISC_R_NOSPACE);
p = r.base;
-
+
t = ntabs;
while (t) {
int n = t;
return (ISC_R_NOSPACE);
p = r.base;
- t = nspaces;
+ t = nspaces;
while (t) {
int n = t;
if (n > N_SPACES)
p += n;
t -= n;
}
- isc_buffer_add(target, nspaces);
+ isc_buffer_add(target, nspaces);
*current = to;
return (ISC_R_SUCCESS);
static isc_result_t
totext_ctx_init(const dns_master_style_t *style, dns_totext_ctx_t *ctx) {
isc_result_t result;
-
+
REQUIRE(style->tab_width != 0);
ctx->style = *style;
ctx->class_printed = ISC_FALSE;
-
+
dns_fixedname_init(&ctx->origin_fixname);
/*
isc_buffer_init(&buf, ctx->linebreak_buf,
sizeof(ctx->linebreak_buf));
-
+
isc_buffer_availableregion(&buf, &r);
if (r.length < 1)
return (DNS_R_TEXTTOOLONG);
r.base[0] = '\n';
isc_buffer_add(&buf, 1);
- result = indent(&col, ctx->style.rdata_column,
+ result = indent(&col, ctx->style.rdata_column,
ctx->style.tab_width, &buf);
/*
* Do not return ISC_R_NOSPACE if the line break string
- * buffer is too small, because that would just make
- * dump_rdataset() retry indenfinitely with ever
+ * buffer is too small, because that would just make
+ * dump_rdataset() retry indenfinitely with ever
* bigger target buffers. That's a different buffer,
* so it won't help. Use DNS_R_TEXTTOOLONG as a substitute.
*/
return (DNS_R_TEXTTOOLONG);
if (result != ISC_R_SUCCESS)
return (result);
-
+
isc_buffer_availableregion(&buf, &r);
if (r.length < 1)
return (DNS_R_TEXTTOOLONG);
ctx->origin = NULL;
ctx->current_ttl = 0;
ctx->current_ttl_valid = ISC_FALSE;
-
+
return (ISC_R_SUCCESS);
}
isc_boolean_t first = ISC_TRUE;
isc_uint32_t current_ttl;
isc_boolean_t current_ttl_valid;
-
+
REQUIRE(DNS_RDATASET_VALID(rdataset));
-
+
result = dns_rdataset_first(rdataset);
REQUIRE(result == ISC_R_SUCCESS);
do {
column = 0;
-
+
/*
* Owner name.
*/
column += length;
/*
- * If the $TTL directive is not in use, the TTL we
+ * If the $TTL directive is not in use, the TTL we
* just printed becomes the default for subsequent RRs.
*/
if ((ctx->style.flags & DNS_STYLEFLAG_TTL) == 0) {
/*
* Rdata.
- */
+ */
{
dns_rdata_t rdata;
isc_region_t r;
/*
* Update the ctx state to reflect what we just printed.
- * This is done last, only when we are sure we will return
- * success, because this function may be called multiple
+ * This is done last, only when we are sure we will return
+ * success, because this function may be called multiple
* times with increasing buffer sizes until it succeeds,
- * and failed attempts must not update the state prematurely.
+ * and failed attempts must not update the state prematurely.
*/
ctx->class_printed = ISC_TRUE;
ctx->current_ttl= current_ttl;
/*
* Provide a backwards compatible interface for printing a
- * single rdataset or question section. This is now used
+ * single rdataset or question section. This is now used
* only by wire_test.c.
*/
isc_result_t
*/
if (dns_name_countlabels(owner_name) == 0)
owner_name = NULL;
-
+
if (no_rdata_or_ttl)
- return (question_totext(rdataset, owner_name, &ctx,
+ return (question_totext(rdataset, owner_name, &ctx,
omit_final_dot, target));
else
- return (rdataset_totext(rdataset, owner_name, &ctx,
+ return (rdataset_totext(rdataset, owner_name, &ctx,
omit_final_dot, target));
}
/*
* Print an rdataset. 'buffer' is a scratch buffer, which must have been
- * dynamically allocated by the caller. It must be large enough to
+ * dynamically allocated by the caller. It must be large enough to
* hold the result from dns_ttl_totext(). If more than that is needed,
* the buffer will be grown automatically.
*/
static isc_result_t
dump_rdataset(isc_mem_t *mctx, dns_name_t *name, dns_rdataset_t *rdataset,
- dns_totext_ctx_t *ctx,
+ dns_totext_ctx_t *ctx,
isc_buffer_t *buffer, FILE *f)
{
isc_region_t r;
isc_result_t result;
-
+
REQUIRE(buffer->length > 0);
/*
* Output a $TTL directive if needed.
*/
-
+
if ((ctx->style.flags & DNS_STYLEFLAG_TTL) != 0) {
if (ctx->current_ttl_valid == ISC_FALSE ||
ctx->current_ttl != rdataset->ttl)
ctx->current_ttl_valid = ISC_TRUE;
}
}
-
+
isc_buffer_clear(buffer);
/*
* Generate the text representation of the rdataset into
* the buffer. If the buffer is too small, grow it.
- */
+ */
for (;;) {
int newlength;
void *newmem;
isc_result_totext(result));
return (result);
}
-
+
return (ISC_R_SUCCESS);
}
* Dump all the rdatasets of a domain name to a master file.
*/
static isc_result_t
-dump_rdatasets(isc_mem_t *mctx, dns_name_t *name, dns_rdatasetiter_t *rdsiter,
+dump_rdatasets(isc_mem_t *mctx, dns_name_t *name, dns_rdatasetiter_t *rdsiter,
dns_totext_ctx_t *ctx,
isc_buffer_t *buffer, FILE *f)
{
isc_result_t result;
dns_rdataset_t rdataset;
-
+
dns_rdataset_init(&rdataset);
result = dns_rdatasetiter_first(rdsiter);
while (result == ISC_R_SUCCESS) {
/*
* Initial size of text conversion buffer. The buffer is used
- * for several purposes: converting origin names, rdatasets,
+ * for several purposes: converting origin names, rdatasets,
* $DATE timestamps, and comment strings for $TTL directives.
*
* When converting rdatasets, it is dynamically resized, but
- * when converting origins, timestamps, etc it is not. Therefore,
- * the initial size must large enough to hold the longest possible
+ * when converting origins, timestamps, etc it is not. Therefore,
+ * the initial size must large enough to hold the longest possible
* text representation of any domain name (for $ORIGIN).
*/
static const int initial_buffer_length = 1200;
bufmem = isc_mem_get(mctx, initial_buffer_length);
if (bufmem == NULL)
return (ISC_R_NOMEMORY);
-
+
isc_buffer_init(&buffer, bufmem, initial_buffer_length);
/*
* If the database has cache semantics, output an RFC2540
* $DATE directive so that the TTLs can be adjusted when
- * it is reloaded. For zones it is not really needed, and
+ * it is reloaded. For zones it is not really needed, and
* it would make the file incompatible with pre-RFC2540
* software, so we omit it in the zone case.
*/
}
result = dns_db_createiterator(db,
- ((ctx.style.flags & DNS_STYLEFLAG_REL_OWNER) != 0) ?
+ ((ctx.style.flags & DNS_STYLEFLAG_REL_OWNER) != 0) ?
ISC_TRUE : ISC_FALSE,
&dbiter);
if (result != ISC_R_SUCCESS)
goto iter_failure;
result = ISC_R_SUCCESS;
-
+
iter_failure:
dns_dbiterator_destroy(&dbiter);
-
+
create_iter_failure:
isc_mem_put(mctx, buffer.base, buffer.length);
return (result);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: message.c,v 1.137 2000/07/27 09:46:15 tale Exp $ */
+/* $Id: message.c,v 1.138 2000/08/01 01:22:32 tale Exp $ */
/***
*** Imports
* the const attribute of a string, for compilers that
* would warn about such things.
*/
- rdata->data = (unsigned char *)1;
+ rdata->data = (unsigned char *)1;
rdata->length = 0;
rdata->rdclass = rdclass;
rdata->type = rdtype;
* established a class. Do so now.
*/
if (msg->state == DNS_SECTION_ANY) {
- if ((msg->opcode != dns_opcode_update) &&
+ if ((msg->opcode != dns_opcode_update) &&
(rdclass == 0 || rdclass == dns_rdataclass_any)) {
result = DNS_R_FORMERR;
goto cleanup;
msg->rdclass = rdclass;
msg->state = DNS_SECTION_QUESTION;
}
-
+
/*
* If this class is different than the one in the question
* section, bail.
goto cleanup;
}
}
-
+
/*
* ... now get ttl and rdatalen, and check buffer.
*/
}
/*
- * Read the rdata from the wire format. Interpret the
+ * Read the rdata from the wire format. Interpret the
* rdata according to its actual class, even if it had a
* DynDNS meta-class in the packet (unless this is a TSIG).
* Then put the meta-class back into the finished rdata.
INSIST(free_name == ISC_FALSE);
INSIST(free_rdataset == ISC_FALSE);
}
-
+
return (ISC_R_SUCCESS);
cleanup:
REQUIRE(DNS_MESSAGE_VALID(msg));
REQUIRE(VALID_NAMED_SECTION(section));
REQUIRE(msg->cursors[section] != NULL);
-
+
msg->cursors[section] = ISC_LIST_NEXT(msg->cursors[section], link);
if (msg->cursors[section] == NULL)
*/
REQUIRE(DNS_MESSAGE_VALID(msg));
-
+
return (msg->opt);
}
result = dns_message_gettemprdata(msg, &rdata);
if (result != ISC_R_SUCCESS)
goto cleanup;
-
+
result = dns_message_gettemprdatalist(msg, &list);
if (result != ISC_R_SUCCESS)
goto cleanup;
result = dns_rdata_tostruct(&rdata, &sig, NULL);
if (result != ISC_R_SUCCESS)
return (result);
-
+
if (msg->verified_sig && msg->sig0status == dns_rcode_noerror)
result = ISC_R_SUCCESS;
else
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: name.c,v 1.99 2000/07/31 23:09:49 tale Exp $ */
+/* $Id: name.c,v 1.100 2000/08/01 01:22:33 tale Exp $ */
#include <config.h>
{
DNS_NAME_MAGIC,
root.const_ndata, 1, 1,
- DNS_NAMEATTR_READONLY | DNS_NAMEATTR_ABSOLUTE,
+ DNS_NAMEATTR_READONLY | DNS_NAMEATTR_ABSOLUTE,
root.const_offsets, NULL,
{(void *)-1, (void *)-1},
{NULL, NULL}
static inline unsigned int
get_bit(unsigned char *array, unsigned int idx) {
unsigned int byte, shift;
-
+
byte = array[idx / 8];
shift = 7 - (idx % 8);
static inline void
set_bit(unsigned char *array, unsigned int idx, unsigned int bit) {
unsigned int shift, mask;
-
+
shift = 7 - (idx % 8);
mask = 1 << shift;
REQUIRE(label->length > 0);
REQUIRE(label->base[0] <= 63 ||
label->base[0] == DNS_LABELTYPE_BITSTRING);
-
+
if (label->base[0] <= 63)
return (dns_labeltype_ordinary);
else
count = label->base[1];
if (count == 0)
count = 256;
-
+
return (count);
}
/*
* Initialize 'name'.
*/
-
+
name->magic = DNS_NAME_MAGIC;
name->ndata = NULL;
name->length = 0;
* compared the caller must ensure that they are both relative to the
* same domain.
*/
-
+
(void)dns_name_fullcompare(name1, name2, &order, &nlabels, &nbits);
return (order);
/*
* Make 'label' refer to the 'n'th least significant label of 'name'.
*/
-
+
REQUIRE(VALID_NAME(name));
REQUIRE(name->labels > 0);
REQUIRE(n < name->labels);
REQUIRE(label != NULL);
-
+
SETUP_OFFSETS(name, offsets, odata);
label->base = &name->ndata[offsets[n]];
}
REQUIRE(BINDABLE(name));
-
+
INIT_OFFSETS(name, offsets, odata);
offsets[0] = 0;
tbcount = 0;
bitlength = 0;
maxlength = 0;
- kind = ft_init;
+ kind = ft_init;
/*
* Make 'name' empty in case of failure.
state = ft_at;
break;
}
-
+
/* FALLTHROUGH */
case ft_start:
label = ndata;
}
if ((origin->attributes & DNS_NAMEATTR_ABSOLUTE) != 0)
name->attributes |= DNS_NAMEATTR_ABSOLUTE;
- }
+ }
} else
name->attributes |= DNS_NAMEATTR_ABSOLUTE;
"Unexpected label type %02x", count);
/* NOTREACHED */
}
-
+
/*
* The following assumes names are absolute. If not, we
* fix things up later. Note that this means that in some
unsigned char *sndata, *ndata;
unsigned int nlen, count, bytes, labels;
isc_buffer_t buffer;
-
+
/*
* Downcase 'source'.
*/
hops = 0;
saw_bitstring = ISC_FALSE;
done = ISC_FALSE;
-
+
ndata = isc_buffer_used(target);
nused = 0;
-
+
/*
* Find the maximum number of uncompressed target name
* bytes we are willing to generate. This is the smaller
nmax = isc_buffer_availablelength(target);
if (nmax > 255)
nmax = 255;
-
+
cdata = isc_buffer_current(source);
cused = 0;
-
+
current = source->current;
biggest_pointer = current;
isc_buffer_forward(source, cused);
isc_buffer_add(target, name->length);
-
+
return (ISC_R_SUCCESS);
full:
* big enough buffer.
*/
return (ISC_R_NOSPACE);
-
+
}
isc_result_t
dns_name_init(&downname, NULL);
isc_buffer_init(&buffer, data, sizeof(data));
-
+
result = dns_name_downcase(name, &downname, &buffer);
if (result != ISC_R_SUCCESS)
return (result);
-
+
isc_buffer_usedregion(&buffer, &r);
-
+
return ((digest)(arg, &r));
}
isc_buffer_t buf;
REQUIRE(size > 0);
-
+
/*
* Leave room for null termination after buffer.
*/
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ncache.c,v 1.20 2000/07/27 09:46:17 tale Exp $ */
+/* $Id: ncache.c,v 1.21 2000/08/01 01:22:35 tale Exp $ */
#include <config.h>
*/
rdlen = *target;
isc_buffer_add(target, 2);
-
+
/*
* Write the rdata.
*/
} while (remaining.length > 0);
*countp = count;
-
+
return (ISC_R_SUCCESS);
rollback:
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: nxt.c,v 1.19 2000/07/27 09:46:18 tale Exp $ */
+/* $Id: nxt.c,v 1.20 2000/08/01 01:22:36 tale Exp $ */
#include <config.h>
r.length += ((max_type + 7) / 8);
INSIST(r.length <= DNS_NXT_BUFFERSIZE);
- dns_rdata_fromregion(rdata,
+ dns_rdata_fromregion(rdata,
dns_db_class(db),
dns_rdatatype_nxt,
&r);
unsigned char data[DNS_NXT_BUFFERSIZE];
dns_rdatalist_t rdatalist;
dns_rdataset_t rdataset;
-
+
dns_rdataset_init(&rdataset);
result = dns_buildnxtrdata(db, version, node,
target, data, &rdata);
check_result(result, "dns_buildnxtrdata");
-
+
rdatalist.rdclass = dns_rdataclass_in;
rdatalist.type = dns_rdatatype_nxt;
rdatalist.covers = 0;
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: peer.c,v 1.9 2000/07/27 09:46:20 tale Exp $ */
+/* $Id: peer.c,v 1.10 2000/08/01 01:22:37 tale Exp $ */
#include <config.h>
isc_result_t
dns_peerlist_new(isc_mem_t *mem, dns_peerlist_t **list) {
dns_peerlist_t *l;
-
+
REQUIRE(list != NULL);
-
+
l = isc_mem_get(mem, sizeof *l);
if (l == NULL) {
return (ISC_R_NOMEMORY);
}
-
+
ISC_LIST_INIT(l->elements);
l->mem = mem;
l->refs = 1;
l->magic = DNS_PEERLIST_MAGIC;
-
+
*list = l;
-
+
return (ISC_R_SUCCESS);
}
REQUIRE(*target == NULL);
source->refs++;
-
+
ENSURE(source->refs != 0xffffffffU);
*target = source;
void
dns_peerlist_detach(dns_peerlist_t **list) {
dns_peerlist_t *plist;
-
+
REQUIRE(list != NULL);
REQUIRE(*list != NULL);
REQUIRE(DNS_PEERLIST_VALID(*list));
REQUIRE(list != NULL);
REQUIRE(DNS_PEERLIST_VALID(*list));
-
+
l = *list;
REQUIRE(l->refs == 0);
-
+
server = ISC_LIST_HEAD(l->elements);
while (server != NULL) {
stmp = ISC_LIST_NEXT(server, next);
if (r != ISC_R_SUCCESS) {
return (r);
}
-
+
server = stmp;
}
-
+
l->magic = 0;
isc_mem_put(l->mem, l, sizeof *l);
-
+
*list = NULL;
-
+
return (ISC_R_SUCCESS);
}
dns_peer_t *p = NULL;
dns_peer_attach(peer, &p);
-
+
ISC_LIST_APPEND(peers->elements, peer, next);
}
-
+
isc_result_t
dns_peerlist_peerbyaddr(dns_peerlist_t *servers,
isc_netaddr_t *addr, dns_peer_t **retval)
{
dns_peer_t *server;
isc_result_t res;
-
+
REQUIRE(retval != NULL);
REQUIRE(DNS_PEERLIST_VALID(servers));
-
+
server = ISC_LIST_HEAD(servers->elements);
while (server != NULL) {
if (isc_netaddr_equal(addr, &server->address)) {
break;
}
-
+
server = ISC_LIST_NEXT(server, next);
}
-
+
if (server != NULL) {
*retval = server;
res = ISC_R_SUCCESS;
} else {
res = ISC_R_NOTFOUND;
}
-
+
return (res);
}
return (ISC_R_SUCCESS);
}
-
+
isc_result_t
dns_peer_new(isc_mem_t *mem, isc_netaddr_t *addr, dns_peer_t **peerptr) {
dns_peer_t *peer;
-
+
REQUIRE(peerptr != NULL);
-
+
peer = isc_mem_get(mem, sizeof *peer);
if (peer == NULL) {
return (ISC_R_NOMEMORY);
}
-
+
peer->magic = DNS_PEER_MAGIC;
peer->address = *addr;
peer->mem = mem;
peer->provide_ixfr = ISC_FALSE;
peer->key = NULL;
peer->refs = 1;
-
+
memset(&peer->bitflags, 0x0, sizeof peer->bitflags);
-
+
ISC_LINK_INIT(peer, next);
-
+
*peerptr = peer;
-
+
return (ISC_R_SUCCESS);
}
REQUIRE(*target == NULL);
source->refs++;
-
+
ENSURE(source->refs != 0xffffffffU);
*target = source;
isc_result_t
dns_peer_detach(dns_peer_t **peer) {
dns_peer_t *p;
-
+
REQUIRE(peer != NULL);
REQUIRE(*peer != NULL);
REQUIRE(DNS_PEER_VALID(*peer));
dns_peer_delete(dns_peer_t **peer) {
dns_peer_t *p;
isc_mem_t *mem;
-
+
REQUIRE(peer != NULL);
REQUIRE(DNS_PEER_VALID(*peer));
-
+
p = *peer;
REQUIRE(p->refs == 0);
-
+
mem = p->mem;
p->mem = NULL;
p->magic = 0;
-
+
if (p->key != NULL) {
dns_name_free(p->key, mem);
isc_mem_put(mem, p->key, sizeof(dns_name_t));
}
-
+
isc_mem_put(mem, p, sizeof *p);
-
+
*peer = NULL;
-
+
return (ISC_R_SUCCESS);
}
isc_result_t
dns_peer_setbogus(dns_peer_t *peer, isc_boolean_t newval) {
isc_boolean_t existed;
-
+
REQUIRE(DNS_PEER_VALID(peer));
-
+
existed = DNS_BIT_CHECK(BOGUS_BIT, &peer->bitflags);
-
+
peer->bogus = newval;
DNS_BIT_SET(BOGUS_BIT, &peer->bitflags);
-
+
return (existed ? ISC_R_EXISTS : ISC_R_SUCCESS);
}
dns_peer_getbogus(dns_peer_t *peer, isc_boolean_t *retval) {
REQUIRE(DNS_PEER_VALID(peer));
REQUIRE(retval != NULL);
-
+
if (DNS_BIT_CHECK(BOGUS_BIT, &peer->bitflags)) {
*retval = peer->bogus;
return (ISC_R_SUCCESS);
isc_result_t
dns_peer_setprovideixfr(dns_peer_t *peer, isc_boolean_t newval) {
isc_boolean_t existed;
-
+
REQUIRE(DNS_PEER_VALID(peer));
-
+
existed = DNS_BIT_CHECK(PROVIDE_IXFR_BIT, &peer->bitflags);
-
+
peer->provide_ixfr = newval;
DNS_BIT_SET(PROVIDE_IXFR_BIT, &peer->bitflags);
-
+
return (existed ? ISC_R_EXISTS : ISC_R_SUCCESS);
}
dns_peer_getprovideixfr(dns_peer_t *peer, isc_boolean_t *retval) {
REQUIRE(DNS_PEER_VALID(peer));
REQUIRE(retval != NULL);
-
+
if (DNS_BIT_CHECK(PROVIDE_IXFR_BIT, &peer->bitflags)) {
*retval = peer->provide_ixfr;
return (ISC_R_SUCCESS);
isc_result_t
dns_peer_setrequestixfr(dns_peer_t *peer, isc_boolean_t newval) {
isc_boolean_t existed;
-
+
REQUIRE(DNS_PEER_VALID(peer));
-
+
existed = DNS_BIT_CHECK(REQUEST_IXFR_BIT, &peer->bitflags);
-
+
peer->request_ixfr = newval;
DNS_BIT_SET(REQUEST_IXFR_BIT, &peer->bitflags);
-
+
return (existed ? ISC_R_EXISTS : ISC_R_SUCCESS);
}
dns_peer_getrequestixfr(dns_peer_t *peer, isc_boolean_t *retval) {
REQUIRE(DNS_PEER_VALID(peer));
REQUIRE(retval != NULL);
-
+
if (DNS_BIT_CHECK(REQUEST_IXFR_BIT, &peer->bitflags)) {
*retval = peer->request_ixfr;
return (ISC_R_SUCCESS);
isc_result_t
dns_peer_settransfers(dns_peer_t *peer, isc_int32_t newval) {
isc_boolean_t existed;
-
+
REQUIRE(DNS_PEER_VALID(peer));
-
+
existed = DNS_BIT_CHECK(TRANSFERS_BIT, &peer->bitflags);
-
+
peer->transfers = newval;
DNS_BIT_SET(TRANSFERS_BIT, &peer->bitflags);
-
+
return (existed ? ISC_R_EXISTS : ISC_R_SUCCESS);
}
dns_peer_gettransfers(dns_peer_t *peer, isc_int32_t *retval) {
REQUIRE(DNS_PEER_VALID(peer));
REQUIRE(retval != NULL);
-
+
if (DNS_BIT_CHECK(TRANSFERS_BIT, &peer->bitflags)) {
*retval = peer->transfers;
return (ISC_R_SUCCESS);
isc_result_t
dns_peer_settransferformat(dns_peer_t *peer, dns_transfer_format_t newval) {
isc_boolean_t existed;
-
+
REQUIRE(DNS_PEER_VALID(peer));
-
+
existed = DNS_BIT_CHECK(SERVER_TRANSFER_FORMAT_BIT,
&peer->bitflags);
-
+
peer->transfer_format = newval;
DNS_BIT_SET(SERVER_TRANSFER_FORMAT_BIT, &peer->bitflags);
-
+
return (existed ? ISC_R_EXISTS : ISC_R_SUCCESS);
}
dns_peer_gettransferformat(dns_peer_t *peer, dns_transfer_format_t *retval) {
REQUIRE(DNS_PEER_VALID(peer));
REQUIRE(retval != NULL);
-
+
if (DNS_BIT_CHECK(SERVER_TRANSFER_FORMAT_BIT, &peer->bitflags)) {
*retval = peer->transfer_format;
return (ISC_R_SUCCESS);
if (peer->key != NULL) {
*retval = peer->key;
}
-
+
return (peer->key == NULL ? ISC_R_NOTFOUND : ISC_R_SUCCESS);
}
peer->key = *keyval;
*keyval = NULL;
-
+
return (exists ? ISC_R_EXISTS : ISC_R_SUCCESS);
}
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rbt.c,v 1.89 2000/07/31 23:27:24 tale Exp $ */
+/* $Id: rbt.c,v 1.90 2000/08/01 01:22:38 tale Exp $ */
/* Principal Authors: DCL */
* A little something to help out in GDB.
*/
dns_name_t Name(dns_rbtnode_t *node);
-dns_name_t
+dns_name_t
Name(dns_rbtnode_t *node) {
dns_name_t name;
do {
current = child;
- INSIST((IS_ROOT(current) &&
+ INSIST((IS_ROOT(current) &&
chain.ancestors[chain.ancestor_count - 1] == NULL) ||
(! IS_ROOT(current) &&
chain.ancestors[chain.ancestor_count - 1] ==
/*
* All of the existing labels are in common,
* so the new name is in a subtree.
- * Whack off the common labels for the
+ * Whack off the common labels for the
* not-in-common part to be searched for
* in the next level.
*/
if (result != ISC_R_SUCCESS)
break;
-
+
/*
* Follow the down pointer (possibly NULL).
*/
* XXX DCL need a better error result?
*/
if (chain.level_count ==
- (sizeof(chain.levels) /
+ (sizeof(chain.levels) /
sizeof(*chain.levels))) {
result = ISC_R_NOSPACE;
break;
if (result != ISC_R_SUCCESS)
break;
- /*
+ /*
* Reproduce the tree attributes of the
* current node.
*/
* result != ISC_R_SUCCESS, which
* is tested after the loop ends).
*/
- result = dns_name_split(add_name,
+ result = dns_name_split(add_name,
common_labels,
common_bits,
add_name,
NULL);
-
+
break;
}
REQUIRE((options & (DNS_RBTFIND_NOEXACT | DNS_RBTFIND_NOPREDECESSOR))
!= (DNS_RBTFIND_NOEXACT | DNS_RBTFIND_NOPREDECESSOR));
- /*
+ /*
* If there is a chain it needs to appear to be in a sane state,
* otherwise a chain is still needed to generate foundname and
* callback_name.
*data = DATA(node);
else
result = ISC_R_NOTFOUND;
-
+
return (result);
}
}
}
- /*
+ /*
* Note the node that points to the level of the node that is being
* deleted. If the deleted node is the top level, parent will be set
* to NULL.
labels = dns_name_countlabels(name);
ENSURE(labels > 0);
- /*
+ /*
* Allocate space for the node structure, the name, and the offsets.
*/
node = (dns_rbtnode_t *)isc_mem_get(mctx, sizeof(*node) +
region.length + labels);
-
+
if (node == NULL)
return (ISC_R_NOMEMORY);
MAKE_RED(node);
depth = chain->ancestor_count - 1;
-
+
while (node != root && IS_RED(chain->ancestors[depth])) {
INSIST(depth > 0);
* Verify that the parent history is (apparently) correct.
*/
INSIST((IS_ROOT(delete) && *rootp == delete) ||
- (! IS_ROOT(delete) &&
+ (! IS_ROOT(delete) &&
(LEFT(PARENT(delete)) == delete ||
RIGHT(PARENT(delete)) == delete)));
*rootp = child;
IS_ROOT(child) = ISC_TRUE;
PARENT(child) = PARENT(delete);
- }
+ }
/*
* Fix color violations.
break;
}
}
- }
+ }
if (predecessor != NULL) {
if (DOWN(predecessor) != NULL) {
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rbtdb.c,v 1.112 2000/07/27 09:46:22 tale Exp $ */
+/* $Id: rbtdb.c,v 1.113 2000/08/01 01:22:39 tale Exp $ */
/*
* Principal Author: Bob Halley
maybe_free_rbtdb(dns_rbtdb_t *rbtdb, isc_boolean_t set_exiting) {
isc_boolean_t want_free = ISC_TRUE;
unsigned int i;
-
+
/* XXX check for open versions here */
/*
version->commit_ok = ISC_FALSE;
ISC_LIST_INIT(version->changed_list);
ISC_LINK_INIT(version, link);
-
+
return (version);
}
rbtdb_changed_t *changed, *next_changed;
rbtdb_serial_t serial, least_serial;
dns_rbtnode_t *rbtnode;
-
+
REQUIRE(VALID_RBTDB(rbtdb));
version = (rbtdb_version_t *)*versionp;
* count by one before storing it.
*/
count--;
- rdataset->private4 = (void *)count;
+ rdataset->private4 = (void *)count;
rdataset->private5 = raw;
}
}
active = ISC_TRUE;
else
active = ISC_FALSE;
-
+
if (node->wild)
wild = ISC_TRUE;
else
break;
}
}
-
+
if (active) {
/*
* The level node is active. Any wildcarding
result = dns_name_concatenate(name, NULL,
foundname, NULL);
if (result != ISC_R_SUCCESS)
- goto tree_exit;
+ goto tree_exit;
wild = ISC_TRUE;
goto found;
}
*/
LOCK(&(search.rbtdb->node_locks[node->locknum].lock));
-
+
found = NULL;
foundsig = NULL;
sigtype = RBTDB_RDATATYPE_VALUE(dns_rdatatype_sig, type);
node_exit:
UNLOCK(&(search.rbtdb->node_locks[node->locknum].lock));
-
+
tree_exit:
RWUNLOCK(&search.rbtdb->tree_lock, isc_rwlocktype_read);
(void)name;
LOCK(&(search->rbtdb->node_locks[node->locknum].lock));
-
+
/*
* Look for a DNAME rdataset.
*/
done = ISC_FALSE;
do {
LOCK(&(rbtdb->node_locks[node->locknum].lock));
-
+
/*
* Look for NS and SIG NS rdatasets.
*/
*/
LOCK(&(search.rbtdb->node_locks[node->locknum].lock));
-
+
found = NULL;
foundsig = NULL;
sigtype = RBTDB_RDATATYPE_VALUE(dns_rdatatype_sig, type);
node_exit:
UNLOCK(&(search.rbtdb->node_locks[node->locknum].lock));
-
+
tree_exit:
RWUNLOCK(&search.rbtdb->tree_lock, isc_rwlocktype_read);
*/
LOCK(&(search.rbtdb->node_locks[node->locknum].lock));
-
+
found = NULL;
foundsig = NULL;
header_prev = NULL;
*/
UNLOCK(&(search.rbtdb->node_locks[node->locknum].lock));
goto find_ns;
- }
+ }
if (nodep != NULL) {
new_reference(search.rbtdb, node);
sigrdataset);
UNLOCK(&(search.rbtdb->node_locks[node->locknum].lock));
-
+
tree_exit:
RWUNLOCK(&search.rbtdb->tree_lock, isc_rwlocktype_read);
iterator->common.now = now;
LOCK(&rbtdb->node_locks[rbtnode->locknum].lock);
-
+
INSIST(rbtnode->references > 0);
rbtnode->references++;
INSIST(rbtnode->references != 0);
addedrdataset);
return (DNS_R_UNCHANGED);
}
-
+
/*
* Don't merge if a nonexistent rdataset is involved.
*/
else
return (ISC_FALSE);
} else if (type == dns_rdatatype_dname ||
- (type == dns_rdatatype_ns &&
+ (type == dns_rdatatype_ns &&
(node != rbtdb->origin_node || IS_STUB(rbtdb))))
return (ISC_TRUE);
return (ISC_FALSE);
RWLOCK(&rbtdb->tree_lock, isc_rwlocktype_write);
} else
delegating = ISC_FALSE;
-
+
LOCK(&rbtdb->node_locks[rbtnode->locknum].lock);
result = add(rbtdb, rbtnode, rbtversion, newheader, options, ISC_FALSE,
beginload(dns_db_t *db, dns_addrdatasetfunc_t *addp, dns_dbload_t **dbloadp) {
rbtdb_load_t *loadctx;
dns_rbtdb_t *rbtdb;
-
+
rbtdb = (dns_rbtdb_t *)db;
REQUIRE(VALID_RBTDB(rbtdb));
rbtdb->attributes |= RBTDB_ATTR_LOADED;
UNLOCK(&rbtdb->lock);
-
+
/*
* If there's a NXT rdataset at the zone origin, we consider
* the zone secure.
for (header = rbtdb->origin_node->data;
header != NULL;
header = header->next) {
- if (header->type == dns_rdatatype_nxt &&
+ if (header->type == dns_rdatatype_nxt &&
!IGNORE(header))
{
rbtdb->secure = ISC_TRUE;
REQUIRE(VALID_RBTDB(rbtdb));
- return (dns_master_dump(rbtdb->common.mctx, db, version,
+ return (dns_master_dump(rbtdb->common.mctx, db, version,
&dns_master_style_default,
filename));
}
if (rbtdb->node_lock_count == 0)
rbtdb->node_lock_count = DEFAULT_NODE_LOCK_COUNT;
- rbtdb->node_locks = isc_mem_get(mctx, rbtdb->node_lock_count *
+ rbtdb->node_locks = isc_mem_get(mctx, rbtdb->node_lock_count *
sizeof (rbtdb_nodelock_t));
for (i = 0; i < (int)(rbtdb->node_lock_count); i++) {
result = isc_mutex_init(&rbtdb->node_locks[i].lock);
i--;
}
isc_mem_put(mctx, rbtdb->node_locks,
- rbtdb->node_lock_count *
+ rbtdb->node_lock_count *
sizeof (rbtdb_nodelock_t));
isc_rwlock_destroy(&rbtdb->tree_lock);
isc_mutex_destroy(&rbtdb->lock);
ISC_LIST_INIT(rbtdb->open_versions);
isc_ondestroy_init(&rbtdb->common.ondest);
-
+
rbtdb->common.magic = DNS_DB_MAGIC;
rbtdb->common.impmagic = RBTDB_MAGIC;
detachnode(rbtiterator->common.db, &rbtiterator->common.node);
isc_mem_put(rbtiterator->common.db->mctx, rbtiterator,
sizeof *rbtiterator);
-
+
*iteratorp = NULL;
}
header = rbtiterator->current;
REQUIRE(header != NULL);
-
+
LOCK(&rbtdb->node_locks[rbtnode->locknum].lock);
bind_rdataset(rbtdb, rbtnode, header, rbtiterator->common.now,
rbtdb_dbiterator_t *rbtdbiter = (rbtdb_dbiterator_t *)iterator;
dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)iterator->db;
dns_name_t *name, *origin;
-
+
if (rbtdbiter->result != ISC_R_SUCCESS &&
rbtdbiter->result != ISC_R_NOMORE)
return (rbtdbiter->result);
rbtdb_dbiterator_t *rbtdbiter = (rbtdb_dbiterator_t *)iterator;
dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)iterator->db;
dns_name_t *name, *origin;
-
+
if (rbtdbiter->result != ISC_R_SUCCESS &&
rbtdbiter->result != ISC_R_NOMORE)
return (rbtdbiter->result);
rbtdb_dbiterator_t *rbtdbiter = (rbtdb_dbiterator_t *)iterator;
dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)iterator->db;
dns_name_t *iname, *origin;
-
+
if (rbtdbiter->result != ISC_R_SUCCESS &&
rbtdbiter->result != ISC_R_NOMORE)
return (rbtdbiter->result);
result = DNS_R_NEWORIGIN;
} else
result = ISC_R_SUCCESS;
-
+
LOCK(&rbtdb->node_locks[node->locknum].lock);
new_reference(rbtdb, node);
UNLOCK(&rbtdb->node_locks[node->locknum].lock);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rbtdb.h,v 1.10 2000/07/27 09:46:23 tale Exp $ */
+/* $Id: rbtdb.h,v 1.11 2000/08/01 01:22:41 tale Exp $ */
#ifndef DNS_RBTDB_H
#define DNS_RBTDB_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rbtdb64.c,v 1.4 2000/07/27 09:46:25 tale Exp $ */
+/* $Id: rbtdb64.c,v 1.5 2000/08/01 01:22:42 tale Exp $ */
#define DNS_RBTDB_VERSION64 1
#include "rbtdb.c"
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rbtdb64.h,v 1.9 2000/07/27 09:46:26 tale Exp $ */
+/* $Id: rbtdb64.h,v 1.10 2000/08/01 01:22:43 tale Exp $ */
#ifndef DNS_RBTDB64_H
#define DNS_RBTDB64_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdata.c,v 1.104 2000/07/27 09:46:27 tale Exp $ */
+/* $Id: rdata.c,v 1.105 2000/08/01 01:22:44 tale Exp $ */
#include <config.h>
#include <ctype.h>
#define ARGS_DIGEST dns_rdata_t *rdata, dns_digestfunc_t digest, void *arg
/*
- * Context structure for the totext_ functions.
+ * Context structure for the totext_ functions.
* Contains formatting options for rdata-to-text
* conversion.
*/
{ "SIG13", 0x000D, 0x000F },
{ "SIG14", 0x000E, 0x000F },
{ "SIG15", 0x000F, 0x000F },
- { NULL, 0, 0 }
+ { NULL, 0, 0 }
};
/***
dns_rdata_fromregion(dns_rdata_t *rdata, dns_rdataclass_t rdclass,
dns_rdatatype_t type, isc_region_t *r)
{
-
+
REQUIRE(rdata != NULL);
REQUIRE(r != NULL);
st = *target;
TOWIRESWITCH
-
+
if (use_default) {
isc_buffer_availableregion(target, &tr);
- if (tr.length < rdata->length)
+ if (tr.length < rdata->length)
return (ISC_R_NOSPACE);
memcpy(tr.base, rdata->data, rdata->length);
isc_buffer_add(target, rdata->length);
{
isc_result_t result = ISC_R_NOTIMPLEMENTED;
isc_boolean_t use_default = ISC_FALSE;
-
+
REQUIRE(rdata != NULL);
REQUIRE(tctx->origin == NULL ||
dns_name_isabsolute(tctx->origin) == ISC_TRUE);
return (typeattr[type].flags);
}
-#define NUMBERSIZE sizeof("037777777777") /* 2^32-1 octal + NUL */
+#define NUMBERSIZE sizeof("037777777777") /* 2^32-1 octal + NUL */
static isc_result_t
dns_mnemonic_fromtext(unsigned int *valuep, isc_textregion_t *source,
*/
strncpy(buffer, source->base, NUMBERSIZE);
INSIST(buffer[source->length] == '\0');
-
+
n = strtoul(buffer, &e, 10);
if (*e == 0) {
if (n > max)
* It was not a number after all; fall through.
*/
}
-
+
for (i = 0; table[i].name != NULL; i++) {
- unsigned int n;
+ unsigned int n;
n = strlen(table[i].name);
if (n == source->length &&
strncasecmp(source->base, table[i].name, n) == 0) {
isc_result_t
dns_rcode_totext(dns_rcode_t rcode, isc_buffer_t *target) {
- return (dns_mnemonic_totext(rcode, target, rcodes));
+ return (dns_mnemonic_totext(rcode, target, rcodes));
}
isc_result_t
isc_result_t
dns_tsigrcode_totext(dns_rcode_t rcode, isc_buffer_t *target) {
- return (dns_mnemonic_totext(rcode, target, tsigrcodes));
+ return (dns_mnemonic_totext(rcode, target, tsigrcodes));
}
isc_result_t
RETERR(dns_mnemonic_fromtext(&value, source, certs, 0xffff));
*certp = value;
return (ISC_R_SUCCESS);
-}
+}
isc_result_t
dns_cert_totext(dns_cert_t cert, isc_buffer_t *target) {
- return (dns_mnemonic_totext(cert, target, certs));
+ return (dns_mnemonic_totext(cert, target, certs));
}
isc_result_t
*/
strncpy(buffer, source->base, NUMBERSIZE);
INSIST(buffer[source->length] == '\0');
-
+
n = strtoul(buffer, &e, 0); /* Allow hex/octal. */
if (*e == 0) {
if (n > 0xffff)
/* It was not a number after all; fall through. */
}
- text = source->base;
+ text = source->base;
end = source->base + source->length;
value = mask = 0;
-
+
while (text < end) {
struct keyflag *p;
unsigned int len;
if ((mask & p->mask) != 0)
warn("overlapping key flags");
#endif
- mask |= p->mask;
+ mask |= p->mask;
text += len;
if (delim != NULL)
text++; /* Skip "|" */
continue;
}
escape = ISC_FALSE;
- if (nrem == 0)
+ if (nrem == 0)
return (ISC_R_NOSPACE);
*t++ = c;
nrem--;
n = *sregion.base + 1;
if (n > sregion.length)
return (ISC_R_UNEXPECTEDEND);
-
+
isc_buffer_availableregion(target, &tregion);
if (n > tregion.length)
return (ISC_R_NOSPACE);
l1 = dns_name_countlabels(name);
l2 = dns_name_countlabels(origin);
-
+
if (l1 == l2)
goto return_false;
static isc_uint32_t
uint32_fromregion(isc_region_t *region) {
unsigned long value;
-
+
REQUIRE(region->length >= 4);
value = region->base[0] << 24;
value |= region->base[1] << 16;
static isc_uint16_t
uint16_fromregion(isc_region_t *region) {
-
+
REQUIRE(region->length >= 2);
return ((region->base[0] << 8) | region->base[1]);
static isc_uint8_t
uint8_fromregion(isc_region_t *region) {
-
+
REQUIRE(region->length >= 1);
return (region->base[0]);
unsigned int options = ISC_LEXOPT_EOL | ISC_LEXOPT_EOF |
ISC_LEXOPT_DNSMULTILINE | ISC_LEXOPT_ESCAPE;
isc_result_t result;
-
+
if (expect == isc_tokentype_qstring)
options |= ISC_LEXOPT_QSTRING;
else if (expect == isc_tokentype_number)
isc_result_totext(result));
return (ISC_R_UNEXPECTED);
}
- if (eol && ((token->type == isc_tokentype_eol) ||
+ if (eol && ((token->type == isc_tokentype_eol) ||
(token->type == isc_tokentype_eof)))
return (ISC_R_SUCCESS);
if (token->type == isc_tokentype_string &&
static isc_result_t byte_btoa(int c, isc_buffer_t *, struct state *state);
/*
- * Decode ASCII-encoded byte c into binary representation and
+ * Decode ASCII-encoded byte c into binary representation and
* place into *bufp, advancing bufp.
*/
static isc_result_t
} else {
register int tmp = 0;
register isc_int32_t tmpword = word;
-
- if (tmpword < 0) {
+
+ if (tmpword < 0) {
/*
* Because some don't support u_long.
*/
Ceor = Csum = Crot = word = bcount = 0;
for (inc = 0; inc < inbuflen; inbuf++, inc++)
RETERR(byte_btoa(*inbuf, target, state));
-
+
while (bcount != 0)
RETERR(byte_btoa(0, target, state));
-
+
/*
* Put byte count and checksum information at end of buffer,
* delimited by 'x'
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tsig_250.c,v 1.42 2000/07/27 09:48:46 tale Exp $ */
+/* $Id: tsig_250.c,v 1.43 2000/08/01 01:25:04 tale Exp $ */
/* Reviewed: Thu Mar 16 13:39:43 PST 2000 by gson */
totext_any_tsig(ARGS_TOTEXT) {
isc_region_t sr;
isc_region_t sigr;
- char buf[sizeof "281474976710655 "];
+ char buf[sizeof "281474976710655 "];
char *bufp;
dns_name_t name;
dns_name_t prefix;
REQUIRE(n <= sr.length);
sigr = sr;
sigr.length = n;
- if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0)
+ if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0)
RETERR(str_totext(" (", target));
RETERR(str_totext(tctx->linebreak, target));
- RETERR(isc_base64_totext(&sigr, tctx->width - 2,
+ RETERR(isc_base64_totext(&sigr, tctx->width - 2,
tctx->linebreak, target));
if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0)
RETERR(str_totext(" ) ", target));
else
- RETERR(str_totext(" ", target));
+ RETERR(str_totext(" ", target));
isc_region_consume(&sr, n);
/*
REQUIRE(type == 250);
REQUIRE(rdclass == 255);
-
+
dns_decompress_setmethods(dctx, DNS_COMPRESS_NONE);
/*
REQUIRE(rdata1->rdclass == rdata2->rdclass);
REQUIRE(rdata1->type == 250);
REQUIRE(rdata1->rdclass == 255);
-
+
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
dns_name_init(&name1, NULL);
REQUIRE(rdata->type == 250);
REQUIRE(rdata->rdclass == 255);
-
+
tsig = (dns_rdata_any_tsig_t *) target;
tsig->common.rdclass = rdata->rdclass;
tsig->common.rdtype = rdata->type;
dns_name_fromregion(&alg, &sr);
dns_name_init(&tsig->algorithm, NULL);
RETERR(name_duporclone(&alg, mctx, &tsig->algorithm));
-
+
isc_region_consume(&sr, name_length(&tsig->algorithm));
/*
cleanup:
if (mctx != NULL)
- dns_name_free(&tsig->algorithm, tsig->mctx);
+ dns_name_free(&tsig->algorithm, tsig->mctx);
if (mctx != NULL && tsig->signature != NULL)
isc_mem_free(mctx, tsig->signature);
return (ISC_R_NOMEMORY);
if (tsig->mctx == NULL)
return;
- dns_name_free(&tsig->algorithm, tsig->mctx);
+ dns_name_free(&tsig->algorithm, tsig->mctx);
if (tsig->signature != NULL)
isc_mem_free(tsig->mctx, tsig->signature);
if (tsig->other != NULL)
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tsig_250.h,v 1.18 2000/07/27 09:48:47 tale Exp $ */
+/* $Id: tsig_250.h,v 1.19 2000/08/01 01:25:05 tale Exp $ */
/* RFC 2845 */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: afsdb_18.c,v 1.30 2000/07/27 09:48:48 tale Exp $ */
+/* $Id: afsdb_18.c,v 1.31 2000/08/01 01:25:06 tale Exp $ */
/* Reviewed: Wed Mar 15 14:59:00 PST 2000 by explorer */
if (token.value.as_ulong > 0xffff)
return (ISC_R_RANGE);
RETERR(uint16_tobuffer(token.value.as_ulong, target));
-
+
/*
* Hostname.
*/
UNUSED(rdclass);
REQUIRE(type == 18);
-
+
dns_decompress_setmethods(dctx, DNS_COMPRESS_NONE);
dns_name_init(&name, NULL);
REQUIRE(source != NULL);
REQUIRE(afsdb->common.rdclass == rdclass);
REQUIRE(afsdb->common.rdtype == type);
-
+
RETERR(uint16_tobuffer(afsdb->subtype, target));
dns_name_toregion(&afsdb->server, ®ion);
return (isc_buffer_copyregion(target, ®ion));
/*
* Copyright (C) 1999, 2000 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
#ifndef GENERIC_AFSDB_18_H
#define GENERIC_AFSDB_18_H 1
-/* $Id: afsdb_18.h,v 1.13 2000/07/27 09:48:50 tale Exp $ */
+/* $Id: afsdb_18.h,v 1.14 2000/08/01 01:25:07 tale Exp $ */
/* RFC 1183 */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: cert_37.c,v 1.31 2000/07/27 09:48:51 tale Exp $ */
+/* $Id: cert_37.c,v 1.32 2000/08/01 01:25:08 tale Exp $ */
/* Reviewed: Wed Mar 15 21:14:32 EST 2000 by tale */
RETERR(gettoken(lexer, &token, isc_tokentype_string, ISC_FALSE));
RETERR(dns_cert_fromtext(&cert, &token.value.as_textregion));
RETERR(uint16_tobuffer(cert, target));
-
+
/*
* Key tag.
*/
isc_region_t sr;
REQUIRE(type == 37);
-
+
UNUSED(rdclass);
UNUSED(dctx);
UNUSED(downcase);
REQUIRE(source != NULL);
REQUIRE(cert->common.rdtype == type);
REQUIRE(cert->common.rdclass == rdclass);
-
+
RETERR(uint16_tobuffer(cert->type, target));
RETERR(uint16_tobuffer(cert->key_tag, target));
RETERR(uint8_tobuffer(cert->algorithm, target));
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: cert_37.h,v 1.13 2000/07/27 09:48:52 tale Exp $ */
+/* $Id: cert_37.h,v 1.14 2000/08/01 01:25:09 tale Exp $ */
/* RFC 2538 */
#ifndef GENERIC_CERT_37_H
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: cname_5.c,v 1.34 2000/07/27 09:48:53 tale Exp $ */
+/* $Id: cname_5.c,v 1.35 2000/08/01 01:25:10 tale Exp $ */
/* reviewed: Wed Mar 15 16:48:45 PST 2000 by brister */
REQUIRE(type == 5);
UNUSED(rdclass);
-
+
RETERR(gettoken(lexer, &token, isc_tokentype_string, ISC_FALSE));
-
+
dns_name_init(&name, NULL);
buffer_fromregion(&buffer, &token.value.as_region);
origin = (origin != NULL) ? origin : dns_rootname;
isc_region_t region;
dns_rdata_cname_t *cname = target;
dns_name_t name;
-
+
REQUIRE(rdata->type == 5);
REQUIRE(target != NULL);
UNUSED(rdata);
UNUSED(add);
UNUSED(arg);
-
+
REQUIRE(rdata->type == 5);
return (ISC_R_SUCCESS);
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: cname_5.h,v 1.21 2000/07/27 09:48:54 tale Exp $ */
+/* $Id: cname_5.h,v 1.22 2000/08/01 01:25:11 tale Exp $ */
#ifndef GENERIC_CNAME_5_H
#define GENERIC_CNAME_5_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dname_39.c,v 1.24 2000/07/27 09:48:55 tale Exp $ */
+/* $Id: dname_39.c,v 1.25 2000/08/01 01:25:13 tale Exp $ */
/* Reviewed: Wed Mar 15 16:52:38 PST 2000 by explorer */
UNUSED(rdclass);
REQUIRE(type == 39);
-
+
RETERR(gettoken(lexer, &token, isc_tokentype_string, ISC_FALSE));
-
+
dns_name_init(&name, NULL);
buffer_fromregion(&buffer, &token.value.as_region);
origin = (origin != NULL) ? origin : dns_rootname;
REQUIRE(source != NULL);
REQUIRE(dname->common.rdtype == 39);
-
+
if (dname->mctx == NULL)
return;
/*
* Copyright (C) 1999, 2000 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
#ifndef GENERIC_DNAME_39_H
#define GENERIC_DNAME_39_H 1
-/* $Id: dname_39.h,v 1.13 2000/07/27 09:48:56 tale Exp $ */
+/* $Id: dname_39.h,v 1.14 2000/08/01 01:25:14 tale Exp $ */
/* draft-ietf-dnsind-dname-02.txt */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: gpos_27.c,v 1.23 2000/07/27 09:48:58 tale Exp $ */
+/* $Id: gpos_27.c,v 1.24 2000/08/01 01:25:15 tale Exp $ */
/* reviewed: Wed Mar 15 16:48:45 PST 2000 by brister */
compare_gpos(ARGS_COMPARE) {
isc_region_t r1;
isc_region_t r2;
-
+
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
REQUIRE(rdata1->type == 27);
mem_maybedup(mctx, region.base, gpos->alt_len);
if (gpos->altitude == NULL)
goto cleanup_latitude;
- } else
+ } else
gpos->altitude = NULL;
gpos->mctx = mctx;
/*
* Copyright (C) 1999, 2000 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
#ifndef GENERIC_GPOS_27_H
#define GENERIC_GPOS_27_H 1
-/* $Id: gpos_27.h,v 1.10 2000/07/27 09:48:59 tale Exp $ */
+/* $Id: gpos_27.h,v 1.11 2000/08/01 01:25:16 tale Exp $ */
/* RFC 1712 */
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: hinfo_13.c,v 1.28 2000/07/27 09:49:00 tale Exp $ */
+/* $Id: hinfo_13.c,v 1.29 2000/08/01 01:25:17 tale Exp $ */
/*
* Reviewed: Wed Mar 15 16:47:10 PST 2000 by halley.
compare_hinfo(ARGS_COMPARE) {
isc_region_t r1;
isc_region_t r2;
-
+
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
REQUIRE(rdata1->type == 13);
/*
* Copyright (C) 1998-2000 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
#ifndef GENERIC_HINFO_13_H
#define GENERIC_HINFO_13_H 1
-/* $Id: hinfo_13.h,v 1.20 2000/07/27 09:49:01 tale Exp $ */
+/* $Id: hinfo_13.h,v 1.21 2000/08/01 01:25:18 tale Exp $ */
typedef struct dns_rdata_hinfo {
dns_rdatacommon_t common;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: isdn_20.c,v 1.21 2000/07/27 09:49:02 tale Exp $ */
+/* $Id: isdn_20.c,v 1.22 2000/08/01 01:25:19 tale Exp $ */
/* Reviewed: Wed Mar 15 16:53:11 PST 2000 by bwelling */
compare_isdn(ARGS_COMPARE) {
isc_region_t r1;
isc_region_t r2;
-
+
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
REQUIRE(rdata1->type == 20);
dns_rdata_isdn_t *isdn = source;
REQUIRE(source != NULL);
-
+
if (isdn->mctx == NULL)
return;
/*
* Copyright (C) 1999, 2000 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
#ifndef GENERIC_ISDN_20_H
#define GENERIC_ISDN_20_H 1
-/* $Id: isdn_20.h,v 1.11 2000/07/27 09:49:03 tale Exp $ */
+/* $Id: isdn_20.h,v 1.12 2000/08/01 01:25:20 tale Exp $ */
/* RFC 1183 */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: key_25.c,v 1.28 2000/07/31 19:47:21 bwelling Exp $ */
+/* $Id: key_25.c,v 1.29 2000/08/01 01:25:22 tale Exp $ */
/*
* Reviewed: Wed Mar 15 16:47:10 PST 2000 by halley.
RETERR(dns_secproto_fromtext(&proto, &token.value.as_textregion));
RETERR(mem_tobuffer(target, &proto, 1));
- /* algorithm */
+ /* algorithm */
RETERR(gettoken(lexer, &token, isc_tokentype_string, ISC_FALSE));
RETERR(dns_secalg_fromtext(&alg, &token.value.as_textregion));
RETERR(mem_tobuffer(target, &alg, 1));
-
+
/* No Key? */
if ((flags & 0xc000) == 0xc000)
return (ISC_R_SUCCESS);
/*
* Copyright (C) 1999, 2000 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
#ifndef GENERIC_KEY_25_H
#define GENERIC_KEY_25_H 1
-/* $Id: key_25.h,v 1.12 2000/07/27 09:49:05 tale Exp $ */
+/* $Id: key_25.h,v 1.13 2000/08/01 01:25:23 tale Exp $ */
/* RFC 2535 */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: loc_29.c,v 1.22 2000/07/27 09:49:06 tale Exp $ */
+/* $Id: loc_29.c,v 1.23 2000/08/01 01:25:24 tale Exp $ */
/* Reviewed: Wed Mar 15 18:13:09 PST 2000 by explorer */
UNUSED(downcase);
REQUIRE(type == 29);
-
+
/*
* Defaults.
*/
return (ISC_R_RANGE);
if (d2 == 180 && m2 != 0)
return (ISC_R_RANGE);
-
+
/*
* Seconds.
*/
}
for ( ; i < 2 ; i++)
cm *= 10;
- }
+ }
if (*e == 'm')
e++;
if (*e != 0)
}
for ( ; i < 2 ; i++)
cm *= 10;
- }
+ }
if (*e == 'm')
e++;
if (*e != 0)
UNUSED(downcase);
REQUIRE(type == 29);
-
+
isc_buffer_activeregion(source, &sr);
if (sr.length < 1)
return (ISC_R_UNEXPECTEDEND);
*/
c = sr.base[3];
if (c != 0)
- if ((c&0xf) > 9 || ((c>>4)&0xf) > 9 || ((c>>4)&0xf) == 0)
+ if ((c&0xf) > 9 || ((c>>4)&0xf) > 9 || ((c>>4)&0xf) == 0)
return (ISC_R_RANGE);
isc_region_consume(&sr, 4);
UNUSED(cctx);
REQUIRE(rdata->type == 29);
-
+
return (mem_tobuffer(target, rdata->data, rdata->length));
}
REQUIRE(source != NULL);
REQUIRE(loc->common.rdtype == type);
REQUIRE(loc->common.rdclass == rdclass);
-
+
if (loc->v.v0.version != 0)
return (ISC_R_NOTIMPLEMENTED);
RETERR(uint8_tobuffer(loc->v.v0.version, target));
c = loc->v.v0.size;
- if ((c&0xf) > 9 || ((c>>4)&0xf) > 9 || ((c>>4)&0xf) == 0)
+ if ((c&0xf) > 9 || ((c>>4)&0xf) > 9 || ((c>>4)&0xf) == 0)
return (ISC_R_RANGE);
RETERR(uint8_tobuffer(loc->v.v0.size, target));
c = loc->v.v0.horizontal;
- if ((c&0xf) > 9 || ((c>>4)&0xf) > 9 || ((c>>4)&0xf) == 0)
+ if ((c&0xf) > 9 || ((c>>4)&0xf) > 9 || ((c>>4)&0xf) == 0)
return (ISC_R_RANGE);
RETERR(uint8_tobuffer(loc->v.v0.horizontal, target));
c = loc->v.v0.vertical;
- if ((c&0xf) > 9 || ((c>>4)&0xf) > 9 || ((c>>4)&0xf) == 0)
+ if ((c&0xf) > 9 || ((c>>4)&0xf) > 9 || ((c>>4)&0xf) == 0)
return (ISC_R_RANGE);
RETERR(uint8_tobuffer(loc->v.v0.vertical, target));
/*
* Copyright (C) 1999, 2000 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
#ifndef GENERIC_LOC_29_H
#define GENERIC_LOC_29_H 1
-/* $Id: loc_29.h,v 1.12 2000/07/27 09:49:07 tale Exp $ */
+/* $Id: loc_29.h,v 1.13 2000/08/01 01:25:25 tale Exp $ */
/* RFC 1876 */
isc_uint8_t version; /* must be first and zero */
isc_uint8_t size;
isc_uint8_t horizontal;
- isc_uint8_t vertical;
+ isc_uint8_t vertical;
isc_uint32_t latitude;
isc_uint32_t longitude;
isc_uint32_t altitude;
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: mb_7.c,v 1.32 2000/07/27 09:49:09 tale Exp $ */
+/* $Id: mb_7.c,v 1.33 2000/08/01 01:25:26 tale Exp $ */
/* Reviewed: Wed Mar 15 17:31:26 PST 2000 by bwelling */
if (mb->mctx == NULL)
return;
-
+
dns_name_free(&mb->mb, mb->mctx);
mb->mctx = NULL;
}
/*
* Copyright (C) 1998-2000 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
#ifndef GENERIC_MB_7_H
#define GENERIC_MB_7_H 1
-/* $Id: mb_7.h,v 1.20 2000/07/27 09:49:10 tale Exp $ */
+/* $Id: mb_7.h,v 1.21 2000/08/01 01:25:27 tale Exp $ */
typedef struct dns_rdata_mb {
dns_rdatacommon_t common;
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: md_3.c,v 1.34 2000/07/27 09:49:11 tale Exp $ */
+/* $Id: md_3.c,v 1.35 2000/08/01 01:25:28 tale Exp $ */
/* Reviewed: Wed Mar 15 17:48:20 PST 2000 by bwelling */
/*
* Copyright (C) 1998-2000 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
#ifndef GENERIC_MD_3_H
#define GENERIC_MD_3_H 1
-/* $Id: md_3.h,v 1.21 2000/07/27 09:49:12 tale Exp $ */
+/* $Id: md_3.h,v 1.22 2000/08/01 01:25:29 tale Exp $ */
typedef struct dns_rdata_md {
dns_rdatacommon_t common;
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: mf_4.c,v 1.32 2000/07/27 09:49:13 tale Exp $ */
+/* $Id: mf_4.c,v 1.33 2000/08/01 01:25:30 tale Exp $ */
/* reviewed: Wed Mar 15 17:47:33 PST 2000 by brister */
UNUSED(rdclass);
dns_decompress_setmethods(dctx, DNS_COMPRESS_GLOBAL14);
-
+
dns_name_init(&name, NULL);
return (dns_name_fromwire(&name, source, dctx, downcase, target));
}
/*
* Copyright (C) 1998-2000 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
#ifndef GENERIC_MF_4_H
#define GENERIC_MF_4_H 1
-/* $Id: mf_4.h,v 1.19 2000/07/27 09:49:14 tale Exp $ */
+/* $Id: mf_4.h,v 1.20 2000/08/01 01:25:32 tale Exp $ */
typedef struct dns_rdata_mf {
dns_rdatacommon_t common;
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: mg_8.c,v 1.30 2000/07/27 09:49:15 tale Exp $ */
+/* $Id: mg_8.c,v 1.31 2000/08/01 01:25:33 tale Exp $ */
/* reviewed: Wed Mar 15 17:49:21 PST 2000 by brister */
REQUIRE(type == 8);
UNUSED(rdclass);
-
+
RETERR(gettoken(lexer, &token, isc_tokentype_string, ISC_FALSE));
dns_name_init(&name, NULL);
UNUSED(rdclass);
dns_decompress_setmethods(dctx, DNS_COMPRESS_GLOBAL14);
-
+
dns_name_init(&name, NULL);
return (dns_name_fromwire(&name, source, dctx, downcase, target));
}
REQUIRE(source != NULL);
REQUIRE(mg->common.rdtype == 8);
-
+
if (mg->mctx == NULL)
return;
dns_name_free(&mg->mg, mg->mctx);
/*
* Copyright (C) 1998-2000 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
#ifndef GENERIC_MG_8_H
#define GENERIC_MG_8_H 1
-/* $Id: mg_8.h,v 1.19 2000/07/27 09:49:16 tale Exp $ */
+/* $Id: mg_8.h,v 1.20 2000/08/01 01:25:34 tale Exp $ */
typedef struct dns_rdata_mg {
dns_rdatacommon_t common;
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: minfo_14.c,v 1.31 2000/07/27 09:49:18 tale Exp $ */
+/* $Id: minfo_14.c,v 1.32 2000/08/01 01:25:35 tale Exp $ */
/* reviewed: Wed Mar 15 17:45:32 PST 2000 by brister */
REQUIRE(type == 14);
UNUSED(rdclass);
-
+
for (i = 0; i < 2 ; i++) {
RETERR(gettoken(lexer, &token, isc_tokentype_string,
ISC_FALSE));
fromwire_minfo(ARGS_FROMWIRE) {
dns_name_t rmail;
dns_name_t email;
-
+
REQUIRE(type == 14);
dns_decompress_setmethods(dctx, DNS_COMPRESS_GLOBAL14);
/*
* Copyright (C) 1998-2000 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
#ifndef GENERIC_MINFO_14_H
#define GENERIC_MINFO_14_H 1
-/* $Id: minfo_14.h,v 1.20 2000/07/27 09:49:19 tale Exp $ */
+/* $Id: minfo_14.h,v 1.21 2000/08/01 01:25:36 tale Exp $ */
typedef struct dns_rdata_minfo {
dns_rdatacommon_t common;
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: mr_9.c,v 1.29 2000/07/27 09:49:20 tale Exp $ */
+/* $Id: mr_9.c,v 1.30 2000/08/01 01:25:37 tale Exp $ */
/* Reviewed: Wed Mar 15 21:30:35 EST 2000 by tale */
REQUIRE(type == 9);
UNUSED(rdclass);
-
+
RETERR(gettoken(lexer, &token, isc_tokentype_string, ISC_FALSE));
dns_name_init(&name, NULL);
/*
* Copyright (C) 1998-2000 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
#ifndef GENERIC_MR_9_H
#define GENERIC_MR_9_H 1
-/* $Id: mr_9.h,v 1.19 2000/07/27 09:49:21 tale Exp $ */
+/* $Id: mr_9.h,v 1.20 2000/08/01 01:25:38 tale Exp $ */
typedef struct dns_rdata_mr {
dns_rdatacommon_t common;
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: mx_15.c,v 1.39 2000/07/27 09:49:22 tale Exp $ */
+/* $Id: mx_15.c,v 1.40 2000/08/01 01:25:39 tale Exp $ */
/* reviewed: Wed Mar 15 18:05:46 PST 2000 by brister */
UNUSED(rdclass);
dns_decompress_setmethods(dctx, DNS_COMPRESS_GLOBAL14);
-
+
dns_name_init(&name, NULL);
isc_buffer_activeregion(source, &sregion);
/*
* Copyright (C) 1998-2000 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
#ifndef GENERIC_MX_15_H
#define GENERIC_MX_15_H 1
-/* $Id: mx_15.h,v 1.22 2000/07/27 09:49:23 tale Exp $ */
+/* $Id: mx_15.h,v 1.23 2000/08/01 01:25:41 tale Exp $ */
typedef struct dns_rdata_mx {
dns_rdatacommon_t common;
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ns_2.c,v 1.33 2000/07/27 09:49:24 tale Exp $ */
+/* $Id: ns_2.c,v 1.34 2000/08/01 01:25:42 tale Exp $ */
/* Reviewed: Wed Mar 15 18:15:00 PST 2000 by bwelling */
/*
* Copyright (C) 1998-2000 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
#ifndef GENERIC_NS_2_H
#define GENERIC_NS_2_H 1
-/* $Id: ns_2.h,v 1.20 2000/07/31 19:40:52 bwelling Exp $ */
+/* $Id: ns_2.h,v 1.21 2000/08/01 01:25:43 tale Exp $ */
typedef struct dns_rdata_ns {
dns_rdatacommon_t common;
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: null_10.c,v 1.27 2000/07/27 09:49:27 tale Exp $ */
+/* $Id: null_10.c,v 1.28 2000/08/01 01:25:44 tale Exp $ */
/* Reviewed: Thu Mar 16 13:57:50 PST 2000 by explorer */
static inline void
freestruct_null(ARGS_FREESTRUCT) {
dns_rdata_null_t *null = source;
-
+
REQUIRE(source != NULL);
REQUIRE(null->common.rdtype == 10);
/*
* Copyright (C) 1998-2000 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
#ifndef GENERIC_NULL_10_H
#define GENERIC_NULL_10_H 1
-/* $Id: null_10.h,v 1.18 2000/07/27 09:49:28 tale Exp $ */
+/* $Id: null_10.h,v 1.19 2000/08/01 01:25:45 tale Exp $ */
typedef struct dns_rdata_null {
dns_rdatacommon_t common;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: nxt_30.c,v 1.37 2000/07/27 09:49:29 tale Exp $ */
+/* $Id: nxt_30.c,v 1.38 2000/08/01 01:25:46 tale Exp $ */
/* reviewed: Wed Mar 15 18:21:15 PST 2000 by brister */
REQUIRE(type == 30);
UNUSED(rdclass);
-
+
/*
* Next domain.
*/
n = strtol(token.value.as_pointer, &e, 10);
if (e != (char *)token.value.as_pointer && *e == '\0') {
covered = (dns_rdatatype_t)n;
- } else if (dns_rdatatype_fromtext(&covered,
+ } else if (dns_rdatatype_fromtext(&covered,
&token.value.as_textregion) == DNS_R_UNKNOWN)
return (DNS_R_UNKNOWN);
/*
bm[covered/8] |= (0x80>>(covered%8));
} while (1);
isc_lex_ungettoken(lexer, &token);
- if (first)
+ if (first)
return (ISC_R_SUCCESS);
n = (maxcovered + 8) / 8;
return (mem_tobuffer(target, bm, n));
dns_name_init(&name, NULL);
RETERR(dns_name_fromwire(&name, source, dctx, downcase, target));
-
+
isc_buffer_activeregion(source, &sr);
/* XXXRTH Enforce RFC 2535 length rules if bit 0 is not set. */
if (sr.length > 8 * 1024)
/*
* Copyright (C) 1999, 2000 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
#ifndef GENERIC_NXT_30_H
#define GENERIC_NXT_30_H 1
-/* $Id: nxt_30.h,v 1.15 2000/07/27 09:49:30 tale Exp $ */
+/* $Id: nxt_30.h,v 1.16 2000/08/01 01:25:47 tale Exp $ */
/* RFC 2065 */
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: opt_41.c,v 1.17 2000/07/27 09:49:31 tale Exp $ */
+/* $Id: opt_41.c,v 1.18 2000/08/01 01:25:48 tale Exp $ */
/* Reviewed: Thu Mar 16 14:06:44 PST 2000 by gson */
/*
* Copyright (C) 1998-2000 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
#ifndef GENERIC_OPT_41_H
#define GENERIC_OPT_41_H 1
-/* $Id: opt_41.h,v 1.11 2000/07/27 09:49:32 tale Exp $ */
+/* $Id: opt_41.h,v 1.12 2000/08/01 01:25:50 tale Exp $ */
/* RFC 2671 */
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: proforma.c,v 1.26 2000/07/27 09:49:33 tale Exp $ */
+/* $Id: proforma.c,v 1.27 2000/08/01 01:25:51 tale Exp $ */
#ifndef RDATA_GENERIC_#_#_C
#define RDATA_GENERIC_#_#_C
REQUIRE(source != NULL);
REQUIRE(#->common.rdtype == #);
REQUIRE(#->common.rdclass == #);
-
+
}
static inline isc_result_t
/*
* Copyright (C) 1998-2000 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
#ifndef GENERIC_PROFORMA_H
#define GENERIC_PROFORMA_H 1
-/* $Id: proforma.h,v 1.16 2000/07/27 09:49:34 tale Exp $ */
+/* $Id: proforma.h,v 1.17 2000/08/01 01:25:52 tale Exp $ */
typedef struct dns_rdata_# {
dns_rdatacommon_t common;
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ptr_12.c,v 1.30 2000/07/27 09:49:35 tale Exp $ */
+/* $Id: ptr_12.c,v 1.31 2000/08/01 01:25:53 tale Exp $ */
/* Reviewed: Thu Mar 16 14:05:12 PST 2000 by explorer */
REQUIRE(type == 12);
dns_decompress_setmethods(dctx, DNS_COMPRESS_GLOBAL14);
-
+
dns_name_init(&name, NULL);
return (dns_name_fromwire(&name, source, dctx, downcase, target));
}
REQUIRE(source != NULL);
REQUIRE(ptr->common.rdtype == 12);
-
+
if (ptr->mctx == NULL)
return;
/*
* Copyright (C) 1998-2000 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
#ifndef GENERIC_PTR_12_H
#define GENERIC_PTR_12_H 1
-/* $Id: ptr_12.h,v 1.20 2000/07/27 09:49:36 tale Exp $ */
+/* $Id: ptr_12.h,v 1.21 2000/08/01 01:25:54 tale Exp $ */
typedef struct dns_rdata_ptr {
dns_rdatacommon_t common;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rp_17.c,v 1.26 2000/07/27 09:49:38 tale Exp $ */
+/* $Id: rp_17.c,v 1.27 2000/08/01 01:25:55 tale Exp $ */
/* RFC 1183 */
dns_name_t email;
UNUSED(rdclass);
-
+
REQUIRE(type == 17);
dns_decompress_setmethods(dctx, DNS_COMPRESS_NONE);
/*
* Copyright (C) 1999, 2000 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
#ifndef GENERIC_RP_17_H
#define GENERIC_RP_17_H 1
-/* $Id: rp_17.h,v 1.14 2000/07/27 09:49:39 tale Exp $ */
+/* $Id: rp_17.h,v 1.15 2000/08/01 01:25:56 tale Exp $ */
/* RFC 1183 */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rt_21.c,v 1.28 2000/07/27 09:49:40 tale Exp $ */
+/* $Id: rt_21.c,v 1.29 2000/08/01 01:25:58 tale Exp $ */
/* reviewed: Thu Mar 16 15:02:31 PST 2000 by brister */
UNUSED(rdclass);
dns_decompress_setmethods(dctx, DNS_COMPRESS_NONE);
-
+
dns_name_init(&name, NULL);
isc_buffer_activeregion(source, &sregion);
/*
* Copyright (C) 1999, 2000 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
#ifndef GENERIC_RT_21_H
#define GENERIC_RT_21_H 1
-/* $Id: rt_21.h,v 1.14 2000/07/27 09:49:41 tale Exp $ */
+/* $Id: rt_21.h,v 1.15 2000/08/01 01:25:59 tale Exp $ */
/* RFC 1183 */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: sig_24.c,v 1.44 2000/07/27 09:49:42 tale Exp $ */
+/* $Id: sig_24.c,v 1.45 2000/08/01 01:26:00 tale Exp $ */
/* Reviewed: Fri Mar 17 09:05:02 PST 2000 by gson */
static inline isc_result_t
fromtext_sig(ARGS_FROMTEXT) {
isc_token_t token;
- unsigned char c;
+ unsigned char c;
long i;
dns_rdatatype_t covered;
char *e;
*/
RETERR(gettoken(lexer, &token, isc_tokentype_number, ISC_FALSE));
RETERR(uint16_tobuffer(token.value.as_ulong, target));
-
+
/*
* Signer.
*/
*/
ttl = uint32_fromregion(&sr);
isc_region_consume(&sr, 4);
- sprintf(buf, "%lu", ttl);
+ sprintf(buf, "%lu", ttl);
RETERR(str_totext(buf, target));
RETERR(str_totext(" ", target));
*/
foot = uint16_fromregion(&sr);
isc_region_consume(&sr, 2);
- sprintf(buf, "%lu", foot);
+ sprintf(buf, "%lu", foot);
RETERR(str_totext(buf, target));
RETERR(str_totext(" ", target));
tctx->linebreak, target));
if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0)
RETERR(str_totext(" )", target));
-
+
return (ISC_R_SUCCESS);
}
REQUIRE(type == 24);
dns_decompress_setmethods(dctx, DNS_COMPRESS_NONE);
-
+
UNUSED(rdclass);
isc_buffer_activeregion(source, &sr);
*/
dns_name_init(&name, NULL);
dns_name_fromregion(&name, &sr);
- isc_region_consume(&sr, name_length(&name));
+ isc_region_consume(&sr, name_length(&name));
RETERR(dns_name_towire(&name, cctx, target));
/*
REQUIRE(sig->common.rdclass == rdclass);
REQUIRE((sig->signature != NULL && sig->siglen != 0) ||
(sig->signature == NULL && sig->siglen == 0));
-
+
/*
* Type covered.
*/
REQUIRE(rdata->type == 24);
REQUIRE(target != NULL);
-
+
sig->common.rdclass = rdata->rdclass;
sig->common.rdtype = rdata->type;
ISC_LINK_INIT(&sig->common, link);
/*
* Copyright (C) 1999, 2000 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
#ifndef GENERIC_SIG_24_H
#define GENERIC_SIG_24_H 1
-/* $Id: sig_24.h,v 1.19 2000/07/27 09:49:43 tale Exp $ */
+/* $Id: sig_24.h,v 1.20 2000/08/01 01:26:01 tale Exp $ */
/* RFC 2535 */
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: soa_6.c,v 1.41 2000/07/27 09:49:44 tale Exp $ */
+/* $Id: soa_6.c,v 1.42 2000/08/01 01:26:02 tale Exp $ */
/* Reviewed: Thu Mar 16 15:18:32 PST 2000 by explorer */
sub = name_prefix(&mname, tctx->origin, &prefix);
RETERR(dns_name_totext(&prefix, sub, target));
-
+
RETERR(str_totext(" ", target));
sub = name_prefix(&rname, tctx->origin, &prefix);
isc_region_t tregion;
UNUSED(rdclass);
-
+
REQUIRE(type == 6);
dns_decompress_setmethods(dctx, DNS_COMPRESS_GLOBAL14);
/*
* Copyright (C) 1998-2000 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
#ifndef GENERIC_SOA_6_H
#define GENERIC_SOA_6_H 1
-/* $Id: soa_6.h,v 1.24 2000/07/27 09:49:46 tale Exp $ */
+/* $Id: soa_6.h,v 1.25 2000/08/01 01:26:03 tale Exp $ */
typedef struct dns_rdata_soa {
dns_rdatacommon_t common;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tkey_249.c,v 1.37 2000/07/27 09:49:47 tale Exp $ */
+/* $Id: tkey_249.c,v 1.38 2000/08/01 01:26:04 tale Exp $ */
/*
* Reviewed: Thu Mar 16 17:35:30 PST 2000 by halley.
static inline isc_result_t
totext_tkey(ARGS_TOTEXT) {
isc_region_t sr, dr;
- char buf[sizeof "4294967295 "];
+ char buf[sizeof "4294967295 "];
unsigned long n;
dns_name_t name;
dns_name_t prefix;
if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0)
RETERR(str_totext(" ) ", target));
else
- RETERR(str_totext(" ", target));
+ RETERR(str_totext(" ", target));
isc_region_consume(&sr, n);
/*
REQUIRE(type == 249);
dns_decompress_setmethods(dctx, DNS_COMPRESS_NONE);
-
+
/*
* Algorithm.
*/
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
REQUIRE(rdata1->type == 249);
-
+
/*
* Algorithm.
*/
/*
* Copyright (C) 1999, 2000 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
#ifndef GENERIC_TKEY_249_H
#define GENERIC_TKEY_249_H 1
-/* $Id: tkey_249.h,v 1.16 2000/07/27 09:49:48 tale Exp $ */
+/* $Id: tkey_249.h,v 1.17 2000/08/01 01:26:06 tale Exp $ */
/* draft-ietf-dnsind-tkey-00.txt */
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: txt_16.c,v 1.29 2000/07/27 09:49:49 tale Exp $ */
+/* $Id: txt_16.c,v 1.30 2000/08/01 01:26:07 tale Exp $ */
/* Reviewed: Thu Mar 16 15:40:00 PST 2000 by bwelling */
compare_txt(ARGS_COMPARE) {
isc_region_t r1;
isc_region_t r2;
-
+
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
REQUIRE(rdata1->type == 16);
UNUSED(rdata);
UNUSED(add);
UNUSED(arg);
-
+
return (ISC_R_SUCCESS);
}
/*
* Copyright (C) 1998-2000 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
#ifndef GENERIC_TXT_16_H
#define GENERIC_TXT_16_H 1
-/* $Id: txt_16.h,v 1.21 2000/07/27 09:49:50 tale Exp $ */
+/* $Id: txt_16.h,v 1.22 2000/08/01 01:26:08 tale Exp $ */
typedef struct dns_rdata_txt_string {
isc_uint8_t length;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: unspec_103.c,v 1.22 2000/07/27 09:49:51 tale Exp $ */
+/* $Id: unspec_103.c,v 1.23 2000/08/01 01:26:09 tale Exp $ */
#ifndef RDATA_GENERIC_UNSPEC_103_C
#define RDATA_GENERIC_UNSPEC_103_C
UNUSED(rdclass);
UNUSED(dctx);
UNUSED(downcase);
-
+
isc_buffer_activeregion(source, &sr);
isc_buffer_forward(source, sr.length);
return (mem_tobuffer(target, sr.base, sr.length));
/*
* Copyright (C) 1999, 2000 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
#ifndef GENERIC_UNSPEC_103_H
#define GENERIC_UNSPEC_103_H 1
-/* $Id: unspec_103.h,v 1.10 2000/07/27 09:49:52 tale Exp $ */
+/* $Id: unspec_103.h,v 1.11 2000/08/01 01:26:10 tale Exp $ */
typedef struct dns_rdata_unspec_t {
dns_rdatacommon_t common;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: x25_19.c,v 1.22 2000/07/27 09:49:53 tale Exp $ */
+/* $Id: x25_19.c,v 1.23 2000/08/01 01:26:11 tale Exp $ */
/* Reviewed: Thu Mar 16 16:15:57 PST 2000 by bwelling */
compare_x25(ARGS_COMPARE) {
isc_region_t r1;
isc_region_t r2;
-
+
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
REQUIRE(rdata1->type == 19);
/*
* Copyright (C) 1999, 2000 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
#ifndef GENERIC_X25_19_H
#define GENERIC_X25_19_H 1
-/* $Id: x25_19.h,v 1.11 2000/07/27 09:49:54 tale Exp $ */
+/* $Id: x25_19.h,v 1.12 2000/08/01 01:26:12 tale Exp $ */
/* RFC 1183 */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: a_1.c,v 1.15 2000/07/27 09:49:56 tale Exp $ */
+/* $Id: a_1.c,v 1.16 2000/08/01 01:26:13 tale Exp $ */
/* reviewed: Thu Mar 16 15:58:36 PST 2000 by brister */
static inline int
compare_hs_a(ARGS_COMPARE) {
int order;
-
+
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->type);
REQUIRE(rdata1->type == 1);
/*
* Copyright (C) 1999, 2000 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
#ifndef HS_4_A_1_H
#define HS_4_A_1_H 1
-/* $Id: a_1.h,v 1.5 2000/07/27 09:49:57 tale Exp $ */
+/* $Id: a_1.h,v 1.6 2000/08/01 01:26:14 tale Exp $ */
typedef struct dns_rdata_hs_a {
dns_rdatacommon_t common;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: a6_38.c,v 1.35 2000/07/27 09:49:58 tale Exp $ */
+/* $Id: a6_38.c,v 1.36 2000/08/01 01:26:16 tale Exp $ */
/* draft-ietf-ipngwg-dns-lookups-03.txt */
dns_name_t name2;
isc_region_t region1;
isc_region_t region2;
-
+
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
REQUIRE(rdata1->type == 38);
/*
* Copyright (C) 1999, 2000 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
#ifndef IN_1_A6_38_H
#define IN_1_A6_38_H 1
-/* $Id: a6_38.h,v 1.15 2000/07/27 09:49:59 tale Exp $ */
+/* $Id: a6_38.h,v 1.16 2000/08/01 01:26:17 tale Exp $ */
/* draft-ietf-ipngwg-dns-lookups-03.txt */
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: a_1.c,v 1.36 2000/07/27 09:50:00 tale Exp $ */
+/* $Id: a_1.c,v 1.37 2000/08/01 01:26:18 tale Exp $ */
/* Reviewed: Thu Mar 16 16:52:50 PST 2000 by bwelling */
REQUIRE(a->common.rdtype == type);
REQUIRE(a->common.rdclass == rdclass);
- n = ntohl(a->in_addr.s_addr);
+ n = ntohl(a->in_addr.s_addr);
return (uint32_tobuffer(n, target));
}
/*
* Copyright (C) 1998-2000 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
#ifndef IN_1_A_1_H
#define IN_1_A_1_H 1
-/* $Id: a_1.h,v 1.21 2000/07/27 09:50:02 tale Exp $ */
+/* $Id: a_1.h,v 1.22 2000/08/01 01:26:19 tale Exp $ */
typedef struct dns_rdata_in_a {
dns_rdatacommon_t common;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: aaaa_28.c,v 1.27 2000/07/27 09:50:03 tale Exp $ */
+/* $Id: aaaa_28.c,v 1.28 2000/08/01 01:26:20 tale Exp $ */
/* Reviewed: Thu Mar 16 16:52:50 PST 2000 by bwelling */
/*
* Copyright (C) 1999, 2000 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
#ifndef IN_1_AAAA_28_H
#define IN_1_AAAA_28_H 1
-/* $Id: aaaa_28.h,v 1.14 2000/07/27 09:50:04 tale Exp $ */
+/* $Id: aaaa_28.h,v 1.15 2000/08/01 01:26:21 tale Exp $ */
/* RFC 1886 */
typedef struct dns_rdata_in_aaaa {
dns_rdatacommon_t common;
- struct in6_addr in6_addr;
+ struct in6_addr in6_addr;
} dns_rdata_in_aaaa_t;
#endif /* IN_1_AAAA_28_H */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: kx_36.c,v 1.28 2000/07/27 09:50:05 tale Exp $ */
+/* $Id: kx_36.c,v 1.29 2000/08/01 01:26:22 tale Exp $ */
/* Reviewed: Thu Mar 16 17:24:54 PST 2000 by explorer */
REQUIRE(rdclass == 1);
dns_decompress_setmethods(dctx, DNS_COMPRESS_NONE);
-
+
dns_name_init(&name, NULL);
isc_buffer_activeregion(source, &sregion);
/*
* Copyright (C) 1999, 2000 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
#ifndef IN_1_KX_36_H
#define IN_1_KX_36_H 1
-/* $Id: kx_36.h,v 1.13 2000/07/27 09:50:06 tale Exp $ */
+/* $Id: kx_36.h,v 1.14 2000/08/01 01:26:24 tale Exp $ */
/* RFC 2230 */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: naptr_35.c,v 1.32 2000/07/27 09:50:07 tale Exp $ */
+/* $Id: naptr_35.c,v 1.33 2000/08/01 01:26:25 tale Exp $ */
/* Reviewed: Thu Mar 16 16:52:50 PST 2000 by bwelling */
REQUIRE(rdclass == 1);
dns_decompress_setmethods(dctx, DNS_COMPRESS_NONE);
-
+
dns_name_init(&name, NULL);
/*
dns_rdata_toregion(rdata, &sr);
RETERR(mem_tobuffer(target, sr.base, 4));
isc_region_consume(&sr, 4);
-
+
/*
* Flags.
*/
static inline void
freestruct_in_naptr(ARGS_FREESTRUCT) {
dns_rdata_in_naptr_t *naptr = source;
-
+
REQUIRE(source != NULL);
REQUIRE(naptr->common.rdclass == 1);
REQUIRE(naptr->common.rdtype == 35);
*/
dns_rdata_toregion(rdata, &sr);
isc_region_consume(&sr, 4);
-
+
/*
* Flags.
*/
dns_name_init(&name, NULL);
dns_name_fromregion(&name, &r2);
-
+
return (dns_name_digest(&name, digest, arg));
}
/*
* Copyright (C) 1999, 2000 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
#ifndef IN_1_NAPTR_35_H
#define IN_1_NAPTR_35_H 1
-/* $Id: naptr_35.h,v 1.15 2000/07/27 09:50:08 tale Exp $ */
+/* $Id: naptr_35.h,v 1.16 2000/08/01 01:26:26 tale Exp $ */
/* RFC 2168 */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: nsap-ptr_23.c,v 1.23 2000/07/27 09:50:09 tale Exp $ */
+/* $Id: nsap-ptr_23.c,v 1.24 2000/08/01 01:26:27 tale Exp $ */
/* Reviewed: Fri Mar 17 10:16:02 PST 2000 by gson */
REQUIRE(type == 23);
REQUIRE(rdclass == 1);
-
+
RETERR(gettoken(lexer, &token, isc_tokentype_string, ISC_FALSE));
dns_name_init(&name, NULL);
REQUIRE(rdclass == 1);
dns_decompress_setmethods(dctx, DNS_COMPRESS_NONE);
-
+
dns_name_init(&name, NULL);
return (dns_name_fromwire(&name, source, dctx, downcase, target));
}
/*
* Copyright (C) 1999, 2000 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
#ifndef IN_1_NSAP_PTR_23_H
#define IN_1_NSAP_PTR_23_H 1
-/* $Id: nsap-ptr_23.h,v 1.12 2000/07/27 09:50:10 tale Exp $ */
+/* $Id: nsap-ptr_23.h,v 1.13 2000/08/01 01:26:28 tale Exp $ */
/* RFC 1348. Obsoleted in RFC 1706 - use PTR instead. */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: nsap_22.c,v 1.24 2000/07/27 09:50:11 tale Exp $ */
+/* $Id: nsap_22.c,v 1.25 2000/08/01 01:26:29 tale Exp $ */
/* Reviewed: Fri Mar 17 10:41:07 PST 2000 by gson */
compare_in_nsap(ARGS_COMPARE) {
isc_region_t r1;
isc_region_t r2;
-
+
REQUIRE(rdata1->type == rdata2->type);
REQUIRE(rdata1->rdclass == rdata2->rdclass);
REQUIRE(rdata1->type == 22);
/*
* Copyright (C) 1999, 2000 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
#ifndef IN_1_NSAP_22_H
#define IN_1_NSAP_22_H 1
-/* $Id: nsap_22.h,v 1.11 2000/07/27 09:50:13 tale Exp $ */
+/* $Id: nsap_22.h,v 1.12 2000/08/01 01:26:30 tale Exp $ */
/* RFC 1706 */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: px_26.c,v 1.25 2000/07/27 09:50:14 tale Exp $ */
+/* $Id: px_26.c,v 1.26 2000/08/01 01:26:31 tale Exp $ */
/* Reviewed: Mon Mar 20 10:44:27 PST 2000 */
REQUIRE(rdclass == 1);
dns_decompress_setmethods(dctx, DNS_COMPRESS_NONE);
-
+
dns_name_init(&name, NULL);
/*
/*
* Copyright (C) 1999, 2000 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
#ifndef IN_1_PX_26_H
#define IN_1_PX_26_H 1
-/* $Id: px_26.h,v 1.12 2000/07/27 09:50:15 tale Exp $ */
+/* $Id: px_26.h,v 1.13 2000/08/01 01:26:32 tale Exp $ */
/* RFC 2163 */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: srv_33.c,v 1.27 2000/07/27 09:50:16 tale Exp $ */
+/* $Id: srv_33.c,v 1.28 2000/08/01 01:26:34 tale Exp $ */
/* Reviewed: Fri Mar 17 13:01:00 PST 2000 by bwelling */
REQUIRE(rdclass == 1);
dns_decompress_setmethods(dctx, DNS_COMPRESS_NONE);
-
+
dns_name_init(&name, NULL);
/*
/*
* Copyright (C) 1999, 2000 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
#ifndef IN_1_SRV_33_H
#define IN_1_SRV_33_H 1
-/* $Id: srv_33.h,v 1.12 2000/07/27 09:50:17 tale Exp $ */
+/* $Id: srv_33.h,v 1.13 2000/08/01 01:26:35 tale Exp $ */
/* Reviewed: Fri Mar 17 13:01:00 PST 2000 by bwelling */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: wks_11.c,v 1.33 2000/07/27 09:50:18 tale Exp $ */
+/* $Id: wks_11.c,v 1.34 2000/08/01 01:26:36 tale Exp $ */
/* Reviewed: Fri Mar 17 15:01:49 PST 2000 by explorer */
REQUIRE(type == 11);
REQUIRE(rdclass == 1);
-
+
/*
* IPv4 dotted quad.
*/
/*
* Copyright (C) 1999, 2000 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
#ifndef IN_1_WKS_11_H
#define IN_1_WKS_11_H 1
-/* $Id: wks_11.h,v 1.17 2000/07/27 09:50:19 tale Exp $ */
+/* $Id: wks_11.h,v 1.18 2000/08/01 01:26:37 tale Exp $ */
typedef struct dns_rdata_in_wks {
dns_rdatacommon_t common;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdatastructpre.h,v 1.11 2000/07/31 20:57:06 tale Exp $ */
+/* $Id: rdatastructpre.h,v 1.12 2000/08/01 01:25:01 tale Exp $ */
#ifndef DNS_RDATASTRUCT_H
#define DNS_RDATASTRUCT_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdatastructsuf.h,v 1.5 2000/07/27 09:48:45 tale Exp $ */
+/* $Id: rdatastructsuf.h,v 1.6 2000/08/01 01:25:02 tale Exp $ */
ISC_LANG_ENDDECLS
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdatalist.c,v 1.21 2000/07/27 09:46:28 tale Exp $ */
+/* $Id: rdatalist.c,v 1.22 2000/08/01 01:22:45 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdataset.c,v 1.47 2000/07/27 09:46:29 tale Exp $ */
+/* $Id: rdataset.c,v 1.48 2000/08/01 01:22:46 tale Exp $ */
#include <config.h>
REQUIRE(DNS_RDATASET_VALID(rdataset));
REQUIRE(rdataset->methods == NULL);
-
+
rdataset->magic = 0;
ISC_LINK_INIT(rdataset, link);
rdataset->rdclass = 0;
/*
* Is 'rdataset' associated?
*/
-
+
REQUIRE(DNS_RDATASET_VALID(rdataset));
if (rdataset->methods != NULL)
REQUIRE(source->methods != NULL);
REQUIRE(DNS_RDATASET_VALID(target));
REQUIRE(target->methods == NULL);
-
+
(source->methods->clone)(source, target);
}
#define MAX_SHUFFLE 32
#define WANT_FIXED(r) (((r)->attributes & DNS_RDATASETATTR_FIXEDORDER) != 0)
#define WANT_RANDOM(r) (((r)->attributes & DNS_RDATASETATTR_RANDOMIZE) != 0)
-
+
isc_result_t
dns_rdataset_towire(dns_rdataset_t *rdataset,
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdatasetiter.c,v 1.9 2000/07/27 09:46:30 tale Exp $ */
+/* $Id: rdatasetiter.c,v 1.10 2000/08/01 01:22:47 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdataslab.c,v 1.14 2000/07/27 09:46:31 tale Exp $ */
+/* $Id: rdataslab.c,v 1.15 2000/08/01 01:22:49 tale Exp $ */
#include <config.h>
length += *current++;
current += length;
}
-
+
return ((unsigned int)(current - slab));
}
* XXX Need parameter to allow "delete rdatasets in nslab" merge,
* or perhaps another merge routine for this purpose.
*/
-
+
REQUIRE(tslabp != NULL && *tslabp == NULL);
REQUIRE(oslab != NULL && nslab != NULL);
return (ISC_R_NOMEMORY);
memcpy(tstart, nslab, reservelen);
tcurrent = tstart + reservelen;
-
+
/*
* Write the new count.
*/
return (ISC_R_NOMEMORY);
memcpy(tstart, mslab, reservelen);
tcurrent = tstart + reservelen;
-
+
/*
* Write the new count.
*/
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: request.c,v 1.30 2000/07/27 09:46:32 tale Exp $ */
+/* $Id: request.c,v 1.31 2000/08/01 01:22:50 tale Exp $ */
#include <config.h>
UNLOCK(&requestmgr->lock);
}
-static void
+static void
mgr_shutdown(dns_requestmgr_t *requestmgr) {
dns_request_t *request;
request->event->result = ISC_R_FAILURE;
if (key != NULL)
dns_tsigkey_attach(key, &request->tsigkey);
-
+
use_tcp:
if ((options & DNS_REQUESTOPT_TCP) != 0) {
result = isc_socket_create(requestmgr->socketmgr,
if (request->mctx != NULL)
isc_mem_detach(&request->mctx);
isc_mem_put(mctx, request, sizeof *request);
- req_log(ISC_LOG_DEBUG(3), "dns_request_create: failed %s",
+ req_log(ISC_LOG_DEBUG(3), "dns_request_create: failed %s",
dns_result_totext(result));
return (result);
}
dns_request_destroy(dns_request_t **requestp) {
dns_request_t *request;
isc_boolean_t need_destroy = ISC_FALSE;
-
+
REQUIRE(requestp != NULL && VALID_REQUEST(*requestp));
request = *requestp;
result = sevent->result;
if (result == ISC_R_SUCCESS)
result = req_send(request, task, NULL);
-
+
if (sevent->result != ISC_R_SUCCESS)
dns_request_cancel(request);
}
REQUIRE(event->ev_type == DNS_EVENT_DISPATCH);
UNUSED(task);
-
+
req_log(ISC_LOG_DEBUG(3), "req_response: request %p: %s", request,
dns_result_totext(devent->result));
static void
req_timeout(isc_task_t *task, isc_event_t *event) {
dns_request_t *request = event->ev_arg;
-
+
REQUIRE(VALID_REQUEST(request));
req_log(ISC_LOG_DEBUG(3), "req_timeout: request %p", request);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: resolver.c,v 1.161 2000/07/29 01:18:36 bwelling Exp $ */
+/* $Id: resolver.c,v 1.162 2000/08/01 01:22:51 tale Exp $ */
#include <config.h>
static inline void
resquery_destroy(resquery_t **queryp) {
resquery_t *query;
-
+
REQUIRE(queryp != NULL);
query = *queryp;
REQUIRE(!ISC_LINK_LINKED(query, link));
INSIST(query->tcpsocket == NULL);
-
+
query->magic = 0;
isc_mem_put(query->mctx, query, sizeof(*query));
*queryp = NULL;
if (query->dispatch != NULL)
dns_dispatch_detach(&query->dispatch);
-
+
if (! (RESQUERY_CONNECTING(query) || RESQUERY_SENDING(query)))
/*
* It's safe to destroy the query now.
* Double the round-trip time and convert to seconds.
*/
rtt /= 500000;
-
+
/*
* Always wait for at least the doubled round-trip time.
*/
result = isc_time_now(&query->start);
if (result != ISC_R_SUCCESS)
goto cleanup_query;
-
+
/*
* If this is a TCP query, then we need to make a socket and
* a dispatch for it here. Otherwise we use the resolver's
pf = isc_sockaddr_pf(&addrinfo->sockaddr);
- result = isc_socket_create(res->socketmgr, pf,
+ result = isc_socket_create(res->socketmgr, pf,
isc_sockettype_tcp,
&query->tcpsocket);
if (result != ISC_R_SUCCESS)
result = isc_socket_bind(query->tcpsocket, &any);
if (result != ISC_R_SUCCESS)
goto cleanup_socket;
-
+
/*
* A dispatch will be created once the connect succeeds.
*/
} else {
if (sevent->result == ISC_R_SUCCESS) {
unsigned int attrs;
-
+
/*
* We are connected. Create a dispatcher and
* send the query.
query->fctx->res->taskmgr,
4096, 2, 1, 1, 3, attrs,
&query->dispatch);
-
+
/*
* Regardless of whether dns_dispatch_create()
* succeeded or not, we don't need our reference
if (result == ISC_R_SUCCESS)
result = resquery_send(query);
-
+
if (result != ISC_R_SUCCESS) {
fetchctx_t *fctx = query->fctx;
fctx_cancelquery(&query, NULL, NULL,
fctx_cancelquery(&query, NULL, NULL, ISC_FALSE);
}
}
-
+
isc_event_free(&event);
}
if (isc_sockaddr_equal(sa, address))
return (ISC_TRUE);
}
-
+
return (ISC_FALSE);
}
else
all_bad = ISC_FALSE;
}
-
+
return (all_bad);
}
}
ISC_LIST_UNLINK(find->list, best, publink);
ISC_LIST_APPEND(sorted, best, publink);
- }
+ }
find->list = sorted;
}
* Sleep waiting for addresses.
*/
FCTXTRACE("addrwait");
- fctx->attributes |= FCTX_ATTR_ADDRWAIT;
+ fctx->attributes |= FCTX_ATTR_ADDRWAIT;
return;
} else if (result != ISC_R_SUCCESS) {
/*
if (fctx->want_shutdown)
return;
-
+
fctx->want_shutdown = ISC_TRUE;
/*
res = fctx->res;
bucketnum = fctx->bucketnum;
-
+
FCTXTRACE("doshutdown");
fctx->attributes |= FCTX_ATTR_SHUTTINGDOWN;
fctx->attributes &= ~FCTX_ATTR_ADDRWAIT;
LOCK(&res->buckets[bucketnum].lock);
-
+
INSIST(fctx->state == fetchstate_active ||
fctx->state == fetchstate_done);
INSIST(fctx->want_shutdown);
fetch->magic = DNS_FETCH_MAGIC;
fetch->private = fctx;
-
+
return (ISC_R_SUCCESS);
}
}
INSIST(dns_name_issubdomain(&fctx->name, &fctx->domain));
-
+
fctx->type = type;
fctx->options = options;
/*
fctx->qmessage = NULL;
result = dns_message_create(res->mctx, DNS_MESSAGE_INTENTRENDER,
&fctx->qmessage);
-
+
if (result != ISC_R_SUCCESS)
goto cleanup_domain;
fctx->rmessage = NULL;
result = dns_message_create(res->mctx, DNS_MESSAGE_INTENTPARSE,
&fctx->rmessage);
-
+
if (result != ISC_R_SUCCESS)
goto cleanup_qmessage;
fctx->res->rdclass != rdataset->rdclass ||
!dns_name_equal(&fctx->name, name))
return (DNS_R_FORMERR);
-
+
return (ISC_R_SUCCESS);
}
unsigned int bucketnum;
isc_boolean_t bucket_empty = ISC_FALSE;
dns_resolver_t *res = fctx->res;
-
+
REQUIRE(SHUTTINGDOWN(fctx));
if (fctx->pending != 0 || fctx->validating != 0)
REQUIRE(fctx->validating > 0);
vevent = (dns_validatorevent_t *)event;
-
+
FCTXTRACE("received validation completion event");
/*
vevent->name, ISC_TRUE, &node);
if (result != ISC_R_SUCCESS)
goto noanswer_response;
-
+
result = ncache_adderesult(fctx->rmessage,
fctx->res->view->cachedb, node,
covers, now,
fctx->res->view->maxncachettl,
ardataset, &eresult);
if (result != ISC_R_SUCCESS)
- goto noanswer_response;
+ goto noanswer_response;
goto answer_response;
}
FCTXTRACE("validation OK");
-
+
/*
* The data was already cached as pending data.
* Re-cache it as secure and bind the cached
}
if (sentresponse) {
- /*
+ /*
* If we only deferred the destroy because we wanted to cache
* the data, destroy now.
*/
*/
goto cleanup_event;
}
-
+
result = ISC_R_SUCCESS;
answer_response:
* Respond with an answer, positive or negative,
* as opposed to an error. 'node' must be non-NULL.
*/
-
+
fctx->attributes |= FCTX_ATTR_HAVEANSWER;
-
+
if (hevent != NULL) {
hevent->result = eresult;
dns_name_concatenate(vevent->name, NULL,
}
}
}
-
+
/*
* Find or create the cache node.
*/
}
if (valrdataset != NULL) {
- validator = NULL;
+ validator = NULL;
result = dns_validator_create(res->view,
name,
fctx->type,
* cache rdataset (because no fetch is interested
* in the outcome), or the cache rdataset is not
* a negative cache entry. Whichever case it is,
- * we can return success.
+ * we can return success.
*
* XXXRTH There's a CNAME/DNAME problem here.
*/
covers, now, res->view->maxncachettl,
ardataset, &eresult);
if (result != ISC_R_SUCCESS)
- goto unlock;
-
+ goto unlock;
+
if (!HAVE_ANSWER(fctx)) {
fctx->attributes |= FCTX_ATTR_HAVEANSWER;
if (event != NULL) {
if (!dns_name_issubdomain(qname, &fctx->domain))
return (ISC_R_SUCCESS);
}
-
+
/*
* We have to figure out if this is a negative response, or a
* referral.
/*
* If the referral name is not a parent of the query
- * name, consider the responder insane.
+ * name, consider the responder insane.
*/
if (! dns_name_issubdomain(&fctx->name, ns_name)) {
FCTXTRACE("referral to non-parent");
if (negative_response)
fctx->attributes |= FCTX_ATTR_WANTNCACHE;
-
+
return (ISC_R_SUCCESS);
}
truncated = ISC_TRUE;
break;
case DNS_R_FORMERR:
- if ((query->options & DNS_FETCHOPT_NOEDNS0) == 0) {
+ if ((query->options & DNS_FETCHOPT_NOEDNS0) == 0) {
/*
* The problem might be that they
* don't understand EDNS0. Turn it
* INSIST() that the message comes from the place we sent it to,
* since the dispatch code should ensure this.
*
- * INSIST() that the message id is correct (this should also be
+ * INSIST() that the message id is correct (this should also be
* ensured by the dispatch code).
*/
*/
if ((message->flags & DNS_MESSAGEFLAG_TC) != 0)
truncated = ISC_TRUE;
-
+
if (truncated) {
if ((options & DNS_FETCHOPT_TCP) != 0) {
broken_server = ISC_TRUE;
fctx_cancelqueries(fctx, ISC_TRUE);
fctx_cleanupfinds(fctx);
fctx_cleanupforwaddrs(fctx);
- }
+ }
/*
* Try again.
*/
goto cleanup_dispatches;
res->magic = RES_MAGIC;
-
+
*resp = res;
return (ISC_R_SUCCESS);
ISC_LINK_INIT(nsa, link);
ISC_LIST_APPEND(res->forwarders, nsa, link);
}
-
+
return (ISC_R_SUCCESS);
}
isc_event_free(&event);
dns_resolver_destroyfetch(&fetch);
}
-
+
void
dns_resolver_prime(dns_resolver_t *res) {
isc_boolean_t want_priming = ISC_FALSE;
return;
LOCK(&res->lock);
-
+
if (!res->exiting && !res->priming) {
INSIST(res->primefetch == NULL);
res->priming = ISC_TRUE;
*eventp = NULL;
LOCK(&res->lock);
-
+
if (res->exiting && res->activebuckets == 0) {
/*
* We're already shutdown. Send the event.
event->ev_sender = clone;
ISC_LIST_APPEND(res->whenshutdown, event, ev_link);
}
-
+
UNLOCK(&res->lock);
}
REQUIRE(VALID_RESOLVER(res));
RTRACE("shutdown");
-
+
LOCK(&res->lock);
if (!res->exiting) {
unsigned int options, isc_task_t *task,
isc_taskaction_t action, void *arg,
dns_rdataset_t *rdataset,
- dns_rdataset_t *sigrdataset,
+ dns_rdataset_t *sigrdataset,
dns_fetch_t **fetchp)
{
dns_fetch_t *fetch;
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: result.c,v 1.68 2000/07/27 09:46:35 tale Exp $ */
+/* $Id: result.c,v 1.69 2000/08/01 01:22:52 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rootns.c,v 1.14 2000/07/27 09:46:36 tale Exp $ */
+/* $Id: rootns.c,v 1.15 2000/08/01 01:22:53 tale Exp $ */
#include <config.h>
size_t len;
dns_rdatacallbacks_t callbacks;
dns_db_t *db = NULL;
-
+
REQUIRE(target != NULL && *target == NULL);
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone,
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.7 2000/07/27 09:50:21 tale Exp $
+# $Id: Makefile.in,v 1.8 2000/08/01 01:26:38 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.9 2000/07/27 09:50:23 tale Exp $
+# $Id: Makefile.in,v 1.10 2000/08/01 01:26:41 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
{
/* For encryption, we need to track the input length */
handler->_inputRemainder = (handler->_inputRemainder + partInLen) % 8;
-
+
return (AHChooseEncryptEncryptUpdate
(handler, partOut, partOutLen, maxPartOutLen, partIn, partInLen,
randomAlgorithm, surrenderContext));
int status;
unsigned char finalBuffer[16], *padBuffer;
unsigned int padLen, localPartOutLen, i;
-
+
do {
/* For now, the DecrypyFinal operations is set to output 16 bytes.
*/
A_SURRENDER_CTX *surrenderContext;
{
int status;
-
+
if ((status = (*((A_DIGEST_ALGA *)handler->algaChoice._alga)->Update)
(handler->algaChoice.context.z.context, partIn, partInLen,
surrenderContext)) != 0)
return (ConvertAlgaeError (status));
- return (0);
+ return (0);
}
int AHChooseDigestFinal
A_SURRENDER_CTX *surrenderContext;
{
int status;
-
+
if ((status = (*((A_DIGEST_ALGA *)handler->algaChoice._alga)->Final)
(handler->algaChoice.context.z.context, partOut, partOutLen,
maxPartOutLen, surrenderContext)) != 0)
return (ConvertAlgaeError (status));
- return (0);
+ return (0);
}
static int InitDigestAlga
partIn, partInLen, surrenderContext)) != 0)
return (ConvertAlgaeError (status));
return (0);
-}
+}
*/
int AHChooseEncryptEncryptUpdate
(handler, partOut, partOutLen, maxPartOutLen, partIn, partInLen,
A_SURRENDER_CTX *surrenderContext;
{
POINTER result;
- int status;
-
+ int status;
+
if ((status = GenerateResult
(&handler->generateAlgaChoice, &result, randomAlgorithm,
surrenderContext)) != 0)
A_SURRENDER_CTX *surrenderContext;
{
POINTER result;
- int status;
-
+ int status;
+
if ((status = GenerateResult
(&handler->generateAlgaChoice, &result, randomAlgorithm,
surrenderContext)) != 0)
surrenderContext)) != 0) {
if (status != AE_NEED_RANDOM)
return (ConvertAlgaeError (status));
-
+
/* Else continue and try again */
}
else
A_SURRENDER_CTX *surrenderContext;
{
int status;
-
+
if ((status = (*((A_RANDOM_ALGA *)handler->algaChoice._alga)->Update)
(handler->algaChoice.context.z.context, input, inputLen,
surrenderContext)) != 0)
return (ConvertAlgaeError (status));
- return (0);
+ return (0);
}
int AHChooseRandomGenerateBytes (handler, output, outputLen, surrenderContext)
A_SURRENDER_CTX *surrenderContext;
{
int status;
-
+
if ((status = (*((A_RANDOM_ALGA *)handler->algaChoice._alga)->Generate)
(handler->algaChoice.context.z.context, output, outputLen,
surrenderContext)) != 0)
return (ConvertAlgaeError (status));
- return (0);
+ return (0);
}
static int InitRandomAlga
class AHEncryptDecrypt : public B_TypeCheck {
AHEncryptDecrypt ();
virtual ~AHEncryptDecrypt () = 0;
-
+
virtual int getBlockLen (unsigned int *) = 0;
virtual int encryptInit
(B_Key *, B_ALGORITHM_CHOOSER, A_SURRENDER_CTX *) = 0;
UNUSED_ARG (randomAlgorithm)
UNUSED_ARG (surrenderContext)
*partOutLen = 0;
-
+
if (handler->_inputLen + partInLen > handler->_maxInputLen)
return (BE_INPUT_LEN);
T_memcpy
{
int status;
unsigned int dummyPartOutLen;
-
+
/* Encode methodContext in place. */
if ((status = (*handler->vTable->EncodeBlock)
(handler, randomAlgorithm, surrenderContext)) != 0)
(handler, (unsigned char *)NULL_PTR, &dummyPartOutLen, 0,
(B_Algorithm *)NULL_PTR, surrenderContext)) != 0)
return (status);
-
+
/* Restart the handle for new input. */
handler->_inputLen = 0;
return (0);
ITEM output;
int status;
unsigned int decryptedLen, dummyPartOutLen;
-
+
UNUSED_ARG (randomAlgorithm)
/* Decrypt block in place. The block lenghts are already within limits.
*/
(handler, (unsigned char *)NULL_PTR, &dummyPartOutLen, 0,
(B_Algorithm *)NULL_PTR, surrenderContext)) != 0)
return (status);
-
+
/* Restart the handle for new input. */
handler->_inputLen = 0;
-
+
/* Now decode the block and copy the result to the partOut.
*/
if ((status = (*handler->vTable->DecodeBlock)
(handler, &output, decryptedLen)) != 0)
return (status);
-
+
if (output.len > handler->z.blockLen - 11)
/* This implies that the block was encrypted with less than
8 bytes of padding */
return (BE_INPUT_DATA);
-
+
if ((*partOutLen = output.len) > maxPartOutLen)
- return (BE_OUTPUT_LEN);
+ return (BE_OUTPUT_LEN);
T_memcpy ((POINTER)partOut, (POINTER)output.data, output.len);
return (0);
handler->_maxInputLen = encryptFlag ? (newBlockLen - 11) : newBlockLen;
handler->_inputLen = 0;
-
+
/* Zeroize old block and realloc to new size.
*/
T_memset ((POINTER)handler->z.block, 0, handler->z.blockLen);
handler->z.blockLen = 0;
return (BE_ALLOC);
}
-
+
handler->z.blockLen = newBlockLen;
return (0);
}
/* Construct base class */
AH_RSAEncryptionConstructor1 (handler, &AIT_RSAPrivate);
-
+
handler->vTable = &ENCRYPTION_V_TABLE;
return (handler);
}
unsigned int block2Len;
{
unsigned int i;
-
+
if ((handler->z.block[0] != 0) || (handler->z.block[1] != 2))
return (BE_INPUT_DATA);
-
+
/* Should be able to find the data after the first zero byte following
the random bytes. */
for (i = 2; i < block2Len && handler->z.block[i] != 0; i++);
i++;
-
+
if (i > block2Len)
/* The data is not zero terminated. */
return (BE_INPUT_DATA);
-
+
output->len = block2Len - i;
output->data = handler->z.block + i;
return (0);
/* Construct base class */
AH_RSAEncryptionConstructor1 (handler, &AIT_RSAPublic);
-
+
handler->vTable = &ENCRYPTION_V_TABLE;
return (handler);
}
(randomAlgorithm, &randomByte, 1, surrenderContext)) != 0)
return (status);
} while (randomByte == 0);
-
+
handler->z.block[i] = randomByte;
}
-
+
handler->z.block[2 + padLen] = 0;
return (0);
}
unsigned int block1Len;
{
unsigned int i;
-
+
/* Locate the digestInfo within the PKCS block 1.
*/
if (handler->z.block[0] != 0 || handler->z.block[1] != 1)
return (BE_INPUT_DATA);
-
+
/* Should be able to find the data after the first zero byte following
the 0xff. */
for (i = 2; i < block1Len && handler->z.block[i] == 0xff; i++);
i++;
-
+
if (i > block1Len || handler->z.block[i - 1] != 0)
/* The data is not zero terminated, or a byte other than 0xff. */
return (BE_INPUT_DATA);
{
POINTER newInfo;
int status;
-
+
if ((status = B_MemoryPoolAllocAndCopy
(&algorithm->infoCache.memoryPool, &newInfo, info, 8)) != 0)
return (status);
-
+
return (B_InfoCacheAddInfo
(&algorithm->infoCache, (POINTER)infoType, newInfo));
}
{
A_RSA_KEY_GEN_PARAMS *newInfo;
int status;
-
+
if ((status = B_MemoryPoolAlloc
(&algorithm->infoCache.memoryPool, (POINTER *)&newInfo,
sizeof (A_RSA_KEY_GEN_PARAMS))) != 0)
resizeContext->z.contextSize = 0;
return (BE_ALLOC);
}
-
+
resizeContext->z.contextSize = contextSize;
return (0);
}
(key, &keyInfo, (*chooser)->keyInfoType)) != 0) {
if (IS_FATAL_BSAFE_ERROR (status))
return (status);
-
+
/* Update the overall status with this more specific error. */
overallStatus = status;
continue;
return (BE_OUTPUT_LEN);
case AE_PARAMS:
return (BE_ALGORITHM_INFO);
-
+
#if USE_ALLOCED_FRAME
case AE_ALLOC:
return (BE_ALLOC);
/* First construct base class */
B_AlgorithmConstructor (&algorithmWrap->algorithm);
-
+
algorithmWrap->typeTag = &ALGORITHM_TYPE_TAG;
algorithmWrap->selfCheck = algorithmWrap;
return (0);
{
B_AlgorithmInfoType *algorithmInfoType;
int status;
-
+
if ((status = AlgorithmWrapCheck (THE_ALG_WRAP)) != 0)
return (status);
*/
if ((*infoType) ((POINTER *)&algorithmInfoType) != 0)
return (BE_KEY_OPERATION_UNKNOWN);
-
+
return (B_AlgorithmSetInfo
(&THE_ALG_WRAP->algorithm, algorithmInfoType, info));
}
{
B_AlgorithmInfoType *algorithmInfoType;
int status;
-
+
if ((status = AlgorithmWrapCheck (THE_ALG_WRAP)) != 0)
return (status);
*/
if ((*infoType) ((POINTER *)&algorithmInfoType) != 0)
return (BE_KEY_OPERATION_UNKNOWN);
-
+
return (B_AlgorithmGetInfo
(&THE_ALG_WRAP->algorithm, info, algorithmInfoType));
}
(THE_GEN_PARAMS->modulusBits < MIN_RSA_MODULUS_BITS))
/* Can't support a keypair of this size. */
return (AE_MODULUS_LEN);
-
+
*contextLen = sizeof (A_RSA_KEY_GEN_CTX);
*secondContextLen = 0;
*randomBlockLen =
POINTER info;
{
int status;
-
+
if (algorithm->infoCache.z.infoCount > 0)
return (BE_ALGORITHM_ALREADY_SET);
B_AlgorithmInfoType *algorithmInfoType;
{
int status;
-
+
if (algorithm->infoCache.z.infoCount == 0)
return (BE_ALGORITHM_NOT_SET);
if (B_InfoCacheFindInfo
(&algorithm->infoCache, info, (POINTER)algorithmInfoType) == 0)
return (0);
-
+
/* Info is not in the cache, go ahead and encode.
*/
if ((status = (*algorithmInfoType->vTable->MakeInfo)
void BigClrbit (a, v)
UINT2 *a;
unsigned int v;
-{
- a[v/16] &= ~ (1 << (v % 16));
+{
+ a[v/16] &= ~ (1 << (v % 16));
}
/* BigSetbit (a, v) -- sets v-th bit of a, where v is nonnegative.
void BigSetbit (a, v)
UINT2 *a;
unsigned int v;
-{
- a[v/16] |= (1 << (v % 16));
+{
+ a[v/16] |= (1 << (v % 16));
}
Assumes a, b, c, d of length n.
Returns 0, AE_CANCEL.
*/
-int BigModExp (a, b, c, d, n, surrenderContext)
+int BigModExp (a, b, c, d, n, surrenderContext)
UINT2 *a, *b, *c, *d;
unsigned int n;
A_SURRENDER_CTX *surrenderContext;
{
struct BigModExpFrame {
- UINT2 dInv[MAX_RSA_MODULUS_WORDS + 2], result[MAX_RSA_MODULUS_WORDS],
+ UINT2 dInv[MAX_RSA_MODULUS_WORDS + 2], result[MAX_RSA_MODULUS_WORDS],
tab[16][MAX_RSA_MODULUS_WORDS];
} *frame = (struct BigModExpFrame *)NULL_PTR;
#if !USE_ALLOCED_FRAME
BigInv (frame->dInv, d, n);
if ((status = CheckSurrender (surrenderContext)) != 0)
break;
-
+
/* precompute small (size 2**w) table of powers of b */
cLen = BigLen (c, n);
if (cLen < 4)
else if (cLen < 64)
w = 3;
else
- w = 4;
+ w = 4;
/* zeroth power is one */
BigConst (frame->tab[0], 1, n);
}
else
BigCopy (frame->result, frame->tab[power], n);
-
+
power = 0;
didAMultiply = 1;
}
UINT2 *u3, *u2, *u1, *u, *v;
unsigned int k;
{
- UINT2 v1[2 * MAX_RSA_PRIME_WORDS], v2[2 * MAX_RSA_PRIME_WORDS],
+ UINT2 v1[2 * MAX_RSA_PRIME_WORDS], v2[2 * MAX_RSA_PRIME_WORDS],
v3[2 * MAX_RSA_PRIME_WORDS], q[2 * MAX_RSA_PRIME_WORDS],
r[2 * MAX_RSA_PRIME_WORDS], t1[2 * MAX_RSA_PRIME_WORDS],
t2[2 * MAX_RSA_PRIME_WORDS], t3[2 * MAX_RSA_PRIME_WORDS];
#include "global.h"
#include "bigmath.h"
-/* Big2Exp (a, v, n) -- a = 2**v, where v is nonnegative int.
+/* Big2Exp (a, v, n) -- a = 2**v, where v is nonnegative int.
Sets a to be 2**v.
*/
void Big2Exp (a, v, n)
unsigned int n;
{
if (BigSign (b, n) >= 0)
- BigCopy (a, b, n);
+ BigCopy (a, b, n);
else
BigNeg (a, b, n);
}
unsigned int n;
{
register unsigned int i;
-
+
for (i = 0; i < n; i++)
a[i] = 0;
}
if (a[i])
carry = 0;
}
-
+
a[i] = ~b[i] + carry;
}
if (a[i])
carry = 0;
}
-
+
if (carry)
a[i]++;
}
if (a[i] != 0xFFFF)
borrow = 0;
}
-
+
if (borrow)
a[i]--;
}
unsigned int n;
{
register int i;
-
+
if (a[n-1] & 0x8000)
return (-1);
for (i = n-1; i >= 0; i--)
unsigned int n;
{
register unsigned int i;
-
+
for (i = 0; i < n; i++)
a[i] = b[i];
}
unsigned int n;
{
register int i;
-
+
for (i = n-1; i >= 0; i--)
if (a[i])
return (i+1);
return (1);
if (aSign < bSign)
return (-1);
-
+
for (i = n-1; i >= 0 && a[i] == b[i]; i--);
-
+
if (i == -1)
return (0);
if (a[i] > b[i])
modding out integers which are < b**2.
-- assumes a has n+2 words, b has n words.
-- assumes b is a positive integer.
- */
+ */
void BigInv (a, b, n)
UINT2 *a, *b;
unsigned int n;
/* 2** (bl-1) <= b < 2 ** bl */
bl = BigLen (b, n);
u = BigU (2 * bl);
-
+
/* uw and sw are in words */
uw = u/16;
sw = (bl - 2) / 16;
-
+
/* since a = floor ((2**u)/b), 2**(u-bl) < a <= 2**(u-bl+1) */
/* Initialize a to 1+2**(u-bl) -- we will converge from below.
*/
Big2Exp (a, u - bl, n + 2);
BigInc (a, n + 2);
-
+
/* Copy b to local register.
*/
BigZero (t1, n + 3);
for (i = 1 + Log2 (u - bl + 1); i > 0; i--) {
/* use fast squaring routine to compute p = a**2
2**(2 * (u-bl)) < p <= 2**(2 * (u-bl+1)) */
- BigPsq (p, a, n + 2);
+ BigPsq (p, a, n + 2);
/* compute q = b * floor (p/ (2**s))
2**(2 * (u-bl)-s+bl-1) <= q <= 2**(2 * (u-bl+1)-s+bl
if (i == -1)
return (1); /* len of 0 or -1 */
- for (j = 16, k = 0x8000;
- j >= 0 && 0 == (k & (signWord ^ a[i]));
+ for (j = 16, k = 0x8000;
+ j >= 0 && 0 == (k & (signWord ^ a[i]));
j--, k >>= 1);
return (16 * i + j);
}
UINT2 *a, *b, *c;
unsigned int n;
{
- UINT2 prod[2 * MAX_RSA_PRIME_WORDS], absb[MAX_RSA_PRIME_WORDS],
+ UINT2 prod[2 * MAX_RSA_PRIME_WORDS], absb[MAX_RSA_PRIME_WORDS],
absc[MAX_RSA_PRIME_WORDS];
int bSign = BigSign (b, n), cSign = BigSign (c, n);
-
+
BigAbs (absb, b, n);
BigAbs (absc, c, n);
BigPmpy (prod, absb, absc, n);
if (bSign * cSign >= 0)
BigCopy (a, prod, 2 * n);
- else
+ else
BigNeg (a, prod, 2 * n);
T_memset ((POINTER)prod, 0, sizeof (prod));
qi assumed to be ll cells
ri assumed to be kk cells
restriction uu>=0, vv>0
-
+
input uu in reg of ll cells
input vv in reg of kk cells
output qi assumed to be ll cells
UINT2 *qi, *ri, *uu, *vv;
unsigned int ll, kk;
{
- UINT2 u[2 * MAX_RSA_PRIME_WORDS + 2], us[2 * MAX_RSA_PRIME_WORDS + 2],
+ UINT2 u[2 * MAX_RSA_PRIME_WORDS + 2], us[2 * MAX_RSA_PRIME_WORDS + 2],
v[2 * MAX_RSA_PRIME_WORDS + 2], vs[2 * MAX_RSA_PRIME_WORDS + 2],
q[2 * MAX_RSA_PRIME_WORDS + 2], r[2 * MAX_RSA_PRIME_WORDS + 2],
t1[2 * MAX_RSA_PRIME_WORDS + 2], t2[2 * MAX_RSA_PRIME_WORDS + 2],
l = ll + 2;
else
l = kk + 2;
-
+
mk[0] = 0x00FF;
mk[1] = 0xFF00;
b = 0x0100;
BigConst (t1, d, l);
BigPmpyl (t2, t1, v, l);
BigCopy (v, t2, l);
-
+
/* vh=high order digit of normalized v */
vh = VN;
if (n % 2 == 1)
continue;
break;
}
-
+
/* calc t = n + m */
m = t - n;
BigPmpyl (t1, q, t2, l);
BigAdd (q, t3, t1, l);
}
-
+
/* Check result.
*/
/* transfer results to input registers */
BigCopy (qi, q, ll);
BigCopy (ri, t2, kk);
-
+
T_memset ((POINTER)u, 0, sizeof (u));
T_memset ((POINTER)us, 0, sizeof (us));
T_memset ((POINTER)v, 0, sizeof (v));
{
register unsigned int i;
unsigned int cLen;
-
+
BigZero (a, 2*n);
cLen = BigLenw (c, n);
for (i = 0; i < n; i++)
/* 2**(cl-1) <= c < 2**cl
2**(u-cl) <= cInv <= 2**(u-cl+1) */
cl = BigLen (c, n);
-
+
/* u is in bits, uw is in words */
u = BigU (2 * cl);
uw = u/16;
-
+
/* sw is in words, s is is bits */
sw = (cl - 2) / 16;
-
+
uwsw3 = uw - sw - 3;
-
+
if (uwsw3 < 0)
uwsw3 = 0;
BigSub (r, r, c, n);
BigInc (q, n);
}
-
+
T_memset ((POINTER)qc, 0, sizeof (qc));
T_memset ((POINTER)qsc, 0, sizeof (qsc));
T_memset ((POINTER)t1, 0, sizeof (t1));
unsigned int wordCount;
{
unsigned int copyCount;
-
+
if (BigSign (wordPointer, wordCount) < 0 ||
(BigLen (wordPointer, wordCount) + 7) / 8 > numBytes)
return (AE_DATA);
/* start at end of byte vector */
bytePointer += numBytes-1;
-
+
/* copy as much as possible */
copyCount = (wordCount < numBytes / 2) ? wordCount : numBytes / 2;
wordCount -= copyCount;
*bytePointer-- = (unsigned char)(*wordPointer >> 8);
wordPointer++;
}
-
+
if (wordCount && numBytes & 1) {
/* The number of output bytes was odd. Copy one last byte */
*bytePointer-- = (unsigned char)*wordPointer++;
wordCount--;
numBytes--;
}
-
+
/* zero fill remainder of byte vector */
while (numBytes--)
*bytePointer-- = 0;
-
+
return (0);
}
unsigned int BigU (t)
unsigned int t;
{
- return (16 * (((t+1) + 15)/16));
+ return (16 * (((t+1) + 15)/16));
}
A_SURRENDER_CTX *surrenderContext;
{
struct BigUnexpFrame {
- UINT2 t1[2 * MAX_RSA_PRIME_WORDS], t2[2 * MAX_RSA_PRIME_WORDS],
+ UINT2 t1[2 * MAX_RSA_PRIME_WORDS], t2[2 * MAX_RSA_PRIME_WORDS],
t3[2 * MAX_RSA_PRIME_WORDS], u1[2 * MAX_RSA_PRIME_WORDS],
u2[2 * MAX_RSA_PRIME_WORDS], u3[2 * MAX_RSA_PRIME_WORDS];
} *frame = (struct BigUnexpFrame *)NULL_PTR;
/* Just use the buffers allocated on the stack. */
frame = &stackFrame;
#endif
-
+
BigConst (frame->t1, 0, 2 * pSize);
BigConst (frame->t2, 0, 2 * pSize);
-
+
/* u2=c mod p */
BigPdiv (frame->u1, frame->u2, c, pp, 2 * pSize, pSize);
if ((status = CheckSurrender (surrenderContext)) != 0)
BigAdd (m, m, frame->t2, 2 * pSize);
} while (0);
-
+
if (frame != (struct BigUnexpFrame *)NULL_PTR) {
T_memset ((POINTER)frame, 0, sizeof (*frame));
#if USE_ALLOCED_FRAME
POINTER info;
{
int status;
-
+
if ((status = B_MemoryPoolRealloc
(&infoCache->memoryPool, (POINTER *)&infoCache->z.infos,
(infoCache->z.infoCount + 1) * sizeof (infoCache->z.infos[0]))) != 0)
return (status);
-
+
infoCache->z.infos[infoCache->z.infoCount].infoType = infoType;
infoCache->z.infos[infoCache->z.infoCount].info = info;
- infoCache->z.infoCount++;
-
+ infoCache->z.infoCount++;
+
return (0);
}
POINTER infoType;
{
unsigned int i;
-
+
for (i = 0; i < infoCache->z.infoCount; ++i) {
if (infoCache->z.infos[i].infoType == infoType) {
/* The info has already been constructed. */
return (0);
}
}
-
+
return (BE_NOT_SUPPORTED);
}
B_KeyInfoType *keyInfoType;
{
int status;
-
+
if (key == (B_Key *)NULL_PTR)
return (BE_KEY_OBJ);
*/
if (B_InfoCacheFindInfo (&key->infoCache, info, (POINTER)keyInfoType) == 0)
return (0);
-
+
/* Info is not in the cache, go ahead and encode.
*/
if ((status = (*keyInfoType->MakeInfo) (info, key)) != 0)
{
ITEM *newInfo;
int status;
-
+
if ((status = B_MemoryPoolAlloc
(&key->infoCache.memoryPool, (POINTER *)&newInfo, sizeof (*newInfo)))
!= 0)
return (status);
-
+
newInfo->data = data;
newInfo->len = len;
-
+
return (B_InfoCacheAddInfo
(&key->infoCache, (POINTER)&KITItem, (POINTER)newInfo));
}
{
unsigned char mask, byte;
unsigned int bytes, bits;
-
+
for (bytes = 0; bytes < integerLen && integer[bytes] == 0; bytes++);
if (bytes == integerLen)
return (0);
-
+
/* Get byte to test and increment byte count for final calculation */
byte = integer[bytes++];
-
+
/* Get number of bits in most significant byte */
for (bits = 8, mask = 0x80; (byte & mask) == 0; bits--, mask >>= 1);
return (8 * (integerLen - bytes) + bits);
/* For now we don't need to worry about a reserved field.
struct {
- POINTER reserved;
+ POINTER reserved;
} z;
*/
} B_Key;
B_MemoryPool *memoryPool;
{
T_memset ((POINTER)&memoryPool->z, 0, sizeof (memoryPool->z));
-}
+}
void B_MemoryPoolDestructor (memoryPool)
B_MemoryPool *memoryPool;
unsigned int size;
{
int status;
-
+
if ((status = B_MemoryPoolAlloc (memoryPool, newData, size)) != 0)
return (status);
-
+
T_memcpy (*newData, data, size);
return (0);
}
to NULL_PTR.
This routine should be used with caution - it is meant be called
immediately after an alloc.
- No check is made as to whether the data is already on the memory pool's
+ No check is made as to whether the data is already on the memory pool's
alloced list (which would be a problem since it will get freed twice).
Returns 0 if successful or BE_ALLOC if cannot expand the alloced list.
- */
+ */
int B_MemoryPoolAdoptData (memoryPool, data, size)
B_MemoryPool *memoryPool;
POINTER *data;
unsigned int size;
{
int status;
-
+
if ((status = B_MemoryPoolAdoptHelper
(memoryPool, *data, size, (B_MEMORY_POOL_DELETE_FUNCTION)NULL))
!= 0) {
The object is not passed by reference. If there is an error,
the calling routine should clean up the object, such as zeroizing
and freeing.
- No check is made as to whether the object is already on the memory pool's
+ No check is made as to whether the object is already on the memory pool's
alloced list (which would be a problem since it will get freed twice).
Returns 0 if successful or BE_ALLOC if cannot expand the alloced list.
- */
+ */
int B_MemoryPoolAdoptHelper (memoryPool, object, size, DeleteFunction)
B_MemoryPool *memoryPool;
POINTER object;
== NULL_PTR)
/* alloc errorm so caller should clean up the object it passed. */
return (BE_ALLOC);
-
+
/* move in new list and free old list */
T_memcpy
(newList, (POINTER)memoryPool->z.allocedList,
memoryPool->z.allocedList = (B_ALLOCED_DATA *)newList;
memoryPool->z.maxAllocedCount = newMaxCount;
}
-
+
/* Put object on alloced list and increment count.
*/
memoryPool->z.allocedList[memoryPool->z.allocedCount].object = object;
return (BE_ALLOC);
}
-
+
/* Realloc was successful.
*/
if (allocedData == (B_ALLOCED_DATA *)NULL_PTR)
/* The data was not in the memory pool to start with, so adopt it.
Note that this also happens when the data is initially NULL_PTR. */
return (B_MemoryPoolAdoptData (memoryPool, data, size));
-
+
/* Replace the entry on the alloced list with the new memory.
*/
allocedData->object = *data;
POINTER *object;
{
B_ALLOCED_DATA *allocedData;
-
+
if ((allocedData = B_MemoryPoolFindAllocedObject (memoryPool, *object))
!= (B_ALLOCED_DATA *)NULL_PTR) {
if (allocedData->DeleteFunction !=
/* Set this entry to NULL_PTR so that reset will not process it. */
allocedData->object = NULL_PTR;
}
-
+
*object = NULL_PTR;
}
{
B_ALLOCED_DATA *allocedData;
unsigned int i;
-
+
if (object == NULL_PTR)
return ((B_ALLOCED_DATA *)NULL_PTR);
-
+
for (i = memoryPool->z.allocedCount,
allocedData = memoryPool->z.allocedList;
i-- > 0;
unsigned int numBytes;
{
unsigned int copyCount;
-
+
if (A_IntegerBits (bytePointer, numBytes) / 16 + 1 > wordCount)
return (AE_DATA);
/* start at end of byte vector */
bytePointer += numBytes-1;
-
+
/* copy as much as possible */
copyCount = (wordCount < numBytes / 2) ? wordCount : numBytes / 2;
wordCount -= copyCount;
*wordPointer++ = (UINT2)*bytePointer + (*(bytePointer - 1) << 8);
bytePointer -= 2;
}
-
+
if (wordCount && numBytes & 1) {
/* If the number of input bytes was odd. Copy one last byte.*/
*wordPointer++ = (UINT2)*bytePointer--;
wordCount--;
numBytes--;
}
-
+
/* zero fill remainder of word vector */
while (wordCount--)
*wordPointer++ = 0;
-
+
return (0);
}
(context->primeP, MAX_RSA_PRIME_WORDS, key->prime[0].data,
key->prime[0].len))
return (AE_KEY_INFO);
-
+
/* compute significant length of first prime */
context->primeWords = BITS_TO_WORDS
(BigLen (context->primeP, MAX_RSA_PRIME_WORDS));
-
+
/* convert other private key parameters to bignum format */
if (CanonicalToBig
(context->primeQ, context->primeWords, key->prime[1].data,
context->inputLen += partInLen;
return (0);
}
-
+
if (context->inputLen > 0) {
/* Need to accumulate the rest of the block bytes into the input and
encrypt from there (otherwise it's OK to encrypt straight from
partialLen);
partIn += partialLen;
partInLen -= partialLen;
-
+
if ((status = RSA_CRT2
(context, partOut, &localPartOutLen, maxPartOutLen, context->input,
surrenderContext)) != 0)
(context, partOut, &localPartOutLen, maxPartOutLen, partIn,
surrenderContext)) != 0)
return (status);
-
+
partIn += context->blockLen;
partInLen -= context->blockLen;
(*partOutLen) += localPartOutLen;
partOut += localPartOutLen;
maxPartOutLen -= localPartOutLen;
}
-
+
/* Copy remaining input bytes to the context's input buffer.
*/
T_memcpy
{
if (context->inputLen != 0)
return (AE_INPUT_LEN);
-
+
/* Restart context to accumulate a new block.
*/
context->inputLen = 0;
do {
if ((*outputLen = context->blockLen) > maxOutputLen)
return (AE_OUTPUT_LEN);
-
+
#if USE_ALLOCED_FRAME
if ((frame = (struct ModExpCRTFrame *)T_malloc (sizeof (*frame)))
== (struct ModExpCRTFrame *)NULL_PTR) {
if (BigCmp
(frame->bigInBuf, context->modulus, 2 * context->primeWords) >= 0)
GENERATE_BREAK (AE_INPUT_DATA);
-
+
/* Chinese remainder exponentiation. */
if ((status = BigUnexp
(frame->bigOutBuf, frame->bigInBuf, context->primeP, context->primeQ,
BigToCanonical
(output, *outputLen, frame->bigOutBuf, 2 * context->primeWords);
} while (0);
-
+
if (frame != (struct ModExpCRTFrame *)NULL_PTR) {
T_memset ((POINTER)frame, 0, sizeof (*frame));
#if USE_ALLOCED_FRAME
unsigned int inputLen;
{
unsigned int i, j, x;
-
+
(*digestRandom->vTable->DigestUpdate) (digestRandom, input, inputLen);
(*digestRandom->vTable->DigestFinal) (digestRandom, digestRandom->_digest);
unsigned int outputLen;
{
unsigned int available, i;
-
+
available = digestRandom->_outputAvailable;
while (outputLen > available) {
break;
}
- T_memcpy
+ T_memcpy
((POINTER)output,
(POINTER)&digestRandom->_output[digestRandom->_digestLen-available],
outputLen);
/* PROTO_LIST is defined depending on how PROTOTYPES is defined above.
If using PROTOTYPES, then PROTO_LIST returns the list, otherwise it
- returns an empty list.
+ returns an empty list.
*/
#if PROTOTYPES
#define PROTO_LIST(list) list
{
unsigned char mask, byte;
unsigned int bytes, bits;
-
+
for (bytes = 0; bytes < integerLen && integer[bytes] == 0; bytes++);
if (bytes == integerLen)
return (0);
-
+
/* Get byte to test and increment byte count for final calculation */
byte = integer[bytes++];
-
+
/* Get number of bits in most significant byte */
for (bits = 8, mask = 0x80; (byte & mask) == 0; bits--, mask >>= 1);
return (8 * (integerLen - bytes) + bits);
ITEM sourceItem, *destinationItem;
int status;
unsigned int i, offset;
-
+
for (i = 0; i < itemCount; i++) {
offset = (unsigned int)((char *)staticItems[i] - (char *)staticStruct);
sourceItem = *(ITEM *)((char *)source + offset);
sourceItem.len--;
sourceItem.data++;
}
-
+
if ((status = B_MemoryPoolAllocAndCopy
(memoryPool, (POINTER *)&destinationItem->data,
(POINTER)sourceItem.data, destinationItem->len = sourceItem.len))
!= 0)
return (status);
}
-
+
return (0);
}
/* First construct base class */
B_KEY_Constructor (&keyWrap->key);
-
+
keyWrap->typeTag = &KEY_TYPE_TAG;
keyWrap->selfCheck = keyWrap;
return (0);
*/
if (*keyObject == NULL_PTR)
return;
-
+
if (KeyWrapCheck (keyWrap) == 0) {
/* zeroize self check to invalidate memory. */
keyWrap->selfCheck = (KeyWrap *)NULL_PTR;
{
B_KeyInfoType *keyInfoType;
int status;
-
+
if ((status = KeyWrapCheck (THE_KEY_WRAP)) != 0)
return (status);
*/
if ((*infoType) ((POINTER *)&keyInfoType) == 0)
return (BE_ALG_OPERATION_UNKNOWN);
-
+
return (B_KeySetInfo (&THE_KEY_WRAP->key, keyInfoType, info));
}
{
B_KeyInfoType *keyInfoType;
int status;
-
+
if ((status = KeyWrapCheck (THE_KEY_WRAP)) != 0)
return (status);
*/
if ((*infoType) ((POINTER *)&keyInfoType) == 0)
return (BE_ALG_OPERATION_UNKNOWN);
-
+
return (B_KeyGetInfo (&THE_KEY_WRAP->key, info, keyInfoType));
}
{
POINTER newData;
int status;
-
+
/* Copy the 8 byte key. */
if ((status = B_MemoryPoolAllocAndCopy
(&key->infoCache.memoryPool, &newData, info, 8)) != 0)
{
ITEM *item;
int status;
-
+
/* Try to make one from a KI_Item. Since KI_Item doesn't
call KI_8Byte, this should not cause an endless loop.
*/
(&key->infoCache.memoryPool, (POINTER *)&fullKey,
sizeof (FULL_PRIVATE_KEY))) != 0)
return (status);
-
+
/* Pre-zeroize and only copy in values that are not NULL.
*/
T_memset ((POINTER)fullKey, 0, sizeof (*fullKey));
}
if (coefficient != (ITEM *)NULL_PTR)
fullKey->coefficient = *coefficient;
-
+
return (B_InfoCacheAddInfo
(&key->infoCache, (POINTER)&KITFullPrivate, (POINTER)fullKey));
}
{
FULL_PRIVATE_KEY *fullKey;
int status;
-
+
if ((status = B_KeyGetInfo
(key, (POINTER *)&fullKey, &KITFullPrivate)) != 0)
return (status);
return (BE_WRONG_KEY_INFO);
*coefficient = fullKey->coefficient;
}
-
+
return (0);
}
{
unsigned char *newData;
int status;
-
+
if ((status = B_MemoryPoolAllocAndCopy
(&key->infoCache.memoryPool, (POINTER *)&newData,
(POINTER)((ITEM *)info)->data, ((ITEM *)info)->len)) != 0)
return (status);
-
+
return (B_KeyAddItemInfo (key, newData, ((ITEM *)info)->len));
}
There is one global instance which is used by B_Key::setInfo, etc.:
-
+
KITItem KITItem;
*/
{
A_PKCS_RSA_PRIVATE_KEY *newValue;
int status;
-
+
/* Allocate memory for A_PKCS_RSA_PRIVATE_KEY struct and copy integers
from supplied value.
*/
return (status);
if ((status = AllocAndCopyIntegerItems
((POINTER)newValue, info, (POINTER)&STATIC_PKCS_RSA_PRIVATE_KEY,
- PKCS_RSA_PRIVATE_KEY_ITEMS, sizeof (PKCS_RSA_PRIVATE_KEY_ITEMS) /
+ PKCS_RSA_PRIVATE_KEY_ITEMS, sizeof (PKCS_RSA_PRIVATE_KEY_ITEMS) /
sizeof (PKCS_RSA_PRIVATE_KEY_ITEMS[0]), &key->infoCache.memoryPool))
!= 0)
return (status);
-
+
/* Cache the full private key info.
*/
if ((status = CacheFullPrivateKey
(&key->infoCache.memoryPool, info, sizeof (A_PKCS_RSA_PRIVATE_KEY)))
!= 0)
return (status);
-
+
**(A_PKCS_RSA_PRIVATE_KEY **)info = keyValue;
return (0);
}
{
A_RSA_CRT_KEY *newValue;
int status;
-
+
/* Allocate memory for A_RSA_CRT_KEY struct and copy integers
from supplied value.
*/
if ((status = B_MemoryPoolAlloc
(&key->infoCache.memoryPool, info, sizeof (A_RSA_CRT_KEY))) != 0)
return (status);
-
+
**(A_RSA_CRT_KEY **)info = keyValue;
return (0);
}
{
POINTER newValue;
int status;
-
+
/* Allocate memory for A_RSA_KEY struct and copy integers
from supplied value.
*/
sizeof (RSA_KEY_ITEMS) / sizeof (RSA_KEY_ITEMS[0]),
&key->infoCache.memoryPool)) != 0)
return (status);
-
+
return (B_InfoCacheAddInfo
(&key->infoCache, (POINTER)&KIT_RSAPublic, newValue));
}
{
A_RSA_KEY keyValue;
int status;
-
+
/* If not already found in the cache, try to get values from
a full private key info, setting unneeded entries to NULL.
*/
if ((status = B_MemoryPoolAlloc
(&key->infoCache.memoryPool, info, sizeof (A_RSA_KEY))) != 0)
return (status);
-
+
**(A_RSA_KEY **)info = keyValue;
return (0);
}
if (inputLen >= partLen) {
T_memcpy ((POINTER)&context->buffer[index], (POINTER)input, partLen);
MD5Transform (context->state, context->buffer);
-
+
for (i = partLen; i + 63 < inputLen; i += 64)
MD5Transform (context->state, &input[i]);
-
+
index = 0;
}
else
i = 0;
-
+
/* Buffer remaining input */
T_memcpy ((POINTER)&context->buffer[index], (POINTER)&input[i], inputLen-i);
}
state[1] += b;
state[2] += c;
state[3] += d;
-
+
/* Zeroize sensitive information.
*/
T_memset ((POINTER)x, 0, sizeof (x));
typedef struct A_MD5_RANDOM_CTX {
A_DigestRandom digestRandom; /* "base class" */
-
+
unsigned char state[3 * A_MD5_DIGEST_LEN];
A_MD5_CTX md5Context;
} A_MD5_RANDOM_CTX;
char sieve[1000];
int status = 0;
unsigned int i, r, s, testResult;
-
+
do {
/* Create a starting point for the prime from the random block */
for (i = 0; i < primeWords; i++) {
/* set high order two bits */
BigSetbit (prime, primeSizeBits-2);
- BigSetbit (prime, primeSizeBits-1);
- for (i = primeSizeBits; i < (unsigned int)(16 * primeWords); i++)
+ BigSetbit (prime, primeSizeBits-1);
+ for (i = primeSizeBits; i < (unsigned int)(16 * primeWords); i++)
BigClrbit (prime, i);
/* force p to be even */
BigClrbit (prime, 0);
-
+
/* clear sieve and mark even positions */
for (i = 0; i < 1000; i += 2) {
sieve[i] = 1;
for (i = s - r; i < 1000; i += s)
sieve[i] = 1;
}
-
+
/* t1 = 1 */
BigConst (t1, 1, modulusWords);
}
if (status)
break;
-
+
if (!testResult)
/* Couldn't find a prime with the supplied random block, so ask
caller to generate another random block and try again. */
If pseudo prime, *testResult = 1, else *testResult = 0.
Returns 0, AE_CANCEL.
*/
-int PseudoPrime (testResult, prime, primeWords, surrenderContext)
+int PseudoPrime (testResult, prime, primeWords, surrenderContext)
unsigned int *testResult;
UINT2 *prime;
unsigned int primeWords;
/* Default testResult to false. */
*testResult = 0;
-
+
/* Prepare for setting base vector to the small prime. */
T_memset ((POINTER)base, 0, sizeof (base));
-
+
for (i = 0; i < 4; i++) {
/* check to see if target is multiple of SMALL_PRIME */
if (BigSmod (prime, (unsigned int)SMALL_PRIME[i], primeWords) == 0)
context->inputLen += partInLen;
return (0);
}
-
+
if (context->inputLen > 0) {
/* Need to accumulate the rest of the block bytes into the input and
encrypt from there (otherwise it's OK to encrypt straight from
partialLen);
partIn += partialLen;
partInLen -= partialLen;
-
+
if ((status = RSA
(context, partOut, &localPartOutLen, maxPartOutLen, context->input,
surrenderContext)) != 0)
(context, partOut, &localPartOutLen, maxPartOutLen, partIn,
surrenderContext)) != 0)
return (status);
-
+
partIn += context->blockLen;
partInLen -= context->blockLen;
(*partOutLen) += localPartOutLen;
partOut += localPartOutLen;
maxPartOutLen -= localPartOutLen;
}
-
+
/* Copy remaining input bytes to the context's input buffer.
*/
T_memcpy
{
if (context->inputLen != 0)
return (AE_INPUT_LEN);
-
+
/* Restart context to accumulate a new block. */
context->inputLen = 0;
return (0);
do {
if ((*outputLen = context->blockLen) > maxOutputLen)
return (AE_OUTPUT_LEN);
-
+
#if USE_ALLOCED_FRAME
if ((frame = (struct ModExpFrame *)T_malloc (sizeof (*frame)))
== (struct ModExpFrame *)NULL_PTR) {
*/
CanonicalToBig
(frame->bigInBuf, context->modulusWords, input, context->blockLen);
-
+
/* Check for overflow. */
if (BigCmp (frame->bigInBuf, context->modulus, context->modulusWords) >= 0)
GENERATE_BREAK (AE_INPUT_DATA);
-
+
/* Exponentiate. */
if ((status = BigModExp
(frame->bigOutBuf, frame->bigInBuf, context->exponent,
BigToCanonical
(output, *outputLen, frame->bigOutBuf, context->modulusWords);
} while (0);
-
+
if (frame != (struct ModExpFrame *)NULL_PTR) {
T_memset ((POINTER)frame, 0, sizeof (*frame));
#if USE_ALLOCED_FRAME
A_RSA_KEY_GEN_PARAMS *params;
{
context->modulusBits = params->modulusBits;
-
+
/* Prezeroize big public exponent vector. */
T_memset
((POINTER)context->bigPublicExponent, 0,
sizeof (context->bigPublicExponent));
-
+
/* Copy public exponent into big vector */
if (CanonicalToBig
(context->bigPublicExponent, MAX_RSA_MODULUS_WORDS,
modulusWords = BITS_TO_WORDS (context->modulusBits);
primeSizeBits = RSA_PRIME_BITS (context->modulusBits);
primeWords = BITS_TO_WORDS (RSA_PRIME_BITS (context->modulusBits));
-
+
/* Fish for bigPrime1 and bigPrime2 that are compatible with supplied
publicExponent.
The randomBlock holds random bytes for two primes.
}
/* Calculate the rest of the key components */
- if ((status = RSAParameters
+ if ((status = RSAParameters
(context->bigModulus, context->bigCoefficient,
context->bigExponentP, context->bigExponentQ,
context->bigPrivateExponent, context->bigPublicExponent,
bigPrimeP, bigPrimeQ, primeWords, modulusWords, surrenderContext)) != 0)
return (status);
-
+
/* Copy key components into canonical buffers which are at the
end of the context. */
*result = &context->result;
SetRSAKeyGenResult (*result, context, bigPrimeP, bigPrimeQ);
-
+
return (0);
}
/* Assumes ee, pp, qq are given, calculates other parameters.
Returns 0, AE_CANCEL.
*/
-static int RSAParameters
+static int RSAParameters
(nn, cr, dp, dq, dd, ee, pp, qq, primeWords, modulusWords, surrenderContext)
UINT2 *nn, *cr, *dp, *dq, *dd, *ee, *pp, *qq;
unsigned int primeWords, modulusWords;
{
UINT2 t1[2 * MAX_RSA_PRIME_WORDS], t2[MAX_RSA_PRIME_WORDS],
t3[MAX_RSA_MODULUS_WORDS], u1[MAX_RSA_MODULUS_WORDS],
- u3[MAX_RSA_MODULUS_WORDS], pm1[MAX_RSA_PRIME_WORDS],
+ u3[MAX_RSA_MODULUS_WORDS], pm1[MAX_RSA_PRIME_WORDS],
qm1[MAX_RSA_PRIME_WORDS];
int status;
-
+
do {
/* N=P*Q */
BigMpy (t1, pp, qq, primeWords);
if ((status = CheckSurrender (surrenderContext)) != 0)
break;
BigCopy (nn, t1, modulusWords);
-
+
/* qm1=q-1 & pm1=p-1 */
BigConst (t1, 1, primeWords);
BigSub (qm1, qq, t1, primeWords);
BigSub (pm1, pp, t1, primeWords);
-
+
/* t3=1 */
BigConst (t3, 1, modulusWords);
-
+
/*t1=phi (N) */
BigMpy (t1, pm1, qm1, primeWords);
if ((status = CheckSurrender (surrenderContext)) != 0)
BigPdiv (t1, dq, dd, qm1, modulusWords, primeWords);
if ((status = CheckSurrender (surrenderContext)) != 0)
break;
-
+
/* calc CR = (inv (Q)[modP]) */
BigPegcd (t1, t2, cr, pp, qq, primeWords);
} while (0);
-
+
T_memset ((POINTER)t1, 0, sizeof (t1));
T_memset ((POINTER)t2, 0, sizeof (t2));
T_memset ((POINTER)t3, 0, sizeof (t3));
modulusLen = result->modulus.len = result->publicExponent.len =
result->privateExponent.len = BITS_TO_LEN (context->modulusBits);
- primeLen = result->prime[0].len = result->prime[1].len =
+ primeLen = result->prime[0].len = result->prime[1].len =
result->primeExponent[0].len = result->primeExponent[1].len =
result->coefficient.len = RSA_PRIME_LEN (context->modulusBits);
-
+
result->modulus.data = context->resultBuffer;
result->publicExponent.data = result->modulus.data + modulusLen;
result->privateExponent.data = result->publicExponent.data + modulusLen;
BigToCanonical
(result->privateExponent.data, modulusLen,
context->bigPrivateExponent, MAX_RSA_MODULUS_WORDS);
- BigToCanonical
+ BigToCanonical
(result->prime[0].data, primeLen, bigPrimeP, MAX_RSA_PRIME_WORDS);
- BigToCanonical
+ BigToCanonical
(result->prime[1].data, primeLen, bigPrimeQ, MAX_RSA_PRIME_WORDS);
- BigToCanonical
+ BigToCanonical
(result->primeExponent[0].data, primeLen, context->bigExponentP,
MAX_RSA_PRIME_WORDS);
BigToCanonical
((POINTER)remainder + *remainderLen, (POINTER)input,
partialLen = 16 - *remainderLen);
input += partialLen;
- inputLen -= partialLen;
+ inputLen -= partialLen;
/* remainder is full and inputLen is at least 1. Compute outputLen
as the size needed to keep remainder as full as possible.
SecretCBCDecryptBlock
(context, xorBlock, SecretDecrypt, output, remainder);
output += 8;
-
+
if (inputLen <= 8) {
/* Shift remaining input bytes into remainder */
T_memmove ((POINTER)remainder, (POINTER)(remainder + 8), 8);
if ((*outputLen = remainderLen) == 0)
/* There was never any data. */
return (0);
-
+
if (remainderLen != 8 && remainderLen != 16)
return (AE_INPUT_LEN);
{
unsigned char tempBuffer[8];
unsigned int i;
-
+
/* Save input to be copied to the xor block. */
T_memcpy ((POINTER)tempBuffer, (POINTER)in, 8);
(*SecretDecrypt) (context, out, in);
for (i = 0; i < 8; i++)
- out[i] ^= xorBlock[i];
+ out[i] ^= xorBlock[i];
T_memcpy ((POINTER)xorBlock, (POINTER)tempBuffer, 8);
-
+
T_memset ((POINTER)tempBuffer, 0, sizeof (tempBuffer));
}
*/
if ((*outputLen = 8 * (totalLen / 8)) > maxOutputLen)
return (AE_OUTPUT_LEN);
-
+
if (totalLen < 8) {
/* Not enough to encrypt, just accumulate into remainder.
*/
T_memcpy
((POINTER)remainder + *remainderLen, (POINTER)input, inputLen);
*remainderLen = totalLen;
-
+
return (0);
}
-
+
/* Accumulate enough bytes from input into remainder to encrypt the
remainder.
*/
T_memcpy
((POINTER)remainder + *remainderLen, (POINTER)input,
partialLen = 8 - *remainderLen);
-
+
for (i = 0; i < 8; i++)
output[i] = remainder[i] ^ xorBlock[i];
/* Encrypt in place */
(*SecretEncrypt) (context, output, output);
-
+
T_memcpy ((POINTER)xorBlock, (POINTER)output, 8);
input += partialLen;
inputLen -= partialLen;
*/
T_memcpy ((POINTER)remainder, (POINTER)input, inputLen);
*remainderLen = inputLen;
-
+
return (0);
}
{
if (remainderLen != 0)
return (AE_INPUT_LEN);
-
+
return (0);
}
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.14 2000/07/31 19:44:13 bwelling Exp $
+# $Id: Makefile.in,v 1.15 2000/08/01 01:27:43 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Portions Copyright (C) 1999, 2000 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
+ *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM AND
* NETWORK ASSOCIATES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
* SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
/*
* Principal Author: Brian Wellington
- * $Id: bsafe_link.c,v 1.32 2000/06/22 21:19:13 bwelling Exp $
+ * $Id: bsafe_link.c,v 1.33 2000/08/01 01:27:44 tale Exp $
*/
#if defined(DNSSAFE)
isc_buffer_availableregion(sig, &sig_region);
if (sig_region.length * 8 < (unsigned int) key->key_size)
return (ISC_R_NOSPACE);
-
+
if (!dnssafersa_isprivate(key))
return (DST_R_NOTPRIVATEKEY);
rkey1 = (RSA_Key *) key1->opaque;
rkey2 = (RSA_Key *) key2->opaque;
- if (rkey1 == NULL && rkey2 == NULL)
+ if (rkey1 == NULL && rkey2 == NULL)
return (ISC_TRUE);
else if (rkey1 == NULL || rkey2 == NULL)
return (ISC_FALSE);
- if (rkey1->rk_Public_Key)
- (void)B_GetKeyInfo((POINTER *) &public1, rkey1->rk_Public_Key,
+ if (rkey1->rk_Public_Key)
+ (void)B_GetKeyInfo((POINTER *) &public1, rkey1->rk_Public_Key,
KI_RSAPublic);
- if (rkey2->rk_Public_Key)
- (void)B_GetKeyInfo((POINTER *) &public2, rkey2->rk_Public_Key,
+ if (rkey2->rk_Public_Key)
+ (void)B_GetKeyInfo((POINTER *) &public2, rkey2->rk_Public_Key,
KI_RSAPublic);
if (public1 == NULL && public2 == NULL)
return (ISC_TRUE);
status = itemcmp(public1->modulus, public2->modulus) ||
itemcmp(public1->exponent, public2->exponent);
- if (status == ISC_FALSE)
+ if (status == ISC_FALSE)
return (ISC_FALSE);
if (rkey1->rk_Private_Key != NULL || rkey2->rk_Private_Key != NULL) {
KI_PKCS_RSAPrivate);
(void)B_GetKeyInfo((POINTER *)&p2, rkey2->rk_Private_Key,
KI_PKCS_RSAPrivate);
- if (p1 == NULL || p2 == NULL)
+ if (p1 == NULL || p2 == NULL)
return (ISC_FALSE);
status = itemcmp(p1->modulus, p2->modulus) &&
if (bytes == 0) /* special case for long exponents */
bytes = isc_buffer_getuint16(data);
- if (bytes > MAX_RSA_MODULUS_LEN) {
+ if (bytes > MAX_RSA_MODULUS_LEN) {
dnssafersa_destroy(key);
return (DST_R_INVALIDPUBLICKEY);
}
isc_buffer_remainingregion(data, &r);
- if (r.length > MAX_RSA_MODULUS_LEN) {
+ if (r.length > MAX_RSA_MODULUS_LEN) {
dnssafersa_destroy(key);
memset(public->exponent.data, 0, bytes);
isc_mem_put(mctx, public->exponent.data, bytes);
return (dst__privstruct_writefile(key, &priv, directory));
}
-static isc_result_t
+static isc_result_t
dnssafersa_fromfile(dst_key_t *key, const isc_uint16_t id,
const char *filename) {
dst_private_t priv;
memset(private, 0, sizeof(*private));
public = (A_RSA_KEY *) isc_mem_get(mctx, sizeof(A_RSA_KEY));
- if (public == NULL)
+ if (public == NULL)
DST_RET(ISC_R_NOMEMORY);
memset(public, 0, sizeof(*public));
DST_RET(DST_R_INVALIDPRIVATEKEY);
rkey = (RSA_Key *) isc_mem_get(mctx, sizeof(RSA_Key));
- if (rkey == NULL)
+ if (rkey == NULL)
DST_RET(ISC_R_NOMEMORY);
memset(rkey, 0, sizeof(*rkey));
if (B_CreateKeyObject(&(rkey->rk_Public_Key)) != 0)
dst__dnssafersa_destroy(void) {
}
-/*
+/*
* define memory functions for dnssafe that use the isc_mem functions and a
* static context.
*/
/*
* Portions Copyright (C) 1999, 2000 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
+ *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM AND
* NETWORK ASSOCIATES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
* SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
/*
* Principal Author: Brian Wellington
- * $Id: dst_api.c,v 1.57 2000/07/31 19:44:14 bwelling Exp $
+ * $Id: dst_api.c,v 1.58 2000/08/01 01:27:45 tale Exp $
*/
#include <config.h>
static isc_result_t write_public_key(const dst_key_t *key,
const char *directory);
static isc_result_t buildfilename(dns_name_t *name,
- const unsigned int id,
+ const unsigned int id,
const unsigned int alg,
const unsigned int type,
const char *directory,
isc_result_t
dst_key_computesecret(const dst_key_t *pub, const dst_key_t *priv,
- isc_buffer_t *secret)
+ isc_buffer_t *secret)
{
REQUIRE(dst_initialized == ISC_TRUE);
REQUIRE(VALID_KEY(pub) && VALID_KEY(priv));
return (pub->func->computesecret(pub, priv, secret));
}
-isc_result_t
+isc_result_t
dst_key_tofile(const dst_key_t *key, const int type, const char *directory) {
isc_result_t ret = ISC_R_SUCCESS;
*keyp = pubkey;
return (ISC_R_SUCCESS);
}
-
+
key = get_key_struct(pubkey->key_name, pubkey->key_alg,
pubkey->key_flags, pubkey->key_proto, 0, mctx);
id = pubkey->key_id;
return (ISC_R_SUCCESS);
}
-isc_result_t
+isc_result_t
dst_key_tobuffer(const dst_key_t *key, isc_buffer_t *target) {
REQUIRE(dst_initialized == ISC_TRUE);
REQUIRE(VALID_KEY(key));
isc_boolean_t
dst_key_iszonekey(const dst_key_t *key) {
REQUIRE(VALID_KEY(key));
-
+
if ((key->key_flags & DNS_KEYTYPE_NOAUTH) != 0)
return (ISC_FALSE);
if ((key->key_flags & DNS_KEYFLAG_OWNERMASK) != DNS_KEYOWNER_ZONE)
isc_boolean_t
dst_key_isnullkey(const dst_key_t *key) {
REQUIRE(VALID_KEY(key));
-
+
if ((key->key_flags & DNS_KEYFLAG_TYPEMASK) != DNS_KEYTYPE_NOKEY)
return (ISC_FALSE);
if ((key->key_flags & DNS_KEYFLAG_OWNERMASK) != DNS_KEYOWNER_ZONE)
*** Static methods
***/
-/*
- * Allocates a key structure and fills in some of the fields.
+/*
+ * Allocates a key structure and fills in some of the fields.
*/
static dst_key_t *
get_key_struct(dns_name_t *name, const unsigned int alg,
const unsigned int flags, const unsigned int protocol,
const unsigned int bits, isc_mem_t *mctx)
{
- dst_key_t *key;
+ dst_key_t *key;
isc_result_t result;
REQUIRE(dst_algorithm_supported(alg) != ISC_FALSE);
ISC_FALSE, NULL);
if (ret != ISC_R_SUCCESS)
goto cleanup;
-
+
/* Read the next word: either TTL, 'IN', or 'KEY' */
NEXTTOKEN(lex, opt, &token);
/* If it's a TTL, read the next one */
if (token.type == isc_tokentype_number)
NEXTTOKEN(lex, opt, &token);
-
+
if (token.type != isc_tokentype_string)
BADTOKEN();
if (strcasecmp(token.value.as_pointer, "IN") == 0)
NEXTTOKEN(lex, opt, &token);
-
+
if (token.type != isc_tokentype_string)
BADTOKEN();
if (strcasecmp(token.value.as_pointer, "KEY") != 0)
BADTOKEN();
-
+
isc_buffer_init(&b, rdatabuf, sizeof(rdatabuf));
ret = dns_rdata_fromtext(&rdata, dns_rdataclass_in, dns_rdatatype_key,
lex, NULL, ISC_FALSE, &b, NULL);
return (DST_R_INVALIDPUBLICKEY);
isc_buffer_usedregion(&textb, &r);
-
+
/*
* Make the filename.
*/
}
static isc_result_t
-buildfilename(dns_name_t *name, const unsigned int id,
+buildfilename(dns_name_t *name, const unsigned int id,
const unsigned int alg, const unsigned int type,
const char *directory, isc_buffer_t *out)
{
/*
* Portions Copyright (C) 2000 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
+ *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM AND
* NETWORK ASSOCIATES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
* SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dst_internal.h,v 1.26 2000/07/31 19:44:15 bwelling Exp $ */
+/* $Id: dst_internal.h,v 1.27 2000/08/01 01:27:46 tale Exp $ */
#ifndef DST_DST_INTERNAL_H
#define DST_DST_INTERNAL_H 1
/*
* Copyright (C) 1999, 2000 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
/*
* Principal Author: Brian Wellington
- * $Id: dst_lib.c,v 1.5 2000/07/27 09:50:25 tale Exp $
+ * $Id: dst_lib.c,v 1.6 2000/08/01 01:27:48 tale Exp $
*/
#include <config.h>
/*
* Portions Copyright (C) 1999, 2000 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
+ *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM AND
* NETWORK ASSOCIATES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
* SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
/*
* Principal Author: Brian Wellington
- * $Id: dst_parse.c,v 1.22 2000/06/20 04:13:40 tale Exp $
+ * $Id: dst_parse.c,v 1.23 2000/08/01 01:27:49 tale Exp $
*/
#include <config.h>
if (token.type != isc_tokentype_string ||
strcmp(token.value.as_pointer, PRIVATE_KEY_STR) != 0)
goto fail;
-
+
NEXTTOKEN(lex, opt, &token);
if (token.type != isc_tokentype_string ||
((char *)token.value.as_pointer)[0] != 'v')
unsigned char *data;
isc_region_t r;
- iret = isc_lex_gettoken(lex, opt, &token);
+ iret = isc_lex_gettoken(lex, opt, &token);
if (iret == ISC_R_EOF)
break;
if (iret != ISC_R_SUCCESS)
fwrite(r.base, 1, r.length, fp);
fprintf(fp, "\n");
}
-
+
fclose(fp);
return (ISC_R_SUCCESS);
}
/*
* Portions Copyright (C) 2000 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
+ *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM AND
* NETWORK ASSOCIATES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
* SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dst_parse.h,v 1.14 2000/06/22 21:56:37 tale Exp $ */
+/* $Id: dst_parse.h,v 1.15 2000/08/01 01:27:50 tale Exp $ */
#ifndef DST_DST_PARSE_H
#define DST_DST_PARSE_H 1
/*
* Copyright (C) 1999, 2000 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
/*
* Principal Author: Brian Wellington
- * $Id: dst_result.c,v 1.13 2000/07/27 09:50:26 tale Exp $
+ * $Id: dst_result.c,v 1.14 2000/08/01 01:27:51 tale Exp $
*/
#include <config.h>
/*
* Portions Copyright (C) 1999, 2000 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
+ *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM AND
* NETWORK ASSOCIATES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
* SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
/*
* Principal Author: Brian Wellington
- * $Id: hmac_link.c,v 1.41 2000/07/31 19:44:18 bwelling Exp $
+ * $Id: hmac_link.c,v 1.42 2000/08/01 01:27:52 tale Exp $
*/
#include <config.h>
hkey1 = (HMAC_Key *)key1->opaque;
hkey2 = (HMAC_Key *)key2->opaque;
- if (hkey1 == NULL && hkey2 == NULL)
+ if (hkey1 == NULL && hkey2 == NULL)
return (ISC_TRUE);
else if (hkey1 == NULL || hkey2 == NULL)
return (ISC_FALSE);
return (dst__privstruct_writefile(key, &priv, directory));
}
-static isc_result_t
+static isc_result_t
hmacmd5_fromfile(dst_key_t *key, const isc_uint16_t id, const char *filename) {
dst_private_t priv;
isc_result_t ret;
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.6 2000/07/27 09:50:28 tale Exp $
+# $Id: Makefile.in,v 1.7 2000/08/01 01:27:56 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.7 2000/07/27 09:50:29 tale Exp $
+# $Id: Makefile.in,v 1.8 2000/08/01 01:27:57 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dst.h,v 1.33 2000/07/31 19:44:21 bwelling Exp $ */
+/* $Id: dst.h,v 1.34 2000/08/01 01:27:58 tale Exp $ */
#ifndef DST_DST_H
#define DST_DST_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lib.h,v 1.4 2000/07/27 09:50:31 tale Exp $ */
+/* $Id: lib.h,v 1.5 2000/08/01 01:27:59 tale Exp $ */
#ifndef DST_LIB_H
#define DST_LIB_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: result.h,v 1.16 2000/07/27 09:50:32 tale Exp $ */
+/* $Id: result.h,v 1.17 2000/08/01 01:28:00 tale Exp $ */
#ifndef DST_RESULT_H
#define DST_RESULT_H 1
/*
* Portions Copyright (C) 1999, 2000 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
+ *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM AND
* NETWORK ASSOCIATES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
* SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
/*
* Principal Author: Brian Wellington
- * $Id: openssl_link.c,v 1.32 2000/07/31 19:44:19 bwelling Exp $
+ * $Id: openssl_link.c,v 1.33 2000/08/01 01:27:53 tale Exp $
*/
#if defined(OPENSSL)
isc_sha1_update(sha1ctx, data->base, data->length);
return (ISC_R_SUCCESS);
}
-
+
static int
BN_bn2bin_fixed(BIGNUM *bn, unsigned char *buf, int size) {
int bytes = size - BN_num_bytes(bn);
*buf++ = 0;
BN_bn2bin(bn, buf);
return (size);
-}
+}
static isc_result_t
openssldsa_sign(dst_context_t *dctx, isc_buffer_t *sig) {
dsa1 = (DSA *) key1->opaque;
dsa2 = (DSA *) key2->opaque;
- if (dsa1 == NULL && dsa2 == NULL)
+ if (dsa1 == NULL && dsa2 == NULL)
return (ISC_TRUE);
else if (dsa1 == NULL || dsa2 == NULL)
return (ISC_FALSE);
return (dst__privstruct_writefile(key, &priv, directory));
}
-static isc_result_t
+static isc_result_t
openssldsa_fromfile(dst_key_t *key, const isc_uint16_t id, const char *filename)
{
dst_private_t priv;
/*
* Portions Copyright (C) 1999, 2000 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
- *
+ *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM AND
* NETWORK ASSOCIATES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
* SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
/*
* Principal Author: Brian Wellington
- * $Id: openssldh_link.c,v 1.26 2000/07/31 19:44:20 bwelling Exp $
+ * $Id: openssldh_link.c,v 1.27 2000/08/01 01:27:54 tale Exp $
*/
#if defined(OPENSSL)
dh1 = (DH *) key1->opaque;
dh2 = (DH *) key2->opaque;
- if (dh1 == NULL && dh2 == NULL)
+ if (dh1 == NULL && dh2 == NULL)
return (ISC_TRUE);
else if (dh1 == NULL || dh2 == NULL)
return (ISC_FALSE);
dh1 = (DH *) key1->opaque;
dh2 = (DH *) key2->opaque;
- if (dh1 == NULL && dh2 == NULL)
+ if (dh1 == NULL && dh2 == NULL)
return (ISC_TRUE);
else if (dh1 == NULL || dh2 == NULL)
return (ISC_FALSE);
return (dst__privstruct_writefile(key, &priv, directory));
}
-static isc_result_t
+static isc_result_t
openssldh_fromfile(dst_key_t *key, const isc_uint16_t id, const char *filename)
{
dst_private_t priv;
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.15 2000/07/27 09:50:34 tale Exp $
+# $Id: Makefile.in,v 1.16 2000/08/01 01:28:02 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
mul_add(rp[1],ap[1],w,c1); if (--num==0) return c1;
mul_add(rp[2],ap[2],w,c1); return c1;
}
-
+
return(c1);
- }
+ }
BN_ULONG bn_mul_words(BN_ULONG *rp, BN_ULONG *ap, int num, BN_ULONG w)
{
mul(rp[2],ap[2],w,c1);
}
return(c1);
- }
+ }
void bn_sqr_words(BN_ULONG *r, BN_ULONG *a, int n)
{
rp+=4;
}
return(c);
- }
+ }
BN_ULONG bn_mul_words(BN_ULONG *rp, BN_ULONG *ap, int num, BN_ULONG w)
{
rp+=4;
}
return(carry);
- }
+ }
void bn_sqr_words(BN_ULONG *r, BN_ULONG *a, int n)
{
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
{
void *dl_handle;
int status;
- unsigned int config_buf[1024];
+ unsigned int config_buf[1024];
static int tested;
if(tested)
printf("atasi.so library is present but not initialized\n");
printf("No HW acceleration available\n");
return;
- }
+ }
}
else
{
return ;
}
- /*
+ /*
* It looks like we have acceleration capabilities. Load up the
* pointers to our ASI API calls.
*/
if (!BN_mod_mul_reciprocal(r,r,r,&recp,ctx))
goto err;
}
-
+
/* wvalue will be an odd number < 2^window */
if (!BN_mod_mul_reciprocal(r,r,&(val[wvalue>>1]),&recp,ctx))
goto err;
if (!BN_mod_mul_montgomery(r,r,r,mont,ctx))
goto err;
}
-
+
/* wvalue will be an odd number < 2^window */
if (!BN_mod_mul_montgomery(r,r,&(val[wvalue>>1]),mont,ctx))
goto err;
if (!BN_mod_mul(r,r,r,m,ctx))
goto err;
}
-
+
/* wvalue will be an odd number < 2^window */
if (!BN_mod_mul(r,r,&(val[wvalue>>1]),m,ctx))
goto err;
/* I've done some timing with different table sizes.
* The main hassle is that even with bits set at 3, this requires
* 63 BIGNUMs to store the pre-calculated values.
- * 512 1024
+ * 512 1024
* bits=1 75.4% 79.4%
* bits=2 61.2% 62.4%
* bits=3 61.3% 59.3%
if (!BN_mod_mul_montgomery(r,r,r,mont,ctx))
goto err;
}
-
+
/* wvalue will be an odd number < 2^window */
if (xvalue || yvalue)
{
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
#if defined(SIXTEEN_BIT) || defined(THIRTY_TWO_BIT) || defined(SIXTY_FOUR_BIT) || defined(SIXTY_FOUR_BIT_LONG)
if (l & 0xff00L)
return(bits[(int)(l>>8)]+8);
- else
+ else
#endif
return(bits[(int)(l )] );
}
if (words > b->max)
{
- bn_check_top(b);
+ bn_check_top(b);
if (BN_get_flags(b,BN_FLG_STATIC_DATA))
{
BNerr(BN_F_BN_EXPAND2,BN_R_EXPAND_ON_STATIC_BIGNUM_DATA);
if (B != NULL)
{
#if 0
- /* This lot is an unrolled loop to copy b->top
+ /* This lot is an unrolled loop to copy b->top
* BN_ULONGs from B to A
*/
/*
* a=top&7
* a--;
* goto jump_table[a];
- * If top is 0, this makes us jump to 0xffffffc
+ * If top is 0, this makes us jump to 0xffffffc
* which is rather bad :-(.
* eric 23-Apr-1998
*/
b->d=a;
b->max=words;
#endif
-
+
/* memset(&(p[b->max]),0,((words+1)-b->max)*sizeof(BN_ULONG)); */
/* { int i; for (i=b->max; i<words+1; i++) p[i]=i;} */
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
/* mont->ri is the size of mont->N in bits (rounded up
to the word size) */
al=ri=mont->ri/BN_BITS2;
-
+
nl=n->top;
if ((al == 0) || (nl == 0)) { r->top=0; return(1); }
for (i=r->top; i<max; i++) /* memset? XXX */
r->d[i]=0;
#else
- memset(&(r->d[r->top]),0,(max-r->top)*sizeof(BN_ULONG));
+ memset(&(r->d[r->top]),0,(max-r->top)*sizeof(BN_ULONG));
#endif
r->top=max;
}
}
bn_fix_top(r);
-
+
/* mont->ri will be a multiple of the word size */
#if 0
BN_rshift(ret,r,mont->ri);
for (i=0; i<al; i+=4)
{
BN_ULONG t1,t2,t3,t4;
-
+
t1=ap[i+0];
t2=ap[i+1];
t3=ap[i+2];
for (; i<al; i++)
rp[i]=ap[i];
#endif
-#else /* !MONT_WORD */
+#else /* !MONT_WORD */
BIGNUM *t1,*t2;
BN_CTX_start(ctx);
t1 = BN_CTX_get(ctx);
t2 = BN_CTX_get(ctx);
if (t1 == NULL || t2 == NULL) goto err;
-
+
if (!BN_copy(t1,a)) goto err;
BN_mask_bits(t1,mont->ri);
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
if (n2 == 8)
{
bn_mul_comba8(r,a,b);
- return;
+ return;
}
# endif /* BN_MUL_COMBA */
if (n2 < BN_MUL_RECURSIVE_SIZE_NORMAL)
bn_mul_comba4(&(t[n2]),t,&(t[n]));
else
memset(&(t[n2]),0,8*sizeof(BN_ULONG));
-
+
bn_mul_comba4(r,a,b);
bn_mul_comba4(&(r[n2]),&(a[n]),&(b[n]));
}
bn_mul_comba8(&(t[n2]),t,&(t[n]));
else
memset(&(t[n2]),0,16*sizeof(BN_ULONG));
-
+
bn_mul_comba8(r,a,b);
bn_mul_comba8(&(r[n2]),&(a[n]),&(b[n]));
}
bn_sub_words(&(r[n]),&(b[n]),&(b[0]),n);
break;
}
-
+
oneg=neg;
/* t[10] = (a[0]-a[1])*(b[1]-b[0]) */
/* r[10] = (a[1]*b[1]) */
c2-=(int)(bn_sub_words(&(r[0]),&(r[0]),&(t[n]),n));
else
c2+=(int)(bn_add_words(&(r[0]),&(r[0]),&(t[n]),n));
-
+
if (c1 != 0) /* Add starting at r[0], could be +ve or -ve */
{
i=0;
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
else
rnd=ret;
BN_init(&t);
-loop:
+loop:
/* make a random number and set the top and bottom bits */
if (add == NULL)
{
if (do_trial_division)
{
for (i = 1; i < NUMPRIMES; i++)
- if (BN_mod_word(a, primes[i]) == 0)
+ if (BN_mod_word(a, primes[i]) == 0)
return 0;
if (callback != NULL) callback(1, -1, cb_arg);
}
goto err;
if (!BN_MONT_CTX_set(mont, A, ctx))
goto err;
-
+
for (i = 0; i < checks; i++)
{
if (!BN_pseudo_rand(check, BN_num_bits(A1), 0, 0))
if (qadd == NULL) goto err;
if (!BN_rshift1(qadd,padd)) goto err;
-
+
if (!BN_rand(q,bits,0,1)) goto err;
/* we need ((rnd-rem) % add) == 0 */
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
err:
BN_CTX_end(ctx);
return(ret);
- }
+ }
/* len is the expected size of the result
* We actually calculate with an extra word of precision, so
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
bn_sqr_comba8(rr->d,a->d);
#endif
}
- else
+ else
{
#if defined(BN_RECURSION)
if (al < BN_SQR_RECURSIVE_SIZE_NORMAL)
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
for (i=a->top-1; i>=0; i--)
{
BN_ULONG l,d;
-
+
l=a->d[i];
d=bn_div_words(ret,l,w);
ret=(l-((d*w)&BN_MASK2))&BN_MASK2;
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
n=strlen(str);
ret=Malloc(n+1);
- if (ret == NULL)
+ if (ret == NULL)
{
BUFerr(BUF_F_BUF_STRDUP,ERR_R_MALLOC_FAILURE);
return(NULL);
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
#include "openssl/e_os.h"
#include <openssl/crypto.h>
-#include <openssl/buffer.h>
-#include <openssl/bio.h>
+#include <openssl/buffer.h>
+#include <openssl/bio.h>
#include <openssl/err.h>
#include <openssl/opensslconf.h>
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
t1 = BN_CTX_get(ctx);
t2 = BN_CTX_get(ctx);
if (t1 == NULL || t2 == NULL) goto err;
-
+
if (generator == DH_GENERATOR_2)
{
BN_set_word(t1,24);
}
else
g=generator;
-
+
p=BN_generate_prime(NULL,prime_len,1,t1,t2,callback,cb_arg);
if (p == NULL) goto err;
if (callback != NULL) callback(3,0,cb_arg);
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
if (!dh->meth->bn_mod_exp(dh, pub_key,dh->g,priv_key,dh->p,&ctx,mont))
goto err;
-
+
dh->pub_key=pub_key;
dh->priv_key=priv_key;
ok=1;
BN_CTX_init(&ctx);
BN_CTX_start(&ctx);
tmp = BN_CTX_get(&ctx);
-
+
if (dh->priv_key == NULL)
{
DHerr(DH_F_DH_COMPUTE_KEY,DH_R_NO_PRIVATE_VALUE);
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* also Appendix 2.2 of FIPS PUB 186-1 (i.e. use SHA as defined in
* FIPS PUB 180-1) */
#define HASH SHA1
-#endif
+#endif
#ifndef NO_SHA
if (seed_len < 20)
seed_in = NULL; /* seed buffer too small -- ignore */
- if (seed_len > 20)
+ if (seed_len > 20)
seed_len = 20; /* App. 2.2 of FIPS PUB 186 allows larger SEED,
* but our internal buffers are restricted to 160 bits*/
if ((seed_in != NULL) && (seed_len == 20))
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
}
else
CRYPTO_new_ex_data(dsa_meth,ret,&ret->ex_data);
-
+
return(ret);
}
bs.data=buf;
bs.type=V_ASN1_INTEGER;
/* If the top bit is set the asn1 encoding is 1 larger. */
- buf[0]=0xff;
+ buf[0]=0xff;
i=i2d_ASN1_INTEGER(&bs,NULL);
i+=i; /* r and s */
{
/* DSA has p, q, g, optional pub_key, optional priv_key.
* DH has p, optional length, g, optional pub_key, optional priv_key.
- */
+ */
DH *ret = NULL;
ret = DH_new();
if (ret == NULL)
goto err;
- if (r->p != NULL)
+ if (r->p != NULL)
if ((ret->p = BN_dup(r->p)) == NULL)
goto err;
if (r->q != NULL)
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
if (ret == NULL) goto err;
ret->r = r;
ret->s = s;
-
+
err:
if (!ret)
{
dsa = dsa; /* BEW - quiet the compiler */
return BN_mod_exp2_mont(rr, a1, p1, a2, p2, m, ctx, in_mont);
}
-
+
static int dsa_bn_mod_exp(DSA *dsa, BIGNUM *r, BIGNUM *a, const BIGNUM *p,
const BIGNUM *m, BN_CTX *ctx,
BN_MONT_CTX *m_ctx)
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
{ERR_PACK(0,SYS_F_FOPEN,0), "fopen"},
{ERR_PACK(0,SYS_F_CONNECT,0), "connect"},
{ERR_PACK(0,SYS_F_GETSERVBYNAME,0), "getservbyname"},
- {ERR_PACK(0,SYS_F_SOCKET,0), "socket"},
+ {ERR_PACK(0,SYS_F_SOCKET,0), "socket"},
{ERR_PACK(0,SYS_F_IOCTLSOCKET,0), "ioctlsocket"},
{ERR_PACK(0,SYS_F_BIND,0), "bind"},
{ERR_PACK(0,SYS_F_LISTEN,0), "listen"},
static unsigned long get_error_values(int inc, const char **file, int *line,
const char **data, int *flags)
- {
+ {
int i=0;
ERR_STATE *es;
unsigned long ret;
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.6 2000/07/27 09:50:35 tale Exp $
+# $Id: Makefile.in,v 1.7 2000/08/01 01:28:55 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.8 2000/07/27 09:50:36 tale Exp $
+# $Id: Makefile.in,v 1.9 2000/08/01 01:28:56 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
/* The next two are used in conjunction with the
* BIO_should_io_special() condition. After this returns true,
- * BIO *BIO_get_retry_BIO(BIO *bio, int *reason); will walk the BIO
+ * BIO *BIO_get_retry_BIO(BIO *bio, int *reason); will walk the BIO
* stack and return the 'reason' for the special and the offending BIO.
* Given a BIO, BIO_get_retry_reason(bio) will return the code. */
/* Returned from the SSL bio when the certificate retrieval code had an error */
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
typedef void CRYPTO_EX_free(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
int idx, long argl, void *argp);
/* Called when we need to dup an object */
-typedef int CRYPTO_EX_dup(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d,
+typedef int CRYPTO_EX_dup(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d,
int idx, long argl, void *argp);
/* This stuff is basically class callback functions
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
#include <openssl/bn.h>
#include <openssl/crypto.h>
-
+
#define DH_FLAG_CACHE_MONT_P 0x01
typedef struct dh_st DH;
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
# endif
# ifdef VMS
- /* some programs don't include stdlib, so exit() and others give implicit
+ /* some programs don't include stdlib, so exit() and others give implicit
function warnings */
# include <stdlib.h>
# if defined(__DECC)
#define MD2_DIGEST_LENGTH 16
#endif
#ifdef NO_MD5
-#define MD5_Init MD5Init
+#define MD5_Init MD5Init
#define MD5_Update MD5Update
#define MD5_Final MD5Final
#define MD5_DIGEST_LENGTH 16
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
#define SYS_F_WSASTARTUP 9 /* Winsock stuff */
#define SYS_F_OPENDIR 10
-#define ERR_R_FATAL 32
+#define ERR_R_FATAL 32
/* reasons */
#define ERR_R_SYS_LIB ERR_LIB_SYS
#define ERR_R_BN_LIB ERR_LIB_BN
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
const char *lh_version="lhash" OPENSSL_VERSION_PTEXT;
-#undef MIN_NODES
+#undef MIN_NODES
#define MIN_NODES 16
#define UP_LOAD (2*LH_LOAD_MULT) /* load times 256 (default 2) */
#define DOWN_LOAD (LH_LOAD_MULT) /* load times 256 (default 1) */
n2= &(lh->b[p+(int)lh->pmax]);
*n2=NULL; /* 27/07/92 - eay - undefined pointer bug */
nni=lh->num_alloc_nodes;
-
+
for (np= *n1; np != NULL; )
{
#ifndef NO_HASH_COMP
/*
unsigned char b[16];
MD5(c,strlen(c),b);
- return(b[0]|(b[1]<<8)|(b[2]<<16)|(b[3]<<24));
+ return(b[0]|(b[1]<<8)|(b[2]<<16)|(b[3]<<24));
*/
n=0x100;
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
#include <stdio.h>
#include <stdlib.h>
-#include <time.h>
+#include <time.h>
#include <openssl/crypto.h>
#include <openssl/buffer.h>
#include <openssl/bio.h>
* CRYPTO_pop_info() to pop an entry,
* CRYPTO_remove_all_info() to pop all entries.
*/
- {
+ {
unsigned long thread;
const char *file;
int line;
CRYPTO_w_unlock(CRYPTO_LOCK_MALLOC);
}
return(ret);
- }
+ }
void CRYPTO_dbg_set_options(long bits)
if (options & V_CRYPTO_MDEBUG_TIME)
{
lcl = localtime(&m->time);
-
+
sprintf(bufp, "[%02d:%02d:%02d] ",
lcl->tm_hour,lcl->tm_min,lcl->tm_sec);
bufp += strlen(bufp);
bufp += strlen(bufp);
BIO_puts(l->bio,buf);
-
+
l->chunks++;
l->bytes+=m->num;
if (!amip)
return;
ti=amip->thread;
-
+
do
{
int buf_len;
buf_len = strlen(buf);
}
sprintf(buf + buf_len, "\"\n");
-
+
BIO_puts(l->bio,buf);
amip = amip->next;
}
while(amip && amip->thread == ti);
-
+
#ifdef LEVITTE_DEBUG
if (amip)
{
}
if (amih != NULL)
{
- if (lh_num_items(amih) == 0)
+ if (lh_num_items(amih) == 0)
{
lh_free(amih);
amih = NULL;
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* I've just become aware of another tweak to be made, again from Wei Dai,
* in F_40_59, (x&a)|(y&a) -> (x|y)&a
*/
-#define F_00_19(b,c,d) ((((c) ^ (d)) & (b)) ^ (d))
+#define F_00_19(b,c,d) ((((c) ^ (d)) & (b)) ^ (d))
#define F_20_39(b,c,d) ((b) ^ (c) ^ (d))
-#define F_40_59(b,c,d) (((b) & (c)) | (((b)|(c)) & (d)))
+#define F_40_59(b,c,d) (((b) & (c)) | (((b)|(c)) & (d)))
#define F_60_79(b,c,d) F_20_39(b,c,d)
#define BODY_00_15(i,a,b,c,d,e,f,xi) \
BODY_60_79(77,B,C,D,E,T,A,X(13),X(15),X( 5),X(10));
BODY_60_79(78,A,B,C,D,E,T,X(14),X( 0),X( 6),X(11));
BODY_60_79(79,T,A,B,C,D,E,X(15),X( 1),X( 7),X(12));
-
- c->h0=(c->h0+E)&0xffffffffL;
+
+ c->h0=(c->h0+E)&0xffffffffL;
c->h1=(c->h1+T)&0xffffffffL;
c->h2=(c->h2+A)&0xffffffffL;
c->h3=(c->h3+B)&0xffffffffL;
BODY_60_79(77,B,C,D,E,T,A,X(13),X(15),X( 5),X(10));
BODY_60_79(78,A,B,C,D,E,T,X(14),X( 0),X( 6),X(11));
BODY_60_79(79,T,A,B,C,D,E,X(15),X( 1),X( 7),X(12));
-
- c->h0=(c->h0+E)&0xffffffffL;
+
+ c->h0=(c->h0+E)&0xffffffffL;
c->h1=(c->h1+T)&0xffffffffL;
c->h2=(c->h2+A)&0xffffffffL;
c->h3=(c->h3+B)&0xffffffffL;
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
t=(char **)&(st->data[1]);
for (i=st->num; i>=loc; i--)
t[i]=f[i];
-
+
#ifdef undef /* no memmove on sunos :-( */
memmove( (char *)&(st->data[loc+1]),
(char *)&(st->data[loc]),
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
- *
+ *
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
+ *
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
+ * 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
+ *
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
+ *
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rename.h,v 1.9 2000/07/27 09:50:22 tale Exp $ */
+/* $Id: rename.h,v 1.10 2000/08/01 01:26:39 tale Exp $ */
#ifndef SEC_RENAME_H
#define SEC_RENAME_H 1
/*
* Copyright (C) 2000 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
*/
/*
- * $Id: ssu.c,v 1.12 2000/07/27 09:46:37 tale Exp $
+ * $Id: ssu.c,v 1.13 2000/08/01 01:22:55 tale Exp $
* Principal Author: Brian Wellington
*/
else if (rule->matchtype == DNS_SSUMATCHTYPE_WILDCARD) {
if (!dns_name_matcheswildcard(name, rule->name))
continue;
-
+
}
else if (rule->matchtype == DNS_SSUMATCHTYPE_SELF) {
if (!dns_name_equal(signer, name))
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tcpmsg.c,v 1.21 2000/07/27 09:46:38 tale Exp $ */
+/* $Id: tcpmsg.c,v 1.22 2000/08/01 01:22:56 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: time.c,v 1.15 2000/07/27 09:46:39 tale Exp $ */
+/* $Id: time.c,v 1.16 2000/08/01 01:22:57 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
*/
/*
- * $Id: tkey.c,v 1.48 2000/07/27 09:46:41 tale Exp $
+ * $Id: tkey.c,v 1.49 2000/08/01 01:22:58 tale Exp $
* Principal Author: Brian Wellington
*/
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tkeyconf.c,v 1.12 2000/07/27 09:46:42 tale Exp $ */
+/* $Id: tkeyconf.c,v 1.13 2000/08/01 01:22:59 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
*/
/*
- * $Id: tsig.c,v 1.81 2000/07/31 21:07:11 tale Exp $
+ * $Id: tsig.c,v 1.82 2000/08/01 01:23:00 tale Exp $
* Principal Author: Brian Wellington
*/
isc_result_totext(ret));
return (ISC_R_UNEXPECTED);
}
-
+
tkey->magic = TSIG_MAGIC;
if (key != NULL)
isc_buffer_putuint32(&otherbuf,
(isc_uint32_t)(tsig.timesigned &
0xFFFFFFFF));
-
+
}
if (!dns_tsigkey_empty(key) && tsig.error != dns_tsigerror_badsig) {
unsigned char header[DNS_MESSAGE_HEADERLEN];
if (ret != ISC_R_SUCCESS)
return (ret);
}
-
+
/*
* Do the key name and algorithm match that of the query?
*/
ret = ISC_R_NOTFOUND;
if (ring1 != NULL)
ret = dns_tsigkey_find(&tsigkey, keyname,
- &tsig.algorithm, ring1);
+ &tsig.algorithm, ring1);
if (ret == ISC_R_NOTFOUND && ring2 != NULL)
ret = dns_tsigkey_find(&tsigkey, keyname,
&tsig.algorithm, ring2);
ret = dns_rdata_tostruct(&rdata, &tsig, NULL);
if (ret != ISC_R_SUCCESS)
goto cleanup_querystruct;
-
+
/*
* Do the key name and algorithm match that of the query?
*/
dns_tsigkeyring_create(isc_mem_t *mctx, dns_tsig_keyring_t **ringp) {
isc_result_t result;
dns_tsig_keyring_t *ring;
-
+
REQUIRE(mctx != NULL);
REQUIRE(ringp != NULL);
REQUIRE(*ringp == NULL);
ring = isc_mem_get(mctx, sizeof(dns_tsig_keyring_t));
if (ring == NULL)
return (ISC_R_NOMEMORY);
-
+
result = isc_rwlock_init(&ring->lock, 0, 0);
if (result != ISC_R_SUCCESS) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
isc_result_totext(result));
return (ISC_R_UNEXPECTED);
}
-
+
ring->keys = NULL;
result = dns_rbt_create(mctx, free_tsignode, NULL, &ring->keys);
if (result != ISC_R_SUCCESS) {
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: tsigconf.c,v 1.10 2000/07/27 09:46:44 tale Exp $ */
+/* $Id: tsigconf.c,v 1.11 2000/08/01 01:23:02 tale Exp $ */
#include <config.h>
goto failure;
if (confview != NULL) {
- keylist = NULL;
+ keylist = NULL;
result = dns_c_view_getkeydefs(confview, &keylist);
if (result == ISC_R_SUCCESS)
result = add_initial_keys(keylist, ring, mctx);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ttl.c,v 1.19 2000/07/27 09:46:45 tale Exp $ */
+/* $Id: ttl.c,v 1.20 2000/08/01 01:23:03 tale Exp $ */
#include <config.h>
if (x == 1 && !verbose) {
isc_region_t region;
/*
- * The unit letter is the last character in the
+ * The unit letter is the last character in the
* used region of the buffer.
*
* toupper() does not need its argument to be masked of cast
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: validator.c,v 1.70 2000/07/27 18:42:06 bwelling Exp $ */
+/* $Id: validator.c,v 1.71 2000/08/01 01:23:04 tale Exp $ */
#include <config.h>
val->event->ev_action = val->action;
val->event->ev_arg = val->arg;
isc_task_sendanddetach(&task, (isc_event_t **)&val->event);
-
+
}
static void
goto out;
}
} else {
- validator_log(val, ISC_LOG_DEBUG(3),
+ validator_log(val, ISC_LOG_DEBUG(3),
"keyvalidated: got %s",
dns_result_totext(eresult));
validator_done(val, eresult);
validator_log(val, ISC_LOG_DEBUG(3), "in authvalidated");
LOCK(&val->lock);
if (eresult != ISC_R_SUCCESS) {
- validator_log(val, ISC_LOG_DEBUG(3),
+ validator_log(val, ISC_LOG_DEBUG(3),
"authvalidated: got %s",
dns_result_totext(eresult));
result = nxtvalidate(val, ISC_TRUE);
auth_nonpending(val->event->message);
validator_done(val, ISC_R_SUCCESS);
} else {
- validator_log(val, ISC_LOG_DEBUG(3),
+ validator_log(val, ISC_LOG_DEBUG(3),
"negauthvalidated: got %s",
dns_result_totext(eresult));
validator_done(val, eresult);
* Try to find a null zone key among those in 'rdataset'. If found, build
* a dst_key_t for it and point val->key at it.
*/
-static inline isc_boolean_t
+static inline isc_boolean_t
containsnullkey(dns_validator_t *val, dns_rdataset_t *rdataset) {
isc_result_t result;
dst_key_t *key = NULL;
*
* If val->key is non-NULL, this returns the next matching key.
*/
-static inline isc_result_t
+static inline isc_result_t
get_dst_key(dns_validator_t *val, dns_rdata_sig_t *siginfo,
dns_rdataset_t *rdataset)
{
if (val->siginfo == NULL)
return (ISC_R_NOMEMORY);
dns_rdata_tostruct(&rdata, val->siginfo, NULL);
-
+
/*
* At this point we could check that the signature algorithm
* was known and "sufficiently good". For now, any algorithm
* is acceptable.
*/
-
+
if (!resume) {
result = get_key(val, val->siginfo);
if (result == DNS_R_CONTINUE)
if (result != ISC_R_SUCCESS)
return (result);
return (DNS_R_WAIT);
-
+
}
}
if (result == ISC_R_NOMORE)
"found keyset, looking for null key");
if (!containsnullkey(val, &val->frdataset))
continue;
-
+
if (val->frdataset.trust >= dns_trust_secure) {
validator_log(val, ISC_LOG_DEBUG(3),
"insecurity proof succeeded");
val = vevent->validator;
validator_log(val, ISC_LOG_DEBUG(3), "starting");
-
+
LOCK(&val->lock);
if (val->event->rdataset != NULL && val->event->sigrdataset != NULL) {
*/
validator_log(val, ISC_LOG_DEBUG(3),
"attempting positive response validation");
-
+
result = validate(val, ISC_FALSE);
if (result == DNS_R_NOVALIDSIG &&
(val->attributes & VALATTR_TRIEDVERIFY) == 0)
*/
validator_log(val, ISC_LOG_DEBUG(3),
"attempting insecurity proof");
-
+
result = proveunsecure(val, ISC_FALSE);
} else if (val->event->rdataset == NULL &&
val->event->sigrdataset == NULL)
*/
validator_log(val, ISC_LOG_DEBUG(3),
"attempting negative response validation");
-
+
result = nxtvalidate(val, ISC_FALSE);
} else {
/*
cleanup_val:
dns_view_detach(&val->view);
isc_mem_put(view->mctx, val, sizeof *val);
-
+
return (result);
}
char typebuf[256];
isc_buffer_t b;
isc_region_t r;
-
+
dns_name_format(val->event->name, namebuf, sizeof(namebuf));
isc_buffer_init(&b, (unsigned char *)typebuf, sizeof(typebuf));
} else {
isc_log_write(dns_lctx, category, module, level,
"validator @%p: %s", val, msgbuf);
-
+
}
}
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: version.c,v 1.7 2000/07/27 09:46:47 tale Exp $ */
+/* $Id: version.c,v 1.8 2000/08/01 01:23:05 tale Exp $ */
char dns_version[] = VERSION;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: view.c,v 1.73 2000/07/31 21:06:59 explorer Exp $ */
+/* $Id: view.c,v 1.74 2000/08/01 01:23:06 tale Exp $ */
#include <config.h>
/*
* Initialize configuration data with default values.
- */
+ */
view->recursion = ISC_TRUE;
view->auth_nxdomain = ISC_FALSE; /* Was true in BIND 8 */
view->additionalfromcache = ISC_TRUE;
DNS_EVENT_VIEWREQSHUTDOWN, req_shutdown,
view, NULL, NULL, NULL);
view->magic = DNS_VIEW_MAGIC;
-
+
*viewp = view;
return (ISC_R_SUCCESS);
cleanup_dynkeys:
- dns_tsigkeyring_destroy(&view->dynamickeys);
+ dns_tsigkeyring_destroy(&view->dynamickeys);
cleanup_trustedkeys:
dns_keytable_detach(&view->trustedkeys);
cleanup_secroots:
dns_keytable_detach(&view->secroots);
-
+
cleanup_zt:
dns_zt_detach(&view->zonetable);
if (view->peers != NULL)
dns_peerlist_detach(&view->peers);
- if (view->dynamickeys != NULL)
+ if (view->dynamickeys != NULL)
dns_tsigkeyring_destroy(&view->dynamickeys);
- if (view->statickeys != NULL)
+ if (view->statickeys != NULL)
dns_tsigkeyring_destroy(&view->statickeys);
if (view->adb != NULL)
dns_adb_detach(&view->adb);
resolver_shutdown(isc_task_t *task, isc_event_t *event) {
dns_view_t *view = event->ev_arg;
isc_boolean_t done;
-
+
REQUIRE(event->ev_type == DNS_EVENT_VIEWRESSHUTDOWN);
REQUIRE(DNS_VIEW_VALID(view));
REQUIRE(view->task == task);
UNUSED(task);
-
+
LOCK(&view->lock);
view->attributes |= DNS_VIEWATTR_RESSHUTDOWN;
adb_shutdown(isc_task_t *task, isc_event_t *event) {
dns_view_t *view = event->ev_arg;
isc_boolean_t done;
-
+
REQUIRE(event->ev_type == DNS_EVENT_VIEWADBSHUTDOWN);
REQUIRE(DNS_VIEW_VALID(view));
REQUIRE(view->task == task);
UNUSED(task);
-
+
LOCK(&view->lock);
view->attributes |= DNS_VIEWATTR_ADBSHUTDOWN;
req_shutdown(isc_task_t *task, isc_event_t *event) {
dns_view_t *view = event->ev_arg;
isc_boolean_t done;
-
+
REQUIRE(event->ev_type == DNS_EVENT_VIEWREQSHUTDOWN);
REQUIRE(DNS_VIEW_VALID(view));
REQUIRE(view->task == task);
UNUSED(task);
-
+
LOCK(&view->lock);
view->attributes |= DNS_VIEWATTR_REQSHUTDOWN;
void
dns_view_freeze(dns_view_t *view) {
-
+
/*
* Freeze view.
*/
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: xfrin.c,v 1.86 2000/07/27 09:46:50 tale Exp $ */
+/* $Id: xfrin.c,v 1.87 2000/08/01 01:23:07 tale Exp $ */
#include <config.h>
int sends; /* Send in progress */
int recvs; /* Receive in progress */
isc_boolean_t shuttingdown;
-
+
dns_name_t name; /* Name of zone to transfer */
dns_rdataclass_t rdclass;
dns_dbversion_t *ver;
dns_diff_t diff; /* Pending database changes */
int difflen; /* Number of pending tuples */
-
+
xfrin_state_t state;
isc_uint32_t end_serial;
isc_boolean_t is_ixfr;
/*
* AXFR- and IXFR-specific data. Only one is used at a time
- * according to the is_ixfr flag, so this could be a union,
- * but keeping them separate makes it a bit simpler to clean
+ * according to the is_ixfr flag, so this could be a union,
+ * but keeping them separate makes it a bit simpler to clean
* things up when destroying the context.
*/
struct {
dns_addrdatasetfunc_t add_func;
dns_dbload_t *add_private;
} axfr;
-
+
struct {
isc_uint32_t request_serial;
isc_uint32_t end_serial;
dns_journal_t *journal;
-
+
} ixfr;
};
render(dns_message_t *msg, isc_buffer_t *buf);
static void
-xfrin_logv(int level, dns_name_t *zonename, isc_sockaddr_t *masteraddr,
+xfrin_logv(int level, dns_name_t *zonename, isc_sockaddr_t *masteraddr,
const char *fmt, va_list ap);
static void
xfrin_log1(int level, dns_name_t *zonename, isc_sockaddr_t *masteraddr,
isc_result_t result;
if (xfr->reqtype != dns_rdatatype_ixfr) {
- xfrin_log(xfr, ISC_LOG_ERROR,
+ xfrin_log(xfr, ISC_LOG_ERROR,
"got incremental response to AXFR request");
return (DNS_R_FORMERR);
}
}
xfr->state = XFRST_FIRSTDATA;
break;
-
+
case XFRST_FIRSTDATA:
/*
* If the transfer begins with one SOA record, it is an AXFR,
CHECK(ixfr_putdata(xfr, DNS_DIFFOP_DEL, name, ttl, rdata));
xfr->state = XFRST_IXFR_DEL;
break;
-
+
case XFRST_IXFR_DEL:
if (rdata->type == dns_rdatatype_soa) {
isc_uint32_t soa_serial = dns_soa_getserial(rdata);
}
CHECK(ixfr_putdata(xfr, DNS_DIFFOP_DEL, name, ttl, rdata));
break;
-
+
case XFRST_IXFR_ADDSOA:
INSIST(rdata->type == dns_rdatatype_soa);
CHECK(ixfr_putdata(xfr, DNS_DIFFOP_ADD, name, ttl, rdata));
xfr->state = XFRST_IXFR_ADD;
break;
-
+
case XFRST_IXFR_ADD:
if (rdata->type == dns_rdatatype_soa) {
isc_uint32_t soa_serial = dns_soa_getserial(rdata);
REQUIRE(xfrp != NULL && *xfrp == NULL);
(void)dns_zone_getdb(zone, &db);
-
+
CHECK(xfrin_create(mctx, zone, db, task, timermgr, socketmgr, zonename,
dns_zone_getclass(zone), xfrtype, masteraddr,
tsigkey, &xfr));
isc_result_t result;
isc_interval_t maxinterval, idleinterval;
isc_time_t expires;
-
+
xfr = isc_mem_get(mctx, sizeof(*xfr));
if (xfr == NULL)
return (ISC_R_NOMEMORY);
xfr->sends = 0;
xfr->recvs = 0;
xfr->shuttingdown = ISC_FALSE;
-
+
dns_name_init(&xfr->name, NULL);
xfr->rdclass = rdclass;
xfr->reqtype = reqtype;
xfr->axfr.add_private = NULL;
CHECK(dns_name_dup(zonename, mctx, &xfr->name));
-
+
isc_interval_set(&maxinterval, dns_zone_getmaxxfrin(xfr->zone), 0);
CHECK(isc_time_nowplusinterval(&expires, &maxinterval));
isc_interval_set(&idleinterval, dns_zone_getidlein(xfr->zone), 0);
-
+
CHECK(isc_timer_create(timermgr, isc_timertype_once,
&expires, &idleinterval, task,
xfrin_timeout, xfr, &xfr->timer));
default:
INSIST(0);
}
-
+
isc_buffer_init(&xfr->qbuffer, xfr->qbuffer_data,
sizeof(xfr->qbuffer_data));
xfr->magic = XFRIN_MAGIC;
*xfrp = xfr;
return (ISC_R_SUCCESS);
-
+
failure:
xfrin_fail(xfr, result, "creating transfer context");
return (result);
maybe_free(xfr);
return;
}
-
+
CHECK(evresult);
xfrin_log(xfr, ISC_LOG_DEBUG(3), "connected");
-
+
dns_tcpmsg_init(xfr->mctx, xfr->socket, &xfr->tcpmsg);
xfr->tcpmsg_valid = ISC_TRUE;
CHECK(xfrin_send_request(xfr));
failure:
if (result != ISC_R_SUCCESS)
- xfrin_fail(xfr, result, "connect");
+ xfrin_fail(xfr, result, "connect");
}
/*
CHECK(dns_message_gettemprdata(msg, &rdata));
dns_rdata_init(rdata);
*rdata = tuple->rdata; /* Struct assignment. */
-
+
CHECK(dns_message_gettemprdatalist(msg, &rdl));
dns_rdatalist_init(rdl);
rdl->type = tuple->rdata.type;
failure:
return (result);
}
-
+
/*
* Build an *XFR request and send its length prefix.
dns_rdataset_init(qrdataset);
dns_rdataset_makequestion(qrdataset, xfr->rdclass, xfr->reqtype);
ISC_LIST_APPEND(qname->list, qrdataset, link);
-
+
dns_message_addname(msg, qname, DNS_SECTION_QUESTION);
if (xfr->reqtype == dns_rdatatype_ixfr) {
INSIST(event->ev_type == ISC_SOCKEVENT_SENDDONE);
isc_event_free(&event);
-
+
xfr->sends--;
if (xfr->shuttingdown) {
maybe_free(xfr);
return;
}
-
+
xfrin_log(xfr, ISC_LOG_DEBUG(3), "sent request length prefix");
CHECK(evresult);
INSIST(event->ev_type == ISC_SOCKEVENT_SENDDONE);
- xfr->sends--;
+ xfr->sends--;
xfrin_log(xfr, ISC_LOG_DEBUG(3), "sent request data");
CHECK(sev->result);
REQUIRE(VALID_XFRIN(xfr));
UNUSED(task);
-
+
INSIST(ev->ev_type == DNS_EVENT_TCPMSG);
tcpmsg = ev->ev_sender;
isc_event_free(&ev);
-
+
xfr->recvs--;
if (xfr->shuttingdown) {
maybe_free(xfr);
tcpmsg->buffer.used);
CHECK(isc_timer_touch(xfr->timer));
-
+
CHECK(dns_message_create(xfr->mctx, DNS_MESSAGE_INTENTPARSE, &msg));
dns_message_settsigkey(msg, xfr->tsigkey);
result = dns_message_nextname(msg, DNS_SECTION_ANSWER))
{
dns_rdataset_t *rds;
-
+
name = NULL;
dns_message_currentname(msg, DNS_SECTION_ANSWER, &name);
if (!dns_name_issubdomain(name, &xfr->name)) {
* Update the number of messages received.
*/
xfr->nmsg++;
-
+
/*
* Copy the context back.
*/
xfr->recvs++;
}
return;
-
+
failure:
if (msg != NULL)
dns_message_destroy(&msg);
if (xfr->tcpmsg_valid)
dns_tcpmsg_invalidate(&xfr->tcpmsg);
-
+
if ((xfr->name.attributes & DNS_NAMEATTR_DYNAMIC) != 0)
dns_name_free(&xfr->name, xfr->mctx);
if (xfr->ver != NULL)
dns_db_closeversion(xfr->db, &xfr->ver, ISC_FALSE);
- if (xfr->db != NULL)
+ if (xfr->db != NULL)
dns_db_detach(&xfr->db);
if (xfr->zone != NULL)
dns_zone_detach(&xfr->zone);
-
+
isc_mem_put(xfr->mctx, xfr, sizeof(*xfr));
}
/*
* Log incoming zone transfer messages in a format like
- * transfer of <zone> from <address>: <message>
+ * transfer of <zone> from <address>: <message>
*/
static void
-xfrin_logv(int level, dns_name_t *zonename, isc_sockaddr_t *masteraddr,
+xfrin_logv(int level, dns_name_t *zonename, isc_sockaddr_t *masteraddr,
const char *fmt, va_list ap)
{
char zntext[1024];
isc_sockaddr_format(masteraddr, mastertext, sizeof(mastertext));
vsnprintf(msgtext, sizeof(msgtext), fmt, ap);
- isc_log_write(dns_lctx, DNS_LOGCATEGORY_XFER_IN,
+ isc_log_write(dns_lctx, DNS_LOGCATEGORY_XFER_IN,
DNS_LOGMODULE_XFER_IN, level,
"transfer of '%s' from %s: %s",
zntext, mastertext, msgtext);
*/
static void
-xfrin_log1(int level, dns_name_t *zonename, isc_sockaddr_t *masteraddr,
+xfrin_log1(int level, dns_name_t *zonename, isc_sockaddr_t *masteraddr,
const char *fmt, ...)
{
va_list ap;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: zone.c,v 1.171 2000/07/28 20:13:47 bwelling Exp $ */
+/* $Id: zone.c,v 1.172 2000/08/01 01:23:09 tale Exp $ */
#include <config.h>
isc_uint32_t sigvalidityinterval;
dns_view_t *view;
/*
- * Zones in certain states such as "waiting for zone transfer"
+ * Zones in certain states such as "waiting for zone transfer"
* or "zone transfer in progress" are kept on per-state linked lists
* in the zone manager using the 'statelink' field. The 'statelist'
* field points at the list the zone is currently on. It the zone
* is not on any such list, statelist is NULL.
*/
- ISC_LINK(dns_zone_t) statelink;
+ ISC_LINK(dns_zone_t) statelink;
dns_zonelist_t *statelist;
};
#define DNS_ZONEFLG_EXITING 0x00000040U /* zone is being destroyed */
#define DNS_ZONEFLG_EXPIRED 0x00000080U /* zone has expired */
#define DNS_ZONEFLG_NEEDREFRESH 0x00000100U /* refresh check needed */
-#define DNS_ZONEFLG_UPTODATE 0x00000200U /* zone contents are
+#define DNS_ZONEFLG_UPTODATE 0x00000200U /* zone contents are
* uptodate */
#define DNS_ZONEFLG_NEEDNOTIFY 0x00000400U /* need to send out notify
* messages */
dns_zonelist_t zones;
dns_zonelist_t waiting_for_xfrin;
dns_zonelist_t xfrin_in_progress;
-
+
/* Locked by conflock. */
int transfersin;
int transfersperns;
dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx) {
isc_result_t result;
dns_zone_t *zone;
-
+
REQUIRE(zonep != NULL && *zonep == NULL);
REQUIRE(mctx != NULL);
zone->view = NULL;
ISC_LINK_INIT(zone, statelink);
zone->statelist = NULL;
-
+
zone->magic = ZONE_MAGIC;
ISC_EVENT_INIT(&zone->ctlevent, sizeof(zone->ctlevent), 0, NULL,
DNS_EVENT_ZONECONTROL, zone_shutdown, zone, zone,
dns_request_destroy(&zone->request); /* XXXMPA */
INSIST(zone->statelist == NULL);
-
+
if (zone->task != NULL)
isc_task_detach(&zone->task);
if (zone->zmgr)
dns_zonemgr_releasezone(zone->zmgr, zone);
-
+
/* Unmanaged objects */
if (zone->dbname != NULL)
isc_mem_free(zone->mctx, zone->dbname);
dns_view_weakdetach(&zone->view);
dns_view_weakattach(view, &zone->view);
}
-
+
dns_view_t *
dns_zone_getview(dns_zone_t *zone) {
return (zone->view);
}
-
+
isc_result_t
dns_zone_setorigin(dns_zone_t *zone, dns_name_t *origin) {
REQUIRE(DNS_ZONE_VALID(zone));
REQUIRE(zone->dbname != NULL);
- if (zone->journal != NULL)
+ if (zone->journal != NULL)
isc_mem_free(zone->mctx, zone->journal);
len = strlen(zone->dbname) + sizeof ".jnl"; /* includes '\0' */
zone->journal = isc_mem_allocate(zone->mctx, len);
isc_time_t t;
result = isc_file_getmodtime(zone->dbname, &t);
-
+
if (result == ISC_R_SUCCESS)
zone->expiretime = isc_time_seconds(&t) +
zone->expire;
sizeof(isc_event_t));
dns_db_ondestroy(db, zone->task, &e);
}
-#endif
+#endif
if (zone->db != NULL) {
result = zone_replacedb(zone, db, ISC_FALSE);
dns_db_attach(db, &zone->db);
zone->flags |= DNS_ZONEFLG_LOADED|DNS_ZONEFLG_NEEDNOTIFY;
}
- result = ISC_R_SUCCESS;
+ result = ISC_R_SUCCESS;
cleanup:
UNLOCK(&zone->lock);
dns_zone_detach(dns_zone_t **zonep) {
dns_zone_t *zone;
isc_boolean_t free_now = ISC_FALSE;
-
+
REQUIRE(zonep != NULL && DNS_ZONE_VALID(*zonep));
zone = *zonep;
LOCK(&zone->lock);
-
+
REQUIRE(zone->erefs > 0);
zone->erefs--;
if (zone->erefs == 0) {
/*
* We just detached the last external reference.
*/
- if (zone->task != NULL) {
+ if (zone->task != NULL) {
/*
* This zone is being managed. Post
* its control event and let it clean
REQUIRE(DNS_ZONE_VALID(zone));
REQUIRE((notify == NULL && count == 0) ||
(notify != NULL && count != 0));
-
+
LOCK(&zone->lock);
if (zone->notify != NULL) {
isc_mem_put(zone->mctx, zone->notify,
/*
* Co-ordinates the starting of routine jobs.
*/
-
+
void
dns_zone_maintenance(dns_zone_t *zone) {
const char me[] = "dns_zone_maintenance";
/*
* Configuring the view of this zone may have
* failed, for example because the config file
- * had a syntax error. In that case, the view
+ * had a syntax error. In that case, the view
* adb or resolver, and we had better not try
* to do maintenance on it.
*/
if (zone->view == NULL || zone->view->adb == NULL)
return;
-
+
isc_stdtime_get(&now);
/*
case dns_zone_slave:
case dns_zone_stub:
LOCK(&zone->lock);
- if (now >= zone->expiretime &&
+ if (now >= zone->expiretime &&
DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED)) {
zone_expire(zone);
zone->refreshtime = now;
int buflen;
FILE *f = NULL;
int n;
-
+
/*
* 'zone' locked by caller.
*/
notify = ev->ev_arg;
REQUIRE(DNS_NOTIFY_VALID(notify));
- INSIST(task == notify->zone->task);
+ INSIST(task == notify->zone->task);
result = ev->ev_type;
isc_event_free(&ev);
dns_zone_iattach(notify->zone, &zone);
dns_rdatatype_none, 0, &soardset, NULL);
if (result != ISC_R_SUCCESS)
goto cleanup2;
-
+
/*
* Find master server's name.
*/
dns_rdatatype_none, 0, &nsrdset, NULL);
if (result != ISC_R_SUCCESS)
goto cleanup3;
-
+
result = dns_rdataset_first(&nsrdset);
while (result == ISC_R_SUCCESS) {
dns_rdataset_current(&nsrdset, &rdata);
*** Private
***/
-static inline isc_result_t
-save_nsrrset(dns_message_t *message, dns_name_t *name,
+static inline isc_result_t
+save_nsrrset(dns_message_t *message, dns_name_t *name,
dns_db_t *db, dns_dbversion_t *version)
{
dns_rdataset_t *nsrdataset = NULL;
isc_sockaddr_format(&zone->masteraddr, master, sizeof(master));
isc_stdtime_get(&now);
-
+
if (revent->result != ISC_R_SUCCESS) {
zone_log(zone, me, ISC_LOG_INFO, "failure for %s: %s",
master, dns_result_totext(revent->result));
/*
* Attach so that we won't clean up
* until the event is delivered.
- */
+ */
dns_zone_iattach(zone, &dummy);
-
+
e->ev_arg = zone;
e->ev_sender = NULL;
result = isc_ratelimiter_enqueue(zone->zmgr->rl, zone->task, &e);
return;
}
- /*
+ /*
* XXX Optimisation: Create message when zone is setup and reuse.
*/
result = create_query(zone, dns_rdatatype_soa, &message);
zone->view->dynamickeys);
}
- options = DNS_ZONE_FLAG(zone, DNS_ZONEFLG_USEVC) ?
+ options = DNS_ZONE_FLAG(zone, DNS_ZONEFLG_USEVC) ?
DNS_REQUESTOPT_TCP : 0;
result = dns_request_create(zone->view->requestmgr, message,
&zone->masteraddr, options, key,
}
- /*
+ /*
* XXX Optimisation: Create message when zone is setup and reuse.
*/
result = create_query(zone, dns_rdatatype_ns, &message);
UNUSED(task);
REQUIRE(DNS_ZONE_VALID(zone));
INSIST(event->ev_type == DNS_EVENT_ZONECONTROL);
- INSIST(zone->erefs == 0);
+ INSIST(zone->erefs == 0);
zone_log(zone, "zone_shutdown", ISC_LOG_DEBUG(3), "shutting down");
LOCK(&zone->lock);
zone->flags |= DNS_ZONEFLG_EXITING;
RWUNLOCK(&zone->zmgr->rwlock, isc_rwlocktype_write);
zone->statelist = NULL;
}
-
+
if (zone->xfr != NULL)
dns_xfrin_shutdown(zone->xfr);
if (zone->view != NULL)
dns_view_weakdetach(&zone->view);
-
+
exit_check(zone);
}
/* XXX if we use a view, we need to lock its configuration, too. */
dns_zone_maintenance(zone);
dns_zonemgr_unlockconf(zone->zmgr, isc_rwlocktype_read);
-
+
isc_event_free(&event);
}
dns_message_addname(message, tempname, DNS_SECTION_QUESTION);
tempname = NULL;
temprdataset = NULL;
-
+
/*
* If the zone is dialup we are done as we don't want to send
* the current soa so as to force a refresh query.
* against the zones serial and return if <= current serial
*
* If a refresh check is progress, if so just record the
- * fact we received a NOTIFY and from where and return.
+ * fact we received a NOTIFY and from where and return.
* We will perform a new refresh check when the current one
* completes. Return ISC_R_SUCCESS.
*
result = dns_message_findname(msg, DNS_SECTION_ANSWER,
&zone->origin,
dns_rdatatype_soa,
- dns_rdatatype_none, NULL,
+ dns_rdatatype_none, NULL,
&rdataset);
if (result == ISC_R_SUCCESS)
result = dns_rdataset_first(rdataset);
return (ISC_R_SUCCESS);
}
}
- }
+ }
}
/*
void
dns_zone_setjournalsize(dns_zone_t *zone, isc_int32_t size) {
-
+
REQUIRE(DNS_ZONE_VALID(zone));
zone->journalsize = size;
isc_int32_t
dns_zone_getjournalsize(dns_zone_t *zone) {
-
+
REQUIRE(DNS_ZONE_VALID(zone));
return (zone->journalsize);
name = NULL;
dns_message_currentname(msg, section, &name);
- for (curr = ISC_LIST_TAIL(name->list); curr != NULL;
+ for (curr = ISC_LIST_TAIL(name->list); curr != NULL;
curr = ISC_LIST_PREV(curr, link)) {
if (curr->type == type)
count++;
const char me[] = "notify_done";
dns_notify_t *notify;
dns_zone_t *zone = NULL;
-
+
UNUSED(task);
notify = event->ev_arg;
isc_result_t
dns_zone_replacedb(dns_zone_t *zone, dns_db_t *db, isc_boolean_t dump) {
isc_result_t result;
-
+
REQUIRE(DNS_ZONE_VALID(zone));
LOCK(&zone->lock);
result = zone_replacedb(zone, db, dump);
dns_db_currentversion(db, &ver);
/*
- * The initial version of a slave zone is always dumped;
+ * The initial version of a slave zone is always dumped;
* subsequent versions may be journalled instead if this
* is enabled in the configuration.
*/
isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
DNS_LOGMODULE_ZONE, ISC_LOG_DEBUG(3),
"replacing zone database");
-
+
if (zone->db != NULL)
dns_db_detach(&zone->db);
dns_db_attach(db, &zone->db);
zone->flags |= DNS_ZONEFLG_LOADED|DNS_ZONEFLG_NEEDNOTIFY;
return (ISC_R_SUCCESS);
-
+
fail:
dns_db_closeversion(db, &ver, ISC_FALSE);
return (result);
zone->refreshtime = now + zone->refresh;
zone->expiretime = now + zone->expire;
}
-
+
break;
default:
* This transfer finishing freed up a transfer quota slot.
* Let any zones waiting for quota have it.
*/
- RWLOCK(&zone->zmgr->rwlock, isc_rwlocktype_write);
+ RWLOCK(&zone->zmgr->rwlock, isc_rwlocktype_write);
ISC_LIST_UNLINK(zone->zmgr->xfrin_in_progress, zone, statelink);
zone->statelist = NULL;
if (!DNS_ZONE_FLAG(zone, DNS_ZONEFLG_EXITING))
zmgr_resume_xfrs(zone->zmgr);
RWUNLOCK(&zone->zmgr->rwlock, isc_rwlocktype_write);
-
+
/*
* Retry with a different server if necessary.
*/
void
dns_zone_setsigvalidityinterval(dns_zone_t *zone, isc_uint32_t interval) {
- REQUIRE(DNS_ZONE_VALID(zone));
+ REQUIRE(DNS_ZONE_VALID(zone));
zone->sigvalidityinterval = interval;
}
isc_uint32_t
dns_zone_getsigvalidityinterval(dns_zone_t *zone) {
- REQUIRE(DNS_ZONE_VALID(zone));
+ REQUIRE(DNS_ZONE_VALID(zone));
return (zone->sigvalidityinterval);
}
INSIST(zone->statelist == NULL);
- RWLOCK(&zmgr->rwlock, isc_rwlocktype_write);
+ RWLOCK(&zmgr->rwlock, isc_rwlocktype_write);
ISC_LIST_APPEND(zmgr->waiting_for_xfrin, zone, statelink);
zone->statelist = &zmgr->waiting_for_xfrin;
result = zmgr_start_xfrin_ifquota(zmgr, zone);
- RWUNLOCK(&zmgr->rwlock, isc_rwlocktype_write);
+ RWUNLOCK(&zmgr->rwlock, isc_rwlocktype_write);
if (result == ISC_R_QUOTA) {
zone_log(zone, me, ISC_LOG_DEBUG(1),
isc_netaddr_t masterip;
isc_boolean_t gotkey = ISC_FALSE;
dns_view_t *view = NULL;
-
+
UNUSED(task);
-
+
INSIST(task == zone->task);
if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_EXITING)) {
result = ISC_R_CANCELED;
goto cleanup;
}
-
+
isc_sockaddr_format(&zone->masteraddr, mastertext, sizeof(mastertext));
-
+
isc_netaddr_fromsockaddr(&masterip, &zone->masteraddr);
(void)dns_peerlist_peerbyaddr(zone->view->peers,
&masterip, &peer);
-
+
/*
* Decide whether we should request IXFR or AXFR.
*/
if (zone->db == NULL) {
- zone_log(zone, me, ISC_LOG_DEBUG(3),
+ zone_log(zone, me, ISC_LOG_DEBUG(3),
"no database exists yet, requesting AXFR of "
"initial version from %s", mastertext);
xfrtype = dns_rdatatype_axfr;
if (peer != NULL &&
dns_peer_getrequestixfr(peer, &use_ixfr) ==
ISC_R_SUCCESS) {
- ; /* Using peer setting */
+ ; /* Using peer setting */
} else {
use_ixfr = zone->view->requestixfr;
}
zone_log(zone, me, ISC_LOG_DEBUG(3),
"IXFR disabled, requesting AXFR from %s",
mastertext);
- xfrtype = dns_rdatatype_axfr;
+ xfrtype = dns_rdatatype_axfr;
} else {
zone_log(zone, me, ISC_LOG_DEBUG(3),
"requesting IXFR from %s",
if (tsigkey != NULL)
dns_tsigkey_detach(&tsigkey);
-
+
isc_event_free(&event);
dns_zone_detach(&zone); /* XXXAG */
}
/***
- *** Zone manager.
+ *** Zone manager.
***/
isc_result_t
zmgr->transfersin = 10;
zmgr->transfersperns = 2;
-
+
/* Create the zone task pool. */
- result = isc_taskpool_create(taskmgr, mctx,
+ result = isc_taskpool_create(taskmgr, mctx,
8 /* XXX */, 0, &zmgr->zonetasks);
if (result != ISC_R_SUCCESS)
goto free_conflock;
free_task:
isc_task_detach(&zmgr->task);
free_taskpool:
- isc_taskpool_destroy(&zmgr->zonetasks);
+ isc_taskpool_destroy(&zmgr->zonetasks);
free_conflock:
isc_rwlock_destroy(&zmgr->conflock);
free_rwlock:
isc_result_t
dns_zonemgr_managezone(dns_zonemgr_t *zmgr, dns_zone_t *zone) {
isc_result_t result;
-
+
REQUIRE(DNS_ZONE_VALID(zone));
REQUIRE(DNS_ZONEMGR_VALID(zmgr));
cleanup_task:
isc_task_detach(&zone->task);
-
+
unlock:
UNLOCK(&zone->lock);
RWUNLOCK(&zmgr->rwlock, isc_rwlocktype_write);
void
dns_zonemgr_releasezone(dns_zonemgr_t *zmgr, dns_zone_t *zone) {
isc_boolean_t free_now = ISC_FALSE;
-
+
REQUIRE(DNS_ZONE_VALID(zone));
REQUIRE(DNS_ZONEMGR_VALID(zmgr));
REQUIRE(zone->zmgr == zmgr);
zmgr->refs--;
if (zmgr->refs == 0)
free_now = ISC_TRUE;
-
+
UNLOCK(&zone->lock);
RWUNLOCK(&zmgr->rwlock, isc_rwlocktype_write);
dns_zonemgr_detach(dns_zonemgr_t **zmgrp) {
dns_zonemgr_t *zmgr;
isc_boolean_t free_now = ISC_FALSE;
-
+
REQUIRE(zmgrp != NULL);
zmgr = *zmgrp;
REQUIRE(DNS_ZONEMGR_VALID(zmgr));
zmgr_resume_xfrs(dns_zonemgr_t *zmgr) {
static char me[] = "zmgr_resume_xfrs";
dns_zone_t *zone;
-
+
for (zone = ISC_LIST_HEAD(zmgr->waiting_for_xfrin);
zone != NULL;
zone = ISC_LIST_NEXT(zone, statelink))
break;
} else if (result == ISC_R_QUOTA) {
/*
- * Not enough quota. This is probably the per-server
- * quota, because we only get called when a unit of
- * global quota has just been freed. Try the next
+ * Not enough quota. This is probably the per-server
+ * quota, because we only get called when a unit of
+ * global quota has just been freed. Try the next
* zone, it may succeed if it uses another master.
*/
continue;
} else {
- zone_log(zone, me, ISC_LOG_DEBUG(3),
+ zone_log(zone, me, ISC_LOG_DEBUG(3),
"starting zone transfer: %s",
isc_result_totext(result));
break;
}
}
}
-
+
/*
* Try to start an incoming zone transfer for 'zone', quota permitting.
*
if (peer != NULL)
(void)dns_peer_gettransfers(peer, &maxtransfersperns);
- /*
+ /*
* Count the total number of transfers that are in progress,
* and the number of transfers in progress from this master.
* We linearly scan a list of all transfers; if this turns
zone->erefs++;
isc_task_send(zone->task, &e);
UNLOCK(&zone->lock);
-
+
return (ISC_R_SUCCESS);
}
UNUSED(task);
isc_event_free(&event);
-
+
isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
DNS_LOGMODULE_ZONE, ISC_LOG_INFO,
"database (%p) destroyed", (void*) db);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: zoneconf.c,v 1.50 2000/07/31 19:36:48 explorer Exp $ */
+/* $Id: zoneconf.c,v 1.51 2000/08/01 01:23:10 tale Exp $ */
#include <config.h>
} else
RETERR(dns_zone_setalsonotify(zone, NULL, 0));
-
+
RETERR(configure_zone_acl(czone, cctx, cview, ac, zone,
dns_c_zone_getallowtransfer,
dns_c_view_gettransferacl,
dns_zone_setmaxxfrout(zone, uintval);
result = dns_c_zone_getmaxtransidleout(czone, &uintval);
- if (result != ISC_R_SUCCESS && cview != NULL)
+ if (result != ISC_R_SUCCESS && cview != NULL)
result = dns_c_view_getmaxtransferidleout(cview,
&uintval);
- if (result != ISC_R_SUCCESS)
+ if (result != ISC_R_SUCCESS)
result = dns_c_ctx_getmaxtransferidleout(cctx,
&uintval);
if (result != ISC_R_SUCCESS)
#else /* NOMINUM_PUBLIC */
result = dns_zone_setmasters(zone, iplist->ips,
iplist->nextidx);
-#endif /* NOMINUM_PUBLIC */
+#endif /* NOMINUM_PUBLIC */
else
result = dns_zone_setmasters(zone, NULL, 0);
RETERR(result);
result = dns_c_zone_getmaxtranstimein(czone, &uintval);
- if (result != ISC_R_SUCCESS)
+ if (result != ISC_R_SUCCESS)
result = dns_c_ctx_getmaxtransfertimein(cctx,
&uintval);
if (result != ISC_R_SUCCESS)
dns_zone_setmaxxfrin(zone, uintval);
result = dns_c_zone_getmaxtransidlein(czone, &uintval);
- if (result != ISC_R_SUCCESS)
+ if (result != ISC_R_SUCCESS)
result = dns_c_ctx_getmaxtransferidlein(cctx,
&uintval);
if (result != ISC_R_SUCCESS)
dns_zone_setxfrsource4(zone, &sockaddr);
result = dns_c_zone_gettransfersourcev6(czone, &sockaddr);
- if (result != ISC_R_SUCCESS && cview != NULL)
+ if (result != ISC_R_SUCCESS && cview != NULL)
result = dns_c_view_gettransfersourcev6(cview,
&sockaddr);
- if (result != ISC_R_SUCCESS)
+ if (result != ISC_R_SUCCESS)
result = dns_c_ctx_gettransfersourcev6(cctx,
&sockaddr);
if (result != ISC_R_SUCCESS)
dns_zone_setxfrsource6(zone, &sockaddr);
break;
-
+
default:
break;
}
return (ISC_TRUE);
}
-
+
isc_result_t
dns_zonemgr_configure(dns_c_ctx_t *cctx, dns_zonemgr_t *zmgr) {
isc_uint32_t val;
isc_result_t result;
-
+
result = dns_c_ctx_gettransfersin(cctx, &val);
if (result != ISC_R_SUCCESS)
val = 10;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: zt.c,v 1.23 2000/07/27 09:46:54 tale Exp $ */
+/* $Id: zt.c,v 1.24 2000/08/01 01:23:12 tale Exp $ */
#include <config.h>
zt = *ztp;
RWLOCK(&zt->rwlock, isc_rwlocktype_write);
-
+
INSIST(zt->references > 0);
zt->references--;
if (zt->references == 0)
/*
* The tree is empty.
*/
- result = ISC_R_NOMORE;
+ result = ISC_R_NOMORE;
}
while (result == DNS_R_NEWORIGIN || result == ISC_R_SUCCESS) {
result = dns_rbtnodechain_current(&chain, NULL, NULL,
dns_zone_t *zone = data;
UNUSED(arg);
-
+
dns_zone_detach(&zone);
}
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.63 2000/07/27 09:50:37 tale Exp $
+# $Id: Makefile.in,v 1.64 2000/08/01 01:29:12 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 1997-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: assertions.c,v 1.11 2000/07/27 09:50:38 tale Exp $ */
+/* $Id: assertions.c,v 1.12 2000/08/01 01:29:13 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: base64.c,v 1.17 2000/07/27 09:50:40 tale Exp $ */
+/* $Id: base64.c,v 1.18 2000/08/01 01:29:14 tale Exp $ */
#include <config.h>
char *s;
int n;
-
+
while (!seen_end && (length != 0)) {
if (length > 0)
RETERR(gettoken(lexer, &token, isc_tokentype_string,
if (result == ISC_R_SUCCESS) {
isopen = ISC_TRUE;
result = isc_base64_tobuffer(lex, target, -1);
- }
+ }
if (isopen)
(void)isc_lex_close(lex);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: bitstring.c,v 1.6 2000/07/27 09:50:41 tale Exp $ */
+/* $Id: bitstring.c,v 1.7 2000/08/01 01:29:15 tale Exp $ */
#include <config.h>
tbitpos = PADDED(target->size) - tbitpos - 1;
REQUIRE(tbitpos >= n - 1);
tbitpos -= n - 1;
- } else
+ } else
REQUIRE(tlast<= target->size);
if (tlast > target->length)
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: buffer.c,v 1.33 2000/07/27 09:50:42 tale Exp $ */
+/* $Id: buffer.c,v 1.34 2000/08/01 01:29:16 tale Exp $ */
#include <config.h>
REQUIRE(ISC_BUFFER_VALID(b));
REQUIRE(!ISC_LINK_LINKED(b, link));
REQUIRE(b->mctx == NULL);
-
+
ISC__BUFFER_INVALIDATE(b);
}
REQUIRE(r != NULL);
/*
- * XXXDCL
+ * XXXDCL
*/
base = isc_buffer_used(b);
available = isc_buffer_availablelength(b);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: bufferlist.c,v 1.10 2000/07/27 09:50:43 tale Exp $ */
+/* $Id: bufferlist.c,v 1.11 2000/08/01 01:29:18 tale Exp $ */
#include <config.h>
/*
* Portions Copyright (C) 1999, 2000 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
* SUCH DAMAGE.
*/
-/* $Id: commandline.c,v 1.9 2000/07/27 09:50:44 tale Exp $ */
+/* $Id: commandline.c,v 1.10 2000/08/01 01:29:19 tale Exp $ */
/*
* This file was adapted from the NetBSD project's source tree, RCS ID:
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: error.c,v 1.12 2000/07/27 09:50:45 tale Exp $ */
+/* $Id: error.c,v 1.13 2000/08/01 01:29:20 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: event.c,v 1.12 2000/07/27 09:50:46 tale Exp $ */
+/* $Id: event.c,v 1.13 2000/08/01 01:29:21 tale Exp $ */
/*
* Principal Author: Bob Halley
void
isc_event_free(isc_event_t **eventp) {
isc_event_t *event;
-
+
REQUIRE(eventp != NULL);
event = *eventp;
REQUIRE(event != NULL);
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: fsaccess.c,v 1.3 2000/07/27 09:50:48 tale Exp $ */
+/* $Id: fsaccess.c,v 1.4 2000/08/01 01:29:22 tale Exp $ */
/*
* This file contains the OS-independent functionality of the API.
/*
* Copyright (C) 1997-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: heap.c,v 1.25 2000/07/27 09:50:49 tale Exp $ */
+/* $Id: heap.c,v 1.26 2000/08/01 01:29:23 tale Exp $ */
/*
* Heap implementation of priority queues adapted from the following:
heap->index = index;
*heapp = heap;
-
+
return (ISC_R_SUCCESS);
}
return (ISC_FALSE);
if (heap->array != NULL) {
memcpy(new_array, heap->array, heap->size * sizeof (void *));
- isc_mem_put(heap->mctx, heap->array,
+ isc_mem_put(heap->mctx, heap->array,
heap->size * sizeof (void *));
}
heap->size = new_size;
float_up(isc_heap_t *heap, unsigned int i, void *elt) {
unsigned int p;
- for (p = heap_parent(i);
+ for (p = heap_parent(i);
i > 1 && heap->compare(elt, heap->array[p]);
i = p, p = heap_parent(i)) {
heap->array[i] = heap->array[p];
i = ++heap->last;
if (heap->last >= heap->size && !resize(heap))
return (ISC_R_NOMEMORY);
-
+
float_up(heap, i, elt);
return (ISC_R_SUCCESS);
isc_heap_increased(isc_heap_t *heap, unsigned int i) {
REQUIRE(VALID_HEAP(heap));
REQUIRE(i >= 1 && i <= heap->last);
-
+
float_up(heap, i, heap->array[i]);
}
isc_heap_decreased(isc_heap_t *heap, unsigned int i) {
REQUIRE(VALID_HEAP(heap));
REQUIRE(i >= 1 && i <= heap->last);
-
+
sink_down(heap, i, heap->array[i]);
}
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: hmacmd5.c,v 1.3 2000/07/27 09:50:50 tale Exp $ */
+/* $Id: hmacmd5.c,v 1.4 2000/08/01 01:29:24 tale Exp $ */
/*
* This code implements the HMAC-MD5 keyed hash algorithm
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.8 2000/07/27 09:51:22 tale Exp $
+# $Id: Makefile.in,v 1.9 2000/08/01 01:29:56 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.41 2000/07/27 09:51:23 tale Exp $
+# $Id: Makefile.in,v 1.42 2000/08/01 01:29:57 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 1997-2000 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
*/
/*
- * $Id: assertions.h,v 1.12 2000/07/27 09:51:24 tale Exp $
+ * $Id: assertions.h,v 1.13 2000/08/01 01:29:58 tale Exp $
*/
#ifndef ISC_ASSERTIONS_H
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: base64.h,v 1.11 2000/07/27 09:51:25 tale Exp $ */
+/* $Id: base64.h,v 1.12 2000/08/01 01:29:59 tale Exp $ */
#ifndef ISC_BASE64_H
#define ISC_BASE64_H 1
* Convert data into base64 encoded text.
*
* Notes:
- * The base64 encoded text in 'target' will be divided into
+ * The base64 encoded text in 'target' will be divided into
* words of at most 'wordlength' characters, separated by
* the 'wordbreak' string. No parentheses will surround
* the text.
* 'length' is an integer
*
* Ensures:
- * target will contain the data represented by the base64 encoded
+ * target will contain the data represented by the base64 encoded
* string parsed by the lexer. No more than length bytes will be read,
* if length is positive. The 'used' pointer in target will be
* advanced as necessary.
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: bitstring.h,v 1.4 2000/07/27 09:51:26 tale Exp $ */
+/* $Id: bitstring.h,v 1.5 2000/08/01 01:30:00 tale Exp $ */
#ifndef ISC_BITSTRING_H
#define ISC_BITSTRING_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: boolean.h,v 1.10 2000/07/27 09:51:27 tale Exp $ */
+/* $Id: boolean.h,v 1.11 2000/08/01 01:30:01 tale Exp $ */
#ifndef ISC_BOOLEAN_H
#define ISC_BOOLEAN_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: buffer.h,v 1.34 2000/07/27 09:51:28 tale Exp $ */
+/* $Id: buffer.h,v 1.35 2000/08/01 01:30:02 tale Exp $ */
#ifndef ISC_BUFFER_H
#define ISC_BUFFER_H 1
* If assertion checking is enabled, future attempts to use 'b' without
* calling isc_buffer_init() on it will cause an assertion failure.
*/
-
+
void
isc__buffer_region(isc_buffer_t *b, isc_region_t *r);
/*
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: bufferlist.h,v 1.8 2000/07/27 09:51:30 tale Exp $ */
+/* $Id: bufferlist.h,v 1.9 2000/08/01 01:30:04 tale Exp $ */
#ifndef ISC_BUFFERLIST_H
#define ISC_BUFFERLIST_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: commandline.h,v 1.5 2000/07/27 09:51:31 tale Exp $ */
+/* $Id: commandline.h,v 1.6 2000/08/01 01:30:05 tale Exp $ */
#ifndef ISC_COMMANDLINE_H
#define ISC_COMMANDLINE_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: entropy.h,v 1.20 2000/07/27 09:51:32 tale Exp $ */
+/* $Id: entropy.h,v 1.21 2000/08/01 01:30:06 tale Exp $ */
#ifndef ISC_ENTROPY_H
#define ISC_ENTROPY_H 1
/*
* Entropy
*
- * The entropy API
+ * The entropy API
*
* MP:
* The entropy object is locked internally. All callbacks into
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: error.h,v 1.11 2000/07/27 09:51:33 tale Exp $ */
+/* $Id: error.h,v 1.12 2000/08/01 01:30:07 tale Exp $ */
#ifndef ISC_ERROR_H
#define ISC_ERROR_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: event.h,v 1.21 2000/07/27 09:51:34 tale Exp $ */
+/* $Id: event.h,v 1.22 2000/08/01 01:30:08 tale Exp $ */
#ifndef ISC_EVENT_H
#define ISC_EVENT_H 1
* The ISC_EVENTATTR_CANCELED attribute is intended to indicate
* that an event is delivered as a result of a canceled operation
* rather than successful completion, by mutual agreement
- * between the sender and receiver. It is not set or used by
+ * between the sender and receiver. It is not set or used by
* the task system.
*/
#define ISC_EVENTATTR_CANCELED 0x00000002
(event)->ev_destroy_arg = (da); \
ISC_LINK_INIT((event), ev_link); \
} while (0)
-
+
/*
* This structure is public because "subclassing" it may be useful when
* defining new event types.
- */
+ */
struct isc_event {
ISC_EVENT_COMMON(struct isc_event);
};
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: eventclass.h,v 1.10 2000/07/27 09:51:35 tale Exp $ */
+/* $Id: eventclass.h,v 1.11 2000/08/01 01:30:09 tale Exp $ */
#ifndef ISC_EVENTCLASS_H
#define ISC_EVENTCLASS_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: file.h,v 1.8 2000/07/27 09:51:36 tale Exp $ */
+/* $Id: file.h,v 1.9 2000/08/01 01:30:10 tale Exp $ */
#ifndef ISC_FILE_H
#define ISC_FILE_H 1
* Hardware error interacting with the filesystem.
* ISC_R_UNEXPECTED
* Something totally unexpected happened.
- *
+ *
*/
isc_result_t
isc_file_openunique(char *templet, FILE **fp);
/*
* Create and open a file with a unique name based on 'templet'.
- *
+ *
* Notes:
* 'template' is a reserved work in C++. If you want to complain
* about the spelling of 'templet', first look it up in the
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: formatcheck.h,v 1.4 2000/07/27 09:51:37 tale Exp $ */
+/* $Id: formatcheck.h,v 1.5 2000/08/01 01:30:11 tale Exp $ */
#ifndef ISC_FORMATCHECK_H
#define ISC_FORMATCHECK_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: fsaccess.h,v 1.5 2000/07/27 09:51:38 tale Exp $ */
+/* $Id: fsaccess.h,v 1.6 2000/08/01 01:30:12 tale Exp $ */
#ifndef ISC_FSACCESS_H
#define ISC_FSACCESS_H 1
* in BIND9, and so resolving how to handle the various incompatibilities has
* been a purely theoretical exercise with no operational experience to
* indicate how flawed the thinking may be.
- *
+ *
* Some of the more notable dumbing down of NT for this API includes:
*
* o Each of FILE_READ_DATA and FILE_READ_EA are set with ISC_FSACCESS_READ.
*
* The Windows standard access right "DELETE" doesn't have a direct
* equivalent in the Unix world, so it isn't clear what should be done
- * with it.
+ * with it.
*
* The Unix sticky bit is not supported. While NT does have a concept
* of allowing users to create files in a directory but not delete or
/*
* Copyright (C) 1997-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: heap.h,v 1.14 2000/07/27 09:51:39 tale Exp $ */
+/* $Id: heap.h,v 1.15 2000/08/01 01:30:14 tale Exp $ */
#ifndef ISC_HEAP_H
#define ISC_HEAP_H 1
ISC_LANG_BEGINDECLS
-/*
+/*
* The comparision function returns ISC_TRUE if the first argument has
* higher priority than the second argument, and ISC_FALSE otherwise.
*/
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: hmacmd5.h,v 1.2 2000/07/27 09:51:40 tale Exp $ */
+/* $Id: hmacmd5.h,v 1.3 2000/08/01 01:30:15 tale Exp $ */
/*
* This is the header file for the HMAC-MD5 keyed hash algorithm
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: interfaceiter.h,v 1.8 2000/07/27 09:51:42 tale Exp $ */
+/* $Id: interfaceiter.h,v 1.9 2000/08/01 01:30:16 tale Exp $ */
#ifndef ISC_INTERFACEITER_H
#define ISC_INTERFACEITER_H 1
struct isc_interface {
char name[32]; /* Interface name, null-terminated. */
- unsigned int af; /* Address family. */
+ unsigned int af; /* Address family. */
isc_netaddr_t address; /* Local address. */
isc_netaddr_t netmask; /* Network mask. */
isc_netaddr_t dstaddress; /* Destination address
* ISC_R_SUCCESS Success.
* ISC_R_NOMORE There are no interfaces.
*/
-
+
isc_result_t
isc_interfaceiter_current(isc_interfaceiter_t *iter,
isc_interface_t *ifdata);
* Returns:
* ISC_R_SUCCESS Success.
*/
-
+
isc_result_t
isc_interfaceiter_next(isc_interfaceiter_t *iter);
/*
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ipv6.h,v 1.15 2000/07/27 09:51:43 tale Exp $ */
+/* $Id: ipv6.h,v 1.16 2000/08/01 01:30:17 tale Exp $ */
#ifndef ISC_IPV6_H
#define ISC_IPV6_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lang.h,v 1.4 2000/07/27 09:51:44 tale Exp $ */
+/* $Id: lang.h,v 1.5 2000/08/01 01:30:18 tale Exp $ */
#ifndef ISC_LANG_H
#define ISC_LANG_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lex.h,v 1.21 2000/07/27 09:51:45 tale Exp $ */
+/* $Id: lex.h,v 1.22 2000/08/01 01:30:19 tale Exp $ */
#ifndef ISC_LEX_H
#define ISC_LEX_H 1
* whitespace, they delimit strings and numbers.
*
* Note:
- * Comment processing takes precedence over special character
+ * Comment processing takes precedence over special character
* recognition.
*
* Requires:
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lfsr.h,v 1.7 2000/07/27 09:51:46 tale Exp $ */
+/* $Id: lfsr.h,v 1.8 2000/08/01 01:30:20 tale Exp $ */
#ifndef ISC_LFSR_H
#define ISC_LFSR_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lib.h,v 1.4 2000/07/27 09:51:47 tale Exp $ */
+/* $Id: lib.h,v 1.5 2000/08/01 01:30:21 tale Exp $ */
#ifndef ISC_LIB_H
#define ISC_LIB_H 1
/*
* Copyright (C) 1997-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: list.h,v 1.12 2000/07/27 09:51:48 tale Exp $ */
+/* $Id: list.h,v 1.13 2000/08/01 01:30:22 tale Exp $ */
#ifndef ISC_LIST_H
#define ISC_LIST_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: log.h,v 1.27 2000/07/27 09:51:49 tale Exp $ */
+/* $Id: log.h,v 1.28 2000/08/01 01:30:23 tale Exp $ */
#ifndef ISC_LOG_H
#define ISC_LOG_H 1
* Ensures:
* *lctxp will point to a valid logging context if all of the necessary
* memory was allocated, or NULL otherwise.
- * *lcfgp will point to a valid logging configuration if all of the
+ * *lcfgp will point to a valid logging configuration if all of the
* necessary memory was allocated, or NULL otherwise.
* On failure, no additional memory is allocated.
*
*
* Requires:
* lcfg is a valid logging configuration.
- *
+ *
* category is NULL or has an id that is in the range of known ids.
*
* module is NULL or has an id that is in the range of known ids.
*
* Requires:
* lctx is a valid logging context.
- *
+ *
* Ensures:
* The current logging debugging level is returned.
*/
isc_log_categorybyname(isc_log_t *lctx, const char *name);
/*
* Find a category by its name.
- *
+ *
* Notes:
* The string name of a category is not required to be unique.
*
isc_log_modulebyname(isc_log_t *lctx, const char *name);
/*
* Find a module by its name.
- *
+ *
* Notes:
* The string name of a module is not required to be unique.
*
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: magic.h,v 1.9 2000/07/27 09:51:50 tale Exp $ */
+/* $Id: magic.h,v 1.10 2000/08/01 01:30:25 tale Exp $ */
#ifndef ISC_MAGIC_H
#define ISC_MAGIC_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: md5.h,v 1.6 2000/07/27 09:51:51 tale Exp $ */
+/* $Id: md5.h,v 1.7 2000/08/01 01:30:26 tale Exp $ */
/*
* This is the header file for the MD5 message-digest algorithm.
/*
* Copyright (C) 1997-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: mem.h,v 1.39 2000/07/27 09:51:53 tale Exp $ */
+/* $Id: mem.h,v 1.40 2000/08/01 01:30:27 tale Exp $ */
#ifndef ISC_MEM_H
#define ISC_MEM_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: msgcat.h,v 1.6 2000/07/27 09:51:54 tale Exp $ */
+/* $Id: msgcat.h,v 1.7 2000/08/01 01:30:28 tale Exp $ */
#ifndef ISC_MSGCAT_H
#define ISC_MSGCAT_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: mutexblock.h,v 1.8 2000/07/27 09:51:55 tale Exp $ */
+/* $Id: mutexblock.h,v 1.9 2000/08/01 01:30:29 tale Exp $ */
#ifndef ISC_MUTEXBLOCK_H
#define ISC_MUTEXBLOCK_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: netaddr.h,v 1.14 2000/07/27 09:51:56 tale Exp $ */
+/* $Id: netaddr.h,v 1.15 2000/08/01 01:30:30 tale Exp $ */
#ifndef ISC_NETADDR_H
#define ISC_NETADDR_H 1
isc_netaddr_totext(const isc_netaddr_t *netaddr, isc_buffer_t *target);
/*
* Append a text representation of 'sockaddr' to the buffer 'target'.
- * The text is NOT null terminated. Handles IPv4 and IPv6 addresses.
+ * The text is NOT null terminated. Handles IPv4 and IPv6 addresses.
*
* Returns:
* ISC_R_SUCCESS
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ondestroy.h,v 1.5 2000/07/27 09:51:57 tale Exp $ */
+/* $Id: ondestroy.h,v 1.6 2000/08/01 01:30:31 tale Exp $ */
#ifndef ISC_ONDESTROY_H
#define ISC_ONDESTROY_H 1
*
* Any class ``X'' of objects that wants to send out notifications
* on its destruction should declare a field of type isc_ondestroy_t
- * (call it 'ondest').
+ * (call it 'ondest').
*
* typedef struct {
* ...
* When an object ``A'' of type X is created
* it must initialize the field ondest with a call to
*
- * isc_ondestroy_init(&A->ondest).
+ * isc_ondestroy_init(&A->ondest).
*
* X should also provide a registration function for third-party
* objects to call to register their interest in being told about
* the destruction of a particular instance of X.
*
* isc_result_t
- * X_ondestroy(X *instance, isc_task_t *task,
+ * X_ondestroy(X *instance, isc_task_t *task,
* isc_event_t **eventp) {
* return(isc_ondestroy_register(&instance->ondest, task,eventp));
* }
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: os.h,v 1.3 2000/07/27 09:51:58 tale Exp $ */
+/* $Id: os.h,v 1.4 2000/08/01 01:30:32 tale Exp $ */
#ifndef ISC_OS_H
#define ISC_OS_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: platform.h.in,v 1.13 2000/07/27 09:51:59 tale Exp $ */
+/* $Id: platform.h.in,v 1.14 2000/08/01 01:30:33 tale Exp $ */
#ifndef ISC_PLATFORM_H
#define ISC_PLATFORM_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: print.h,v 1.9 2000/07/27 09:52:00 tale Exp $ */
+/* $Id: print.h,v 1.10 2000/08/01 01:30:34 tale Exp $ */
#ifndef ISC_PRINT_H
#define ISC_PRINT_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: quota.h,v 1.6 2000/07/27 09:52:01 tale Exp $ */
+/* $Id: quota.h,v 1.7 2000/08/01 01:30:36 tale Exp $ */
#ifndef ISC_QUOTA_H
#define ISC_QUOTA_H 1
isc_result_t
isc_quota_init(isc_quota_t *quota, int max);
/*
- * Initialize a quota object.
+ * Initialize a quota object.
*
* Returns:
* ISC_R_SUCCESS
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: random.h,v 1.6 2000/07/27 09:52:02 tale Exp $ */
+/* $Id: random.h,v 1.7 2000/08/01 01:30:37 tale Exp $ */
#ifndef ISC_RANDOM_H
#define ISC_RANDOM_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ratelimiter.h,v 1.11 2000/07/27 09:52:04 tale Exp $ */
+/* $Id: ratelimiter.h,v 1.12 2000/08/01 01:30:38 tale Exp $ */
#ifndef ISC_RATELIMITER_H
#define ISC_RATELIMITER_H 1
/*
* A rate limiter is a mechanism for dispatching events at a limited
- * rate. This is intended to be used when sending zone maintenance
+ * rate. This is intended to be used when sending zone maintenance
* SOA queries, NOTIFY messages, etc.
*/
* Requires:
* An interval has been set by calling
* isc_ratelimiter_setinterval().
- *
+ *
* 'task' to be non NULL.
* '(*eventp)->ev_sender' to be NULL.
*/
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: region.h,v 1.13 2000/07/27 09:52:05 tale Exp $ */
+/* $Id: region.h,v 1.14 2000/08/01 01:30:39 tale Exp $ */
#ifndef ISC_REGION_H
#define ISC_REGION_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: result.h,v 1.46 2000/07/27 09:52:06 tale Exp $ */
+/* $Id: result.h,v 1.47 2000/08/01 01:30:40 tale Exp $ */
#ifndef ISC_RESULT_H
#define ISC_RESULT_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: resultclass.h,v 1.8 2000/07/27 09:52:07 tale Exp $ */
+/* $Id: resultclass.h,v 1.9 2000/08/01 01:30:41 tale Exp $ */
#ifndef ISC_RESULTCLASS_H
#define ISC_RESULTCLASS_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rwlock.h,v 1.12 2000/07/27 09:52:08 tale Exp $ */
+/* $Id: rwlock.h,v 1.13 2000/08/01 01:30:42 tale Exp $ */
#ifndef ISC_RWLOCK_H
#define ISC_RWLOCK_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: serial.h,v 1.7 2000/07/27 09:52:09 tale Exp $ */
+/* $Id: serial.h,v 1.8 2000/08/01 01:30:43 tale Exp $ */
#ifndef ISC_SERIAL_H
#define ISC_SERIAL_H 1
/*
* Copyright (C) 2000 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
#ifndef ISC_SHA1_H
#define ISC_SHA1_H 1
-/* $Id: sha1.h,v 1.6 2000/07/27 09:52:10 tale Exp $ */
+/* $Id: sha1.h,v 1.7 2000/08/01 01:30:44 tale Exp $ */
/* $NetBSD: sha1.h,v 1.2 1998/05/29 22:55:44 thorpej Exp $ */
typedef struct {
isc_uint32_t state[5];
- isc_uint32_t count[2];
+ isc_uint32_t count[2];
unsigned char buffer[64];
} isc_sha1_t;
-
+
ISC_LANG_BEGINDECLS
void
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: sockaddr.h,v 1.31 2000/07/27 09:52:11 tale Exp $ */
+/* $Id: sockaddr.h,v 1.32 2000/08/01 01:30:45 tale Exp $ */
#ifndef ISC_SOCKADDR_H
#define ISC_SOCKADDR_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: socket.h,v 1.48 2000/07/27 09:52:12 tale Exp $ */
+/* $Id: socket.h,v 1.49 2000/08/01 01:30:47 tale Exp $ */
#ifndef ISC_SOCKET_H
#define ISC_SOCKET_H 1
* Cancel pending isc_socket_connect() call.
*/
-void
+void
isc_socket_shutdown(isc_socket_t *sock, unsigned int how);
/*
* Shutdown 'socket' according to 'how'.
* *socketp is attached to socket.
*/
-void
+void
isc_socket_detach(isc_socket_t **socketp);
/*
* Detach *socketp from its socket.
* Destroy a socket manager.
*
* Notes:
- *
+ *
* This routine blocks until there are no sockets left in the manager,
* so if the caller holds any socket references using the manager, it
* must detach them before calling isc_socketmgr_destroy() or it will
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: stdio.h,v 1.4 2000/07/27 09:52:13 tale Exp $ */
+/* $Id: stdio.h,v 1.5 2000/08/01 01:30:48 tale Exp $ */
#ifndef ISC_STDIO_H
#define ISC_STDIO_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: string.h,v 1.7 2000/07/27 09:52:14 tale Exp $ */
+/* $Id: string.h,v 1.8 2000/08/01 01:30:49 tale Exp $ */
#ifndef ISC_STRING_H
#define ISC_STRING_H 1
isc_string_touint64(char *source, char **endp, int base);
/*
* Convert the string pointed to by 'source' to isc_uint64_t.
- *
+ *
* On successful conversion 'endp' points to the first character
* after conversion is complete.
- *
+ *
* 'base': 0 or 2..36
*
* If base is 0 the base is computed from the string type.
char *
-isc_string_separate(char **stringp, const char *delim);
+isc_string_separate(char **stringp, const char *delim);
#ifdef ISC_PLATFORM_NEEDSTRSEP
#define strsep isc_string_separate
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: symtab.h,v 1.13 2000/07/27 09:52:16 tale Exp $ */
+/* $Id: symtab.h,v 1.14 2000/08/01 01:30:50 tale Exp $ */
#ifndef ISC_SYMTAB_H
#define ISC_SYMTAB_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: task.h,v 1.46 2000/07/27 09:52:17 tale Exp $ */
+/* $Id: task.h,v 1.47 2000/08/01 01:30:51 tale Exp $ */
#ifndef ISC_TASK_H
#define ISC_TASK_H 1
* Events in the event queue of 'task' whose sender is 'sender', whose
* type is >= first and <= last, and whose tag is 'tag' will be purged,
* unless they are marked as unpurgable.
- *
+ *
* A sender of NULL will match any sender. A NULL tag matches any
* tag.
*
* Events in the event queue of 'task' whose sender is 'sender', whose
* type is >= first and <= last, and whose tag is 'tag' will be dequeued
* and appended to *events.
- *
+ *
* A sender of NULL will match any sender. A NULL tag matches any
* tag.
*
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: taskpool.h,v 1.5 2000/07/27 09:52:18 tale Exp $ */
+/* $Id: taskpool.h,v 1.6 2000/08/01 01:30:52 tale Exp $ */
#ifndef ISC_TASKPOOL_H
#define ISC_TASKPOOL_H 1
/*
* Task Pool
*
- * A task pool is a mechanism for sharing a small number of tasks
+ * A task pool is a mechanism for sharing a small number of tasks
* among a large number of objects such that each object is
* assigned a unique task, but each task may be shared by several
* objects.
*
- * Task pools are used to let objects that can exist in large
+ * Task pools are used to let objects that can exist in large
* numbers (e.g., zones) use tasks for synchronization without
- * the memory overhead and unfair scheduling competition that
+ * the memory overhead and unfair scheduling competition that
* could result from creating a separate task for each object.
*/
/*
* Create a task pool of "ntasks" tasks, each with quantum
* "quantum".
- *
+ *
* Requires:
*
* 'tmgr' is a valid task manager.
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: timer.h,v 1.26 2000/07/27 09:52:19 tale Exp $ */
+/* $Id: timer.h,v 1.27 2000/08/01 01:30:53 tale Exp $ */
#ifndef ISC_TIMER_H
#define ISC_TIMER_H 1
* 'inactive' timers generate no events.
*
* Timers can change type. It is typical to create a timer as
- * an 'inactive' timer and then change it into a 'ticker' or
+ * an 'inactive' timer and then change it into a 'ticker' or
* 'once' timer.
*
* MP:
* *timerp is attached to timer.
*/
-void
+void
isc_timer_detach(isc_timer_t **timerp);
/*
* Detach *timerp from its timer.
* Destroy a timer manager.
*
* Notes:
- *
+ *
* This routine blocks until there are no timers left in the manager,
* so if the caller holds any timer references using the manager, it
* must detach them before calling isc_timermgr_destroy() or it will
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: types.h,v 1.28 2000/07/27 09:52:20 tale Exp $ */
+/* $Id: types.h,v 1.29 2000/08/01 01:30:54 tale Exp $ */
#ifndef ISC_TYPES_H
#define ISC_TYPES_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: util.h,v 1.14 2000/07/27 09:52:21 tale Exp $ */
+/* $Id: util.h,v 1.15 2000/08/01 01:30:55 tale Exp $ */
#ifndef ISC_UTIL_H
#define ISC_UTIL_H 1
/*
* Portions Copyright (C) 1996-2000 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
/*
* Copyright (c) 1983, 1990, 1993
* The Regents of the University of California. All rights reserved.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
- *
+ *
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
/*
* Portions Copyright (c) 1993 by Digital Equipment Corporation.
- *
+ *
* 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, and that
* the name of Digital Equipment Corporation not be used in advertising or
* publicity pertaining to distribution of the document or software without
* specific, written prior permission.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
#if defined(LIBC_SCCS) && !defined(lint)
static char sccsid[] = "@(#)inet_addr.c 8.1 (Berkeley) 6/17/93";
-static char rcsid[] = "$Id: inet_aton.c,v 1.13 2000/07/27 09:50:51 tale Exp $";
+static char rcsid[] = "$Id: inet_aton.c,v 1.14 2000/08/01 01:29:25 tale Exp $";
#endif /* LIBC_SCCS and not lint */
#include <config.h>
#include <isc/types.h>
#include <isc/net.h>
-/*
+/*
* Check whether "cp" is a valid ascii representation
* of an Internet address and convert to a binary address.
* Returns 1 if the address is valid, 0 if not.
/*
* Copyright (C) 1996-2000 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
#if defined(LIBC_SCCS) && !defined(lint)
static char rcsid[] =
- "$Id: inet_ntop.c,v 1.8 2000/07/27 09:50:52 tale Exp $";
+ "$Id: inet_ntop.c,v 1.9 2000/08/01 01:29:26 tale Exp $";
#endif /* LIBC_SCCS and not lint */
#include <config.h>
static const char *inet_ntop4(const unsigned char *src, char *dst,
size_t size);
-
+
#ifdef AF_INET6
static const char *inet_ntop6(const unsigned char *src, char *dst,
size_t size);
tp += sprintf(tp, "%x", words[i]);
}
/* Was it a trailing run of 0x00's? */
- if (best.base != -1 && (best.base + best.len) ==
+ if (best.base != -1 && (best.base + best.len) ==
(NS_IN6ADDRSZ / NS_INT16SZ))
*tp++ = ':';
*tp++ = '\0';
/*
* Copyright (C) 1996-2000 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
#if defined(LIBC_SCCS) && !defined(lint)
static char rcsid[] =
- "$Id: inet_pton.c,v 1.7 2000/07/27 09:50:53 tale Exp $";
+ "$Id: inet_pton.c,v 1.8 2000/08/01 01:29:28 tale Exp $";
#endif /* LIBC_SCCS and not lint */
#include <config.h>
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lex.c,v 1.34 2000/07/27 09:50:54 tale Exp $ */
+/* $Id: lex.c,v 1.35 2000/08/01 01:29:29 tale Exp $ */
#include <config.h>
/*
* Create a lexer.
*/
-
+
REQUIRE(lexp != NULL && *lexp == NULL);
REQUIRE(max_token > 0);
memset(lex->specials, 0, 256);
INIT_LIST(lex->sources);
lex->magic = LEX_MAGIC;
-
+
*lexp = lex;
return (ISC_R_SUCCESS);
return (result);
flockfile(stream);
-
+
return (new_source(lex, ISC_TRUE, ISC_TRUE, stream, filename));
}
source = HEAD(lex->sources);
if (source == NULL)
return (ISC_R_NOMORE);
-
+
UNLINK(lex->sources, source, link);
if (source->is_file) {
funlockfile((FILE *)(source->input));
#define IWSEOL (ISC_LEXOPT_INITIALWS | ISC_LEXOPT_EOL)
-static void
+static void
pushback(inputsource *source, int c) {
INSIST(source->char_count < 2);
source->chars[source->char_count++] = c;
if (c == '\n')
source->line++;
-
+
if (lex->comment_ok && !no_comments) {
if (!escaped && c == ';' &&
((lex->comments & ISC_LEXCOMMENT_DNSMASTERFILE)
v = &(tokenp->value);
v->as_textregion.base =
lex->data;
- v->as_textregion.length =
+ v->as_textregion.length =
lex->max_token -
remaining;
}
pushback(source, c);
tokenp->type = isc_tokentype_string;
tokenp->value.as_textregion.base = lex->data;
- tokenp->value.as_textregion.length =
+ tokenp->value.as_textregion.length =
lex->max_token - remaining;
done = ISC_TRUE;
continue;
tokenp->type = isc_tokentype_qstring;
tokenp->value.as_textregion.base =
lex->data;
- tokenp->value.as_textregion.length =
+ tokenp->value.as_textregion.length =
lex->max_token - remaining;
no_comments = ISC_FALSE;
done = ISC_TRUE;
REQUIRE(source != NULL);
REQUIRE(!source->have_token);
REQUIRE(tokenp != NULL);
-
+
source->token = *tokenp;
source->have_token = ISC_TRUE;
}
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lfsr.c,v 1.9 2000/07/27 09:50:55 tale Exp $ */
+/* $Id: lfsr.c,v 1.10 2000/08/01 01:29:30 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lib.c,v 1.5 2000/07/27 09:50:57 tale Exp $ */
+/* $Id: lib.c,v 1.6 2000/08/01 01:29:31 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: log.c,v 1.41 2000/07/27 09:50:58 tale Exp $ */
+/* $Id: log.c,v 1.42 2000/08/01 01:29:32 tale Exp $ */
/* Principal Authors: DCL */
lctx->debug_level = 0;
ISC_LIST_INIT(lctx->messages);
-
+
RUNTIME_CHECK(isc_mutex_init(&lctx->lock) == ISC_R_SUCCESS);
/*
*lctxp = lctx;
if (lcfgp != NULL)
*lcfgp = lcfg;
-
+
} else
if (lctx != NULL)
isc_log_destroy(&lctx);
lcfg->dynamic = ISC_FALSE;
if (lcfg->tag != NULL)
- isc_mem_free(lcfg->lctx->mctx, lcfg->tag);
+ isc_mem_free(lcfg->lctx->mctx, lcfg->tag);
lcfg->tag = NULL;
lcfg->highest_level = 0;
lcfg->duplicate_interval = 0;
isc_mem_put(mctx, channel, sizeof(*channel));
return (ISC_R_UNEXPECTED);
}
-
+
ISC_LIST_PREPEND(lcfg->channels, channel, link);
/*
isc_result_t
isc_log_settag(isc_logconfig_t *lcfg, const char *tag) {
REQUIRE(VALID_CONFIG(lcfg));
-
+
if (tag != NULL && *tag != '\0') {
lcfg->tag = isc_mem_strdup(lcfg->lctx->mctx, tag);
if (lcfg->tag == NULL)
unsigned int bytes;
isc_log_t *lctx;
void *lists;
-
+
REQUIRE(VALID_CONFIG(lcfg));
lctx = lcfg->lctx;
* Since the highest number is one less than FILE_VERSIONS(channel)
* when not doing infinite log rolling, greatest will need to be
* decremented when it is equal to -- or greater than --
- * FILE_VERSIONS(channel). When greatest is less than
+ * FILE_VERSIONS(channel). When greatest is less than
* FILE_VERSIONS(channel), it is already suitable for use as
* the maximum version number.
*/
* messages that the debug level is not high enough to print.
*
* If the level is (mathematically) less than or equal to the
- * highest_level, or if there is a dynamic channel and the level is
+ * highest_level, or if there is a dynamic channel and the level is
* less than or equal to the debug level, the main loop must be
* entered to see if the message should really be output.
*
if (lctx == NULL)
return (ISC_FALSE);
-
+
return (ISC_TF(level <= lctx->logconfig->highest_level ||
(lctx->logconfig->dynamic &&
level <= lctx->debug_level)));
* default channel.
*/
category_channels = &default_channel;
-
+
if (category_channels->module != NULL &&
category_channels->module != module) {
category_channels = ISC_LIST_NEXT(category_channels,
*
* Setting the interval to be
* to be longer will obviously
- * not cause the expired
+ * not cause the expired
* message to spring back into
* existence.
*/
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: md5.c,v 1.7 2000/07/27 09:50:59 tale Exp $ */
+/* $Id: md5.c,v 1.8 2000/08/01 01:29:33 tale Exp $ */
/*
* This code implements the MD5 message-digest algorithm.
}
/*
- * Final wrapup - pad to 64-byte boundary with the bit pattern
+ * Final wrapup - pad to 64-byte boundary with the bit pattern
* 1 0* (64-bit count of bits processed, MSB-first)
*/
void
/*
* Copyright (C) 1997-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: mem.c,v 1.57 2000/07/27 23:31:20 explorer Exp $ */
+/* $Id: mem.c,v 1.58 2000/08/01 01:29:34 tale Exp $ */
#include <config.h>
* hit the quota for this context.
*/
/*
- * XXXRTH "At quota" notification here.
+ * XXXRTH "At quota" notification here.
*/
/*
* Maybe we can split one of our existing
goto done;
}
- /*
+ /*
* If there are no blocks in the free list for this size, get a chunk
* of memory and then break it up into "new_size"-sized blocks, adding
* them to the free list.
ret = ctx->freelists[new_size];
ctx->freelists[new_size] = ctx->freelists[new_size]->next;
- /*
+ /*
* The stats[] uses the _actual_ "size" requested by the
* caller, with the caveat (in the code above) that "size" >= the
* max. size (max_size) ends up getting recorded as a call to
((element *)mem)->next = ctx->freelists[new_size];
ctx->freelists[new_size] = (element *)mem;
- /*
+ /*
* The stats[] uses the _actual_ "size" requested by the
* caller, with the caveat (in the code above) that "size" >= the
* max. size (max_size) ends up getting recorded as a call to
memset(ctx->basic_table[i], 0x0,
NUM_BASIC_BLOCKS * ctx->mem_target);
#endif
-
+
for (i = 0; i < ctx->basic_table_count; i++)
(ctx->memfree)(ctx->arg, ctx->basic_table[i]);
isc_result_t
isc_mem_ondestroy(isc_mem_t *ctx, isc_task_t *task, isc_event_t **event) {
isc_result_t res;
-
+
LOCK(&ctx->lock);
res = isc_ondestroy_register(&ctx->ondestroy, task, event);
UNLOCK(&ctx->lock);
isc_mem_restore(isc_mem_t *ctx) {
isc_result_t result;
- result = isc_mutex_init(&ctx->lock);
+ result = isc_mutex_init(&ctx->lock);
if (result != ISC_R_SUCCESS)
ctx->magic = 0;
}
mem_putunlocked(ctx, ptr, i);
}
-
+
UNLOCK(&ctx->lock);
return (result);
if (ns != NULL)
strncpy(ns, s, len + 1);
-
+
return (ns);
}
* Remove our linked list entry from the memory context.
*/
ISC_LIST_UNLINK(mctx->pools, mpctx, link);
-
+
mpctx->magic = 0;
mem_putunlocked(mpctx->mctx, mpctx, sizeof(isc_mempool_t));
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: mutexblock.c,v 1.9 2000/07/27 09:51:01 tale Exp $ */
+/* $Id: mutexblock.c,v 1.10 2000/08/01 01:29:35 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: netaddr.c,v 1.11 2000/07/27 09:51:02 tale Exp $ */
+/* $Id: netaddr.c,v 1.12 2000/08/01 01:29:37 tale Exp $ */
#include <config.h>
unsigned int ipabytes; /* Length of whole IP address in bytes */
unsigned int nbytes; /* Number of significant whole bytes */
unsigned int nbits; /* Number of significant leftover bits */
-
+
REQUIRE(a != NULL && b != NULL);
if (a->family != b->family)
return (ISC_FALSE);
-
+
switch (a->family) {
case AF_INET:
pa = (const unsigned char *) &a->type.in;
if (alen > isc_buffer_availablelength(target))
return (ISC_R_NOSPACE);
-
+
isc_buffer_putmem(target, (unsigned char *)abuf, alen);
return (ISC_R_SUCCESS);
else
result = ISC_R_NOSPACE;
}
-
+
if (result != ISC_R_SUCCESS) {
snprintf(array, size,
"<unknown address, family %u>",
isc_netaddr_masktoprefixlen(const isc_netaddr_t *s, unsigned int *lenp) {
unsigned int nbits, nbytes, ipbytes, i;
const unsigned char *p;
-
+
switch (s->family) {
case AF_INET:
p = (const unsigned char *) &s->type.in;
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.9 2000/07/27 09:52:23 tale Exp $
+# $Id: Makefile.in,v 1.10 2000/08/01 01:30:57 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: msgcat.c,v 1.7 2000/07/27 09:52:24 tale Exp $ */
+/* $Id: msgcat.c,v 1.8 2000/08/01 01:30:58 tale Exp $ */
/*
* Principal Author: Bob Halley
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ondestroy.c,v 1.8 2000/07/27 09:51:03 tale Exp $ */
+/* $Id: ondestroy.c,v 1.9 2000/08/01 01:29:38 tale Exp $ */
#include <config.h>
isc_task_attach(task, &thetask);
theevent->ev_sender = thetask;
-
+
ISC_LIST_APPEND(ondest->events, theevent, ev_link);
return (ISC_R_SUCCESS);
isc_ondestroy_notify(isc_ondestroy_t *ondest, void *sender) {
isc_event_t *eventp;
isc_task_t *task;
-
+
REQUIRE(VALID_ONDESTROY(ondest));
eventp = ISC_LIST_HEAD(ondest->events);
task = eventp->ev_sender;
eventp->ev_sender = sender;
-
+
isc_task_sendanddetach(&task, &eventp);
eventp = ISC_LIST_HEAD(ondest->events);
}
}
-
+
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: print.c,v 1.12 2000/07/27 09:51:05 tale Exp $ */
+/* $Id: print.c,v 1.13 2000/08/01 01:29:39 tale Exp $ */
#include <config.h>
long double ldbl;
#endif
char fmt[32];
-
+
INSIST(str != NULL);
INSIST(format != NULL);
char *e;
width = strtoul(format, &e, 10);
format = e;
- }
+ }
/*
* Precision.
size--;
pad--;
}
- if (precision != 0)
+ if (precision != 0)
while (precision > 0 && *cp != '\0' &&
size > 1) {
*str++ = *cp++;
if (left) {
*str++ = c;
size--;
- }
+ }
while (width-- > 0 && size > 1) {
*str++ = ' ';
size--;
*
* precisions > 324 don't make much sence.
* if we cap the precision at 512 we will not
- * overflow buf.
+ * overflow buf.
*/
if (precision > 512)
precision = 512;
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.13 2000/07/27 09:52:25 tale Exp $
+# $Id: Makefile.in,v 1.14 2000/08/01 01:30:59 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: condition.c,v 1.23 2000/07/27 09:52:26 tale Exp $ */
+/* $Id: condition.c,v 1.24 2000/08/01 01:31:00 tale Exp $ */
#include <config.h>
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.9 2000/07/27 09:52:28 tale Exp $
+# $Id: Makefile.in,v 1.10 2000/08/01 01:31:03 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.10 2000/07/27 09:52:30 tale Exp $
+# $Id: Makefile.in,v 1.11 2000/08/01 01:31:04 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: condition.h,v 1.17 2000/07/27 09:52:31 tale Exp $ */
+/* $Id: condition.h,v 1.18 2000/08/01 01:31:05 tale Exp $ */
#ifndef ISC_CONDITION_H
#define ISC_CONDITION_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: mutex.h,v 1.15 2000/07/27 09:52:32 tale Exp $ */
+/* $Id: mutex.h,v 1.16 2000/08/01 01:31:06 tale Exp $ */
#ifndef ISC_MUTEX_H
#define ISC_MUTEX_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: once.h,v 1.6 2000/07/27 09:52:33 tale Exp $ */
+/* $Id: once.h,v 1.7 2000/08/01 01:31:07 tale Exp $ */
#ifndef ISC_ONCE_H
#define ISC_ONCE_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: thread.h,v 1.17 2000/07/27 09:52:34 tale Exp $ */
+/* $Id: thread.h,v 1.18 2000/08/01 01:31:08 tale Exp $ */
#ifndef ISC_THREAD_H
#define ISC_THREAD_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: thread.c,v 1.6 2000/07/27 09:52:27 tale Exp $ */
+/* $Id: thread.c,v 1.7 2000/08/01 01:31:01 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: quota.c,v 1.7 2000/07/27 09:51:06 tale Exp $ */
+/* $Id: quota.c,v 1.8 2000/08/01 01:29:40 tale Exp $ */
#include <config.h>
LOCK("a->lock);
INSIST(quota->used > 0);
quota->used--;
- UNLOCK("a->lock);
+ UNLOCK("a->lock);
}
isc_result_t
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: random.c,v 1.8 2000/07/27 09:51:07 tale Exp $ */
+/* $Id: random.c,v 1.9 2000/08/01 01:29:41 tale Exp $ */
#include <config.h>
REQUIRE(val != NULL);
UNUSED(r);
-
+
initialize();
#if 0
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ratelimiter.c,v 1.15 2000/07/27 09:51:08 tale Exp $ */
+/* $Id: ratelimiter.c,v 1.16 2000/08/01 01:29:42 tale Exp $ */
#include <config.h>
isc_result_t result;
isc_ratelimiter_t *rl;
INSIST(ratelimiterp != NULL && *ratelimiterp == NULL);
-
+
rl = isc_mem_get(mctx, sizeof(*rl));
if (rl == NULL)
return ISC_R_NOMEMORY;
* (soon) have events outstanding.
*/
rl->refs++;
-
+
ISC_EVENT_INIT(&rl->shutdownevent,
sizeof(isc_event_t),
0, NULL, ISC_RATELIMITEREVENT_SHUTDOWN,
pertic = 1;
rl->pertic = pertic;
}
-
+
isc_result_t
isc_ratelimiter_enqueue(isc_ratelimiter_t *rl, isc_task_t *task,
isc_event_t **eventp)
*/
ev = &rl->shutdownevent;
isc_task_send(rl->task, &ev);
-
+
UNLOCK(&rl->lock);
}
static void
ratelimiter_shutdowncomplete(isc_task_t *task, isc_event_t *event) {
isc_ratelimiter_t *rl = (isc_ratelimiter_t *)event->ev_arg;
-
+
UNUSED(task);
isc_ratelimiter_detach(&rl);
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: result.c,v 1.45 2000/07/27 09:51:09 tale Exp $ */
+/* $Id: result.c,v 1.46 2000/08/01 01:29:43 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rwlock.c,v 1.18 2000/07/30 17:57:48 bwelling Exp $ */
+/* $Id: rwlock.c,v 1.19 2000/08/01 01:29:44 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: serial.c,v 1.5 2000/07/27 09:51:11 tale Exp $ */
+/* $Id: serial.c,v 1.6 2000/08/01 01:29:45 tale Exp $ */
#include <config.h>
#include <isc/serial.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: sha1.c,v 1.8 2000/07/27 09:51:12 tale Exp $ */
+/* $Id: sha1.c,v 1.9 2000/08/01 01:29:47 tale Exp $ */
/* $NetBSD: sha1.c,v 1.5 2000/01/22 22:19:14 mycroft Exp $ */
/* $OpenBSD: sha1.c,v 1.9 1997/07/23 21:12:32 kstailey Exp $ */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: sockaddr.c,v 1.43 2000/07/27 09:51:13 tale Exp $ */
+/* $Id: sockaddr.c,v 1.44 2000/08/01 01:29:48 tale Exp $ */
#include <config.h>
/*
* Do the port first, giving us the opportunity to check for
- * unsupported address families before calling
+ * unsupported address families before calling
* isc_netaddr_fromsockaddr().
*/
switch (sockaddr->type.sa.sa_family) {
default:
return (ISC_R_FAILURE);
}
-
+
plen = strlen(pbuf);
INSIST(plen < sizeof(pbuf));
-
+
isc_netaddr_fromsockaddr(&netaddr, sockaddr);
result = isc_netaddr_totext(&netaddr, target);
if (result != ISC_R_SUCCESS)
return (result);
-
+
if (1 + plen + 1 > isc_buffer_availablelength(target))
return (ISC_R_NOSPACE);
-
+
isc_buffer_putmem(target, (const unsigned char *)"#", 1);
isc_buffer_putmem(target, (const unsigned char *)pbuf, plen);
const unsigned char *s;
unsigned int h = 0;
unsigned int g;
-
+
/*
* Provide a hash value for 'sockaddr'.
*/
sockaddr->type.sin.sin_port = htons(port);
break;
case AF_INET6:
- sockaddr->length = sizeof sockaddr->type.sin6;
+ sockaddr->length = sizeof sockaddr->type.sin6;
#ifdef ISC_PLATFORM_HAVESALEN
sockaddr->type.sin6.sin6_len = sizeof sockaddr->type.sin6;
#endif
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: string.c,v 1.4 2000/07/27 09:51:15 tale Exp $ */
+/* $Id: string.c,v 1.5 2000/08/01 01:29:49 tale Exp $ */
#include <config.h>
char *s = source;
char *o;
char c;
-
+
if ((base < 0) || (base == 1) || (base > 36)) {
*end = source;
return (0);
overflow = ~0;
overflow /= base;
tmp = 0;
-
+
while ((c = *s) != 0) {
c = tolower(c);
/* end ? */
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: symtab.c,v 1.19 2000/07/27 09:51:16 tale Exp $ */
+/* $Id: symtab.c,v 1.20 2000/08/01 01:29:50 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: task.c,v 1.68 2000/07/27 22:24:54 bwelling Exp $ */
+/* $Id: task.c,v 1.69 2000/08/01 01:29:51 tale Exp $ */
/*
* Principal Author: Bob Halley
task_shutdown(isc_task_t *task) {
isc_boolean_t was_idle = ISC_FALSE;
isc_event_t *event, *prev;
-
+
/*
* Caller must be holding the task's lock.
*/
task_send(isc_task_t *task, isc_event_t **eventp) {
isc_boolean_t was_idle = ISC_FALSE;
isc_event_t *event;
-
+
/*
* Caller must be holding the task lock.
*/
*eventp = NULL;
return (was_idle);
-}
+}
void
isc_task_send(isc_task_t *task, isc_event_t **eventp) {
/*
* Again we're trying to hold the lock for as short a time as possible
* and to do as little locking and unlocking as possible.
- *
+ *
* In both while loops, the appropriate lock must be held before the
* while body starts. Code which acquired the lock at the top of
* the loop would be more readable, but would result in a lot of
* unlocks. Also note that the lock is not held when the while
* condition is tested, which may or may not be important, depending
* on the expression.
- *
+ *
* As written:
*
* LOCK();
XTHREADTRACE("awake");
}
XTHREADTRACE("working");
-
+
task = HEAD(manager->ready_tasks);
if (task != NULL) {
unsigned int dispatch_count = 0;
/*
* Note we only unlock the manager lock if we actually
- * have a task to do. We must reacquire the manager
+ * have a task to do. We must reacquire the manager
* lock before exiting the 'if (task != NULL)' block.
*/
DEQUEUE(manager->ready_tasks, task, ready_link);
EMPTY(task->events) &&
!TASK_SHUTTINGDOWN(task)) {
isc_boolean_t was_idle;
-
+
/*
* There are no references and no
* pending events for this task,
}
isc_result_t
-isc_taskmgr_create(isc_mem_t *mctx, unsigned int workers,
+isc_taskmgr_create(isc_mem_t *mctx, unsigned int workers,
unsigned int default_quantum, isc_taskmgr_t **managerp)
{
unsigned int i, started = 0;
*/
for (i = 0; i < workers; i++) {
if (isc_thread_create(run, manager,
- &manager->threads[manager->workers]) ==
+ &manager->threads[manager->workers]) ==
ISC_R_SUCCESS) {
manager->workers++;
started++;
if (started == 0) {
manager_free(manager);
return (ISC_R_NOTHREADS);
- }
+ }
*managerp = manager;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: taskpool.c,v 1.8 2000/07/27 09:51:18 tale Exp $ */
+/* $Id: taskpool.c,v 1.9 2000/08/01 01:29:52 tale Exp $ */
#include <config.h>
***/
struct isc_taskpool {
- isc_mem_t * mctx;
+ isc_mem_t * mctx;
unsigned int ntasks;
isc_task_t ** tasks;
};
unsigned int i;
isc_taskpool_t *pool;
isc_result_t result;
-
+
INSIST(ntasks > 0);
pool = isc_mem_get(mctx, sizeof *pool);
if (pool == NULL)
pool->mctx = mctx;
pool->ntasks = ntasks;
pool->tasks = isc_mem_get(mctx, ntasks * sizeof(isc_task_t *));
- for (i = 0; i < ntasks; i++)
+ for (i = 0; i < ntasks; i++)
pool->tasks[i] = NULL;
for (i = 0; i < ntasks; i++) {
result = isc_task_create(tmgr, quantum, &pool->tasks[i]);
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: timer.c,v 1.53 2000/07/27 09:51:19 tale Exp $ */
+/* $Id: timer.c,v 1.54 2000/08/01 01:29:53 tale Exp $ */
#include <config.h>
isc_time_t due;
int cmp;
- /*
+ /*
* Note: the caller must ensure locking.
*/
else
due = timer->expires;
}
-
+
/*
* Schedule the timer.
*/
isc_boolean_t need_wakeup = ISC_FALSE;
isc_timermgr_t *manager;
- /*
+ /*
* The caller must ensure locking.
*/
result = ISC_R_SUCCESS;
if (result == ISC_R_SUCCESS)
APPEND(manager->timers, timer, link);
-
+
UNLOCK(&manager->lock);
if (result != ISC_R_SUCCESS) {
LOCK(&timer->lock);
timer->references++;
UNLOCK(&timer->lock);
-
+
*timerp = timer;
}
-void
+void
isc_timer_detach(isc_timer_t **timerp) {
isc_timer_t *timer;
isc_boolean_t free_timer = ISC_FALSE;
if (timer->references == 0)
free_timer = ISC_TRUE;
UNLOCK(&timer->lock);
-
+
if (free_timer)
destroy(timer);
UNEXPECTED_ERROR(__FILE__, __LINE__,
"couldn't allocate event");
}
-
+
timer->index = 0;
isc_heap_delete(manager->heap, 1);
manager->nscheduled--;
manager->due = timer->due;
done = ISC_TRUE;
}
- }
+ }
}
static isc_threadresult_t
manager = isc_mem_get(mctx, sizeof *manager);
if (manager == NULL)
return (ISC_R_NOMEMORY);
-
+
manager->magic = TIMER_MANAGER_MAGIC;
manager->mctx = NULL;
manager->done = ISC_FALSE;
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.30 2000/07/27 09:52:35 tale Exp $
+# $Id: Makefile.in,v 1.31 2000/08/01 01:31:10 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: app.c,v 1.22 2000/07/27 09:52:36 tale Exp $ */
+/* $Id: app.c,v 1.23 2000/08/01 01:31:11 tale Exp $ */
#include <config.h>
strerror(errno));
return (ISC_R_UNEXPECTED);
}
-
+
return (ISC_R_SUCCESS);
}
presult = pthread_init();
if (presult != 0) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
- "isc_app_start() pthread_init: %s",
+ "isc_app_start() pthread_init: %s",
strerror(presult));
return (ISC_R_UNEXPECTED);
}
sigaddset(&sset, SIGINT) != 0 ||
sigaddset(&sset, SIGTERM) != 0) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
- "isc_app_start() sigsetops: %s",
+ "isc_app_start() sigsetops: %s",
strerror(errno));
return (ISC_R_UNEXPECTED);
}
presult = pthread_sigmask(SIG_BLOCK, &sset, NULL);
if (presult != 0) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
- "isc_app_start() pthread_sigmask: %s",
+ "isc_app_start() pthread_sigmask: %s",
strerror(presult));
return (ISC_R_UNEXPECTED);
}
result = ISC_R_NOMEMORY;
goto unlock;
}
-
+
ISC_LIST_APPEND(on_run, event, ev_link);
result = ISC_R_SUCCESS;
}
}
-
+
UNLOCK(&lock);
#ifndef HAVE_SIGWAIT
sigaddset(&sset, SIGINT) != 0 ||
sigaddset(&sset, SIGTERM) != 0) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
- "isc_app_run() sigsetops: %s",
+ "isc_app_run() sigsetops: %s",
strerror(errno));
return (ISC_R_UNEXPECTED);
}
*/
if (sigemptyset(&sset) != 0) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
- "isc_app_run() sigsetops: %s",
+ "isc_app_run() sigsetops: %s",
strerror(errno));
return (ISC_R_UNEXPECTED);
}
*/
LOCK(&lock);
-
+
REQUIRE(running);
if (shutdown_requested)
if (want_kill) {
#ifdef HAVE_LINUXTHREADS
int result;
-
+
result = pthread_kill(main_thread, SIGTERM);
if (result != 0) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
*/
LOCK(&lock);
-
+
REQUIRE(running);
/*
if (want_kill) {
#ifdef HAVE_LINUXTHREADS
int result;
-
+
result = pthread_kill(main_thread, SIGHUP);
if (result != 0) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dir.c,v 1.12 2000/07/27 09:52:38 tale Exp $ */
+/* $Id: dir.c,v 1.13 2000/08/01 01:31:12 tale Exp $ */
/* Principal Authors: DCL */
}
/*
- * Allocate workspace and open directory stream. If either one fails,
+ * Allocate workspace and open directory stream. If either one fails,
* NULL will be returned.
*/
isc_result_t
return (ISC_R_NOMORE);
/*
- * Make sure that the space for the name is long enough.
+ * Make sure that the space for the name is long enough.
*/
if (sizeof(dir->entry.name) <= strlen(entry->d_name))
return (ISC_R_UNEXPECTED);
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: entropy.c,v 1.46 2000/07/27 09:52:39 tale Exp $ */
+/* $Id: entropy.c,v 1.47 2000/08/01 01:31:13 tale Exp $ */
#include <config.h>
isc_sha1_update(&hash, (void *)(ent->pool.pool),
RND_POOLWORDS * 4);
isc_sha1_final(&hash, digest);
-
+
/*
* Stir the extracted data (all of it) back into the pool.
*/
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: errno2result.c,v 1.3 2000/07/27 09:52:40 tale Exp $ */
+/* $Id: errno2result.c,v 1.4 2000/08/01 01:31:14 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: errno2result.h,v 1.4 2000/07/27 09:52:41 tale Exp $ */
+/* $Id: errno2result.h,v 1.5 2000/08/01 01:31:15 tale Exp $ */
#ifndef UNIX_ERRNO2RESULT_H
#define UNIX_ERRNO2RESULT_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: file.c,v 1.19 2000/07/27 09:52:42 tale Exp $ */
+/* $Id: file.c,v 1.20 2000/08/01 01:31:16 tale Exp $ */
#include <config.h>
static isc_result_t
file_stats(const char *file, struct stat *stats) {
isc_result_t result = ISC_R_SUCCESS;
-
+
if (stat(file, stats) != 0)
result = isc__errno2result(errno);
-
+
return (result);
}
if (s != NULL) {
if ((s - path + 1 + sizeof(TEMPLATE)) > buflen)
return (ISC_R_NOSPACE);
-
+
strncpy(buf, path, s - path + 1);
buf[s - path + 1] = '\0';
strcat(buf, TEMPLATE);
} else {
if (sizeof(TEMPLATE) > buflen)
return (ISC_R_NOSPACE);
-
+
strcpy(buf, TEMPLATE);
}
-
+
return (ISC_R_SUCCESS);
}
-
+
isc_result_t
isc_file_openunique(char *templet, FILE **fp) {
int fd;
isc_result_t
isc_file_remove(const char *filename) {
int r;
-
+
r = unlink(filename);
if (r == 0)
return (ISC_R_SUCCESS);
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: fsaccess.c,v 1.4 2000/07/27 09:52:43 tale Exp $ */
+/* $Id: fsaccess.c,v 1.5 2000/08/01 01:31:18 tale Exp $ */
#include <sys/types.h>
#include <sys/stat.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ifiter_ioctl.c,v 1.12 2000/07/27 09:52:44 tale Exp $ */
+/* $Id: ifiter_ioctl.c,v 1.13 2000/08/01 01:31:19 tale Exp $ */
/*
* Obtain the list of network interfaces using the SIOCGLIFCONF ioctl.
* See netintro(4).
- */
+ */
#ifndef SIOCGLIFCONF
#define SIOCGLIFCONF SIOCGIFCONF
#define lifc_len ifc_len
#endif
-#define IFITER_MAGIC 0x49464954U /* IFIT. */
+#define IFITER_MAGIC 0x49464954U /* IFIT. */
#define VALID_IFITER(t) ((t) != NULL && (t)->magic == IFITER_MAGIC)
struct isc_interfaceiter {
REQUIRE(mctx != NULL);
REQUIRE(iterp != NULL);
REQUIRE(*iterp == NULL);
-
+
iter = isc_mem_get(mctx, sizeof(*iter));
if (iter == NULL)
return (ISC_R_NOMEMORY);
result = ISC_R_UNEXPECTED;
goto socket_failure;
}
-
+
/*
* Get the interface configuration, allocating more memory if
* necessary.
result = ISC_R_NOMEMORY;
goto alloc_failure;
}
-
+
memset(&iter->ifc.lifc_len, 0, sizeof(iter->ifc.lifc_len));
#ifdef ISC_HAVE_LIFC_FAMILY
iter->ifc.lifc_family = AF_UNSPEC;
* retry.
*/
if (iter->ifc.lifc_len + 2 * sizeof(struct lifreq)
- < iter->bufsize)
+ < iter->bufsize)
break;
}
if (iter->bufsize >= IFCONF_BUFSIZE_MAX) {
- UNEXPECTED_ERROR(__FILE__, __LINE__,
+ UNEXPECTED_ERROR(__FILE__, __LINE__,
"get interface configuration: "
"maximum buffer size exceeded");
result = ISC_R_UNEXPECTED;
goto ioctl_failure;
}
isc_mem_put(mctx, iter->buf, iter->bufsize);
-
+
iter->bufsize *= 2;
}
*/
iter->pos = (unsigned int) -1;
iter->result = ISC_R_FAILURE;
-
+
iter->magic = IFITER_MAGIC;
*iterp = iter;
return (ISC_R_SUCCESS);
alloc_failure:
(void) close(iter->socket);
-
+
socket_failure:
isc_mem_put(mctx, iter, sizeof *iter);
return (result);
struct lifreq *ifrp;
struct lifreq lifreq;
int family;
-
+
REQUIRE(VALID_IFITER(iter));
REQUIRE (iter->pos < (unsigned int) iter->ifc.lifc_len);
-
+
ifrp = (struct lifreq *)((char *) iter->ifc.lifc_req + iter->pos);
-
+
memset(&lifreq, 0, sizeof lifreq);
memcpy(&lifreq, ifrp, sizeof lifreq);
family = lifreq.lifr_addr.ss_family;
if (family != AF_INET)
- return (ISC_R_IGNORE);
-
+ return (ISC_R_IGNORE);
+
memset(&iter->current, 0, sizeof(iter->current));
iter->current.af = family;
-
+
INSIST(sizeof(lifreq.lifr_name) <= sizeof(iter->current.name));
memcpy(iter->current.name, lifreq.lifr_name, sizeof(lifreq.lifr_name));
-
+
get_addr(family, &iter->current.address,
(struct sockaddr *)&lifreq.lifr_addr);
*/
iter->current.flags = 0;
-
+
/*
* Ignore the HP/UX warning about "interger overflow during
* conversion. It comes from its own macro definition,
* and is really hard to shut up.
*/
if (ioctl(iter->socket, SIOCGLIFFLAGS, (char *) &lifreq) < 0) {
- UNEXPECTED_ERROR(__FILE__, __LINE__,
+ UNEXPECTED_ERROR(__FILE__, __LINE__,
"%s: getting interface flags: %s",
lifreq.lifr_name,
strerror(errno));
return (ISC_R_IGNORE);
}
-
+
if ((lifreq.lifr_flags & IFF_UP) != 0)
iter->current.flags |= INTERFACE_F_UP;
*/
if (ioctl(iter->socket, SIOCGLIFDSTADDR, (char *)&lifreq)
< 0) {
- UNEXPECTED_ERROR(__FILE__, __LINE__,
+ UNEXPECTED_ERROR(__FILE__, __LINE__,
"%s: getting destination address: %s",
lifreq.lifr_name,
strerror(errno));
/*
* Get the network mask.
- */
+ */
memset(&lifreq, 0, sizeof lifreq);
memcpy(&lifreq, ifrp, sizeof lifreq);
switch (family) {
return (ISC_R_IGNORE);
}
get_addr(family, &iter->current.netmask,
- (struct sockaddr *)&lifreq.lifr_addr);
+ (struct sockaddr *)&lifreq.lifr_addr);
break;
case AF_INET6: {
#ifdef lifr_addrlen
break;
}
}
-
+
return (ISC_R_SUCCESS);
}
/*
- * Step the iterator to the next interface. Unlike
+ * Step the iterator to the next interface. Unlike
* isc_interfaceiter_next(), this may leave the iterator
* positioned on an interface that will ultimately
* be ignored. Return ISC_R_NOMORE if there are no more
struct lifreq *ifrp;
REQUIRE (iter->pos < (unsigned int) iter->ifc.lifc_len);
-
+
ifrp = (struct lifreq *)((char *) iter->ifc.lifc_req + iter->pos);
-
+
#ifdef ISC_PLATFORM_HAVESALEN
if (ifrp->lifr_addr.sa_len > sizeof(struct sockaddr))
iter->pos += sizeof(ifrp->lifr_name) + ifrp->lifr_addr.sa_len;
if (iter->pos >= (unsigned int) iter->ifc.lifc_len)
return (ISC_R_NOMORE);
-
+
return (ISC_R_SUCCESS);
}
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ifiter_sysctl.c,v 1.9 2000/07/27 09:52:45 tale Exp $ */
+/* $Id: ifiter_sysctl.c,v 1.10 2000/08/01 01:31:20 tale Exp $ */
/*
* Obtain the list of network interfaces using sysctl.
* See TCP/IP Illustrated Volume 2, sections 19.8, 19.14,
* and 19.16.
- */
+ */
#include <sys/param.h>
#include <sys/sysctl.h>
: sizeof(long))
#endif
-#define IFITER_MAGIC 0x49464953U /* IFIS. */
+#define IFITER_MAGIC 0x49464953U /* IFIS. */
#define VALID_IFITER(t) ((t) != NULL && (t)->magic == IFITER_MAGIC)
struct isc_interfaceiter {
static int mib[6] = {
CTL_NET,
- PF_ROUTE,
- 0,
+ PF_ROUTE,
+ 0,
0, /* Any address family. */
- NET_RT_IFLIST,
+ NET_RT_IFLIST,
0 /* Flags. */
};
-
+
isc_result_t
isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) {
isc_interfaceiter_t *iter;
isc_result_t result;
size_t bufsize;
- size_t bufused;
+ size_t bufused;
REQUIRE(mctx != NULL);
REQUIRE(iterp != NULL);
REQUIRE(*iterp == NULL);
-
+
iter = isc_mem_get(mctx, sizeof(*iter));
if (iter == NULL)
return (ISC_R_NOMEMORY);
*/
bufsize = 0;
if (sysctl(mib, 6, NULL, &bufsize, NULL, (size_t) 0) < 0) {
- UNEXPECTED_ERROR(__FILE__, __LINE__,
+ UNEXPECTED_ERROR(__FILE__, __LINE__,
"getting interface list size: sysctl: %s",
strerror(errno));
result = ISC_R_UNEXPECTED;
bufused = bufsize;
if (sysctl(mib, 6, iter->buf, &bufused, NULL, (size_t) 0) < 0) {
- UNEXPECTED_ERROR(__FILE__, __LINE__,
+ UNEXPECTED_ERROR(__FILE__, __LINE__,
"getting interface list: sysctl: %s",
strerror(errno));
result = ISC_R_UNEXPECTED;
*/
iter->pos = (unsigned int) -1;
iter->result = ISC_R_FAILURE;
-
+
iter->magic = IFITER_MAGIC;
*iterp = iter;
return (ISC_R_SUCCESS);
static isc_result_t
internal_current(isc_interfaceiter_t *iter) {
struct ifa_msghdr *ifam, *ifam_end;
-
+
REQUIRE(VALID_IFITER(iter));
REQUIRE (iter->pos < (unsigned int) iter->bufused);
ifam = (struct ifa_msghdr *) ((char *) iter->buf + iter->pos);
ifam_end = (struct ifa_msghdr *) ((char *) iter->buf + iter->bufused);
-
+
if (ifam->ifam_type == RTM_IFINFO) {
struct if_msghdr *ifm = (struct if_msghdr *) ifam;
struct sockaddr_dl *sdl = (struct sockaddr_dl *) (ifm + 1);
unsigned int namelen;
memset(&iter->current, 0, sizeof(iter->current));
-
+
namelen = sdl->sdl_nlen;
if (namelen > sizeof(iter->current.name) - 1)
namelen = sizeof(iter->current.name) - 1;
-
+
memcpy(iter->current.name, sdl->sdl_data, namelen);
iter->current.flags = 0;
if ((ifam->ifam_flags & IFF_UP) != 0)
iter->current.flags |= INTERFACE_F_UP;
-
+
if ((ifam->ifam_flags & IFF_POINTOPOINT) != 0)
iter->current.flags |= INTERFACE_F_POINTTOPOINT;
-
+
if ((ifam->ifam_flags & IFF_LOOPBACK) != 0)
iter->current.flags |= INTERFACE_F_LOOPBACK;
continue;
INSIST(sa < (struct sockaddr *) ifam_end);
-
+
switch (i) {
case RTAX_NETMASK: /* Netmask */
mask_sa = sa;
if (addr_sa == NULL)
return (ISC_R_IGNORE);
-
+
family = addr_sa->sa_family;
if (family != AF_INET) /* XXX IP6 */
return (ISC_R_IGNORE);
iter->current.af = family;
-
+
get_addr(family, &iter->current.address, addr_sa);
if (mask_sa != NULL)
get_addr(family, &iter->current.netmask, mask_sa);
-
+
if (dst_sa != NULL &&
(iter->current.flags & IFF_POINTOPOINT) != 0)
get_addr(family, &iter->current.dstaddress, dst_sa);
}
/*
- * Step the iterator to the next interface. Unlike
+ * Step the iterator to the next interface. Unlike
* isc_interfaceiter_next(), this may leave the iterator
* positioned on an interface that will ultimately
* be ignored. Return ISC_R_NOMORE if there are no more
internal_next(isc_interfaceiter_t *iter) {
struct ifa_msghdr *ifam;
REQUIRE (iter->pos < (unsigned int) iter->bufused);
-
+
ifam = (struct ifa_msghdr *) ((char *) iter->buf + iter->pos);
iter->pos += ifam->ifam_msglen;
if (iter->pos >= iter->bufused)
return (ISC_R_NOMORE);
-
+
return (ISC_R_SUCCESS);
}
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.9 2000/07/27 09:52:57 tale Exp $
+# $Id: Makefile.in,v 1.10 2000/08/01 01:31:31 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.22 2000/07/27 09:52:58 tale Exp $
+# $Id: Makefile.in,v 1.23 2000/08/01 01:31:32 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: app.h,v 1.7 2000/07/27 09:52:59 tale Exp $ */
+/* $Id: app.h,v 1.8 2000/08/01 01:31:34 tale Exp $ */
#ifndef ISC_APP_H
#define ISC_APP_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dir.h,v 1.10 2000/07/27 09:53:00 tale Exp $ */
+/* $Id: dir.h,v 1.11 2000/08/01 01:31:35 tale Exp $ */
/* Principal Authors: DCL */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: int.h,v 1.7 2000/07/27 09:53:01 tale Exp $ */
+/* $Id: int.h,v 1.8 2000/08/01 01:31:36 tale Exp $ */
#ifndef ISC_INT_H
#define ISC_INT_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: keyboard.h,v 1.4 2000/07/31 20:36:08 bwelling Exp $ */
+/* $Id: keyboard.h,v 1.5 2000/08/01 01:31:37 tale Exp $ */
#ifndef ISC_KEYBOARD_H
#define ISC_KEYBOARD_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: net.h,v 1.22 2000/07/27 09:53:04 tale Exp $ */
+/* $Id: net.h,v 1.23 2000/08/01 01:31:38 tale Exp $ */
#ifndef ISC_NET_H
#define ISC_NET_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: netdb.h,v 1.4 2000/07/27 09:53:05 tale Exp $ */
+/* $Id: netdb.h,v 1.5 2000/08/01 01:31:39 tale Exp $ */
#ifndef ISC_NETDB_H
#define ISC_NETDB_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: offset.h,v 1.8 2000/07/27 09:53:06 tale Exp $ */
+/* $Id: offset.h,v 1.9 2000/08/01 01:31:40 tale Exp $ */
#ifndef ISC_OFFSET_H
#define ISC_OFFSET_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: stdtime.h,v 1.6 2000/07/27 09:53:07 tale Exp $ */
+/* $Id: stdtime.h,v 1.7 2000/08/01 01:31:41 tale Exp $ */
#ifndef ISC_STDTIME_H
#define ISC_STDTIME_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: time.h,v 1.23 2000/07/27 09:53:08 tale Exp $ */
+/* $Id: time.h,v 1.24 2000/08/01 01:31:42 tale Exp $ */
#ifndef ISC_TIME_H
#define ISC_TIME_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: interfaceiter.c,v 1.18 2000/07/27 09:52:46 tale Exp $ */
+/* $Id: interfaceiter.c,v 1.19 2000/08/01 01:31:21 tale Exp $ */
#include <config.h>
/*
* Extract the network address part from a "struct sockaddr".
- *
+ *
* The address family is given explicity
* instead of using src->sa_family, because the latter does not work
* for copying a network mask obtained by SIOCGIFNETMASK (it does
* not have a valid address family).
*/
-static void
+static void
get_addr(unsigned int family, isc_netaddr_t *dst, struct sockaddr *src) {
dst->family = family;
switch (family) {
isc_interfaceiter_first(isc_interfaceiter_t *iter) {
isc_result_t result;
- REQUIRE(VALID_IFITER(iter));
+ REQUIRE(VALID_IFITER(iter));
iter->pos = 0;
for (;;) {
result = internal_current(iter);
- if (result != ISC_R_IGNORE)
+ if (result != ISC_R_IGNORE)
break;
result = internal_next(iter);
if (result != ISC_R_SUCCESS)
isc_result_t
isc_interfaceiter_next(isc_interfaceiter_t *iter) {
isc_result_t result;
-
+
REQUIRE(VALID_IFITER(iter));
REQUIRE(iter->result == ISC_R_SUCCESS);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ipv6.c,v 1.5 2000/07/27 09:52:47 tale Exp $ */
+/* $Id: ipv6.c,v 1.6 2000/08/01 01:31:22 tale Exp $ */
#include <isc/ipv6.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: keyboard.c,v 1.6 2000/07/31 20:36:07 bwelling Exp $ */
+/* $Id: keyboard.c,v 1.7 2000/08/01 01:31:23 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: net.c,v 1.11 2000/07/27 09:52:50 tale Exp $ */
+/* $Id: net.c,v 1.12 2000/08/01 01:31:24 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: os.c,v 1.4 2000/07/27 09:52:51 tale Exp $ */
+/* $Id: os.c,v 1.5 2000/08/01 01:31:25 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: socket.c,v 1.152 2000/07/27 09:52:52 tale Exp $ */
+/* $Id: socket.c,v 1.153 2000/08/01 01:31:27 tale Exp $ */
#include <config.h>
LOCK(&sock->lock);
sock->references++;
UNLOCK(&sock->lock);
-
+
*socketp = sock;
}
* Dereference a socket. If this is the last reference to it, clean things
* up by destroying the socket.
*/
-void
+void
isc_socket_detach(isc_socket_t **socketp) {
isc_socket_t *sock;
isc_boolean_t kill_socket = ISC_FALSE;
if (sock->references == 0)
kill_socket = ISC_TRUE;
UNLOCK(&sock->lock);
-
+
if (kill_socket)
destroy(&sock);
}
}
#endif
-
+
UNLOCK(&manager->lock);
cc = select(maxfd, &readfds, &writefds, NULL, NULL);
manager->fdstate[i] = CLOSED;
FD_CLR(i, &manager->read_fds);
FD_CLR(i, &manager->write_fds);
-
+
close(i);
-
+
continue;
}
manager = isc_mem_get(mctx, sizeof *manager);
if (manager == NULL)
return (ISC_R_NOMEMORY);
-
+
manager->magic = SOCKET_MANAGER_MAGIC;
manager->mctx = NULL;
memset(manager->fds, 0, sizeof(manager->fds));
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: stdio.c,v 1.3 2000/07/27 09:52:53 tale Exp $ */
+/* $Id: stdio.c,v 1.4 2000/08/01 01:31:28 tale Exp $ */
#include <config.h>
isc_result_t
isc_stdio_open(const char *filename, const char *mode, FILE **fp) {
FILE *f;
-
+
f = fopen(filename, mode);
if (f == NULL)
return (isc__errno2result(errno));
isc_stdio_read(void *ptr, size_t size, size_t nmemb, FILE *f, size_t *nret) {
isc_result_t result = ISC_R_SUCCESS;
size_t r;
-
+
clearerr(f);
r = fread(ptr, size, nmemb, f);
if (r != nmemb) {
{
isc_result_t result = ISC_R_SUCCESS;
size_t r;
-
+
clearerr(f);
r = fwrite(ptr, size, nmemb, f);
if (r != nmemb)
isc_result_t
isc_stdio_flush(FILE *f) {
int r;
-
+
r = fflush(f);
if (r == 0)
return (ISC_R_SUCCESS);
isc_result_t
isc_stdio_sync(FILE *f) {
int r;
-
+
r = fsync(fileno(f));
if (r == 0)
return (ISC_R_SUCCESS);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: stdtime.c,v 1.8 2000/07/27 09:52:55 tale Exp $ */
+/* $Id: stdtime.c,v 1.9 2000/08/01 01:31:29 tale Exp $ */
#include <config.h>
* Set 't' to the number of seconds since 00:00:00 UTC, January 1,
* 1970.
*/
-
+
REQUIRE(t != NULL);
-
+
RUNTIME_CHECK(gettimeofday(&tv, NULL) != -1);
INSIST(tv.tv_usec >= 0 && tv.tv_usec < 1000000);
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: time.c,v 1.27 2000/07/27 09:52:56 tale Exp $ */
+/* $Id: time.c,v 1.28 2000/08/01 01:31:30 tale Exp $ */
#include <config.h>
#define US_PER_S 1000000 /* Microseconds per second. */
/*
- * All of the INSIST()s checks of nanoseconds < NS_PER_S are for
+ * All of the INSIST()s checks of nanoseconds < NS_PER_S are for
* consistency checking of the type. In lieu of magic numbers, it
* is the best we've got. The check is only performed on functions which
* need an initialized type.
/*
* Set *t to the current absolute time.
*/
-
+
REQUIRE(t != NULL);
-
+
if (gettimeofday(&tv, NULL) == -1) {
UNEXPECTED_ERROR(__FILE__, __LINE__, strerror(errno));
return (ISC_R_UNEXPECTED);
return (ISC_R_UNEXPECTED);
/*
- * Ensure the tv_sec value fits in t->seconds.
+ * Ensure the tv_sec value fits in t->seconds.
*/
if (sizeof(tv.tv_sec) > sizeof(t->seconds) &&
((tv.tv_sec | (unsigned int)-1) ^ (unsigned int)-1) != 0)
/*
* Set *t to the current absolute time + i.
*/
-
+
REQUIRE(t != NULL);
REQUIRE(i != NULL);
INSIST(i->nanoseconds < NS_PER_S);
* about "signed versus unsigned" while trying to determine if the
* the unsigned int t->seconds is out range for tv_sec, which is
* pretty much only true if time_t is a signed integer of the same
- * size as the return value of isc_time_seconds.
+ * size as the return value of isc_time_seconds.
*
* The use of the 64 bit integer ``i'' takes advantage of C's
* conversion rules to either zero fill or sign extend the widened
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: version.c,v 1.7 2000/07/27 09:51:20 tale Exp $ */
+/* $Id: version.c,v 1.8 2000/08/01 01:29:54 tale Exp $ */
char isc_version[] = VERSION;
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.6 2000/07/27 09:53:09 tale Exp $
+# $Id: Makefile.in,v 1.7 2000/08/01 01:31:44 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: condition.c,v 1.13 2000/07/27 09:53:10 tale Exp $ */
+/* $Id: condition.c,v 1.14 2000/08/01 01:31:45 tale Exp $ */
#include <config.h>
isc_result_t
isc_condition_init(isc_condition_t *cond) {
HANDLE h;
-
+
REQUIRE(cond != NULL);
cond->waiters = 0;
isc_result_t
isc_condition_signal(isc_condition_t *cond) {
-
+
/*
* Unlike pthreads, the caller MUST hold the lock associated with
* the condition variable when calling us.
isc_result_t
isc_condition_broadcast(isc_condition_t *cond) {
-
+
/*
* Unlike pthreads, the caller MUST hold the lock associated with
* the condition variable when calling us.
isc_result_t
isc_condition_destroy(isc_condition_t *cond) {
-
+
REQUIRE(cond != NULL);
(void)CloseHandle(cond->events[SIGNAL]);
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dir.c,v 1.5 2000/07/27 09:53:12 tale Exp $ */
+/* $Id: dir.c,v 1.6 2000/08/01 01:31:46 tale Exp $ */
/* Principal Authors: DCL */
}
/*
- * Allocate workspace and open directory stream. If either one fails,
+ * Allocate workspace and open directory stream. If either one fails,
* NULL will be returned.
*/
isc_result_t
}
/*
- * Make sure that the space for the name is long enough.
+ * Make sure that the space for the name is long enough.
*/
strcpy(dir->entry.name, dir->entry.find_data.cFileName);
dir->entry.length = strlen(dir->entry.name);
*/
static isc_result_t
start_directory(isc_dir_t *dir)
-{
+{
REQUIRE(VALID_DIR(dir));
REQUIRE(dir->search_handle == INVALID_HANDLE_VALUE);
}
/*
- * Make sure that the space for the name is long enough.
+ * Make sure that the space for the name is long enough.
*/
INSIST(sizeof(dir->entry.name) >
strlen(dir->entry.find_data.cFileName));
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: file.c,v 1.4 2000/07/27 09:53:13 tale Exp $ */
+/* $Id: file.c,v 1.5 2000/08/01 01:31:47 tale Exp $ */
#include <string.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: fsaccess.c,v 1.4 2000/07/27 09:53:14 tale Exp $ */
+/* $Id: fsaccess.c,v 1.5 2000/08/01 01:31:48 tale Exp $ */
#include <windows.h>
#include <winerror.h>
result = check_bad_bits(access, is_dir);
if (result != ISC_R_SUCCESS)
return (result);
-
+
winerror = GetNamedSecurityInfo(path, SE_FILE_OBJECT,
OWNER_SECURITY_INFORMATION |
GROUP_SECURITY_INFORMATION,
/*
* Setting world.
*/
- SID_IDENTIFIER_AUTHORITY authworld =
+ SID_IDENTIFIER_AUTHORITY authworld =
SECURITY_WORLD_SID_AUTHORITY;
if (AllocateAndInitializeSid(&authworld, 1,
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.4 2000/07/27 09:53:19 tale Exp $
+# $Id: Makefile.in,v 1.5 2000/08/01 01:31:54 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.5 2000/07/27 09:53:21 tale Exp $
+# $Id: Makefile.in,v 1.6 2000/08/01 01:31:55 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: condition.h,v 1.11 2000/07/27 09:53:22 tale Exp $ */
+/* $Id: condition.h,v 1.12 2000/08/01 01:31:56 tale Exp $ */
#ifndef ISC_CONDITION_H
#define ISC_CONDITION_H 1
#include <isc/types.h>
typedef struct isc_condition {
- HANDLE events[2];
+ HANDLE events[2];
unsigned int waiters;
} isc_condition_t;
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dir.h,v 1.6 2000/07/27 09:53:23 tale Exp $ */
+/* $Id: dir.h,v 1.7 2000/08/01 01:31:57 tale Exp $ */
/* Principal Authors: DCL */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: int.h,v 1.5 2000/07/27 09:53:24 tale Exp $ */
+/* $Id: int.h,v 1.6 2000/08/01 01:31:58 tale Exp $ */
#ifndef ISC_INT_H
#define ISC_INT_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: mutex.h,v 1.11 2000/07/27 09:53:25 tale Exp $ */
+/* $Id: mutex.h,v 1.12 2000/08/01 01:31:59 tale Exp $ */
#ifndef ISC_MUTEX_H
#define ISC_MUTEX_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: net.h,v 1.10 2000/07/27 09:53:26 tale Exp $ */
+/* $Id: net.h,v 1.11 2000/08/01 01:32:01 tale Exp $ */
#ifndef ISC_NET_H
#define ISC_NET_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: netdb.h,v 1.4 2000/07/27 09:53:27 tale Exp $ */
+/* $Id: netdb.h,v 1.5 2000/08/01 01:32:02 tale Exp $ */
#ifndef ISC_NETDB_H
#define ISC_NETDB_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: once.h,v 1.4 2000/07/27 09:53:28 tale Exp $ */
+/* $Id: once.h,v 1.5 2000/08/01 01:32:03 tale Exp $ */
#ifndef ISC_ONCE_H
#define ISC_ONCE_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: stdtime.h,v 1.5 2000/07/27 09:53:29 tale Exp $ */
+/* $Id: stdtime.h,v 1.6 2000/08/01 01:32:04 tale Exp $ */
#ifndef ISC_STDTIME_H
#define ISC_STDTIME_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: thread.h,v 1.11 2000/07/27 09:53:31 tale Exp $ */
+/* $Id: thread.h,v 1.12 2000/08/01 01:32:05 tale Exp $ */
#ifndef ISC_THREAD_H
#define ISC_THREAD_H 1
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: time.h,v 1.17 2000/07/27 09:53:32 tale Exp $ */
+/* $Id: time.h,v 1.18 2000/08/01 01:32:06 tale Exp $ */
#ifndef ISC_TIME_H
#define ISC_TIME_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: once.c,v 1.4 2000/07/27 09:53:15 tale Exp $ */
+/* $Id: once.c,v 1.5 2000/08/01 01:31:49 tale Exp $ */
/* Principal Authors: DCL */
{
REQUIRE(controller != NULL && function != NULL);
- if (controller->status == ISC_ONCE_INIT_NEEDED) {
-
+ if (controller->status == ISC_ONCE_INIT_NEEDED) {
+
if (InterlockedDecrement(&controller->counter) == 0) {
if (controller->status == ISC_ONCE_INIT_NEEDED) {
function();
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: stdtime.c,v 1.5 2000/07/27 09:53:16 tale Exp $ */
+/* $Id: stdtime.c,v 1.6 2000/08/01 01:31:50 tale Exp $ */
#include <time.h>
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: thread.c,v 1.12 2000/07/27 09:53:17 tale Exp $ */
+/* $Id: thread.c,v 1.13 2000/08/01 01:31:51 tale Exp $ */
#include <config.h>
#include <isc/thread.h>
isc_result_t
-isc_thread_create(isc_threadfunc_t start, isc_threadarg_t arg,
+isc_thread_create(isc_threadfunc_t start, isc_threadarg_t arg,
isc_thread_t *threadp)
{
isc_thread_t thread;
/*
* Copyright (C) 1998-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: time.c,v 1.18 2000/07/27 09:53:18 tale Exp $ */
+/* $Id: time.c,v 1.19 2000/08/01 01:31:52 tale Exp $ */
#include <config.h>
/*
* Set *t to the current absolute time.
*/
-
+
REQUIRE(t != NULL);
GetSystemTimeAsFileTime(&t->absolute);
/*
* Set *t to the current absolute time + i.
*/
-
+
REQUIRE(t != NULL);
REQUIRE(i != NULL);
-
+
GetSystemTimeAsFileTime(&t->absolute);
i1.LowPart = t->absolute.dwLowDateTime;
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.19 2000/07/27 09:53:33 tale Exp $
+# $Id: Makefile.in,v 1.20 2000/08/01 01:32:07 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: assert_p.h,v 1.7 2000/07/27 09:53:34 tale Exp $ */
+/* $Id: assert_p.h,v 1.8 2000/08/01 01:32:08 tale Exp $ */
#ifndef LWRES_ASSERT_P_H
#define LWRES_ASSERT_P_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: context.c,v 1.27 2000/07/27 09:53:35 tale Exp $ */
+/* $Id: context.c,v 1.28 2000/08/01 01:32:10 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: context_p.h,v 1.9 2000/07/27 09:53:36 tale Exp $ */
+/* $Id: context_p.h,v 1.10 2000/08/01 01:32:11 tale Exp $ */
#ifndef LWRES_CONTEXT_P_H
#define LWRES_CONTEXT_P_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: gai_strerror.c,v 1.11 2000/07/27 09:53:38 tale Exp $ */
+/* $Id: gai_strerror.c,v 1.12 2000/08/01 01:32:12 tale Exp $ */
#include <lwres/netdb.h>
const char *const_ptr;
char *deconst_ptr;
} ptr;
-
+
if ((ecode < 0) || (ecode > EAI_MAX))
ptr.const_ptr = "invalid error code";
else
/*
* Copyright (C) 1999, 2000 Internet Software Consortium.
- *
+ *
* This code is derived from software contributed to Internet Software
* Consortium by Berkeley Software Design, Inc.
- *
+ *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM AND
* BERKELEY SOFTWARE DESIGN, INC DISCLAIM ALL WARRANTIES WITH REGARD TO
* THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: getaddrinfo.c,v 1.29 2000/07/07 19:43:08 bwelling Exp $ */
-
+/* $Id: getaddrinfo.c,v 1.30 2000/08/01 01:32:13 tale Exp $ */
+
#include <config.h>
#include <sys/types.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: gethost.c,v 1.22 2000/07/27 09:53:39 tale Exp $ */
+/* $Id: gethost.c,v 1.23 2000/08/01 01:32:14 tale Exp $ */
#include <config.h>
lwres_gethostbyaddr(const char *addr, int len, int type) {
int error;
- if (he != NULL)
+ if (he != NULL)
lwres_freehostent(he);
he = lwres_getipnodebyaddr(addr, len, type, &error);
}
len += strlen(he->h_name) + 1;
len += nptr * sizeof(char*);
-
+
if (len > buflen) {
return (-1);
}
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: getipnode.c,v 1.24 2000/07/27 09:53:40 tale Exp $ */
+/* $Id: getipnode.c,v 1.25 2000/08/01 01:32:15 tale Exp $ */
#include <config.h>
(void) lwres_conf_parse(lwrctx, "/etc/resolv.conf");
tmp_err = NO_RECOVERY;
if (have_v6 && af == AF_INET6) {
-
+
n = lwres_getaddrsbyname(lwrctx, name, LWRES_ADDRTYPE_V6, &by);
if (n == 0) {
he1 = hostfromname(by, AF_INET6);
else
*error_num = NO_RECOVERY;
goto cleanup;
- }
+ }
} else
*error_num = tmp_err;
*error_num = NO_RECOVERY;
return (NULL);
}
-
+
switch (af) {
case AF_INET:
if (len != INADDRSZ) {
/*
* Some OS's just return what will fit rather
* than set EINVAL if the buffer is too small
- * to fit all the interfaces in. If
+ * to fit all the interfaces in. If
* ifc.ifc_len is too near to the end of the
* buffer we will grow it just in case and
* retry.
if ((ifreq.ifr_flags & IFF_UP) == 0)
break;
*have_v4 = 1;
- }
+ }
break;
case AF_INET6:
if (*have_v6 == 0) {
/*
* Portions Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: getnameinfo.c,v 1.24 2000/07/27 09:53:41 tale Exp $ */
+/* $Id: getnameinfo.c,v 1.25 2000/08/01 01:32:16 tale Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
* All rights reserved.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 4. Neither the name of the project nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
- *
+ *
* THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
if (len != salen)
ERR(ENI_SALEN);
#endif
-
+
family = sa->sa_family;
for (i = 0; afdl[i].a_af; i++)
if (afdl[i].a_af == family) {
goto found;
}
ERR(ENI_FAMILY);
-
+
found:
if (salen != afd->a_socklen)
ERR(ENI_SALEN);
-
+
switch (family) {
case AF_INET:
port = ((const struct sockaddr_in *)sa)->sin_port;
flags |= NI_NUMERICHOST;
v4a >>= IN_CLASSA_NSHIFT;
if (v4a == 0 || v4a == IN_LOOPBACKNET)
- flags |= NI_NUMERICHOST;
+ flags |= NI_NUMERICHOST;
break;
case AF_INET6:
/*
* Portions Copyright (C) 2000 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
/*
* Copyright (c) 1987, 1993
* The Regents of the University of California. All rights reserved.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
- *
+ *
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
#if defined(LIBC_SCCS) && !defined(lint)
static const char sccsid[] = "@(#)herror.c 8.1 (Berkeley) 6/4/93";
static const char rcsid[] =
- "$Id: herror.c,v 1.6 2000/07/27 09:53:42 tale Exp $";
+ "$Id: herror.c,v 1.7 2000/08/01 01:32:17 tale Exp $";
#endif /* LIBC_SCCS and not lint */
#include <config.h>
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.3 2000/07/27 09:53:56 tale Exp $
+# $Id: Makefile.in,v 1.4 2000/08/01 01:32:31 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.11 2000/07/27 09:53:57 tale Exp $
+# $Id: Makefile.in,v 1.12 2000/08/01 01:32:32 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: context.h,v 1.10 2000/07/27 09:53:58 tale Exp $ */
+/* $Id: context.h,v 1.11 2000/08/01 01:32:33 tale Exp $ */
#ifndef LWRES_CONTEXT_H
#define LWRES_CONTEXT_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: int.h,v 1.5 2000/07/27 09:53:59 tale Exp $ */
+/* $Id: int.h,v 1.6 2000/08/01 01:32:34 tale Exp $ */
#ifndef LWRES_INT_H
#define LWRES_INT_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ipv6.h,v 1.6 2000/07/27 09:54:00 tale Exp $ */
+/* $Id: ipv6.h,v 1.7 2000/08/01 01:32:36 tale Exp $ */
#ifndef LWRES_IPV6_H
#define LWRES_IPV6_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lang.h,v 1.4 2000/07/27 09:54:01 tale Exp $ */
+/* $Id: lang.h,v 1.5 2000/08/01 01:32:37 tale Exp $ */
#ifndef LWRES_LANG_H
#define LWRES_LANG_H 1
/*
* Copyright (C) 1997-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: list.h,v 1.5 2000/07/27 09:54:02 tale Exp $ */
+/* $Id: list.h,v 1.6 2000/08/01 01:32:38 tale Exp $ */
#ifndef LWRES_LIST_H
#define LWRES_LIST_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwbuffer.h,v 1.13 2000/07/27 09:54:03 tale Exp $ */
+/* $Id: lwbuffer.h,v 1.14 2000/08/01 01:32:39 tale Exp $ */
#ifndef LWRES_LWBUFFER_H
#define LWRES_LWBUFFER_H 1
* If assertion checking is enabled, future attempts to use 'b' without
* calling lwres_buffer_init() on it will cause an assertion failure.
*/
-
+
void
lwres_buffer_add(lwres_buffer_t *b, unsigned int n);
/*
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwpacket.h,v 1.15 2000/07/27 09:54:04 tale Exp $ */
+/* $Id: lwpacket.h,v 1.16 2000/08/01 01:32:40 tale Exp $ */
#ifndef LWRES_LWPACKET_H
#define LWRES_LWPACKET_H 1
* is a request or a response.
*
* "serial" is set by the requestor and is returned in all replies. If two
- * packets from the same source have the same serial number and are from
+ * packets from the same source have the same serial number and are from
* the same source, they are assumed to be duplicates and the latter ones
* may be dropped. (The library does not do this by default on replies, but
* does so on requests.)
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwres.h,v 1.42 2000/07/27 09:54:06 tale Exp $ */
+/* $Id: lwres.h,v 1.43 2000/08/01 01:32:41 tale Exp $ */
#ifndef LWRES_LWRES_H
#define LWRES_LWRES_H 1
struct {
lwres_addr_t addr;
/* mask has a non-zero 'family' and 'length' if set */
- lwres_addr_t mask;
+ lwres_addr_t mask;
} sortlist[LWRES_CONFMAXSORTLIST];
lwres_uint8_t sortlistnxt;
lwres_uint8_t ndots; /* set to n in 'options ndots:n' */
lwres_uint8_t no_tld_query; /* non-zero if 'options no_tld_query' */
} lwres_conf_t;
-
+
#define LWRES_ADDRTYPE_V4 0x00000001U /* ipv4 */
#define LWRES_ADDRTYPE_V6 0x00000002U /* ipv6 */
void
lwres_conf_clear(lwres_context_t *ctx);
/*
- * frees all internally allocated memory in confdata. Uses the memory
+ * frees all internally allocated memory in confdata. Uses the memory
* routines supplied by ctx.
*
* Requires:
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: net.h,v 1.7 2000/07/27 09:54:07 tale Exp $ */
+/* $Id: net.h,v 1.8 2000/08/01 01:32:42 tale Exp $ */
#ifndef LWRES_NET_H
#define LWRES_NET_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: netdb.h.in,v 1.26 2000/07/27 09:54:08 tale Exp $ */
+/* $Id: netdb.h.in,v 1.27 2000/08/01 01:32:43 tale Exp $ */
#ifndef LWRES_NETDB_H
#define LWRES_NETDB_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: platform.h.in,v 1.7 2000/07/27 09:54:09 tale Exp $ */
+/* $Id: platform.h.in,v 1.8 2000/08/01 01:32:44 tale Exp $ */
#ifndef LWRES_PLATFORM_H
#define LWRES_PLATFORM_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: result.h,v 1.9 2000/07/27 09:54:10 tale Exp $ */
+/* $Id: result.h,v 1.10 2000/08/01 01:32:45 tale Exp $ */
#ifndef LWRES_RESULT_H
#define LWRES_RESULT_H 1
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwbuffer.c,v 1.8 2000/07/27 09:53:43 tale Exp $ */
+/* $Id: lwbuffer.c,v 1.9 2000/08/01 01:32:18 tale Exp $ */
#include <config.h>
*/
REQUIRE(LWRES_BUFFER_VALID(b));
-
+
b->magic = 0;
b->base = NULL;
b->length = 0;
cp = (unsigned char *)b->base + b->used;
memcpy(cp, base, length);
b->used += length;
-}
+}
void
lwres_buffer_getmem(lwres_buffer_t *b, unsigned char *base,
b->current += length;
memcpy(base, cp, length);
-}
+}
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwconfig.c,v 1.23 2000/07/27 09:53:44 tale Exp $ */
+/* $Id: lwconfig.c,v 1.24 2000/08/01 01:32:20 tale Exp $ */
/***
*** Module for parsing resolv.conf files.
static lwres_result_t
lwres_create_addr(const char *buff, lwres_addr_t *addr);
-static int lwresaddr2af(int lwresaddrtype);
+static int lwresaddr2af(int lwresaddrtype);
static int
lwresaddr2af(int lwresaddrtype)
{
int af = 0;
-
+
switch (lwresaddrtype) {
case LWRES_ADDRTYPE_V4:
af = AF_INET;
if (ch == EOF)
return (EOF);
-
+
do {
*p = '\0';
return (LWRES_R_FAILURE); /* Nothing on line. */
else if (res == ' ' || res == '\t')
res = eatwhite(fp);
-
- if (res != EOF && res != '\n')
+
+ if (res != EOF && res != '\n')
return (LWRES_R_FAILURE); /* Extra junk on line. */
res = lwres_create_addr(word,
return (LWRES_R_FAILURE); /* Nothing else on line. */
else if (res == ' ' || res == '\t')
res = eatwhite(fp);
-
+
if (res != EOF && res != '\n')
return (LWRES_R_FAILURE); /* Extra junk on line. */
tmpaddr = confdata->sortlist[i].mask;
memset(&tmpaddr.address, 0xff, tmpaddr.length);
-
+
if (memcmp(&tmpaddr.address,
confdata->sortlist[i].mask.address,
confdata->sortlist[i].mask.length) != 0) {
/*
* Portions Copyright (C) 1996-2000 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
/*
* Copyright (c) 1983, 1990, 1993
* The Regents of the University of California. All rights reserved.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
- *
+ *
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
/*
* Portions Copyright (c) 1993 by Digital Equipment Corporation.
- *
+ *
* 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, and that
* the name of Digital Equipment Corporation not be used in advertising or
* publicity pertaining to distribution of the document or software without
* specific, written prior permission.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
#if defined(LIBC_SCCS) && !defined(lint)
static char sccsid[] = "@(#)inet_addr.c 8.1 (Berkeley) 6/17/93";
-static char rcsid[] = "$Id: lwinetaton.c,v 1.8 2000/07/27 09:53:45 tale Exp $";
+static char rcsid[] = "$Id: lwinetaton.c,v 1.9 2000/08/01 01:32:21 tale Exp $";
#endif /* LIBC_SCCS and not lint */
#include <config.h>
#include "assert_p.h"
-/*
+/*
* Check whether "cp" is a valid ascii representation
* of an Internet address and convert to a binary address.
* Returns 1 if the address is valid, 0 if not.
/*
* Copyright (C) 1996-2000 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
#if defined(LIBC_SCCS) && !defined(lint)
static char rcsid[] =
- "$Id: lwinetntop.c,v 1.4 2000/07/27 09:53:46 tale Exp $";
+ "$Id: lwinetntop.c,v 1.5 2000/08/01 01:32:22 tale Exp $";
#endif /* LIBC_SCCS and not lint */
#include <config.h>
static const char *inet_ntop4(const unsigned char *src, char *dst,
size_t size);
-
+
#ifdef AF_INET6
static const char *inet_ntop6(const unsigned char *src, char *dst,
size_t size);
tp += sprintf(tp, "%x", words[i]);
}
/* Was it a trailing run of 0x00's? */
- if (best.base != -1 && (best.base + best.len) ==
+ if (best.base != -1 && (best.base + best.len) ==
(NS_IN6ADDRSZ / NS_INT16SZ))
*tp++ = ':';
*tp++ = '\0';
/*
* Copyright (C) 1996-2000 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
*/
#if defined(LIBC_SCCS) && !defined(lint)
-static char rcsid[] = "$Id: lwinetpton.c,v 1.4 2000/07/27 09:53:47 tale Exp $";
+static char rcsid[] = "$Id: lwinetpton.c,v 1.5 2000/08/01 01:32:23 tale Exp $";
#endif /* LIBC_SCCS and not lint */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwpacket.c,v 1.11 2000/07/27 09:53:49 tale Exp $ */
+/* $Id: lwpacket.c,v 1.12 2000/08/01 01:32:24 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwres_gabn.c,v 1.23 2000/07/27 09:53:50 tale Exp $ */
+/* $Id: lwres_gabn.c,v 1.24 2000/08/01 01:32:25 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwres_gnba.c,v 1.18 2000/07/27 09:53:51 tale Exp $ */
+/* $Id: lwres_gnba.c,v 1.19 2000/08/01 01:32:26 tale Exp $ */
#include <config.h>
lwres_buffer_putuint32(b, req->flags);
lwres_buffer_putuint32(b, req->addr.family);
lwres_buffer_putuint16(b, req->addr.length);
- lwres_buffer_putmem(b, (unsigned char *)req->addr.address,
+ lwres_buffer_putmem(b, (unsigned char *)req->addr.address,
req->addr.length);
INSIST(LWRES_BUFFER_AVAILABLECOUNT(b) == 0);
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwres_noop.c,v 1.12 2000/07/27 09:53:52 tale Exp $ */
+/* $Id: lwres_noop.c,v 1.13 2000/08/01 01:32:27 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lwresutil.c,v 1.22 2000/07/27 09:53:53 tale Exp $ */
+/* $Id: lwresutil.c,v 1.23 2000/08/01 01:32:29 tale Exp $ */
#include <config.h>
exact_first = 1;
else
exact_first = 0;
-
+
current_suffix = 0;
tried_exact = 0;
tried_search = 0;
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres.3,v 1.2 2000/07/27 09:44:02 tale Exp $
-.\"
+.\"
+.\" $Id: lwres.3,v 1.3 2000/08/01 01:20:24 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES 3
.Os BIND9 9
to encode requests and decode responses.
The server for the lightweight resolver is
.Nm lwresd .
-In reality this is implemented by the name server,
+In reality this is implemented by the name server,
.Nm named ,
-though when operating as the lightweight resolver server,
+though when operating as the lightweight resolver server,
.Nm lwresd
is functionally and logically distinct from the actual name server.
The protocol consists of a number of opcodes, each of which has a
This simplifies structure handling and parsing for both the server
receiving a request and the client receiving a reply.
It also eliminates data copying by enabling a mapping structure to
-directly point at data in the actual receive buffer.
+directly point at data in the actual receive buffer.
.Sh OPCODES
.Pp
Every lightweight resolver operation uses a unique opcode.
Opcodes in the range 0x00000000 and 0x03ffffff are reserved for use by
the lightweight resolver library.
Opcodes between 0x04000000 and 0xffffffff have been set aside for use by
-applications.
+applications.
.Pp
Three opcodes are currently defined:
.Bl -tag -width LWRES_OPCODE_GETADDRSBYNAME
.It Li LWRES_OPCODE_NOOP
-The no-op opcode is essentially an echo operation, comparable to
+The no-op opcode is essentially an echo operation, comparable to
.Xr ping 1 .
The server simply returns the entire data region that had been sent by
the client.
structure.
Memory allocated to the opcode's request or reply structures is
discarded using the
-.Ar free
+.Ar free
function.
Clients will typically use the op-code specific
.Ar xxx_request_render ,
-.Ar xxx_response_parse
+.Ar xxx_response_parse
and
.Ar xxx_response_free
functions.
The name server will use the
.Ar xxx_request_parse ,
.Ar xxx_response_render
-and
+and
.Ar xxx_request_free
functions.
.Pp
For example, the no-op opcode -
.Dv LWRES_OPCODE_NOOP
-- uses
+- uses
.Dv lwres_nooprequest_t
and
.Dv lwres_noopresponse_t
and
.Dv lwres_noopresponse_t
structures respectively.
-.\"
+.\"
.\" XXXJR
.\" NOT YET.
.\" This is just a placeholder to indicate where the section on the
thread.
See
.Xr lwres_context 3 .
-Once the context has been created,
+Once the context has been created,
.Fn lwres_conf_init
-is called to read
+is called to read
.Pa /etc/resolv.conf
so that various options such as sort lists, search lists and so on can
be applied.
.Xr lwres_context 3 ,
.Xr lwres_config 3 ,
.Xr resolver 5 ,
-.Xr lwres_getipnode 3
+.Xr lwres_getipnode 3
.Xr lwresd 8 ,
.Xr named 8 .
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_addr_parse.3,v 1.2 2000/07/27 09:44:03 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_addr_parse.3,v 1.3 2000/08/01 01:20:25 tale Exp $
+.\"
.so lwres_resutil.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer.3,v 1.2 2000/07/27 09:44:04 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer.3,v 1.3 2000/08/01 01:20:26 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_BUFFER 3
.Os BIND9 9
.Nd lightweight resolver buffer management
.Sh SYNOPSIS
.Fd #include <lwres/lwbuffer.h>
-.Fd
+.Fd
.Ft void
.Fo lwres_buffer_init
.Fa "lwres_buffer_t *b"
unsigned int active;
};
.Ed
-The main reason for making the buffer structure public is so that
+The main reason for making the buffer structure public is so that
buffer operations can be implemented using macros.
Applications should not manipulate this structure directly.
They should use the functions listed below.
remaining region.
Initially, the active region is empty.
If the current offset advances beyond the chosen offset,
-the active region will also be empty.
+the active region will also be empty.
.Pp
Except for
.Fn lwres_buffer_init ,
.Fa *b
is invalidated by
.Fn lwres_buffer_invalidate .
-.Fa *b
+.Fa *b
must be a valid lightweight resolver buffer.
.Pp
The functions
by
.Fa n
bytes.
-.Fa *b
+.Fa *b
.Fn lwres_buffer_add
checks for buffer overflow and
.Fn lwres_buffer_subtract
.Fn lwres_buffer_clear .
The function sets
.Li b->used ,
-.Li b->current
+.Li b->current
and
-.Li b->active
+.Li b->active
to zero.
.Pp
.Fn lwres_buffer_first
.Fn lwres_buffer_putmem
copies
.Fa length
-bytes of memory at
+bytes of memory at
.Fa base
to
.Fa b.
-Conversely,
+Conversely,
.Fn lwres_buffer_getmem
copies
.Fa length
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_add.3,v 1.2 2000/07/27 09:44:05 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_add.3,v 1.3 2000/08/01 01:20:27 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_back.3,v 1.2 2000/07/27 09:44:06 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_back.3,v 1.3 2000/08/01 01:20:28 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_clear.3,v 1.2 2000/07/27 09:44:07 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_clear.3,v 1.3 2000/08/01 01:20:29 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_first.3,v 1.2 2000/07/27 09:44:08 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_first.3,v 1.3 2000/08/01 01:20:30 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_forward.3,v 1.2 2000/07/27 09:44:09 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_forward.3,v 1.3 2000/08/01 01:20:31 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_getmem.3,v 1.2 2000/07/27 09:44:10 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_getmem.3,v 1.3 2000/08/01 01:20:33 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_getuint16.3,v 1.2 2000/07/27 09:44:12 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_getuint16.3,v 1.3 2000/08/01 01:20:34 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_getuint32.3,v 1.2 2000/07/27 09:44:13 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_getuint32.3,v 1.3 2000/08/01 01:20:35 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_getuint8.3,v 1.2 2000/07/27 09:44:14 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_getuint8.3,v 1.3 2000/08/01 01:20:36 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_init.3,v 1.2 2000/07/27 09:44:15 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_init.3,v 1.3 2000/08/01 01:20:37 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_invalidate.3,v 1.2 2000/07/27 09:44:16 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_invalidate.3,v 1.3 2000/08/01 01:20:38 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_putmem.3,v 1.2 2000/07/27 09:44:17 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_putmem.3,v 1.3 2000/08/01 01:20:39 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_putuint16.3,v 1.2 2000/07/27 09:44:18 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_putuint16.3,v 1.3 2000/08/01 01:20:40 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_putuint32.3,v 1.2 2000/07/27 09:44:19 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_putuint32.3,v 1.3 2000/08/01 01:20:41 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_putuint8.3,v 1.2 2000/07/27 09:44:20 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_putuint8.3,v 1.3 2000/08/01 01:20:42 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_buffer_subtract.3,v 1.2 2000/07/27 09:44:21 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_buffer_subtract.3,v 1.3 2000/08/01 01:20:43 tale Exp $
+.\"
.so lwres_buffer.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_conf_clear.3,v 1.2 2000/07/27 09:44:22 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_conf_clear.3,v 1.3 2000/08/01 01:20:45 tale Exp $
+.\"
.so lwres_config.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_conf_get.3,v 1.2 2000/07/27 09:44:23 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_conf_get.3,v 1.3 2000/08/01 01:20:46 tale Exp $
+.\"
.so lwres_config.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_conf_init.3,v 1.2 2000/07/27 09:44:25 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_conf_init.3,v 1.3 2000/08/01 01:20:47 tale Exp $
+.\"
.so lwres_config.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_conf_parse.3,v 1.2 2000/07/27 09:44:26 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_conf_parse.3,v 1.3 2000/08/01 01:20:48 tale Exp $
+.\"
.so lwres_config.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_conf_print.3,v 1.2 2000/07/27 09:44:27 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_conf_print.3,v 1.3 2000/08/01 01:20:50 tale Exp $
+.\"
.so lwres_config.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_config.3,v 1.2 2000/07/27 09:44:28 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_config.3,v 1.3 2000/08/01 01:20:51 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_CONFIG 3
.Os BIND9 9
.Fa ctx .
.Pp
.Fn lwres_conf_clear
-frees up all the internal memory used by
+frees up all the internal memory used by
that
.Dv lwres_conf_t
structure in resolver context
.Fa fp.
.Sh RETURN VALUES
.Fn lwres_conf_parse
-returns
+returns
.Er LWRES_R_SUCCESS
if it successfully read and parsed
.Fa filename .
.Er LWRES_R_FAILURE
if
.Fa filename
-could not be opened or contained incorrect
+could not be opened or contained incorrect
resolver statements.
.Pp
.Fn lwres_conf_print
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context.3,v 1.2 2000/07/27 09:44:29 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context.3,v 1.3 2000/08/01 01:20:52 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_CONTEXT 3
.Os BIND9 9
.Nd lightweight resolver memory allocation routines
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft lwres_result_t
.Fo lwres_context_create
.Fa "lwres_context_t **contextp"
.Fa "void *arg"
.Fa "lwres_malloc_t malloc_function"
.Fa "lwres_free_t free_function"
-.Fc
+.Fc
.Ft lwres_result_t
.Fo lwres_context_destroy
.Fa "lwres_context_t **contextp"
.Fn lwres_context_initserial
sets the serial number for context
.Fa *ctx
-to
+to
.Fa serial .
.Fn lwres_context_nextserial
returns the current serial number for the context and increments
.Fa *recvd_len .
.Sh RETURN VALUES
.Fn lwres_context_create
-returns
+returns
.Er LWRES_R_NOMEMORY
if memory for the
.Dv "struct lwres_context"
is returned if an I/O error occurs and
.Er LWRES_R_TIMEOUT
is returned if the
-.Xr recvfrom 2
+.Xr recvfrom 2
call times out.
.Sh SEE ALSO
.Xr lwres_conf_init 3 ,
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context_allocmem.3,v 1.2 2000/07/27 09:44:30 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context_allocmem.3,v 1.3 2000/08/01 01:20:53 tale Exp $
+.\"
.so lwres_context.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context_create.3,v 1.2 2000/07/27 09:44:31 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context_create.3,v 1.3 2000/08/01 01:20:54 tale Exp $
+.\"
.so lwres_context.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context_destroy.3,v 1.2 2000/07/27 09:44:32 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context_destroy.3,v 1.3 2000/08/01 01:20:55 tale Exp $
+.\"
.so lwres_context.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context_freemem.3,v 1.2 2000/07/27 09:44:33 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context_freemem.3,v 1.3 2000/08/01 01:20:56 tale Exp $
+.\"
.so lwres_context.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context_initserial.3,v 1.2 2000/07/27 09:44:34 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context_initserial.3,v 1.3 2000/08/01 01:20:57 tale Exp $
+.\"
.so lwres_context.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context_nextserial.3,v 1.2 2000/07/27 09:44:35 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context_nextserial.3,v 1.3 2000/08/01 01:20:58 tale Exp $
+.\"
.so lwres_context.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_context_sendrecv.3,v 1.2 2000/07/27 09:44:36 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_context_sendrecv.3,v 1.3 2000/08/01 01:20:59 tale Exp $
+.\"
.so lwres_context.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_endhostent.3,v 1.2 2000/07/27 09:44:38 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_endhostent.3,v 1.3 2000/08/01 01:21:00 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_endhostent_r.3,v 1.2 2000/07/27 09:44:39 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_endhostent_r.3,v 1.3 2000/08/01 01:21:01 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_freeaddrinfo.3,v 1.2 2000/07/27 09:44:40 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_freeaddrinfo.3,v 1.3 2000/08/01 01:21:02 tale Exp $
+.\"
.so lwres_getaddrinfo.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_freehostent.3,v 1.2 2000/07/27 09:44:41 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_freehostent.3,v 1.3 2000/08/01 01:21:04 tale Exp $
+.\"
.so lwres_getipnode.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gabn.3,v 1.2 2000/07/27 09:44:42 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gabn.3,v 1.3 2000/08/01 01:21:05 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_GABN 3
.Os BIND9 9
.Nd lightweight resolver getaddrbyname functions
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft lwres_result_t
.Fo lwres_gabnrequest_render
.Fa "lwres_context_t *ctx"
They are shown below.
.Bd -literal -offset indent
#define LWRES_OPCODE_GETADDRSBYNAME 0x00010001U
-
+
typedef struct lwres_addr lwres_addr_t;
-typedef LWRES_LIST(lwres_addr_t) lwres_addrlist_t;
+typedef LWRES_LIST(lwres_addr_t) lwres_addrlist_t;
typedef struct {
lwres_uint32_t flags;
.Fa ctx
to convert the contents of packet
.Fa pkt
-to a
+to a
.Dv lwres_gabnrequest_t
structure.
Buffer
is returned if the available space in the buffer
.Fa b
is too small to accommodate the packet header or the
-.Dv lwres_gabnrequest_t
+.Dv lwres_gabnrequest_t
and
.Dv lwres_gabnresponse_t
structures.
.Dv lwres_lwpacket_t
indicate that the packet is not a response to an earlier query.
.Sh SEE ALSO
-.Xr lwres_packet 3
+.Xr lwres_packet 3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gabnrequest_free.3,v 1.2 2000/07/27 09:44:43 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gabnrequest_free.3,v 1.3 2000/08/01 01:21:06 tale Exp $
+.\"
.so lwres_gabn.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gabnrequest_parse.3,v 1.2 2000/07/27 09:44:44 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gabnrequest_parse.3,v 1.3 2000/08/01 01:21:07 tale Exp $
+.\"
.so lwres_gabn.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gabnrequest_render.3,v 1.2 2000/07/27 09:44:45 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gabnrequest_render.3,v 1.3 2000/08/01 01:21:08 tale Exp $
+.\"
.so lwres_gabn.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gabnresponse_free.3,v 1.2 2000/07/27 09:44:46 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gabnresponse_free.3,v 1.3 2000/08/01 01:21:09 tale Exp $
+.\"
.so lwres_gabn.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gabnresponse_parse.3,v 1.2 2000/07/27 09:44:47 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gabnresponse_parse.3,v 1.3 2000/08/01 01:21:10 tale Exp $
+.\"
.so lwres_gabn.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gabnresponse_render.3,v 1.2 2000/07/27 09:44:48 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gabnresponse_render.3,v 1.3 2000/08/01 01:21:11 tale Exp $
+.\"
.so lwres_gabn.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gai_strerror.3,v 1.2 2000/07/27 09:44:49 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gai_strerror.3,v 1.3 2000/08/01 01:21:12 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_GAI_STRERROR 3
.Os BIND9 9
.Nd print suitable error string
.Sh SYNOPSIS
.Fd #include <lwres/netdb.h>
-.Fd
+.Fd
.Ft char *
.Fo gai_strerror
.Fa "int ecode"
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_getaddrinfo.3,v 1.2 2000/07/27 09:44:50 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_getaddrinfo.3,v 1.3 2000/08/01 01:21:13 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_GETADDRINFO 3
.Os BIND9 9
.Nd socket address structure to host and service name
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft int
.Fo lwres_getaddrinfo
.Fa "const char *hostname"
the protocol family that should be used.
When
.Li ai_family
-is set to
+is set to
.Dv PF_UNSPEC ,
it means the caller will accept any protocol family supported by the
operating system.
.It Dv ai_socktype
denotes the type of socket -
.Dv SOCK_STREAM ,
-.Dv SOCK_DGRAM
+.Dv SOCK_DGRAM
or
.Dv SOCK_RAW
- that is wanted.
.Dv AI_PASSIVE
bit, the returned socket address structure will be ready
for use in a call to
-.Xr connect 2
+.Xr connect 2
for a connection-oriented protocol or
-.Xr connect 2 ,
+.Xr connect 2 ,
.Xr sendto 2 ,
or
.Xr sendmsg 2
.Dv NULL
pointer and
.Dv AI_PASSIVE
-is not set in
+is not set in
.Li ai_flags .
.Pp
If
is set to
.Dv AI_NUMERICHOST
it indicates that
-the
+the
.Dv non-NuLL
.Fa hostname
should be treated as a numeric string defining an IPv4 or IPv6 address.
.Fa arg
must be zero.
.Pp
-If
+If
.Fa arg
is not supplied, a
.Dv NULL
.Li ai_next
pointer, until a
.Dv NULL
-pointer is encountered.
+pointer is encountered.
The three members
.Li ai_family ,
ai_socktype,
returns zero on success or one of the error codes listed in
.Xr gai_strerror 3
if an error occurs.
-If both
+If both
.Fa hostname
and
.Fa servname
.Xr RFC2133 ,
.Xr getservbyname 3 ,
.Xr bind 2
-.Xr connect 2
-.Xr connect 2 ,
+.Xr connect 2
+.Xr connect 2 ,
.Xr sendto 2 ,
.Xr sendmsg 2 ,
.Xr socket 2 .
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_getaddrsbyname.3,v 1.2 2000/07/27 09:44:52 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_getaddrsbyname.3,v 1.3 2000/08/01 01:21:15 tale Exp $
+.\"
.so lwres_resutil.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gethostbyaddr.3,v 1.2 2000/07/27 09:44:53 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gethostbyaddr.3,v 1.3 2000/08/01 01:21:16 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gethostbyaddr_r.3,v 1.2 2000/07/27 09:44:54 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gethostbyaddr_r.3,v 1.3 2000/08/01 01:21:17 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gethostbyname.3,v 1.2 2000/07/27 09:44:55 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gethostbyname.3,v 1.3 2000/08/01 01:21:18 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gethostbyname2.3,v 1.2 2000/07/27 09:44:56 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gethostbyname2.3,v 1.3 2000/08/01 01:21:19 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gethostbyname_r.3,v 1.2 2000/07/27 09:44:57 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gethostbyname_r.3,v 1.3 2000/08/01 01:21:20 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gethostent.3,v 1.2 2000/07/27 09:44:58 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gethostent.3,v 1.3 2000/08/01 01:21:21 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_GETHOSTENT 3
.Os BIND9 9
.Nd lightweight resolver get network host entry
.Sh SYNOPSIS
.Fd #include <lwres/netdb.h>
-.Fd
+.Fd
.Ft struct hostent *
.Fo lwres_gethostbyname
.Fa "const char *name"
daemon \fPNOT IF IT IS GOING AWAY\fP
for looking up hostnames and addresses. They are similar to the
standard
-.Xr gethostent 3
+.Xr gethostent 3
functions provided by as part of the standard system software.
They use a
.Dv "struct hostent"
A NULL-terminated array of alternate names (nicknames) for the host.
.It Li h_addrtype
The type of address being returned -
-.Dv PF_INET
+.Dv PF_INET
or
.Dv PF_INET6 .
.It Li h_length
Host addresses are returned in network byte order.
.El
.Pp
-For backward compatibility with very old software,
+For backward compatibility with very old software,
.Li h_addr
is the first address in
.Li h_addr_list.
.Fn lwres_gethostbyname2
looks for an address of protocol family
.Fa af :
-either
+either
.Dv PF_INET
or
-.Dv PF_INET6
+.Dv PF_INET6
- IPv4 or IPV6 addresses respectively.
Both functions call
.Fn lwres_getipnodebyname
.Fn lwres_getipnodebyname
to lookup the hostname
.Fa name .
-If
+If
.Fn lwres_getipnodebyname
encounters an error, the error code is returned in
-.Fa *error .
+.Fa *error .
.Fa resbuf
is a pointer to a
.Dv "struct hostent"
which is initialised by a successful call to
-.Fn lwres_gethostbyname_r .
+.Fn lwres_gethostbyname_r .
.Fa buf
is a buffer of length
.Fa len
is a pointer to a
.Dv "struct hostent"
which is initialised by a successful call to
-.Fn lwres_gethostbyaddr_r .
+.Fn lwres_gethostbyaddr_r .
.Fa buf
is a buffer of length
.Fa len
it created.
.Sh RETURN VALUES
.Pp
-The functions
+The functions
.Fn lwres_gethostbyname ,
.Fn lwres_gethostbyname2 ,
.Fn lwres_gethostbyaddr ,
-and
+and
.Fn lwres_gethostent
are not thread-safe because they free any memory that had been allocated
in a previous call to those functions before they perform a lookup.
.Li h_addr_list
elements of the
.Dv "struct hostent" .
-If
+If
.Fa buf
was too small, both
.Fn lwres_gethostbyname_r
Although
.Fn lwres_gethostbyname ,
.Fn lwres_gethostbyname2 ,
-.Fn lwres_gethostbyaddr
+.Fn lwres_gethostbyaddr
and
.Fn lwres_endhostent
call thread-safe functions to perform lookups, these 3 functions
Thread-safe versions for name and address lookup are provided by
.Fn lwres_gethostbyname_r ,
and
-.Fn lwres_gethostbyaddr_r
+.Fn lwres_gethostbyaddr_r
respectively.
.Pp
Although the above functions can be considered as drop-in replacements
.Dv NIS/YP
or
.Dv NIS+
-maps which could be supported by the operating system's
+maps which could be supported by the operating system's
.Xr gethostent 3
functions.
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gethostent_r.3,v 1.2 2000/07/27 09:44:59 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gethostent_r.3,v 1.3 2000/08/01 01:21:23 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_getipnode.3,v 1.2 2000/07/27 09:45:00 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_getipnode.3,v 1.3 2000/08/01 01:21:24 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_GETIPNODE 3
.Os BIND9 9
.Nd lookup functions for the lightweight resolver
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft struct hostent *
.Fo lwres_getipnodebyname
.Fa "const char *name"
A NULL-terminated array of alternate names (nicknames) for the host.
.It Li h_addrtype
The type of address being returned -
-.Dv PF_INET
+.Dv PF_INET
or
.Dv PF_INET6 .
.It Li h_length
Host addresses are returned in network byte order.
.El
.Pp
-For backward compatibility with very old software,
+For backward compatibility with very old software,
.Li h_addr
is the first address in
.Li h_addr_list.
.Pp
.Fn lwres_freehostent
releases all the memory associated with
-the
+the
.Dv "struct hostent"
pointer
.Fa he .
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_getipnodebyaddr.3,v 1.2 2000/07/27 09:45:02 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_getipnodebyaddr.3,v 1.3 2000/08/01 01:21:25 tale Exp $
+.\"
.so lwres_getipnode.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_getipnodebyname.3,v 1.2 2000/07/27 09:45:03 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_getipnodebyname.3,v 1.3 2000/08/01 01:21:26 tale Exp $
+.\"
.so lwres_getipnode.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_getnamebyaddr.3,v 1.2 2000/07/27 09:45:04 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_getnamebyaddr.3,v 1.3 2000/08/01 01:21:27 tale Exp $
+.\"
.so lwres_resutil.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_getnameinfo.3,v 1.3 2000/07/27 09:45:05 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_getnameinfo.3,v 1.4 2000/08/01 01:21:28 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_GETNAMEINFO 3
.Os BIND9 9
.Nd lightweight resolver socket address structure to hostname and service name
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft int
.Fo lwres_getnameinfo
.Fa "const struct sockaddr *sa"
.Fn lwres_getnameinfo
returns so that the created resolver context gets discarded.
.Sh RETURN VALUES
-.Fn lwres_getnameinfo
+.Fn lwres_getnameinfo
returns 0 on success or a non-zero error code if an error occurs.
.\"
.\" The error codes below were invented by the ISC/Nominum. They
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gnba.3,v 1.2 2000/07/27 09:45:06 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gnba.3,v 1.3 2000/08/01 01:21:29 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_GNBA 3
.Os BIND9 9
.Nd lightweight resolver getnamebyaddress functions
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft lwres_result_t
.Fo lwres_gnbarequest_render
.Fa "lwres_context_t *ctx"
.Fa ctx
to convert the contents of packet
.Fa pkt
-to a
+to a
.Dv lwres_gnbarequest_t
structure.
Buffer
is returned if the available space in the buffer
.Fa b
is too small to accommodate the packet header or the
-.Dv lwres_gnbarequest_t
+.Dv lwres_gnbarequest_t
and
.Dv lwres_gnbaresponse_t
structures.
.Dv lwres_lwpacket_t
indicate that the packet is not a response to an earlier query.
.Sh SEE ALSO
-.Xr lwres_packet 3
+.Xr lwres_packet 3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gnbarequest_free.3,v 1.2 2000/07/27 09:45:08 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gnbarequest_free.3,v 1.3 2000/08/01 01:21:30 tale Exp $
+.\"
.so lwres_gnba.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gnbarequest_parse.3,v 1.2 2000/07/27 09:45:09 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gnbarequest_parse.3,v 1.3 2000/08/01 01:21:31 tale Exp $
+.\"
.so lwres_gnba.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gnbarequest_render.3,v 1.2 2000/07/27 09:45:10 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gnbarequest_render.3,v 1.3 2000/08/01 01:21:33 tale Exp $
+.\"
.so lwres_gnba.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gnbaresponse_free.3,v 1.2 2000/07/27 09:45:11 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gnbaresponse_free.3,v 1.3 2000/08/01 01:21:34 tale Exp $
+.\"
.so lwres_gnba.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gnbaresponse_parse.3,v 1.2 2000/07/27 09:45:13 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gnbaresponse_parse.3,v 1.3 2000/08/01 01:21:35 tale Exp $
+.\"
.so lwres_gnba.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_gnbaresponse_render.3,v 1.2 2000/07/27 09:45:14 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_gnbaresponse_render.3,v 1.3 2000/08/01 01:21:36 tale Exp $
+.\"
.so lwres_gnba.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_herror.3,v 1.2 2000/07/27 09:45:15 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_herror.3,v 1.3 2000/08/01 01:21:37 tale Exp $
+.\"
.so lwres_hstrerror.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_hstrerror.3,v 1.2 2000/07/27 09:45:16 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_hstrerror.3,v 1.3 2000/08/01 01:21:38 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_ERROR 3
.Os BIND9 9
.Nd lightweight resolver error message generation
.Sh SYNOPSIS
.Fd #include <lwres/netdb.h>
-.Fd
+.Fd
.Ft void
.Fo lwres_herror
.Fa "const char *s"
.Sh RETURN VALUES
The string \*qUnknown resolver error\*q is returned by
.Fn lwres_hstrerror
-when the value of
+when the value of
.Li lwres_h_errno
is not a valid error code.
.Sh SEE ALSO
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_inetntop.3,v 1.2 2000/07/27 09:45:19 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_inetntop.3,v 1.3 2000/08/01 01:21:41 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_INETNTOP 3
.Os BIND9 9
.Nd lightweight resolver IP address presentation
.Sh SYNOPSIS
.Fd #include <lwres/net.h>
-.Fd
+.Fd
.Ft const char *
.Fo lwres_net_ntop
.Fa "int af"
.Sh DESCRIPTION
.Fn lwres_net_ntop
converts an IP address of protocol family
-.Fa af
+.Fa af
- IPv4 or IPv6 - at location
.Fa src
from network format to its conventional representation as a string.
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_lwpacket_parseheader.3,v 1.2 2000/07/27 09:45:22 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_lwpacket_parseheader.3,v 1.3 2000/08/01 01:21:43 tale Exp $
+.\"
.so lwres_packet.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_lwpacket_renderheader.3,v 1.2 2000/07/27 09:45:23 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_lwpacket_renderheader.3,v 1.3 2000/08/01 01:21:44 tale Exp $
+.\"
.so lwres_packet.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_net_ntop.3,v 1.2 2000/07/27 09:45:25 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_net_ntop.3,v 1.3 2000/08/01 01:21:46 tale Exp $
+.\"
.so lwres_inetntop.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_noop.3,v 1.2 2000/07/27 09:45:28 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_noop.3,v 1.3 2000/08/01 01:21:48 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_NOOP 3
.Os BIND9 9
.Nd lightweight resolver no-op functions
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft lwres_result_t
.Fo lwres_nooprequest_render
.Fa "lwres_context_t *ctx"
.Fa ctx
to convert the contents of packet
.Fa pkt
-to a
+to a
.Dv lwres_nooprequest_t
structure.
Buffer
is returned if the available space in the buffer
.Fa b
is too small to accommodate the packet header or the
-.Dv lwres_nooprequest_t
+.Dv lwres_nooprequest_t
and
.Dv lwres_noopresponse_t
structures.
.Dv lwres_lwpacket_t
indicate that the packet is not a response to an earlier query.
.Sh SEE ALSO
-.Xr lwres_packet 3
+.Xr lwres_packet 3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_nooprequest_free.3,v 1.2 2000/07/27 09:45:29 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_nooprequest_free.3,v 1.3 2000/08/01 01:21:50 tale Exp $
+.\"
.so lwres_noop.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_nooprequest_parse.3,v 1.2 2000/07/27 09:45:31 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_nooprequest_parse.3,v 1.3 2000/08/01 01:21:51 tale Exp $
+.\"
.so lwres_noop.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_nooprequest_render.3,v 1.2 2000/07/27 09:45:32 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_nooprequest_render.3,v 1.3 2000/08/01 01:21:52 tale Exp $
+.\"
.so lwres_noop.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_noopresponse_free.3,v 1.2 2000/07/27 09:45:33 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_noopresponse_free.3,v 1.3 2000/08/01 01:21:53 tale Exp $
+.\"
.so lwres_noop.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_noopresponse_parse.3,v 1.2 2000/07/27 09:45:34 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_noopresponse_parse.3,v 1.3 2000/08/01 01:21:54 tale Exp $
+.\"
.so lwres_noop.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_noopresponse_render.3,v 1.2 2000/07/27 09:45:35 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_noopresponse_render.3,v 1.3 2000/08/01 01:21:55 tale Exp $
+.\"
.so lwres_noop.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_packet.3,v 1.2 2000/07/27 09:45:38 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_packet.3,v 1.3 2000/08/01 01:21:56 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_PACKET 3
.Os BIND9 9
.Fd #include <lwres/lwbuffer.h>
.Fd #include <lwres/lwpacket.h>
.Fd #include <lwres/result.h>
-.Fd
+.Fd
.Ft lwres_result_t
.Fo lwres_lwpacket_renderheader
.Fa "lwres_buffer_t *b"
the caller.
.It Li serial
is set by the requestor and is returned in all replies. If two or more
-packets from the same source have the same serial number and are from
+packets from the same source have the same serial number and are from
the same source, they are assumed to be duplicates and the latter ones
may be dropped.
.It Li opcode
0x04000000 and 0xffffffff are application defined.
.It Li result
is only valid for replies.
-Results between 0x04000000 and 0xffffffff are application defined.
+Results between 0x04000000 and 0xffffffff are application defined.
Results between 0x00000000 and 0x03ffffff are reserved for library use.
.It Li recvlength
is the maximum buffer size that the receiver can handle on requests
If there is insufficient space to copy data between the buffer
.Fa *b
and lightweight resolver packet
-.Fa *pkt
+.Fa *pkt
both functions return
.Er LWRES_R_UNEXPECTEDEND .
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_resutil.3,v 1.2 2000/07/27 09:45:39 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_resutil.3,v 1.3 2000/08/01 01:21:57 tale Exp $
+.\"
.Dd Jun 30, 2000
.Dt LWRES_RESUTIL 3
.Os BIND9 9
.Nd lightweight resolver utility functions
.Sh SYNOPSIS
.Fd #include <lwres/lwres.h>
-.Fd
+.Fd
.Ft lwres_result_t
.Fo lwres_string_parse
.Fa "lwres_buffer_t *b"
.Fa *len .
The buffer's current pointer is advanced to point at the character
following the string length, the encoded string, and the trailing
-.Dv NULL
+.Dv NULL
character.
.Fn lwres_string_parse
has an assertion check that
.Ed
The contents of this structure are not manipulated directly but
they are controlled through the
-.Xr lwres_gabn 3
+.Xr lwres_gabn 3
functions.
.Pp
The lightweight resolver uses
.Fa *structp .
.Fn lwres_getaddrsbyname
checks that its pointer arguments are not
-.Dv NULL
+.Dv NULL
and that
.Fa addrtypes
is non-zero.
.Fn lwres_getaddrsbyname ,
.Fn lwres_getnamebyaddr
uses assertion checking to ensure its pointer arguments are not
-.Dv NULL
-and
+.Dv NULL
+and
.Fa addrtype
is not zero.
.Fn lwres_getaddrsbyname
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_sethostent.3,v 1.2 2000/07/27 09:45:40 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_sethostent.3,v 1.3 2000/08/01 01:21:58 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_sethostent_r.3,v 1.2 2000/07/27 09:45:41 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_sethostent_r.3,v 1.3 2000/08/01 01:21:59 tale Exp $
+.\"
.so lwres_gethostent.3
.\" Copyright (C) 2000 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
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
-.\" $Id: lwres_string_parse.3,v 1.2 2000/07/27 09:45:43 tale Exp $
-.\"
+.\"
+.\" $Id: lwres_string_parse.3,v 1.3 2000/08/01 01:22:01 tale Exp $
+.\"
.so lwres_resutil.3
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: version.c,v 1.4 2000/07/27 09:53:54 tale Exp $ */
+/* $Id: version.c,v 1.5 2000/08/01 01:32:30 tale Exp $ */
char lwres_version[] = VERSION;
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.13 2000/07/27 09:54:11 tale Exp $
+# $Id: Makefile.in,v 1.14 2000/08/01 01:32:47 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: auth.c,v 1.11 2000/07/27 09:54:12 tale Exp $ */
+/* $Id: auth.c,v 1.12 2000/08/01 01:32:48 tale Exp $ */
/* Principal Author: DCL */
new->name = isc_mem_strdup(omapi_mctx, name);
if (new->name == NULL)
result = ISC_R_NOMEMORY;
-
+
new->secret = isc_mem_allocate(omapi_mctx, secretlen);
if (new->secret == NULL)
result = ISC_R_NOMEMORY;
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: connection.c,v 1.32 2000/07/27 09:54:14 tale Exp $ */
+/* $Id: connection.c,v 1.33 2000/08/01 01:32:49 tale Exp $ */
/* Principal Author: DCL */
* Pause the client until it has received a message from the server, either the
* introductory message or a response to a message it has sent. This is
* necessary because the underlying socket library is multithreaded, and
- * it is possible that reading incoming data would trigger an error
+ * it is possible that reading incoming data would trigger an error
* that causes the connection to be destroyed --- while the client program
* is still trying to use it.
*
INSIST(connection->state == omapi_connection_connecting ||
connection->state == omapi_connection_connected);
-
+
connection->waiting = ISC_TRUE;
while (connection->events_pending > 0)
unsigned int bytes_read;
UNUSED(task);
-
+
sock = event->ev_sender;
connection = event->ev_arg;
socketevent = (isc_socketevent_t *)event;
unsigned int sent_bytes;
UNUSED(task);
-
+
sock = event->ev_sender;
connection = event->ev_arg;
socketevent = (isc_socketevent_t *)event;
*/
if (connection->is_client)
LOCK(&connection->wait_lock);
-
+
isc_socket_sendv(connection->socket, &connection->output_buffers,
connection->task, send_done, connection);
sizeof(*connection));
if (result != ISC_R_SUCCESS)
goto free_obuffer;
-
+
connection->is_client = ISC_TRUE;
connection->waiting = ISC_FALSE;
connection->state = omapi_connection_connecting;
REQUIRE(protocol != NULL && protocol->type == omapi_type_protocol);
INSIST(size <= connection->in_bytes);
-
+
connection->bytes_needed -= size;
buffer = ISC_LIST_HEAD(connection->input_buffers);
isc_uint32_t inbuf;
inbuf = htonl(value);
-
+
return (omapi_connection_putmem(c, (unsigned char *)&inbuf,
sizeof(inbuf)));
}
REQUIRE(value < 65536);
inbuf = htons((isc_uint16_t)value);
-
+
return (omapi_connection_putmem(c, (unsigned char *)&inbuf,
sizeof(inbuf)));
}
{
REQUIRE(connection != NULL &&
connection->type == omapi_type_connection);
-
+
return (omapi_object_passsetvalue(connection, name, value));
}
{
REQUIRE(connection != NULL &&
connection->type == omapi_type_connection);
-
+
return (omapi_object_passsignal(connection, name, ap));
}
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: data.c,v 1.16 2000/07/27 09:54:15 tale Exp $ */
+/* $Id: data.c,v 1.17 2000/08/01 01:32:50 tale Exp $ */
/* Principal Author: Ted Lemon */
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: generic.c,v 1.16 2000/07/27 09:54:16 tale Exp $ */
+/* $Id: generic.c,v 1.17 2000/08/01 01:32:51 tale Exp $ */
/* Principal Author: Ted Lemon */
return (ISC_R_SUCCESS);
}
- }
+ }
/*
* If the name isn't already attached to this object, see if an
REQUIRE(h != NULL && h->type == omapi_type_generic);
g = (omapi_generic_t *)h;
-
+
/*
* Look up the specified name in our list of objects.
*/
omapi_value_reference(value, g->values[i]);
return (ISC_R_SUCCESS);
}
- }
+ }
return (omapi_object_passgetvalue(h, name, value));
}
REQUIRE(h != NULL && h->type == omapi_type_generic);
g = (omapi_generic_t *)h;
-
+
if (g->values != NULL) {
for (i = 0; i < g->nvalues; i++)
if (g->values[i] != NULL)
REQUIRE(h != NULL && h->type == omapi_type_generic);
src = (omapi_generic_t *)h;
-
+
for (i = 0; i < src->nvalues; i++) {
if (src->values[i] != NULL &&
src->values[i]->name->len != 0) {
if (result != ISC_R_SUCCESS)
return (result);
}
- }
+ }
return (omapi_object_passstuffvalues(connection, h));
}
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: handle.c,v 1.15 2000/07/27 09:54:17 tale Exp $ */
+/* $Id: handle.c,v 1.16 2000/08/01 01:32:52 tale Exp $ */
/* Principal Author: Ted Lemon */
* next handle should go, and if necessary create additional nodes in
* the tree to contain the new handle. The pointer to the object is
* then stored in the correct position.
- *
+ *
* XXXTL
* Theoretically, we could have some code here to free up handle
* tables as they go out of use, but by and large handle tables won't
if (table->first > h || table->limit <= h)
return (ISC_R_NOSPACE);
-
+
/*
* If this is a leaf table, just stash the object in the
* appropriate place.
*/
while (next_handle >= toptable->limit) {
omapi_handletable_t *new;
-
+
new = isc_mem_get(omapi_mctx, sizeof(*new));
if (new != NULL) {
memset(new, 0, sizeof(*new));
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.4 2000/07/27 09:54:29 tale Exp $
+# $Id: Makefile.in,v 1.5 2000/08/01 01:33:04 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.8 2000/07/27 09:54:30 tale Exp $
+# $Id: Makefile.in,v 1.9 2000/08/01 01:33:06 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: compatibility.h,v 1.5 2000/07/27 09:54:31 tale Exp $ */
+/* $Id: compatibility.h,v 1.6 2000/08/01 01:33:07 tale Exp $ */
#ifndef OMAPI_COMPATIBILITY_H
#define OMAPI_COMPATIBILITY_H 1
* The get_value, set_value and stuff_values methods all had their id
* parameter removed, so those functions for special client/server objects
* need to have their definitions adjusted.
- *
+ *
*/
#define omapi_set_value(h, id, name, value) \
omapi_object_set(h, name, value)
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lib.h,v 1.4 2000/07/27 09:54:32 tale Exp $ */
+/* $Id: lib.h,v 1.5 2000/08/01 01:33:08 tale Exp $ */
#ifndef OMAPI_LIB_H
#define OMAPI_LIB_H 1
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: omapi.h,v 1.16 2000/07/27 09:54:33 tale Exp $ */
+/* $Id: omapi.h,v 1.17 2000/08/01 01:33:09 tale Exp $ */
/*
* Definitions for the object management API and protocol.
isc_result_t
omapi_object_getvalue(omapi_object_t *handle, const char *name,
- omapi_value_t **value);
+ omapi_value_t **value);
isc_result_t
omapi_object_passgetvalue(omapi_object_t *object, omapi_string_t *name,
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: private.h,v 1.23 2000/07/27 09:54:34 tale Exp $ */
+/* $Id: private.h,v 1.24 2000/08/01 01:33:10 tale Exp $ */
/*****
***** Private master include file for the OMAPI library.
/*
* The error that caused the connection to be freed.
*/
- isc_result_t result;
+ isc_result_t result;
/*
* Number of socket events outstanding. This should always be
* either 0 or 1 under the current model; having any more than
struct omapi_protocol {
OMAPI_OBJECT_PREAMBLE;
- isc_uint32_t header_size;
+ isc_uint32_t header_size;
isc_uint32_t protocol_version;
isc_uint32_t next_xid;
omapi_object_t * authinfo; /* Default authinfo. */
extern omapi_objecttype_t *omapi_object_types;
/*
- * Everything needs a memory context.
+ * Everything needs a memory context.
*/
extern isc_mem_t *omapi_mctx;
#define connect_toserver omapi__connect_toserver
isc_result_t
-connect_toserver(omapi_object_t *connection, const char *server,
+connect_toserver(omapi_object_t *connection, const char *server,
in_port_t port);
#define connection_send omapi__connection_send
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: result.h,v 1.6 2000/07/27 09:54:35 tale Exp $ */
+/* $Id: result.h,v 1.7 2000/08/01 01:33:11 tale Exp $ */
#ifndef OMAPI_RESULT_H
#define OMAPI_RESULT_H 1
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: types.h,v 1.6 2000/07/27 09:54:37 tale Exp $ */
+/* $Id: types.h,v 1.7 2000/08/01 01:33:12 tale Exp $ */
#ifndef OMAPI_TYPES_H
#define OMAPI_TYPES_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: lib.c,v 1.12 2000/07/27 09:54:18 tale Exp $ */
+/* $Id: lib.c,v 1.13 2000/08/01 01:32:54 tale Exp $ */
#include <config.h>
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: listener.c,v 1.28 2000/07/27 09:54:19 tale Exp $ */
+/* $Id: listener.c,v 1.29 2000/08/01 01:32:55 tale Exp $ */
/*
* Subroutines that support the generic listener object.
*/
if (result != ISC_R_SUCCESS)
return;
-
+
/*
* Is the connection from a valid host?
*/
} else {
/*
- * Failed to set up the listener.
+ * Failed to set up the listener.
*/
listener->listening = ISC_FALSE;
OBJECT_DEREF(&listener);
* continue the call through the object chain.
*/
REQUIRE(listener != NULL && listener->type == omapi_type_listener);
-
+
return (omapi_object_passgetvalue(listener, name, value));
}
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: message.c,v 1.27 2000/07/27 09:54:20 tale Exp $ */
+/* $Id: message.c,v 1.28 2000/08/01 01:32:56 tale Exp $ */
/*
* Subroutines for dealing with message objects.
REQUIRE(h != NULL && h->type == omapi_type_message);
m = (omapi_message_t *)h;
-
+
/*
* Already registered?
*/
REQUIRE(h != NULL && h->type == omapi_type_message);
m = (omapi_message_t *)h;
-
+
/*
* Not registered?
*/
c->bytes_needed = p->header_size;
result = connection_send(c);
-
+
/*
* The client waited for the result; the server did not.
* The server's result will always be ISC_R_SUCCESS.
isc_result_totext(result)));
/*
- * All messages except for the first attempt to set
+ * All messages except for the first attempt to set
* the dst key used by the protocol must be signed.
*/
#ifdef notyet /* not for 9.0.0 */
* under the current design of OMAPI, there just isn't
* a good way to set the authentication values. The
* connection object and protocol object are the only
- * things that hold state on the server throughout the life
+ * things that hold state on the server throughout the life
* of a particular connection, and the original design
* for lookup methods does not provide a way to identify
* the current protocol or connection object.
if (result == ISC_R_NOTFOUND && create == 0) {
return (send_status(po, ISC_R_NOTFOUND, message->id,
"no object matches specification"));
- }
+ }
/*
* If we found an object, we're supposed to be creating an
"can't update object"));
}
}
-
+
/*
* Now send the new contents of the object back in response.
*/
return (send_status(po, result, message->id,
"no matching handle"));
- send:
+ send:
result = send_update(po, message->id, object);
OBJECT_DEREF(&object);
return (result);
REQUIRE(handle != NULL && handle->type == omapi_type_message);
message = (omapi_message_t *)handle;
-
+
/*
* XXXDCL It would make the client side a bit cleaner if when "status"
* is signalled, it sets both "waitresult" and "waittext" (or some
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: object.c,v 1.21 2000/07/27 22:25:58 bwelling Exp $ */
+/* $Id: object.c,v 1.22 2000/08/01 01:32:57 tale Exp $ */
/* Principal Author: Ted Lemon */
struct omapi_objecttype {
const char * name;
omapi_objecttype_t * next;
-
+
isc_result_t (*set_value)(omapi_object_t *object,
omapi_string_t *name,
omapi_data_t *value);
} else
(*h)->refcnt--;
-
+
} else
(*h)->refcnt--;
}
isc_result_t
-omapi_object_getvalue(omapi_object_t *h, const char *name,
+omapi_object_getvalue(omapi_object_t *h, const char *name,
omapi_value_t **value)
{
omapi_object_t *outer;
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: protocol.c,v 1.30 2000/07/27 09:54:23 tale Exp $ */
+/* $Id: protocol.c,v 1.31 2000/08/01 01:32:58 tale Exp $ */
/*
* Functions supporting the object management protocol.
if (result == ISC_R_SUCCESS)
result = omapi_object_setinteger(message, "handle",
(int)handle);
- }
-
+ }
+
if (result == ISC_R_SUCCESS)
result = omapi_object_setobject(message, "object", object);
*/
connection_getuint32(connection, &protocol->protocol_version);
connection_getuint32(connection, &protocol->header_size);
-
+
/*
* Currently only the current protocol version is supported.
*/
omapi_value_t **value)
{
REQUIRE(h != NULL && h->type == omapi_type_protocol);
-
+
return (omapi_object_passgetvalue(h, name, value));
}
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: result.c,v 1.9 2000/07/27 09:54:24 tale Exp $ */
+/* $Id: result.c,v 1.10 2000/08/01 01:33:00 tale Exp $ */
#include <config.h>
#include <isc/once.h>
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: string.c,v 1.8 2000/07/27 09:54:25 tale Exp $ */
+/* $Id: string.c,v 1.9 2000/08/01 01:33:01 tale Exp $ */
/* Principal Author: Ted Lemon */
/*
* Copyright (C) 1996-2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: value.c,v 1.8 2000/07/27 09:54:26 tale Exp $ */
+/* $Id: value.c,v 1.9 2000/08/01 01:33:02 tale Exp $ */
/* Principal Author: Ted Lemon */
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: version.c,v 1.4 2000/07/27 09:54:27 tale Exp $ */
+/* $Id: version.c,v 1.5 2000/08/01 01:33:03 tale Exp $ */
char omapi_version[] = VERSION;
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.12 2000/07/27 09:54:38 tale Exp $
+# $Id: Makefile.in,v 1.13 2000/08/01 01:33:13 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.6 2000/07/27 09:54:40 tale Exp $
+# $Id: Makefile.in,v 1.7 2000/08/01 01:33:16 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.4 2000/07/27 09:54:41 tale Exp $
+# $Id: Makefile.in,v 1.5 2000/08/01 01:33:17 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: t_api.h,v 1.11 2000/07/27 09:54:43 tale Exp $ */
+/* $Id: t_api.h,v 1.12 2000/08/01 01:33:18 tale Exp $ */
#ifndef TESTS_T_API_H
#define TESTS_T_API_H 1
/*
* Copyright (C) 1999, 2000 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
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: t_api.c,v 1.41 2000/07/27 09:54:39 tale Exp $ */
+/* $Id: t_api.c,v 1.42 2000/08/01 01:33:14 tale Exp $ */
#include <config.h>
unsigned int dc_method;
const char *text;
} dc_method_map[] = {
-
+
{ DNS_COMPRESS_NONE, "DNS_COMPRESS_NONE" },
{ DNS_COMPRESS_GLOBAL14, "DNS_COMPRESS_GLOBAL14" },
{ DNS_COMPRESS_GLOBAL16, "DNS_COMPRESS_GLOBAL16" },
if { (eval echo $progname:777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
# Append any warnings to the config.log.
cat conftest.err 1>&5
-
+
case "$host_os" in
hpux9* | hpux10* | hpux11*)
# On HP-UX, both CC and GCC only warn that PIC is supported... then they
else
no_builtin_flag=' -fno-builtin'
fi
-
+
fi
# Check for any special shared library compilation flags.
$DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
$CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts'
- old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a'
+ old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a'
;;
netbsd*)
else
ld_shlibs=no
fi
- ;;
+ ;;
sunos4*)
archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linkopts'
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
runpath_var='LD_RUN_PATH'
hardcode_shlibpath_var=no
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
sysv4.3*)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
freebsd1*)
dynamic_linker=no
;;
-
+
freebsd*)
objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
version_type=freebsd-$objformat
fi
-
+
fi
-
+
fi
fnord() { int i=42;}
main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
- if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
+ if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
EOF
if { (eval echo $progname:2487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
fnord() { int i=42;}
main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
- if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
+ if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
EOF
if { (eval echo $progname:2560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
# starting and closing comments
# /* impgen.c starts here */
# /* Copyright (C) 1999 Free Software Foundation, Inc.
-#
+#
# This file is part of GNU libtool.
-#
+#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# */
-#
+#
# #include <stdio.h> /* for printf() */
# #include <unistd.h> /* for open(), lseek(), read() */
# #include <fcntl.h> /* for O_RDONLY, O_BINARY */
# #include <string.h> /* for strdup() */
-#
+#
# static unsigned int
# pe_get16 (fd, offset)
# int fd;
# read (fd, b, 2);
# return b[0] + (b[1]<<8);
# }
-#
+#
# static unsigned int
# pe_get32 (fd, offset)
# int fd;
# read (fd, b, 4);
# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
# }
-#
+#
# static unsigned int
# pe_as32 (ptr)
# void *ptr;
# unsigned char *b = ptr;
# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
# }
-#
+#
# int
# main (argc, argv)
# int argc;
# unsigned long name_rvas, nexp;
# unsigned char *expdata, *erva;
# char *filename, *dll_name;
-#
+#
# filename = argv[1];
-#
+#
# dll = open(filename, O_RDONLY|O_BINARY);
# if (!dll)
# return 1;
-#
+#
# dll_name = filename;
-#
+#
# for (i=0; filename[i]; i++)
# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':')
# dll_name = filename + i +1;
-#
+#
# pe_header_offset = pe_get32 (dll, 0x3c);
# opthdr_ofs = pe_header_offset + 4 + 20;
# num_entries = pe_get32 (dll, opthdr_ofs + 92);
-#
+#
# if (num_entries < 1) /* no exports */
# return 1;
-#
+#
# export_rva = pe_get32 (dll, opthdr_ofs + 96);
# export_size = pe_get32 (dll, opthdr_ofs + 100);
# nsections = pe_get16 (dll, pe_header_offset + 4 +2);
# secptr = (pe_header_offset + 4 + 20 +
# pe_get16 (dll, pe_header_offset + 4 + 16));
-#
+#
# expptr = 0;
# for (i = 0; i < nsections; i++)
# {
# break;
# }
# }
-#
+#
# expdata = (unsigned char*)malloc(export_size);
# lseek (dll, expptr, SEEK_SET);
# read (dll, expdata, export_size);
# erva = expdata - export_rva;
-#
+#
# nexp = pe_as32 (expdata+24);
# name_rvas = pe_as32 (expdata+32);
-#
+#
# printf ("EXPORTS\n");
# for (i = 0; i<nexp; i++)
# {
# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
# }
-#
+#
# return 0;
# }
# /* impgen.c ends here */
# now prepend the system-specific ones
eval lib_search_path=\"$sys_lib_search_path_spec\$lib_search_path\"
eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
+
avoid_version=no
dlfiles=
dlprefiles=
fi
;;
esac
-
+
# This is the magic to use -rpath.
# Skip directories that are in the system default run-time
# search path, unless they have been requested with -R.
*)
case "$compile_rpath " in
*" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
+ *) compile_rpath="$compile_rpath $absdir"
esac
;;
esac
versuffix=
verstring=""
fi
-
+
# Check to see if the archive will have undefined symbols.
if test "$allow_undefined" = yes; then
if test "$allow_undefined_flag" = unsupported; then
# Follow soft links.
if ls -lLd "$potent_lib" 2>/dev/null \
| grep " -> " >/dev/null; then
- continue
+ continue
fi
# The statement above tries to avoid entering an
# endless loop below, in case of cyclic links.
library_names=
old_library=
dlname=
-
+
# Test again, we may have decided not to build it any more
if test "$build_libtool_libs" = yes; then
# Get the real and link names of the library.
gentop=
# reload_cmds runs $LD directly, so let us get rid of
# -Wl from whole_archive_flag_spec
- wl=
+ wl=
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec"; then
if test "$dlopen" = unknown && test "$dlopen_self" = unknown &&
test "$dlopen_self_static" = unknown; then
$echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
- fi
+ fi
fi
-
+
if test -n "$rpath$xrpath"; then
# If the user specified any rpath flags, then add them.
for libdir in $rpath $xrpath; do
$run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
$run eval '$mv "$nlist"T "$nlist"'
fi
-
+
if test -n "$export_symbols_regex"; then
$run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T'
$run eval '$mv "$nlist"T "$nlist"'
$show "$link_command"
$run eval "$link_command"
status=$?
-
+
# Delete the generated files.
if test -n "$dlsyms"; then
$show "$rm $output_objdir/${outputname}S.${objext}"
# Fast installation is not supported
link_command="$compile_var$compile_command$compile_rpath"
relink_command="$finalize_var$finalize_command$finalize_rpath"
-
+
$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
$echo "$modename: \`$output' will be relinked during installation" 1>&2
else
# Replace the output file specification.
link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
+
# Delete the old output files.
$run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
echo >> $output "\
program=lt-'$outputname'
progdir=\"\$thisdir/$objdir\"
-
+
if test ! -f \"\$progdir/\$program\" || \\
{ file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\
test \"X\$file\" != \"X\$progdir/\$program\"; }; then
exit $status
fi
generated="$generated $gentop"
-
+
# Add in members from convenience archives.
for xlib in $addlibs; do
# Extract the objects.
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.11 2000/07/27 09:54:44 tale Exp $
+# $Id: Makefile.in,v 1.12 2000/08/01 01:33:19 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: includes.in,v 1.8 2000/07/27 09:54:45 tale Exp $
+# $Id: includes.in,v 1.9 2000/08/01 01:33:20 tale Exp $
-# Search for machine-generated header files in the build tree,
+# Search for machine-generated header files in the build tree,
# and for normal headers in the source tree (${top_srcdir}).
# We only need to look in OS-specific subdirectories for the
# latter case, because there are no machine-generated OS-specific
## -
## Copyright (c) 1987 Regents of the University of California.
## All rights reserved.
-##
+##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## SUCH DAMAGE.
## -
## Portions Copyright (c) 1993 by Digital Equipment Corporation.
-##
+##
## 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, and that
## the name of Digital Equipment Corporation not be used in advertising or
## publicity pertaining to distribution of the document or software without
## specific, written prior permission.
-##
+##
## THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
## WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
## OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: rules.in,v 1.21 2000/07/27 09:54:46 tale Exp $
+# $Id: rules.in,v 1.22 2000/08/01 01:33:23 tale Exp $
###
### Common Makefile rules for BIND 9.
# We use a single-colon rule so that additional dependencies of
# subdirectories can be specified after the inclusion of this file.
# The "depend" target is treated the same way.
-#
+#
subdirs:
@for i in ${ALL_SUBDIRS}; do \
if [ "$$i" != "nulldir" -a -d $$i ]; then \
#! /usr/bin/perl -ws
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: check-includes.pl,v 1.5 2000/07/27 09:54:49 tale Exp $
+# $Id: check-includes.pl,v 1.6 2000/08/01 01:33:24 tale Exp $
# Rudimentary, primarily for use by the developers.
# This just evolved with no serious attempt at making it
# Special exceptions.
# XXXDCL some of these should be perhaps generalized (ie, look for
# ISC_(LINK|LIST)_ when using <isc/list.h>.
- #
+ #
if (($file =~ m%isc/log\.h$% && $elided eq "<syslog.h>") ||
($file =~ m%isc/print\.h$% && $elided =~ /^<std(arg|def)\.h>$/) ||
($file =~ m%isc/string\.h$% && $elided eq "<string.h>") ||
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: check-instincludes.sh,v 1.5 2000/07/27 09:54:50 tale Exp $
+# $Id: check-instincludes.sh,v 1.6 2000/08/01 01:33:25 tale Exp $
#
# Check the installed bind9 header files to make sure that no header
# they all compile as C++.
#
-case $# in
+case $# in
1) ;;
*) echo "usage: sh util/check-instincludes.sh <prefix>" >&2;
exit 1;
EOF
# Compile the test program.
- if
+ if
gcc -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings \
-I/usr/pkg/pthreads/include -I$prefix/include -c test.cc 2>&1
then
#! /usr/bin/perl -ws
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: check-sources.pl,v 1.5 2000/07/27 09:54:52 tale Exp $
+# $Id: check-sources.pl,v 1.6 2000/08/01 01:33:26 tale Exp $
# Rudimentary, primarily for use by the developers.
# This just evolved with no serious attempt at making it
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: kit.sh,v 1.1 2000/07/28 01:47:16 gson Exp $
+# $Id: kit.sh,v 1.2 2000/08/01 01:33:27 tale Exp $
# Make a release kit
#
-# Usage: sh makekit.sh tag tmpdir
+# Usage: sh makekit.sh tag tmpdir
#
# (e.g., sh makekit.sh v9_0_0b5 /tmp/bindkit
#
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: make-snapshot.sh,v 1.3 2000/07/27 09:54:53 tale Exp $
+# $Id: make-snapshot.sh,v 1.4 2000/08/01 01:33:28 tale Exp $
CVS_RSH=ssh ; export CVS_RSH
#!/usr/bin/perl
#
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: memleak.pl,v 1.8 2000/07/27 09:54:54 tale Exp $
+# $Id: memleak.pl,v 1.9 2000/08/01 01:33:29 tale Exp $
# Massage the output from ISC_MEM_DEBUG to extract mem_get() calls
# with no corresponding mem_put().
#!/usr/local/bin/perl -w
#
# Copyright (C) 1998-2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: merge_copyrights,v 1.14 2000/07/27 09:54:55 tale Exp $
+# $Id: merge_copyrights,v 1.15 2000/08/01 01:33:30 tale Exp $
%file_types = ();
%file_years = ();
#!/usr/bin/perl
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: mkreslib.pl,v 1.6 2000/07/27 09:54:56 tale Exp $
+# $Id: mkreslib.pl,v 1.7 2000/08/01 01:33:32 tale Exp $
# Build a res_* library distribution from the BIND 8 source
#!/usr/bin/perl
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: nanny.pl,v 1.5 2000/07/27 09:54:57 tale Exp $
+# $Id: nanny.pl,v 1.6 2000/08/01 01:33:33 tale Exp $
# A simple nanny to make sure named stays running.
$pid = <FILE>;
close(FILE);
chomp($pid);
-
+
$ps_command = "ps -axw | grep named | grep $pid | grep -v grep |";
# ps_command MUST end in a pipe (|) character!
#! /bin/sh -ex
#
# Copyright (C) 1999, 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: nt-kit,v 1.4 2000/07/27 09:54:58 tale Exp $
+# $Id: nt-kit,v 1.5 2000/08/01 01:33:34 tale Exp $
# XXX no command line options at all. especially useful would be a way
# to specify the target directory on the NT machine, since it is needed
esac
case $# in
-0)
+0)
dstdir=../bind9-nt
rmtdir=g:/proj/bind9-nt
;;
dstdir="$2"
rmtdir="$1"
;;
-*)
+*)
echo "usage: $0 rmtdir [dstdir]" >&2
exit 99
;;
#!/usr/bin/perl
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: sanitize.pl,v 1.2 2000/07/27 09:54:59 tale Exp $
+# $Id: sanitize.pl,v 1.3 2000/08/01 01:33:35 tale Exp $
# Don't try and sanitize this file: NOMINUM_IGNORE
#!/bin/sh
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: sanitize_all.sh,v 1.4 2000/07/28 05:42:36 gson Exp $
+# $Id: sanitize_all.sh,v 1.5 2000/08/01 01:33:36 tale Exp $
PERL=perl5
#!/usr/local/bin/perl -w
#
# Copyright (C) 2000 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
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: update-drafts.pl,v 1.2 2000/07/27 09:55:02 tale Exp $
+# $Id: update-drafts.pl,v 1.3 2000/08/01 01:33:37 tale Exp $
#
# Replace internet drafts with updated versions, if any.
if ($? == 0) {
unlink($ofile);
system "cvs remove $ofile";
- system "cvs add $nfile";
+ system "cvs add $nfile";
}
}
}