confzone.c revision 8249eee42adc8c9c06c6ff9aaecc7437e259c687
/*
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
* DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
* INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: confzone.c,v 1.57 2000/08/22 05:14:54 marka Exp $ */
#include <config.h>
#include <dns/confzone.h>
#include "confpvt.h"
/*
* Bit positions in the dns_c_masterzone_t structure setflags field.
*/
#define MZ_CHECK_NAME_BIT 0
#define MZ_DIALUP_BIT 1
#define MZ_NOTIFY_BIT 2
#define MZ_MAINT_IXFR_BASE_BIT 3
#define MZ_MAX_IXFR_LOG_BIT 4
#define MZ_FORWARD_BIT 5
#define MZ_MAX_TRANS_TIME_OUT_BIT 6
#define MZ_MAX_TRANS_IDLE_OUT_BIT 7
#define MZ_SIG_VALID_INTERVAL_BIT 8
#ifndef NOMINUM_PUBLIC
#define MZ_MAX_NAMES_BIT 9
#endif /* NOMINUM_PUBLIC */
#define MZ_MIN_RETRY_TIME_BIT 10
#define MZ_MAX_RETRY_TIME_BIT 11
#define MZ_MIN_REFRESH_TIME_BIT 12
#define MZ_MAX_REFRESH_TIME_BIT 13
/*
* Bit positions in the dns_c_slavezone_t structure setflags field.
*/
#define SZ_CHECK_NAME_BIT 0
#define SZ_DIALUP_BIT 1
#define SZ_MASTER_PORT_BIT 2
#define SZ_TRANSFER_SOURCE_BIT 3
#define SZ_TRANSFER_SOURCE_V6_BIT 4
#define SZ_MAX_TRANS_TIME_IN_BIT 5
#define SZ_MAX_TRANS_TIME_OUT_BIT 6
#define SZ_MAX_TRANS_IDLE_IN_BIT 7
#define SZ_MAX_TRANS_IDLE_OUT_BIT 8
#define SZ_NOTIFY_BIT 9
#define SZ_MAINT_IXFR_BASE_BIT 10
#define SZ_MAX_IXFR_LOG_BIT 11
#define SZ_FORWARD_BIT 12
#ifndef NOMINUM_PUBLIC
#define SZ_MAX_NAMES_BIT 13
#endif /* NOMINUM_PUBLIC */
#define SZ_MIN_RETRY_TIME_BIT 14
#define SZ_MAX_RETRY_TIME_BIT 15
#define SZ_MIN_REFRESH_TIME_BIT 16
#define SZ_MAX_REFRESH_TIME_BIT 17
#ifndef NOMINUM_PUBLIC
#define SZ_NOTIFY_RELAY_BIT 19
#endif /* NOMINUM_PUBLIC */
/* Bit positions of the stub zones */
#define TZ_CHECK_NAME_BIT 0
#define TZ_DIALUP_BIT 1
#define TZ_MASTER_PORT_BIT 2
#define TZ_TRANSFER_SOURCE_BIT 3
#define TZ_TRANSFER_SOURCE_V6_BIT 4
#define TZ_MAX_TRANS_TIME_IN_BIT 5
#define TZ_MAX_TRANS_TIME_OUT_BIT 6
#define TZ_MAX_TRANS_IDLE_IN_BIT 7
#define TZ_MAX_TRANS_IDLE_OUT_BIT 8
#define TZ_FORWARD_BIT 9
#define TZ_MIN_RETRY_TIME_BIT 10
#define TZ_MAX_RETRY_TIME_BIT 11
#define TZ_MIN_REFRESH_TIME_BIT 12
#define TZ_MAX_REFRESH_TIME_BIT 13
/*
* Bit positions in the dns_c_forwardzone_t structure setflags field.
*/
#define FZ_CHECK_NAME_BIT 0
#define FZ_FORWARD_BIT 1
#define FZ_MIN_RETRY_TIME_BIT 2
#define FZ_MAX_RETRY_TIME_BIT 3
#define FZ_MIN_REFRESH_TIME_BIT 4
#define FZ_MAX_REFRESH_TIME_BIT 5
/*
* Bit positions in the dns_c_hintzone_t structure setflags field.
*/
#define HZ_CHECK_NAME_BIT 0
static void
static void
static void
static void
static void
return (ISC_R_NOMEMORY);
}
return (ISC_R_SUCCESS);
}
if (res != ISC_R_SUCCESS) {
return (res);
}
}
return (ISC_R_SUCCESS);
}
if (result == ISC_R_SUCCESS) {
}
}
return (result);
}
{
break;
}
}
}
}
break;
}
}
} else {
}
return (res);
}
return (ISC_R_NOMEMORY);
}
return (ISC_R_SUCCESS);
}
break;
}
}
} else {
}
return (res);
}
void
{
return;
}
}
}
}
return;
}
} else {
return (NULL);
}
}
}
/* XXX
* should REQUIRE or return NULL if zone was no on list?
*/
return (NULL);
} else {
}
}
/* ************************************************************************ */
/* ******************************** ZONEs ********************************* */
/* ************************************************************************ */
const char *name, const char *internalname,
dns_c_zone_t **zone)
{
return (ISC_R_NOMEMORY);
}
switch (ztype) {
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
break;
case dns_c_zone_forward:
break;
}
return (ISC_R_SUCCESS);
}
/*
*
*/
}
return (res);
}
/*
*
*/
void
}
/*
*
*/
void
}
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
break;
case dns_c_zone_forward:
break;
}
}
}
}
/*
*
*/
{
const char *autherr = "zone '%s': allow-update is ignored when "
"update-policy is also used";
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.
*/
}
/*
* Check for allow-update and update-policy together
*/
if (tmpres == ISC_R_SUCCESS) {
&ssutable);
if (tmpres == ISC_R_SUCCESS) {
}
}
if (tmpres != ISC_R_SUCCESS) {
}
}
/* XXX TODO make sure no 'key' clauses were given on any iplist
except for masters{}; */
return (result);
}
/*
*
*/
return (ISC_R_SUCCESS);
}
/*
*
*/
return (ISC_R_SUCCESS);
}
/*
*
*/
dns_c_pklist_t *p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
#if 1
#else
"hint zones do not have a pubkey field");
#endif
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a pubkey field");
return (ISC_R_FAILURE);
}
if (p != NULL) {
*retval = p;
res = ISC_R_SUCCESS;
} else {
}
return (res);
}
/*
*
*/
char **p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
break;
case dns_c_zone_forward:
"forward zones do not have a file field");
return (ISC_R_FAILURE);
}
if (*p != NULL) {
res = ISC_R_EXISTS;
} else {
res = ISC_R_SUCCESS;
}
if (*p == NULL) {
}
return (res);
}
/*
*
*/
const char *p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
break;
case dns_c_zone_forward:
"forward zones do not have a file field");
return (ISC_R_FAILURE);
}
if (p != NULL) {
*retval = p;
res = ISC_R_SUCCESS;
} else {
}
return (res);
}
/*
*
*/
dns_severity_t *p = NULL;
int bit = 0;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
break;
case dns_c_zone_forward:
break;
}
res = ISC_R_EXISTS;
} else {
res = ISC_R_SUCCESS;
}
*p = severity;
return (res);
}
/*
*
*/
dns_severity_t *p = NULL;
int bit = 0;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
break;
case dns_c_zone_forward:
break;
}
*retval = *p;
res = ISC_R_SUCCESS;
} else {
}
return (res);
}
/*
*
*/
{
dns_c_ipmatchlist_t **p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have "
"an allow_update_forwarding field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have an "
"allow_update_forwarding field");
return (ISC_R_FAILURE);
}
res = ISC_R_EXISTS;
}
return (res);
}
/*
*
*/
{
dns_c_ipmatchlist_t *p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have an "
"allow_update_forwarding field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have an "
"allow_update_forwarding field");
return (ISC_R_FAILURE);
}
if (p != NULL) {
res = ISC_R_SUCCESS;
} else {
}
return (res);
}
/*
*
*/
dns_ssutable_t **p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
"slave zones do not have an ssuauth field");
break;
case dns_c_zone_stub:
"stub zones do not have an ssuauth field");
break;
case dns_c_zone_hint:
"hint zones do not have an ssuauth field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have an "
"ssuauth field");
return (ISC_R_FAILURE);
}
*p = ssu;
}
/*
*
*/
dns_ssutable_t *p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
"slave zones do not have an ssuauth field");
break;
case dns_c_zone_stub:
"stub zones do not have an ssuauth field");
break;
case dns_c_zone_hint:
"hint zones do not have an ssuauth field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have an "
"ssuauth field");
return (ISC_R_FAILURE);
}
if (p != NULL) {
*retval = p;
res = ISC_R_SUCCESS;
} else {
}
return (res);
}
#ifndef NOMINUM_PUBLIC
/*
*
*/
{
dns_c_ipmatchlist_t **p = NULL;
case dns_c_zone_master:
"master zones do not have an allow_notify field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have an allow_notify field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have an allow_notify field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have an "
"allow_notify field");
return (ISC_R_FAILURE);
}
res = ISC_R_EXISTS;
}
return (res);
}
/*
*
*/
dns_c_ipmatchlist_t *p = NULL;
case dns_c_zone_master:
"master zones do not have an allow_notify field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have an allow_notify field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have an allow_notify field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have an "
"allow_notify field");
return (ISC_R_FAILURE);
}
if (p != NULL) {
res = ISC_R_SUCCESS;
} else {
}
return (res);
}
#endif /* NOMINUM_PUBLIC */
/*
*
*/
{
dns_c_ipmatchlist_t **p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have an allow_query field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have an "
"allow_query field");
return (ISC_R_FAILURE);
}
res = ISC_R_EXISTS;
}
return (res);
}
/*
*
*/
dns_c_ipmatchlist_t *p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have an allow_query field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have an "
"allow_query field");
return (ISC_R_FAILURE);
}
if (p != NULL) {
res = ISC_R_SUCCESS;
} else {
}
return (res);
}
/*
*
*/
{
dns_c_ipmatchlist_t **p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have an "
"allow_transfer field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have an "
"allow_transfer field");
return (ISC_R_FAILURE);
}
res = ISC_R_EXISTS;
}
return (res);
}
/*
*
*/
dns_c_ipmatchlist_t *p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have an "
"allow_transfer field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have an "
"allow_transfer field");
return (ISC_R_FAILURE);
}
if (p != NULL) {
res = ISC_R_SUCCESS;
} else {
}
return (res);
}
/*
*
*/
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have a dialup field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a dialup field");
return (ISC_R_FAILURE);
}
}
/*
*
*/
case dns_c_zone_master:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_hint:
"hint zones do not have a dialup field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a dialup field");
return (ISC_R_FAILURE);
}
return (res);
}
/*
*
*/
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have a notify field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a notify field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a notify field");
return (ISC_R_FAILURE);
}
}
/*
*
*/
int bit = 0;
case dns_c_zone_master:
bit = MZ_NOTIFY_BIT;
break;
case dns_c_zone_slave:
bit = SZ_NOTIFY_BIT;
break;
case dns_c_zone_stub:
"stub zones do not have a notify field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a notify field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a notify field");
return (ISC_R_FAILURE);
}
res = ISC_R_SUCCESS;
} else {
}
return (res);
}
/*
*
*/
{
dns_c_iplist_t **p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have a also_notify field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a also_notify field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a also_notify field");
return (ISC_R_FAILURE);
}
res = ISC_R_EXISTS;
}
return (res);
}
/*
*
*/
dns_c_iplist_t *p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have a also_notify field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a also_notify field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a also_notify field");
return (ISC_R_FAILURE);
}
if (p != NULL) {
res = ISC_R_SUCCESS;
} else {
}
return (res);
}
#ifndef NOMINUM_PUBLIC
/*
*
*/
case dns_c_zone_master:
"master zones do not have a "
"notify_forward field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have a notify_forward field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a notify_forward field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"notify_forward field");
return (ISC_R_FAILURE);
}
}
/*
*
*/
case dns_c_zone_master:
"master zones do not have a "
"notify_forward field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
"stub zones do not have a notify_forward field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a notifyforward field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"notify_forward field");
return (ISC_R_FAILURE);
}
return (res);
}
#endif /* NOMINUM_PUBLIC */
/*
*
*/
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have a "
"maintain-xfer-base field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a "
"maintain-xfer-base field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"maintain-xfer-base field");
return (ISC_R_FAILURE);
}
}
/*
*
*/
int bit = 0;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have a notify field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a notify field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a notify field");
return (ISC_R_FAILURE);
}
res = ISC_R_SUCCESS;
} else {
}
return (res);
}
/*
*
*/
char **p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have a ixfr_base field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a ixfr_base field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a file field");
return (ISC_R_FAILURE);
}
if (*p != NULL) {
} else {
}
if (*p == NULL) {
return (ISC_R_NOMEMORY);
}
}
/*
*
*/
char *p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have a ixfr_base field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a ixfr_base field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a file field");
return (ISC_R_FAILURE);
}
if (p != NULL) {
*retval = p;
res = ISC_R_SUCCESS;
} else {
}
return (res);
}
/*
*
*/
char **p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have a ixfr_tmp field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a ixfr_tmp field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a file field");
return (ISC_R_FAILURE);
}
if (*p != NULL) {
} else {
}
if (*p == NULL) {
return (ISC_R_NOMEMORY);
}
}
/*
*
*/
char *p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have a ixfr_tmp field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a ixfr_tmp field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a file field");
return (ISC_R_FAILURE);
}
if (p != NULL) {
*retval = p;
res = ISC_R_SUCCESS;
} else {
}
return (res);
}
/*
*
*/
{
dns_c_pklist_t **p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
#if 1
#else
"hint zones do not have a pubkey field");
#endif
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a pubkey field");
return (ISC_R_FAILURE);
}
if (*p == NULL) {
if (res != ISC_R_SUCCESS) {
return (res);
}
}
return (res);
}
/*
*
*/
case dns_c_zone_master:
"forward zones do not have a "
"master_port field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have a master_port field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"master_port field");
return (ISC_R_FAILURE);
}
}
/*
*
*/
case dns_c_zone_master:
"forward zones do not have a "
"master_port field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_hint:
"hint zones do not have a master_port field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"master_port field");
return (ISC_R_FAILURE);
}
return (res);
}
/*
*
*/
{
dns_c_iplist_t **p;
case dns_c_zone_master:
"master zones do not have a master_ips field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
case dns_c_zone_stub:
} else {
}
res = ISC_R_EXISTS;
}
break;
case dns_c_zone_hint:
"hint zones do not have a master_ips field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a master_ips field");
return (ISC_R_FAILURE);
}
return (res);
}
/*
*
*/
case dns_c_zone_master:
"master zones do not have a master_ips field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_hint:
"hint zones do not have a master_ips field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a master_ips field");
return (ISC_R_FAILURE);
}
return (res);
}
/*
*
*/
case dns_c_zone_master:
"master zones do not have a "
"transfer_source field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have a "
"transfer_source field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"transfer_source field");
return (ISC_R_FAILURE);
}
}
/*
*
*/
case dns_c_zone_master:
"master zones do not have a "
"transfer_source field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_hint:
"hint zones do not have a "
"transfer_source field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"transfer_source field");
return (ISC_R_FAILURE);
}
return (res);
}
/*
*
*/
case dns_c_zone_master:
"master zones do not have a "
"transfer_source_v6 field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
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:
"forward zones do not have a "
"transfer_source_v6 field");
return (ISC_R_FAILURE);
}
}
/*
*
*/
case dns_c_zone_master:
"master zones do not have a "
"transfer_source_v6 field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
res = ISC_R_SUCCESS;
} else {
}
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:
"forward zones do not have a "
"transfer_source_v6 field");
return (ISC_R_FAILURE);
}
return (res);
}
/*
*
*/
case dns_c_zone_master:
"master zones do not have a "
"max_trans_time_in field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have a "
"max_trans_time_in field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"max_trans_time_in field");
return (ISC_R_FAILURE);
}
}
/*
*
*/
case dns_c_zone_master:
"master zones do not have a "
"max_trans_time_in field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_hint:
"hint zones do not have a "
"max_trans_time_in field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"max_trans_time_in field");
return (ISC_R_FAILURE);
}
return (res);
}
/*
*
*/
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have a "
"max_trans_time_out field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a "
"max_trans_time_out field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"max_trans_time_out field");
return (ISC_R_FAILURE);
}
}
/*
*
*/
case dns_c_zone_master:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
"stub zones do not have a "
"max_trans_time_out field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a "
"max_trans_time_out field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"max_trans_time_out field");
return (ISC_R_FAILURE);
}
return (res);
}
/*
*
*/
case dns_c_zone_master:
"master zones do not have a "
"max_trans_idle_in field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have a "
"max_trans_idle_in field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"max_trans_idle_in field");
return (ISC_R_FAILURE);
}
}
/*
*
*/
case dns_c_zone_master:
"master zones do not have a "
"max_trans_idle_in field");
return (ISC_R_FAILURE);
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_hint:
"hint zones do not have a "
"max_trans_idle_in field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"max_trans_idle_in field");
return (ISC_R_FAILURE);
}
return (res);
}
/*
*
*/
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have a "
"max_trans_idle_out field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a "
"max_trans_idle_out field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"max_trans_idle_out field");
return (ISC_R_FAILURE);
}
}
/*
*
*/
case dns_c_zone_master:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
"stub zones do not have a "
"max_trans_idle_out field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a "
"max_trans_idle_out field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"max_trans_idle_out field");
return (ISC_R_FAILURE);
}
return (res);
}
/*
*
*/
case dns_c_zone_master:
break;
case dns_c_zone_slave:
"slave zones do not have a "
"sig_valid_interval field");
return (ISC_R_FAILURE);
case dns_c_zone_stub:
"stub zones do not have a "
"sig_valid_interval field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a "
"sig_valid_interval field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"sig_valid_interval field");
return (ISC_R_FAILURE);
}
}
/*
*
*/
case dns_c_zone_master:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_slave:
"slave zones do not have a "
"sig_valid_interval field");
return (ISC_R_FAILURE);
case dns_c_zone_stub:
"stub zones do not have a "
"sig_valid_interval field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a "
"sig_valid_interval field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"sig_valid_interval field");
return (ISC_R_FAILURE);
}
return (res);
}
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have a "
"min_retry_time field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
break;
}
}
/*
*
*/
case dns_c_zone_master:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_hint:
"hint zones do not have a "
"min_retry_time field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
res = ISC_R_SUCCESS;
} else {
}
break;
}
return (res);
}
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have a "
"max_retry_time field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
break;
}
}
/*
*
*/
case dns_c_zone_master:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_hint:
"hint zones do not have a "
"max_retry_time field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
res = ISC_R_SUCCESS;
} else {
}
break;
}
return (res);
}
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have a "
"min_refresh_time field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
break;
}
}
/*
*
*/
case dns_c_zone_master:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_hint:
"hint zones do not have a "
"min_refresh_time field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
res = ISC_R_SUCCESS;
} else {
}
break;
}
return (res);
}
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have a "
"max_refresh_time field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
break;
}
}
/*
*
*/
case dns_c_zone_master:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_hint:
"hint zones do not have a "
"max_refresh_time field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
res = ISC_R_SUCCESS;
} else {
}
break;
}
return (res);
}
#ifndef NOMINUM_PUBLIC
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have a "
"max_names field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a "
"max_names field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"max_names field");
return (ISC_R_FAILURE);
}
}
/*
*
*/
case dns_c_zone_master:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
"stub zones do not have a "
"max_names field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a "
"max_names field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"max_names field");
return (ISC_R_FAILURE);
}
return (res);
}
#endif /* NOMINUM_PUBLIC */
/*
*
*/
isc_uint32_t *p = NULL;
int bit = 0;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have a max-ixfr-log field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a max-ixfr-log field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"max-ixfr-log field");
return (ISC_R_FAILURE);
}
res = ISC_R_EXISTS;
} else {
res = ISC_R_SUCCESS;
}
*p = newval;
return (res);
}
/*
*
*/
int bit = 0;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
"stub zones do not have a max_ixfr_log field");
return (ISC_R_FAILURE);
case dns_c_zone_hint:
"hint zones do not have a max_ixfr_log field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have a "
"max_ixfr_log field");
return (ISC_R_FAILURE);
}
res = ISC_R_SUCCESS;
} else {
}
return (res);
}
/*
*
*/
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have a forward field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
break;
}
}
/*
*
*/
case dns_c_zone_master:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_hint:
"hint zones do not have a forward field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
res = ISC_R_SUCCESS;
} else {
}
break;
}
return (res);
}
/*
*
*/
{
dns_c_iplist_t **p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have a forwarders field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
break;
}
res = ISC_R_EXISTS;
}
return (res);
}
/*
*
*/
case dns_c_zone_master:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_slave:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_stub:
res = ISC_R_SUCCESS;
} else {
}
break;
case dns_c_zone_hint:
"hint zones do not have a forwarders field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
res = ISC_R_SUCCESS;
} else {
}
break;
}
return (res);
}
/*
*
*/
{
dns_c_ipmatchlist_t **p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have an allow_update field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have an "
"allow_update field");
return (ISC_R_FAILURE);
}
res = ISC_R_EXISTS;
}
return (res);
}
/*
*
*/
dns_c_ipmatchlist_t *p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have an allow_update field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have an "
"allow_update field");
return (ISC_R_FAILURE);
}
if (p != NULL) {
res = ISC_R_SUCCESS;
} else {
}
return (res);
}
/*
*
*/
dns_c_ipmatchlist_t **p = NULL;
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
"hint zones do not have an allow_update field");
return (ISC_R_FAILURE);
case dns_c_zone_forward:
"forward zones do not have an "
"allow_update field");
return (ISC_R_FAILURE);
}
if (*p != NULL) {
return (ISC_R_SUCCESS);
} else {
return (ISC_R_NOTFOUND);
}
}
/*
*
*/
{
}
return (ISC_R_NOMEMORY);
} else if (existed) {
return (ISC_R_EXISTS);
} else {
return (ISC_R_SUCCESS);
}
}
/*
*
*/
{
return (ISC_R_NOTFOUND);
} else {
return (ISC_R_SUCCESS);
}
}
/*
*
*/
{
return (ISC_R_NOTFOUND);
} else {
return (ISC_R_SUCCESS);
}
}
/*
*
*/
{
} else {
}
if (existed) {
return (ISC_R_EXISTS);
} else {
return (ISC_R_SUCCESS);
}
}
/*
*
*/
{
return (ISC_R_NOTFOUND);
} else {
return (ISC_R_SUCCESS);
}
}
/*
*
*/
{
return (ISC_R_NOTFOUND);
} else {
return (ISC_R_SUCCESS);
}
}
/*
*
*/
/*
* Zone privates
*/
static void
}
ISC_TRUE));
}
}
}
}
mzone->allow_query);
}
}
}
}
}
mzone->also_notify);
}
}
}
}
}
}
}
}
}
}
#ifndef NOMINUM_PUBLIC
}
#endif /* NOMINUM_PUBLIC */
}
}
mzone->forwarders);
}
}
/*
*
*/
static void
}
}
}
}
if (szone->master_port != 0) {
}
}
} else {
}
}
}
szone->forwarders);
}
ISC_TRUE));
}
}
}
#ifndef NOMINUM_PUBLIC
}
#endif /* NOMINUM_PUBLIC */
szone->allow_query);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#ifndef NOMINUM_PUBLIC
}
}
#endif /* NOMINUM_PUBLIC */
}
}
}
/*
*
*/
static void
}
if (tzone->master_port != 0) {
}
}
} else {
}
}
}
tzone->forwarders);
}
ISC_TRUE));
}
}
}
tzone->allow_query);
}
}
}
}
}
}
}
}
}
}
}
}
}
/*
*
*/
static void
}
ISC_TRUE));
}
}
}
/*
*
*/
static void
}
fzone->forwarders);
}
ISC_TRUE));
}
}
}
}
}
}
/*
*
*/
static void
}
/*
*
*/
static void
#ifndef NOMINUM_PUBLIC
#endif /* NOMINUM_PUBLIC */
}
/*
*
*/
static void
}
/*
*
*/
static void
}
/*
*
*/
static void
}
/*
*
*/
static isc_result_t
dns_c_zone_t *z;
z = *zone;
}
}
switch(z->ztype) {
case dns_c_zone_master:
break;
case dns_c_zone_slave:
break;
case dns_c_zone_stub:
break;
case dns_c_zone_hint:
break;
case dns_c_zone_forward:
break;
}
z->magic = 0;
isc_mem_put(z->mem, z, sizeof *z);
return (res);
}
/*
*
*/
static isc_result_t
return (ISC_R_SUCCESS);
}
}
}
}
return (ISC_R_SUCCESS);
}
/*
*
*/
static isc_result_t
return (ISC_R_SUCCESS);
}
}
}
}
#ifndef NOMINUM_PUBLIC
#endif /* NOMINUM_PUBLIC */
return (ISC_R_SUCCESS);
}
/*
*
*/
static isc_result_t
return (ISC_R_SUCCESS);
}
}
return (ISC_R_SUCCESS);
}
/*
*
*/
static isc_result_t
return (ISC_R_SUCCESS);
}
(void) mem; /* lint happiness */
return (ISC_R_SUCCESS);
}
/*
*
*/
static isc_result_t
return (ISC_R_SUCCESS);
}
}
return (ISC_R_SUCCESS);
}
/*
*
*/
/**************************************************/
static isc_result_t
{
if (res != ISC_R_SUCCESS) {
return (res);
}
}
if (deepcopy) {
} else {
res = ISC_R_SUCCESS;
}
return (res);
}
/*
*
*/
static isc_result_t
{
if (res != ISC_R_SUCCESS) {
return (res);
}
}
if (deepcopy) {
} else {
res = ISC_R_SUCCESS;
}
return (res);
}