server.c revision d9112843333472bb7700c02a10d18e2b253b2708
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * Copyright (C) 1999-2001 Internet Software Consortium.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt * Permission to use, copy, modify, and distribute this software for any
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * purpose with or without fee is hereby granted, provided that the above
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * copyright notice and this permission notice appear in all copies.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt/* $Id: server.c,v 1.304 2001/03/14 21:53:23 halley Exp $ */
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * Check an operation for failure. Assumes that the function
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt * using it has a 'result' variable and a 'cleanup' label.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt } while (0) \
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt } while (0) \
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Huntns_server_reload(isc_task_t *task, isc_event_t *event);
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntns_listenelt_fromconfig(cfg_obj_t *listener, cfg_obj_t *config,
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntns_listenlist_fromconfig(cfg_obj_t *listenlist, cfg_obj_t *config,
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Huntconfigure_forward(cfg_obj_t *config, dns_view_t *view, dns_name_t *origin,
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntconfigure_zone(cfg_obj_t *config, cfg_obj_t *zconfig, cfg_obj_t *vconfig,
static isc_result_t
return (ISC_R_SUCCESS);
return (result);
static isc_result_t
isc_region_t r;
NULL));
return (ISC_R_SUCCESS);
return (result);
static isc_result_t
return (result);
static isc_result_t
switch (af) {
case AF_INET:
case AF_INET6:
INSIST(0);
switch (af) {
case AF_INET:
case AF_INET6:
INSIST(0);
return (ISC_R_SUCCESS);
attrs = 0;
switch (af) {
case AF_INET:
case AF_INET6:
attrmask = 0;
return (result);
return (ISC_R_SUCCESS);
static isc_result_t
char *str;
return (result);
INSIST(0);
goto cleanup;
return (ISC_R_SUCCESS);
return (result);
static isc_result_t
char *str;
actx));
&pview);
goto cleanup;
if (!reused_cache)
value);
goto cleanup;
0, ns_g_dispatchmgr,
forwardtype));
INSIST(0);
return (result);
static isc_result_t
return (result);
static isc_result_t
char *versiontext;
isc_region_t r;
return (result);
static isc_result_t
static const char *authors[] = {
NULL,
return (ISC_R_SUCCESS);
return (result);
static isc_result_t
return (result);
static isc_result_t
return (ISC_R_RANGE);
goto cleanup;
INSIST(0);
goto cleanup;
return (result);
static isc_result_t
const char *viewname;
return (ISC_R_EXISTS);
return (result);
return (result);
return (ISC_R_SUCCESS);
static isc_result_t
const char *zname;
const char *ztypestr;
goto cleanup;
return (ISC_R_FAILURE);
zname);
goto cleanup;
zname);
goto cleanup;
goto cleanup;
goto cleanup;
&pview);
goto cleanup;
goto cleanup;
forwardtype));
return (result);
static isc_result_t
char *directory;
return (result);
return (ISC_R_SUCCESS);
static isc_result_t
if (p == NULL)
return (ISC_R_NOMEMORY);
return (ISC_R_SUCCESS);
static isc_result_t
if (p == NULL)
return (ISC_R_NOMEMORY);
return (ISC_R_SUCCESS);
char *resource;
static isc_result_t
if (first_time) {
&ns_g_defaults) ==
filename);
&config);
* option where the above parsing failed, parse resolv.conf.
if (ns_g_lwresdonly &&
&config);
&listenon);
} else if (!ns_g_lwresdonly) {
listenon);
&listenon);
} else if (!ns_g_lwresdonly) {
listenon);
if (interface_interval == 0) {
if (heartbeat_interval == 0) {
&aclconfctx));
if (first_time) {
if (first_time)
* files specified in named.conf get created by the
if (ns_g_logstderr) {
if (first_time) {
char *str;
else if (ns_g_lwresdonly)
return (result);
static isc_result_t
return (result);
if (ns_g_lwresdonly)
ISC_TRUE),
if (flush)
sizeof(isc_event_t));
if (ns_g_lwresdonly)
char *res;
return (res);
static isc_result_t
const char *zonetxt;
char *classtxt;
return (ISC_R_UNEXPECTEDEND);
return (ISC_R_SUCCESS);
goto fail1;
goto fail1;
goto fail1;
goto fail2;
return (result);
return (result);
return (ISC_R_SUCCESS);
return (result);
return (ISC_R_UNEXPECTEDEND);
return (ISC_R_SUCCESS);
return (ISC_R_SUCCESS);
static isc_result_t
return (result);
goto cleanup;
return (ISC_R_SUCCESS);
return (result);
static isc_result_t
return (result);
return (ISC_R_RANGE);
return (result);
return (result);
return (ISC_R_SUCCESS);
int ncounters;
for (i = 0; i < ncounters; i++)
char *viewname;
for (i = 0; i < ncounters; i++) {
zonestats[i],
zonename);
return (result);
return (result);
char *ptr;
char *levelstr;
char *endp;
long newlevel;
return (ISC_R_UNEXPECTEDEND);
return (ISC_R_RANGE);
return (ISC_R_SUCCESS);