mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-01 15:05:23 +00:00
Support many new values in a view statement.
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: confview.c,v 1.17 2000/04/05 15:18:42 brister Exp $ */
|
/* $Id: confview.c,v 1.18 2000/04/06 09:46:53 brister Exp $ */
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
@@ -54,6 +54,11 @@
|
|||||||
#define GETINT32(FUNC, FIELD) GETBYTYPE(isc_int32_t, FUNC, FIELD)
|
#define GETINT32(FUNC, FIELD) GETBYTYPE(isc_int32_t, FUNC, FIELD)
|
||||||
#define UNSETINT32(FUNC, FIELD) UNSETBYTYPE(isc_int32_t, FUNC, FIELD)
|
#define UNSETINT32(FUNC, FIELD) UNSETBYTYPE(isc_int32_t, FUNC, FIELD)
|
||||||
|
|
||||||
|
#define SETSOCKADDR(FUNC, FIELD) SETBYTYPE(isc_sockaddr_t, FUNC, FIELD)
|
||||||
|
#define GETSOCKADDR(FUNC, FIELD) GETBYTYPE(isc_sockaddr_t, FUNC, FIELD)
|
||||||
|
#define UNSETSOCKADDR(FUNC, FIELD) UNSETBYTYPE(isc_sockaddr_t, FUNC, FIELD)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef PVT_CONCAT
|
#ifdef PVT_CONCAT
|
||||||
#undef PVT_CONCAT
|
#undef PVT_CONCAT
|
||||||
@@ -353,6 +358,77 @@ dns_c_viewtable_rmviewbyname(dns_c_viewtable_t *viewtable,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
isc_result_t
|
||||||
|
dns_c_viewtable_checkviews(dns_c_viewtable_t *viewtable)
|
||||||
|
{
|
||||||
|
dns_c_view_t *elem;
|
||||||
|
isc_boolean_t bbval;
|
||||||
|
isc_int32_t bival;
|
||||||
|
isc_result_t result = ISC_R_SUCCESS;
|
||||||
|
dns_c_rrsolist_t *boval;
|
||||||
|
|
||||||
|
REQUIRE(DNS_C_VIEWTABLE_VALID(viewtable));
|
||||||
|
|
||||||
|
elem = ISC_LIST_HEAD(viewtable->views);
|
||||||
|
while (elem != NULL) {
|
||||||
|
if (dns_c_view_getfetchglue(elem, &bbval) != ISC_R_NOTFOUND)
|
||||||
|
isc_log_write(dns_lctx,DNS_LOGCATEGORY_CONFIG,
|
||||||
|
DNS_LOGMODULE_CONFIG, ISC_LOG_WARNING,
|
||||||
|
"view `fetch-glue' is not yet "
|
||||||
|
"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.");
|
||||||
|
|
||||||
|
|
||||||
|
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.");
|
||||||
|
|
||||||
|
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.");
|
||||||
|
|
||||||
|
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.");
|
||||||
|
|
||||||
|
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.");
|
||||||
|
|
||||||
|
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.");
|
||||||
|
|
||||||
|
|
||||||
|
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.");
|
||||||
|
|
||||||
|
|
||||||
|
elem = ISC_LIST_NEXT(elem, next);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* ***************************************************************** */
|
/* ***************************************************************** */
|
||||||
/* ***************************************************************** */
|
/* ***************************************************************** */
|
||||||
@@ -394,7 +470,6 @@ dns_c_view_new(isc_mem_t *mem, const char *name, dns_c_view_t **newview)
|
|||||||
view->allowupdateforwarding = NULL;
|
view->allowupdateforwarding = NULL;
|
||||||
view->transferacl = NULL;
|
view->transferacl = NULL;
|
||||||
view->recursionacl = NULL;
|
view->recursionacl = NULL;
|
||||||
view->blackhole = NULL;
|
|
||||||
view->sortlist = NULL;
|
view->sortlist = NULL;
|
||||||
view->topology = NULL;
|
view->topology = NULL;
|
||||||
view->matchclients = NULL;
|
view->matchclients = NULL;
|
||||||
@@ -406,32 +481,33 @@ dns_c_view_new(isc_mem_t *mem, const char *name, dns_c_view_t **newview)
|
|||||||
view->check_names[dns_trans_response] = NULL;
|
view->check_names[dns_trans_response] = NULL;
|
||||||
|
|
||||||
view->auth_nx_domain = NULL;
|
view->auth_nx_domain = NULL;
|
||||||
view->dialup = NULL;
|
|
||||||
view->fetch_glue = NULL;
|
|
||||||
view->has_old_clients = NULL;
|
|
||||||
view->host_statistics = NULL;
|
|
||||||
view->multiple_cnames = NULL;
|
|
||||||
view->notify = NULL;
|
|
||||||
view->recursion = NULL;
|
view->recursion = NULL;
|
||||||
view->rfc2308_type1 = NULL;
|
|
||||||
view->use_id_pool = NULL;
|
|
||||||
view->fake_iquery = NULL;
|
|
||||||
view->use_ixfr = NULL;
|
|
||||||
view->provide_ixfr = NULL;
|
view->provide_ixfr = NULL;
|
||||||
view->request_ixfr = NULL;
|
view->request_ixfr = NULL;
|
||||||
|
view->fetch_glue = NULL;
|
||||||
|
view->notify = NULL;
|
||||||
|
view->rfc2308_type1 = NULL;
|
||||||
|
|
||||||
|
view->transfer_source = NULL;
|
||||||
|
view->transfer_source_v6 = NULL;
|
||||||
|
view->query_source = NULL;
|
||||||
|
view->query_source_v6 = NULL;
|
||||||
|
|
||||||
view->clean_interval = NULL;
|
|
||||||
view->lamettl = NULL;
|
|
||||||
view->max_log_size_ixfr = NULL;
|
|
||||||
view->max_ncache_ttl = NULL;
|
|
||||||
view->max_transfer_time_in = NULL;
|
|
||||||
view->max_transfer_time_out = NULL;
|
view->max_transfer_time_out = NULL;
|
||||||
view->max_transfer_idle_in = NULL;
|
|
||||||
view->max_transfer_idle_out = NULL;
|
view->max_transfer_idle_out = NULL;
|
||||||
view->stats_interval = NULL;
|
view->clean_interval = NULL;
|
||||||
view->transfers_in = NULL;
|
view->min_roots = NULL;
|
||||||
view->transfers_out = NULL;
|
view->lamettl = NULL;
|
||||||
|
view->max_ncache_ttl = NULL;
|
||||||
|
|
||||||
|
view->transfer_format = NULL;
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
view->max_transfer_time_in = NULL;
|
||||||
|
view->max_transfer_idle_in = NULL;
|
||||||
view->transfers_per_ns = NULL;
|
view->transfers_per_ns = NULL;
|
||||||
|
view->serial_queries = NULL;
|
||||||
|
#endif
|
||||||
|
|
||||||
ISC_LINK_INIT(view, next);
|
ISC_LINK_INIT(view, next);
|
||||||
|
|
||||||
@@ -445,12 +521,38 @@ void
|
|||||||
dns_c_view_print(FILE *fp, int indent, dns_c_view_t *view)
|
dns_c_view_print(FILE *fp, int indent, dns_c_view_t *view)
|
||||||
{
|
{
|
||||||
dns_severity_t nameseverity;
|
dns_severity_t nameseverity;
|
||||||
|
in_port_t port;
|
||||||
|
|
||||||
REQUIRE(DNS_C_VIEW_VALID(view));
|
REQUIRE(DNS_C_VIEW_VALID(view));
|
||||||
|
|
||||||
dns_c_printtabs(fp, indent);
|
dns_c_printtabs(fp, indent);
|
||||||
fprintf(fp, "view \"%s\" {\n", view->name);
|
fprintf(fp, "view \"%s\" {\n", view->name);
|
||||||
|
|
||||||
|
#define PRINT_IPANDPORT(FIELD, NAME) \
|
||||||
|
if (view->FIELD != NULL) { \
|
||||||
|
port = isc_sockaddr_getport(view->FIELD); \
|
||||||
|
\
|
||||||
|
dns_c_printtabs(fp, indent + 1); \
|
||||||
|
fprintf(fp, NAME " address "); \
|
||||||
|
\
|
||||||
|
dns_c_print_ipaddr(fp, view->FIELD); \
|
||||||
|
\
|
||||||
|
if (port == 0) { \
|
||||||
|
fprintf(fp, " port *"); \
|
||||||
|
} else { \
|
||||||
|
fprintf(fp, " port %d", port); \
|
||||||
|
} \
|
||||||
|
fprintf(fp, " ;\n"); \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define PRINT_IP(FIELD, NAME) \
|
||||||
|
if (view->FIELD != NULL) { \
|
||||||
|
dns_c_printtabs(fp, indent + 1); \
|
||||||
|
fprintf(fp, NAME " "); \
|
||||||
|
dns_c_print_ipaddr(fp, view->FIELD); \
|
||||||
|
fprintf(fp, ";\n"); \
|
||||||
|
}
|
||||||
|
|
||||||
#define PRINT_IPMLIST(FIELD, NAME) \
|
#define PRINT_IPMLIST(FIELD, NAME) \
|
||||||
if (view->FIELD != NULL) { \
|
if (view->FIELD != NULL) { \
|
||||||
dns_c_printtabs(fp, indent + 1); \
|
dns_c_printtabs(fp, indent + 1); \
|
||||||
@@ -471,20 +573,17 @@ dns_c_view_print(FILE *fp, int indent, dns_c_view_t *view)
|
|||||||
#define PRINT_INT32(FIELD, NAME) \
|
#define PRINT_INT32(FIELD, NAME) \
|
||||||
if (view->FIELD != NULL) { \
|
if (view->FIELD != NULL) { \
|
||||||
dns_c_printtabs(fp, indent + 1); \
|
dns_c_printtabs(fp, indent + 1); \
|
||||||
fprintf(fp, "%s %d;\n",NAME,(int)view->FIELD); \
|
fprintf(fp, "%s %d;\n",NAME,(int)*view->FIELD); \
|
||||||
}
|
}
|
||||||
|
|
||||||
PRINT_IPMLIST(allowquery, "allow-query");
|
#define PRINT_AS_MINUTES(FIELD, NAME) \
|
||||||
PRINT_IPMLIST(transferacl, "alllow-transfer");
|
if (view->FIELD != NULL) { \
|
||||||
PRINT_IPMLIST(recursionacl, "allow-recursion");
|
dns_c_printtabs(fp, indent + 1); \
|
||||||
PRINT_IPMLIST(allowupdateforwarding, "allow-update-forwarding");
|
fprintf(fp, "%s %lu;\n",NAME, \
|
||||||
PRINT_IPMLIST(blackhole, "backhole");
|
(unsigned long)(*view->FIELD / 60)); \
|
||||||
PRINT_IPMLIST(sortlist, "sortlist");
|
}
|
||||||
PRINT_IPMLIST(topology, "topology");
|
|
||||||
PRINT_IPMLIST(matchclients, "match-clients");
|
|
||||||
|
|
||||||
fprintf(fp, "\n");
|
|
||||||
|
|
||||||
|
/* XXX print forward field */
|
||||||
if (view->forwarders != NULL) {
|
if (view->forwarders != NULL) {
|
||||||
dns_c_printtabs(fp, indent + 1);
|
dns_c_printtabs(fp, indent + 1);
|
||||||
fprintf(fp, "forwarders ");
|
fprintf(fp, "forwarders ");
|
||||||
@@ -493,6 +592,16 @@ dns_c_view_print(FILE *fp, int indent, dns_c_view_t *view)
|
|||||||
fprintf(fp, ";\n");
|
fprintf(fp, ";\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PRINT_IPMLIST(allowquery, "allow-query");
|
||||||
|
PRINT_IPMLIST(allowupdateforwarding, "allow-update-forwarding");
|
||||||
|
PRINT_IPMLIST(transferacl, "alllow-transfer");
|
||||||
|
PRINT_IPMLIST(recursionacl, "allow-recursion");
|
||||||
|
PRINT_IPMLIST(sortlist, "sortlist");
|
||||||
|
PRINT_IPMLIST(topology, "topology");
|
||||||
|
PRINT_IPMLIST(matchclients, "match-clients");
|
||||||
|
|
||||||
|
fprintf(fp, "\n");
|
||||||
|
|
||||||
if (view->ordering != NULL) {
|
if (view->ordering != NULL) {
|
||||||
dns_c_rrsolist_print(fp, indent + 1, view->ordering);
|
dns_c_rrsolist_print(fp, indent + 1, view->ordering);
|
||||||
}
|
}
|
||||||
@@ -523,33 +632,42 @@ dns_c_view_print(FILE *fp, int indent, dns_c_view_t *view)
|
|||||||
|
|
||||||
|
|
||||||
PRINT_AS_BOOLEAN(auth_nx_domain, "auth-nxdomain");
|
PRINT_AS_BOOLEAN(auth_nx_domain, "auth-nxdomain");
|
||||||
PRINT_AS_BOOLEAN(dialup, "dialup");
|
|
||||||
PRINT_AS_BOOLEAN(fetch_glue, "fetch-glue");
|
|
||||||
PRINT_AS_BOOLEAN(has_old_clients, "has-old-clients");
|
|
||||||
PRINT_AS_BOOLEAN(host_statistics, "host-statistics");
|
|
||||||
PRINT_AS_BOOLEAN(multiple_cnames, "multiple-cnames");
|
|
||||||
PRINT_AS_BOOLEAN(notify, "notify");
|
|
||||||
PRINT_AS_BOOLEAN(recursion, "recursion");
|
PRINT_AS_BOOLEAN(recursion, "recursion");
|
||||||
PRINT_AS_BOOLEAN(rfc2308_type1, "rfc2308-type1");
|
|
||||||
PRINT_AS_BOOLEAN(use_id_pool, "use-id-pool");
|
|
||||||
PRINT_AS_BOOLEAN(fake_iquery, "fake-iquery");
|
|
||||||
PRINT_AS_BOOLEAN(use_ixfr, "use-ixfr");
|
|
||||||
PRINT_AS_BOOLEAN(provide_ixfr, "provide-ixfr");
|
PRINT_AS_BOOLEAN(provide_ixfr, "provide-ixfr");
|
||||||
PRINT_AS_BOOLEAN(request_ixfr, "request-ixfr");
|
PRINT_AS_BOOLEAN(request_ixfr, "request-ixfr");
|
||||||
|
PRINT_AS_BOOLEAN(fetch_glue, "fetch-glue");
|
||||||
|
PRINT_AS_BOOLEAN(notify, "notify");
|
||||||
|
PRINT_AS_BOOLEAN(rfc2308_type1, "rfc2308-type1");
|
||||||
|
|
||||||
|
|
||||||
|
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");
|
||||||
|
|
||||||
|
PRINT_AS_MINUTES(max_transfer_time_out, "max-transfer-time-out");
|
||||||
|
PRINT_AS_MINUTES(max_transfer_idle_out, "max-transfer-idle-out");
|
||||||
|
PRINT_AS_MINUTES(clean_interval, "cleaning-interval");
|
||||||
|
|
||||||
|
PRINT_INT32(min_roots, "min-roots");
|
||||||
|
PRINT_INT32(lamettl, "lame-ttl");
|
||||||
|
PRINT_INT32(max_ncache_ttl, "max-ncache-ttl");
|
||||||
|
|
||||||
|
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));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
PRINT_INT32(clean_interval, "cleaning-interval");
|
#if 0
|
||||||
PRINT_INT32(lamettl, "lamettl");
|
|
||||||
PRINT_INT32(max_log_size_ixfr, "max_log_size_ixfr");
|
|
||||||
PRINT_INT32(max_ncache_ttl, "max-ncache-ttl");
|
|
||||||
PRINT_INT32(max_transfer_time_in, "max-transfer-time-in");
|
PRINT_INT32(max_transfer_time_in, "max-transfer-time-in");
|
||||||
PRINT_INT32(max_transfer_time_out, "max-transfer-time-out");
|
|
||||||
PRINT_INT32(max_transfer_idle_in, "max-transfer-idle-in");
|
PRINT_INT32(max_transfer_idle_in, "max-transfer-idle-in");
|
||||||
PRINT_INT32(max_transfer_idle_out, "max-transfer-idle-out");
|
|
||||||
PRINT_INT32(stats_interval, "statistics-interval");
|
|
||||||
PRINT_INT32(transfers_in, "transfers-in");
|
|
||||||
PRINT_INT32(transfers_out, "transfers-out");
|
|
||||||
PRINT_INT32(transfers_per_ns, "transfers-per-ns");
|
PRINT_INT32(transfers_per_ns, "transfers-per-ns");
|
||||||
|
PRINT_INT32(serialqueries, "serial-queries");
|
||||||
|
#endif
|
||||||
|
|
||||||
fprintf(fp, "\n");
|
fprintf(fp, "\n");
|
||||||
|
|
||||||
@@ -563,6 +681,8 @@ dns_c_view_print(FILE *fp, int indent, dns_c_view_t *view)
|
|||||||
#undef PRINT_IPMLIST
|
#undef PRINT_IPMLIST
|
||||||
#undef PRINT_AS_BOOLEAN
|
#undef PRINT_AS_BOOLEAN
|
||||||
#undef PRINT_INT32
|
#undef PRINT_INT32
|
||||||
|
#undef PRINT_IP
|
||||||
|
#undef PRINT_IPANDPORT
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -582,7 +702,7 @@ dns_c_view_delete(dns_c_view_t **viewptr)
|
|||||||
|
|
||||||
#define FREEFIELD(FIELD) \
|
#define FREEFIELD(FIELD) \
|
||||||
do { if (view->FIELD != NULL) { \
|
do { if (view->FIELD != NULL) { \
|
||||||
isc_mem_put(view->mem, view->FIELD, sizeof (view->FIELD)); \
|
isc_mem_put(view->mem, view->FIELD, sizeof (*view->FIELD)); \
|
||||||
view->FIELD = NULL; \
|
view->FIELD = NULL; \
|
||||||
} } while (0)
|
} } while (0)
|
||||||
|
|
||||||
@@ -607,7 +727,6 @@ dns_c_view_delete(dns_c_view_t **viewptr)
|
|||||||
FREEIPMLIST(allowupdateforwarding);
|
FREEIPMLIST(allowupdateforwarding);
|
||||||
FREEIPMLIST(transferacl);
|
FREEIPMLIST(transferacl);
|
||||||
FREEIPMLIST(recursionacl);
|
FREEIPMLIST(recursionacl);
|
||||||
FREEIPMLIST(blackhole);
|
|
||||||
FREEIPMLIST(sortlist);
|
FREEIPMLIST(sortlist);
|
||||||
FREEIPMLIST(topology);
|
FREEIPMLIST(topology);
|
||||||
FREEIPMLIST(matchclients);
|
FREEIPMLIST(matchclients);
|
||||||
@@ -622,32 +741,34 @@ dns_c_view_delete(dns_c_view_t **viewptr)
|
|||||||
FREEFIELD(check_names[dns_trans_response]);
|
FREEFIELD(check_names[dns_trans_response]);
|
||||||
|
|
||||||
FREEFIELD(auth_nx_domain);
|
FREEFIELD(auth_nx_domain);
|
||||||
FREEFIELD(dialup);
|
|
||||||
FREEFIELD(fetch_glue);
|
|
||||||
FREEFIELD(has_old_clients);
|
|
||||||
FREEFIELD(host_statistics);
|
|
||||||
FREEFIELD(multiple_cnames);
|
|
||||||
FREEFIELD(notify);
|
|
||||||
FREEFIELD(recursion);
|
FREEFIELD(recursion);
|
||||||
FREEFIELD(rfc2308_type1);
|
|
||||||
FREEFIELD(use_id_pool);
|
|
||||||
FREEFIELD(fake_iquery);
|
|
||||||
FREEFIELD(use_ixfr);
|
|
||||||
FREEFIELD(provide_ixfr);
|
FREEFIELD(provide_ixfr);
|
||||||
FREEFIELD(request_ixfr);
|
FREEFIELD(request_ixfr);
|
||||||
|
FREEFIELD(fetch_glue);
|
||||||
FREEFIELD(clean_interval);
|
FREEFIELD(notify);
|
||||||
FREEFIELD(lamettl);
|
FREEFIELD(rfc2308_type1);
|
||||||
FREEFIELD(max_log_size_ixfr);
|
|
||||||
FREEFIELD(max_ncache_ttl);
|
FREEFIELD(transfer_source);
|
||||||
FREEFIELD(max_transfer_time_in);
|
FREEFIELD(transfer_source_v6);
|
||||||
|
FREEFIELD(query_source);
|
||||||
|
FREEFIELD(query_source_v6);
|
||||||
|
|
||||||
FREEFIELD(max_transfer_time_out);
|
FREEFIELD(max_transfer_time_out);
|
||||||
FREEFIELD(max_transfer_idle_in);
|
|
||||||
FREEFIELD(max_transfer_idle_out);
|
FREEFIELD(max_transfer_idle_out);
|
||||||
FREEFIELD(stats_interval);
|
FREEFIELD(clean_interval);
|
||||||
FREEFIELD(transfers_in);
|
FREEFIELD(min_roots);
|
||||||
FREEFIELD(transfers_out);
|
FREEFIELD(lamettl);
|
||||||
|
FREEFIELD(max_ncache_ttl);
|
||||||
|
|
||||||
|
FREEFIELD(transfer_format);
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
FREEFIELD(max_transfer_time_in);
|
||||||
|
FREEFIELD(max_transfer_idle_in);
|
||||||
FREEFIELD(transfers_per_ns);
|
FREEFIELD(transfers_per_ns);
|
||||||
|
FREEFIELD(serial_queries);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
view->magic = 0;
|
view->magic = 0;
|
||||||
isc_mem_put(view->mem, view, sizeof *view);
|
isc_mem_put(view->mem, view, sizeof *view);
|
||||||
@@ -854,9 +975,7 @@ dns_c_view_getordering(dns_c_view_t *view,
|
|||||||
REQUIRE(DNS_C_VIEW_VALID(view));
|
REQUIRE(DNS_C_VIEW_VALID(view));
|
||||||
REQUIRE(olist != NULL);
|
REQUIRE(olist != NULL);
|
||||||
|
|
||||||
if (view->ordering != NULL) {
|
*olist = view->ordering;
|
||||||
*olist = view->ordering;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (*olist == NULL ? ISC_R_NOTFOUND : ISC_R_SUCCESS);
|
return (*olist == NULL ? ISC_R_NOTFOUND : ISC_R_SUCCESS);
|
||||||
}
|
}
|
||||||
@@ -994,9 +1113,9 @@ GETIPMLIST(allowupdateforwarding, allowupdateforwarding)
|
|||||||
SETIPMLIST(allowupdateforwarding, allowupdateforwarding)
|
SETIPMLIST(allowupdateforwarding, allowupdateforwarding)
|
||||||
UNSETIPMLIST(allowupdateforwarding, allowupdateforwarding)
|
UNSETIPMLIST(allowupdateforwarding, allowupdateforwarding)
|
||||||
|
|
||||||
GETIPMLIST(blackhole, blackhole)
|
GETIPMLIST(transferacl, transferacl)
|
||||||
SETIPMLIST(blackhole, blackhole)
|
SETIPMLIST(transferacl, transferacl)
|
||||||
UNSETIPMLIST(blackhole, blackhole)
|
UNSETIPMLIST(transferacl, transferacl)
|
||||||
|
|
||||||
GETIPMLIST(recursionacl, recursionacl)
|
GETIPMLIST(recursionacl, recursionacl)
|
||||||
SETIPMLIST(recursionacl, recursionacl)
|
SETIPMLIST(recursionacl, recursionacl)
|
||||||
@@ -1014,111 +1133,110 @@ GETIPMLIST(matchclients, matchclients)
|
|||||||
SETIPMLIST(matchclients, matchclients)
|
SETIPMLIST(matchclients, matchclients)
|
||||||
UNSETIPMLIST(matchclients, matchclients)
|
UNSETIPMLIST(matchclients, matchclients)
|
||||||
|
|
||||||
GETIPMLIST(transferacl, transferacl)
|
|
||||||
SETIPMLIST(transferacl, transferacl)
|
|
||||||
UNSETIPMLIST(transferacl, transferacl)
|
|
||||||
|
|
||||||
GETBOOL(authnxdomain, auth_nx_domain)
|
|
||||||
SETBOOL(authnxdomain, auth_nx_domain)
|
SETBOOL(authnxdomain, auth_nx_domain)
|
||||||
|
GETBOOL(authnxdomain, auth_nx_domain)
|
||||||
UNSETBOOL(authnxdomain, auth_nx_domain)
|
UNSETBOOL(authnxdomain, auth_nx_domain)
|
||||||
|
|
||||||
GETBOOL(dialup, dialup)
|
|
||||||
SETBOOL(dialup, dialup)
|
|
||||||
UNSETBOOL(dialup, dialup)
|
|
||||||
|
|
||||||
GETBOOL(fakeiquery, fake_iquery)
|
|
||||||
SETBOOL(fakeiquery, fake_iquery)
|
|
||||||
UNSETBOOL(fakeiquery, fake_iquery)
|
|
||||||
|
|
||||||
GETBOOL(fetchglue, fetch_glue)
|
|
||||||
SETBOOL(fetchglue, fetch_glue)
|
|
||||||
UNSETBOOL(fetchglue, fetch_glue)
|
|
||||||
|
|
||||||
GETBOOL(hasoldclients, has_old_clients)
|
|
||||||
SETBOOL(hasoldclients, has_old_clients)
|
|
||||||
UNSETBOOL(hasoldclients, has_old_clients)
|
|
||||||
|
|
||||||
GETBOOL(hoststatistics, host_statistics)
|
|
||||||
SETBOOL(hoststatistics, host_statistics)
|
|
||||||
UNSETBOOL(hoststatistics, host_statistics)
|
|
||||||
|
|
||||||
GETBOOL(multiplecnames, multiple_cnames)
|
|
||||||
SETBOOL(multiplecnames, multiple_cnames)
|
|
||||||
UNSETBOOL(multiplecnames, multiple_cnames)
|
|
||||||
|
|
||||||
GETBOOL(notify, notify)
|
|
||||||
SETBOOL(notify, notify)
|
|
||||||
UNSETBOOL(notify, notify)
|
|
||||||
|
|
||||||
GETBOOL(provideixfr, provide_ixfr)
|
|
||||||
SETBOOL(provideixfr, provide_ixfr)
|
|
||||||
UNSETBOOL(provideixfr, provide_ixfr)
|
|
||||||
|
|
||||||
GETBOOL(recursion, recursion)
|
|
||||||
SETBOOL(recursion, recursion)
|
SETBOOL(recursion, recursion)
|
||||||
|
GETBOOL(recursion, recursion)
|
||||||
UNSETBOOL(recursion, recursion)
|
UNSETBOOL(recursion, recursion)
|
||||||
|
|
||||||
GETBOOL(requestixfr, request_ixfr)
|
SETBOOL(provideixfr, provide_ixfr)
|
||||||
|
GETBOOL(provideixfr, provide_ixfr)
|
||||||
|
UNSETBOOL(provideixfr, provide_ixfr)
|
||||||
|
|
||||||
SETBOOL(requestixfr, request_ixfr)
|
SETBOOL(requestixfr, request_ixfr)
|
||||||
|
GETBOOL(requestixfr, request_ixfr)
|
||||||
UNSETBOOL(requestixfr, request_ixfr)
|
UNSETBOOL(requestixfr, request_ixfr)
|
||||||
|
|
||||||
GETBOOL(rfc2308type1, rfc2308_type1)
|
SETBOOL(fetchglue, fetch_glue)
|
||||||
|
GETBOOL(fetchglue, fetch_glue)
|
||||||
|
UNSETBOOL(fetchglue, fetch_glue)
|
||||||
|
|
||||||
|
SETBOOL(notify, notify)
|
||||||
|
GETBOOL(notify, notify)
|
||||||
|
UNSETBOOL(notify, notify)
|
||||||
|
|
||||||
SETBOOL(rfc2308type1, rfc2308_type1)
|
SETBOOL(rfc2308type1, rfc2308_type1)
|
||||||
|
GETBOOL(rfc2308type1, rfc2308_type1)
|
||||||
UNSETBOOL(rfc2308type1, rfc2308_type1)
|
UNSETBOOL(rfc2308type1, rfc2308_type1)
|
||||||
|
|
||||||
GETBOOL(useidpool, use_id_pool)
|
GETSOCKADDR(transfersource, transfer_source)
|
||||||
SETBOOL(useidpool, use_id_pool)
|
SETSOCKADDR(transfersource, transfer_source)
|
||||||
UNSETBOOL(useidpool, use_id_pool)
|
UNSETSOCKADDR(transfersource, transfer_source)
|
||||||
|
|
||||||
GETBOOL(useixfr, use_ixfr)
|
GETSOCKADDR(transfersourcev6, transfer_source_v6)
|
||||||
SETBOOL(useixfr, use_ixfr)
|
SETSOCKADDR(transfersourcev6, transfer_source_v6)
|
||||||
UNSETBOOL(useixfr, use_ixfr)
|
UNSETSOCKADDR(transfersourcev6, transfer_source_v6)
|
||||||
|
|
||||||
GETINT32(cleaninterval, clean_interval)
|
GETSOCKADDR(querysource, query_source)
|
||||||
SETINT32(cleaninterval, clean_interval)
|
SETSOCKADDR(querysource, query_source)
|
||||||
UNSETINT32(cleaninterval, clean_interval)
|
UNSETSOCKADDR(querysource, query_source)
|
||||||
|
|
||||||
GETINT32(lamettl, lamettl)
|
GETSOCKADDR(querysourcev6, query_source_v6)
|
||||||
SETINT32(lamettl, lamettl)
|
SETSOCKADDR(querysourcev6, query_source_v6)
|
||||||
UNSETINT32(lamettl, lamettl)
|
UNSETSOCKADDR(querysourcev6, query_source_v6)
|
||||||
|
|
||||||
GETINT32(maxlogsizeixfr, max_log_size_ixfr)
|
|
||||||
SETINT32(maxlogsizeixfr, max_log_size_ixfr)
|
|
||||||
UNSETINT32(maxlogsizeixfr, max_log_size_ixfr)
|
|
||||||
|
|
||||||
GETINT32(maxncachettl, max_ncache_ttl)
|
|
||||||
SETINT32(maxncachettl, max_ncache_ttl)
|
|
||||||
UNSETINT32(maxncachettl, max_ncache_ttl)
|
|
||||||
|
|
||||||
GETINT32(maxtransferidlein, max_transfer_idle_in)
|
|
||||||
SETINT32(maxtransferidlein, max_transfer_idle_in)
|
|
||||||
UNSETINT32(maxtransferidlein, max_transfer_idle_in)
|
|
||||||
|
|
||||||
GETINT32(maxtransferidleout, max_transfer_idle_out)
|
|
||||||
SETINT32(maxtransferidleout, max_transfer_idle_out)
|
|
||||||
UNSETINT32(maxtransferidleout, max_transfer_idle_out)
|
|
||||||
|
|
||||||
GETINT32(maxtransfertimein, max_transfer_time_in)
|
|
||||||
SETINT32(maxtransfertimein, max_transfer_time_in)
|
|
||||||
UNSETINT32(maxtransfertimein, max_transfer_time_in)
|
|
||||||
|
|
||||||
GETINT32(maxtransfertimeout, max_transfer_time_out)
|
|
||||||
SETINT32(maxtransfertimeout, max_transfer_time_out)
|
SETINT32(maxtransfertimeout, max_transfer_time_out)
|
||||||
|
GETINT32(maxtransfertimeout, max_transfer_time_out)
|
||||||
UNSETINT32(maxtransfertimeout, max_transfer_time_out)
|
UNSETINT32(maxtransfertimeout, max_transfer_time_out)
|
||||||
|
|
||||||
GETINT32(statsinterval, stats_interval)
|
SETINT32(maxtransferidleout, max_transfer_idle_out)
|
||||||
SETINT32(statsinterval, stats_interval)
|
GETINT32(maxtransferidleout, max_transfer_idle_out)
|
||||||
UNSETINT32(statsinterval, stats_interval)
|
UNSETINT32(maxtransferidleout, max_transfer_idle_out)
|
||||||
|
|
||||||
GETINT32(transfersin, transfers_in)
|
SETINT32(cleaninterval, clean_interval)
|
||||||
SETINT32(transfersin, transfers_in)
|
GETINT32(cleaninterval, clean_interval)
|
||||||
UNSETINT32(transfersin, transfers_in)
|
UNSETINT32(cleaninterval, clean_interval)
|
||||||
|
|
||||||
GETINT32(transfersout, transfers_out)
|
SETINT32(minroots, min_roots)
|
||||||
SETINT32(transfersout, transfers_out)
|
GETINT32(minroots, min_roots)
|
||||||
UNSETINT32(transfersout, transfers_out)
|
UNSETINT32(minroots, min_roots)
|
||||||
|
|
||||||
|
SETINT32(lamettl, lamettl)
|
||||||
|
GETINT32(lamettl, lamettl)
|
||||||
|
UNSETINT32(lamettl, lamettl)
|
||||||
|
|
||||||
|
SETINT32(maxncachettl, max_ncache_ttl)
|
||||||
|
GETINT32(maxncachettl, max_ncache_ttl)
|
||||||
|
UNSETINT32(maxncachettl, max_ncache_ttl)
|
||||||
|
|
||||||
|
|
||||||
|
GETBYTYPE(dns_transfer_format_t, transferformat, transfer_format)
|
||||||
|
SETBYTYPE(dns_transfer_format_t, transferformat, transfer_format)
|
||||||
|
UNSETBYTYPE(dns_transfer_format_t, transferformat, transfer_format)
|
||||||
|
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
|
||||||
|
/*
|
||||||
|
* XXX waiting for implementation in server to turn these on.
|
||||||
|
*/
|
||||||
|
SETINT32(maxtransfertimein, max_transfer_time_in)
|
||||||
|
GETINT32(maxtransfertimein, max_transfer_time_in)
|
||||||
|
UNSETINT32(maxtransfertimein, max_transfer_time_in)
|
||||||
|
|
||||||
|
SETINT32(maxtransferidlein, max_transfer_idle_in)
|
||||||
|
GETINT32(maxtransferidlein, max_transfer_idle_in)
|
||||||
|
UNSETINT32(maxtransferidlein, max_transfer_idle_in)
|
||||||
|
|
||||||
GETINT32(transfersperns, transfers_per_ns)
|
|
||||||
SETINT32(transfersperns, transfers_per_ns)
|
SETINT32(transfersperns, transfers_per_ns)
|
||||||
|
GETINT32(transfersperns, transfers_per_ns)
|
||||||
UNSETINT32(transfersperns, transfers_per_ns)
|
UNSETINT32(transfersperns, transfers_per_ns)
|
||||||
|
|
||||||
|
SETINT32(serialqueries, serial_queries)
|
||||||
|
GETINT32(serialqueries, serial_queries)
|
||||||
|
UNSETINT32(serialqueries, serial_queries)
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user