Commit 98c2f9a1 authored by James Brister's avatar James Brister
Browse files

Support config file trusted-keys and also-notify statemenets in views.

Support config file sig-validity-interval statement in options, views
and zone statements (master zones only).

Logging messages in config module stripped of trailing period.
parent f8faa9fe
230. [func] Support config file trusted-keys and also-notify
statemenets in views.
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
trailing period.
227. [cleanup] The enumerated identifiers dns_rdataclass_*,
dns_rcode_*, dns_opcode_*, and dns_trust_* are
also now cast to their appropriate types, as with
......
......@@ -18,6 +18,8 @@ options {
version "my version string";
directory "/tmp";
sig-validity-interval 33;
# Obsolete
named-xfer "/usr/libexec/named-xfer"; // _PATH_XFER
......@@ -177,6 +179,7 @@ zone "master.demo.zone" {
allow-update-forwarding { 10.0.0.5; !any; };
allow-transfer { any; };
allow-query { any; };
sig-validity-interval 990;
// notify yes; // send NOTIFY messages for this
// zone? The global option is used
// if "notify" is not specified
......@@ -219,6 +222,7 @@ view "test-view" in {
trusted-keys {
"foo.com." 4 3 2 "abdefghijklmnopqrstuvwxyz";
};
sig-validity-interval 45;
allow-query { 10.0.0.30;};
match-clients { 10.0.0.1 ; };
check-names master warn;
......
......@@ -15,7 +15,7 @@
* SOFTWARE.
*/
/* $Id: confacl.c,v 1.17 2000/05/08 19:23:24 tale Exp $ */
/* $Id: confacl.c,v 1.18 2000/06/02 15:12:25 brister Exp $ */
#include <config.h>
......@@ -124,7 +124,7 @@ dns_c_acltable_clear(dns_c_acltable_t *table) {
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG,
ISC_LOG_CRITICAL,
"Failed to delete acl element.");
"Failed to delete acl element");
return (r);
}
......
......@@ -15,7 +15,7 @@
* SOFTWARE.
*/
/* $Id: confctx.c,v 1.57 2000/05/15 12:36:20 brister Exp $ */
/* $Id: confctx.c,v 1.58 2000/06/02 15:12:27 brister Exp $ */
#include <config.h>
......@@ -241,7 +241,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
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.");
"option 'dump-file' is not yet implemented");
}
......@@ -249,7 +249,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'memstatistics-file' is not yet "
"implemented.");
"implemented");
}
......@@ -264,35 +264,35 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
if (dns_c_ctx_getdealloconexit(cfg, &bval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'deallocate-on-exit' is obsolete.");
"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.");
"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,
"option 'fake-iquery' is obsolete.");
"option 'fake-iquery' is obsolete");
}
if (dns_c_ctx_getfetchglue(cfg, &bval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'fetch-glue' is not yet implemented.");
"option 'fetch-glue' is not yet implemented");
}
if (dns_c_ctx_gethasoldclients(cfg, &bval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'has-old-clients' is obsolete.");
"option 'has-old-clients' is obsolete");
}
......@@ -300,14 +300,14 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'host-statistics' is not yet "
"implemented.");
"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,
"option 'multiple-cnames' is obsolete.");
"option 'multiple-cnames' is obsolete");
}
......@@ -315,20 +315,20 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'rfc2308-type-1' is not yet "
"implemented.");
"implemented");
}
if (dns_c_ctx_getuseidpool(cfg, &bval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'use-id-pool' is obsolete.");
"option 'use-id-pool' is obsolete");
}
if (dns_c_ctx_gettreatcrasspace(cfg, &bval) != ISC_R_NOTFOUND) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'treat-cr-as-space' is obsolete.");
"option 'treat-cr-as-space' is obsolete");
}
......@@ -340,7 +340,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
&severity) != ISC_R_NOTFOUND)) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'check-names' is not yet implemented.");
"option 'check-names' is not yet implemented");
}
......@@ -348,7 +348,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
dns_c_ipmatchlist_detach(&ipml);
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'blackhole' is not yet implemented.");
"option 'blackhole' is not yet implemented");
}
......@@ -356,7 +356,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'lame-ttl' is not yet "
"implemented.");
"implemented");
}
......@@ -364,7 +364,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'max-ncache-ttl' is not yet "
"implemented.");
"implemented");
}
......@@ -372,7 +372,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'max-cache-ttl' is not yet "
"implemented.");
"implemented");
}
......@@ -380,7 +380,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'min-roots' is not yet "
"implemented.");
"implemented");
}
......@@ -388,7 +388,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'serial-queries' is not yet "
"implemented.");
"implemented");
}
......@@ -396,7 +396,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'max-ixfr-log-size' is not yet "
"implemented.");
"implemented");
}
......@@ -404,7 +404,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'coresize' is not yet "
"implemented.");
"implemented");
}
......@@ -412,7 +412,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'datasize' is not yet "
"implemented.");
"implemented");
}
......@@ -420,7 +420,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'files' is not yet "
"implemented.");
"implemented");
}
......@@ -428,7 +428,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'stacksize' is not yet "
"implemented.");
"implemented");
}
......@@ -436,7 +436,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'heartbeat-interval' is not yet "
"implemented.");
"implemented");
}
......@@ -444,7 +444,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'statistics-interval' is not yet "
"implemented.");
"implemented");
}
......@@ -452,7 +452,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
dns_c_ipmatchlist_detach(&ipml);
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'topology' is deprecated.");
"option 'topology' is deprecated");
}
......@@ -460,14 +460,14 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
dns_c_ipmatchlist_detach(&ipml);
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'sortlist' is not yet implemented.");
"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.");
"option 'rrset-order' is not yet implemented");
}
......@@ -476,7 +476,7 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"option 'allow-update-forwarding' is not "
"yet implemented.");
"yet implemented");
}
......@@ -765,12 +765,6 @@ dns_c_ctx_print(FILE *fp, int indent, dns_c_ctx_t *cfg)
}
if (cfg->zlist != NULL) {
dns_c_zonelist_printpreopts(fp, indent, cfg->zlist);
fprintf(fp, "\n");
}
if (cfg->options != NULL) {
dns_c_ctx_optionsprint(fp, indent, cfg->options);
fprintf(fp,"\n");
......@@ -784,7 +778,7 @@ dns_c_ctx_print(FILE *fp, int indent, dns_c_ctx_t *cfg)
if (cfg->zlist != NULL) {
dns_c_zonelist_printpostopts(fp, indent, cfg->zlist);
dns_c_zonelist_print(fp, indent, cfg->zlist);
fprintf(fp, "\n");
}
......@@ -931,6 +925,7 @@ dns_c_ctx_optionsprint(FILE *fp, int indent, dns_c_options_t *options)
PRINT_INTEGER(recursive_clients, "recursive-clients");
PRINT_INTEGER(min_roots, "min-roots");
PRINT_INTEGER(serial_queries, "serial-queries");
PRINT_INTEGER(sig_valid_interval, "sig-validity-interval");
PRINT_AS_SIZE_CLAUSE(data_size, "datasize");
......@@ -1410,6 +1405,7 @@ dns_c_ctx_optionsnew(isc_mem_t *mem, dns_c_options_t **options)
opts->recursive_clients = NULL;
opts->min_roots = NULL;
opts->serial_queries = NULL;
opts->sig_valid_interval = NULL;
opts->data_size = NULL;
opts->stack_size = NULL;
......@@ -1557,6 +1553,7 @@ dns_c_ctx_optionsdelete(dns_c_options_t **opts)
FREEFIELD(recursive_clients);
FREEFIELD(min_roots);
FREEFIELD(serial_queries);
FREEFIELD(sig_valid_interval);
FREEFIELD(data_size);
......@@ -1809,6 +1806,10 @@ GETINT32(serialqueries, serial_queries)
SETINT32(serialqueries, serial_queries)
UNSETINT32(serialqueries, serial_queries)
GETINT32(sigvalidinterval, sig_valid_interval)
SETINT32(sigvalidinterval, sig_valid_interval)
UNSETINT32(sigvalidinterval, sig_valid_interval)
GETUINT32(datasize, data_size)
SETUINT32(datasize, data_size)
UNSETUINT32(datasize, data_size)
......
......@@ -15,7 +15,7 @@
* SOFTWARE.
*/
/* $Id: confndc.c,v 1.16 2000/06/01 18:25:43 tale Exp $ */
/* $Id: confndc.c,v 1.17 2000/06/02 15:12:28 brister Exp $ */
/*
** options {
......@@ -1172,7 +1172,7 @@ parse_keystmt(ndcpcontext *pctx, dns_c_kdeflist_t *keys) {
else if (pctx->tokstr[0] == '\0') {
parser_error(pctx, ISC_TRUE,
"zero length key names are illegal.");
"zero length key names are illegal");
return (ISC_R_FAILURE);
}
......@@ -1205,7 +1205,7 @@ parse_keystmt(ndcpcontext *pctx, dns_c_kdeflist_t *keys) {
if (algorithm != NULL) {
parser_warn(pctx, ISC_FALSE,
"multiple 'algorithm' values.");
"multiple 'algorithm' values");
isc_mem_free(pctx->themem, algorithm);
}
......@@ -1224,7 +1224,7 @@ parse_keystmt(ndcpcontext *pctx, dns_c_kdeflist_t *keys) {
if (secret != NULL) {
parser_warn(pctx, ISC_FALSE,
"multiple 'secret' values.");
"multiple 'secret' values");
isc_mem_free(pctx->themem, secret);
}
......@@ -1415,7 +1415,7 @@ parser_setup(ndcpcontext *pctx, isc_mem_t *mem, const char *filename) {
if (result != ISC_R_SUCCESS) {
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"%s: Error opening file %s.",
"%s: Error opening file %s",
"dns_c_parse_namedconf", filename);
return (result);
}
......@@ -1444,7 +1444,7 @@ parser_setup(ndcpcontext *pctx, isc_mem_t *mem, const char *filename) {
if (result != ISC_R_SUCCESS) {
isc_log_write(dns_lctx, DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_CRITICAL,
"%s: Error installing keyword.",
"%s: Error installing keyword",
"dns_c_parse_namedconf");
return (result);
}
......@@ -1738,7 +1738,7 @@ getnexttoken(ndcpcontext *pctx) {
break;
case ISC_R_NOSPACE:
parser_error(pctx, ISC_TRUE, "token too big.");
parser_error(pctx, ISC_TRUE, "token too big");
result = ISC_R_FAILURE;
break;
......
This diff is collapsed.
......@@ -15,7 +15,7 @@
* SOFTWARE.
*/
/* $Id: confview.c,v 1.29 2000/05/31 13:09:58 brister Exp $ */
/* $Id: confview.c,v 1.30 2000/06/02 15:12:31 brister Exp $ */
#include <config.h>
......@@ -348,58 +348,58 @@ dns_c_viewtable_checkviews(dns_c_viewtable_t *viewtable) {
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"view 'fetch-glue' is not yet "
"implemented.");
"implemented");
if (dns_c_view_getnotify(elem, &bbval) != ISC_R_NOTFOUND)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"view 'notify' is not yet "
"implemented.");
"implemented");
if (dns_c_view_getrfc2308type1(elem, &bbval) != ISC_R_NOTFOUND)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"view 'rfc2308-type1' is not yet "
"implemented.");
"implemented");
if (dns_c_view_getrfc2308type1(elem, &bbval) != ISC_R_NOTFOUND)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"view 'rfc2308-type1' is not yet "
"implemented.");
"implemented");
if (dns_c_view_getmaxncachettl(elem, &bival) != ISC_R_NOTFOUND)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"view 'max-ncache-ttl' is not yet "
"implemented.");
"implemented");
if (dns_c_view_getmaxcachettl(elem, &bival) != ISC_R_NOTFOUND)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"view 'max-cache-ttl' is not yet "
"implemented.");
"implemented");
if (dns_c_view_getlamettl(elem, &bival) != ISC_R_NOTFOUND)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"view 'lame-ttl' is not yet "
"implemented.");
"implemented");
if (dns_c_view_getminroots(elem, &bival) != ISC_R_NOTFOUND)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"view 'min-roots' is not yet "
"implemented.");
"implemented");
if (dns_c_view_getordering(elem, &boval) != ISC_R_NOTFOUND)
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
"view 'rrset-order' is not yet "
"implemented.");
"implemented");
elem = ISC_LIST_NEXT(elem, next);
......@@ -482,6 +482,7 @@ dns_c_view_new(isc_mem_t *mem, const char *name, dns_rdataclass_t viewclass,
view->lamettl = NULL;
view->max_ncache_ttl = NULL;
view->max_cache_ttl = NULL;
view->sig_valid_interval = NULL;
view->additional_data = NULL;
view->transfer_format = NULL;
......@@ -661,6 +662,7 @@ dns_c_view_print(FILE *fp, int indent, dns_c_view_t *view) {
PRINT_INT32(lamettl, "lame-ttl");
PRINT_INT32(max_ncache_ttl, "max-ncache-ttl");
PRINT_INT32(max_cache_ttl, "max-cache-ttl");
PRINT_INT32(sig_valid_interval, "sig-validity-interval");
if (view->additional_data != NULL) {
dns_c_printtabs(fp, indent + 1);
......@@ -792,6 +794,7 @@ dns_c_view_delete(dns_c_view_t **viewptr) {
FREEFIELD(lamettl);
FREEFIELD(max_ncache_ttl);
FREEFIELD(max_cache_ttl);
FREEFIELD(sig_valid_interval);
FREEFIELD(additional_data);
FREEFIELD(transfer_format);
......@@ -1489,6 +1492,11 @@ GETINT32(maxcachettl, max_cache_ttl)
UNSETINT32(maxcachettl, max_cache_ttl)
SETINT32(sigvalidinterval, sig_valid_interval)
GETINT32(sigvalidinterval, sig_valid_interval)
UNSETINT32(sigvalidinterval, sig_valid_interval)
GETBYTYPE(dns_c_addata_t, additionaldata, additional_data)
SETBYTYPE(dns_c_addata_t, additionaldata, additional_data)
UNSETBYTYPE(dns_c_addata_t, additionaldata, additional_data)
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -114,6 +114,7 @@ struct dns_c_master_zone {
dns_c_pklist_t *pubkeylist;
isc_int32_t max_trans_time_out;
isc_int32_t max_trans_idle_out;
isc_int32_t sig_valid_interval;
dns_c_forw_t forward;
dns_c_iplist_t *forwarders;
......@@ -183,7 +184,7 @@ struct dns_c_forward_zone {
struct dns_c_hint_zone {
char *file;
dns_severity_t check_names;
dns_severity_t check_names;
dns_c_pklist_t *pubkeylist;
dns_c_setbits_t setflags;
......@@ -222,254 +223,206 @@ struct dns_c_zone {
ISC_LANG_BEGINDECLS
isc_result_t
dns_c_zonelist_new(isc_mem_t *mem, dns_c_zonelist_t **zlist);
isc_result_t
dns_c_zonelist_delete(dns_c_zonelist_t **zlist);
isc_result_t
dns_c_zonelist_checkzones(dns_c_zonelist_t *zlist);
#if 0
dns_c_zone_t *
dns_c_zonelist_currzone(dns_c_zonelist_t *zlist);
#endif
isc_result_t
dns_c_zonelist_find(dns_c_zonelist_t *zlist, const char *name,
dns_c_zone_t **retval);
isc_result_t
dns_c_zonelist_rmbyname(dns_c_zonelist_t *zlist, const char *name);
isc_result_t
dns_c_zonelist_addzone(dns_c_zonelist_t *zlist, dns_c_zone_t *zone);
isc_result_t
dns_c_zonelist_rmzone(dns_c_zonelist_t *zlist, dns_c_zone_t *zone);
void
dns_c_zonelist_print(FILE *fp, int indent, dns_c_zonelist_t *list);
void
dns_c_zonelist_printpostopts(FILE *fp, int indent, dns_c_zonelist_t *list);
void
dns_c_zonelist_printpreopts(FILE *fp, int indent, dns_c_zonelist_t *list);
dns_c_zone_t *
dns_c_zonelist_firstzone(dns_c_zonelist_t *list);
isc_result_t dns_c_zonelist_new(isc_mem_t *mem, dns_c_zonelist_t **zlist);
isc_result_t dns_c_zonelist_delete(dns_c_zonelist_t **zlist);
isc_result_t dns_c_zonelist_checkzones(dns_c_zonelist_t *zlist);
isc_result_t dns_c_zonelist_find(dns_c_zonelist_t *zlist, const char *name,
dns_c_zone_t **retval);
isc_result_t dns_c_zonelist_rmbyname(dns_c_zonelist_t *zlist,
const char *name);
isc_result_t dns_c_zonelist_addzone(dns_c_zonelist_t *zlist,
dns_c_zone_t *zone);
isc_result_t dns_c_zonelist_rmzone(dns_c_zonelist_t *zlist,
dns_c_zone_t *zone);
void dns_c_zonelist_print(FILE *fp, int indent, dns_c_zonelist_t *list);
void dns_c_zonelist_printpostopts(FILE *fp, int indent,
dns_c_zonelist_t *list);
void dns_c_zonelist_printpreopts(FILE *fp, int indent,
dns_c_zonelist_t *list);
dns_c_zone_t * dns_c_zonelist_firstzone(dns_c_zonelist_t *list);
dns_c_zone_t * dns_c_zonelist_nextzone(dns_c_zonelist_t *list,
dns_c_zone_t *thezone);
dns_c_zone_t *
dns_c_zonelist_nextzone(dns_c_zonelist_t *list, dns_c_zone_t *thezone);
isc_result_t
dns_c_zone_new(isc_mem_t *mem, dns_c_zonetype_t ztype,
dns_rdataclass_t zclass, const char *name,
const char *internalname, dns_c_zone_t **zone);
/*
*
*/
isc_result_t dns_c_zone_new(isc_mem_t *mem, dns_c_zonetype_t ztype,
dns_rdataclass_t zclass, const char *name,