zoneconf.c revision dafcb997e390efa4423883dafd100c975c4095d6
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer * Copyright (C) 1999-2003 Internet Software Consortium.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Permission to use, copy, modify, and distribute this software for any
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * purpose with or without fee is hereby granted, provided that the above
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer * copyright notice and this permission notice appear in all copies.
e8ca2abed76b550fd3baddcfb17f2c9a630d6b71Mark Andrews * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer * PERFORMANCE OF THIS SOFTWARE.
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer/* $Id: zoneconf.c,v 1.110 2004/03/05 04:57:49 marka Exp $ */
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer#include <isc/string.h> /* Required for HP/UX (and others?) */
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer * These are BIND9 server defaults, not necessarily identical to the
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer * library defaults defined in zone.c.
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer#define RETERR(x) do { \
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer * Convenience function for configuring a single zone ACL.
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayerconfigure_zone_acl(cfg_obj_t *zconfig, cfg_obj_t *vconfig, cfg_obj_t *config,
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer result = ns_acl_fromconfig(aclobj, config, actx,
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer * Parse the zone update-policy statement.
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayerconfigure_zone_ssutable(cfg_obj_t *zconfig, dns_zone_t *zone) {
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer (void)cfg_map_get(zconfig, "update-policy", &updatepolicy);
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer cfg_obj_t *identity = cfg_tuple_get(stmt, "identity");
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer cfg_obj_t *matchtype = cfg_tuple_get(stmt, "matchtype");
e8ca2abed76b550fd3baddcfb17f2c9a630d6b71Mark Andrews cfg_obj_t *typelist = cfg_tuple_get(stmt, "types");
24e0175a62f15a33a04f98571603873bd097b54aDanny Mayer unsigned int i, n;
INSIST(0);
goto cleanup;
goto cleanup;
goto cleanup;
INSIST(i < n);
n * sizeof(dns_rdatatype_t));
goto cleanup;
INSIST(i == n);
n, types);
goto cleanup;
return (result);
static inline dns_zonetype_t
static isc_result_t
char ***argvp, unsigned int n)
*argcp = n;
return (ISC_R_NOMEMORY);
return (result);
(*argvp)[n] = s;
return (ISC_R_SUCCESS);
static isc_result_t
switch (ztype) {
INSIST(0);
char *zname;
char *cpval;
unsigned int dbargc;
char **dbargv;
INSIST(0);
INSIST(0);
return (result);
return (result);
value);
INSIST(0);
zname);
return (ISC_R_FAILURE);
switch (ztype) {
case dns_zone_slave:
case dns_zone_stub:
&count));
count);
return (ISC_R_SUCCESS);
const char *cfilename;
const char *zfilename;
return (ISC_FALSE);
return (ISC_FALSE);
return (ISC_TRUE);