zone_options
struct zone_options* zone_opt;
udb_ptr* last_task, struct zone_options* zopt)
struct zone_options* zo;
RBTREE_FOR(zo, struct zone_options*, opt->zone_options) {
struct zone_options* zo)
namedb_write_zonefile(struct nsd* nsd, struct zone_options* zopt)
struct zone_options* zo;
RBTREE_FOR(zo, struct zone_options*, options->zone_options) {
struct zone_options* zopt;
struct zone_options* zo = zone_options_find(nsd->options,
struct zone_options* zo = zone_options_find(nsd->options,
struct zone_options* zopt;
struct zone_options* opts;
struct zone_options;
struct udb_ptr* last_task, struct zone_options* zo);
struct zone_options* zopt);
struct zone_options* zopt)
void namedb_write_zonefile(struct nsd* nsd, struct zone_options* zopt);
RBTREE_FOR(zone, zone_options_type*, opt->zone_options)
RBTREE_FOR(zone, zone_options_type*, opt->zone_options)
RBTREE_FOR(zone, zone_options_type*, opt->zone_options)
check_zone_mem(const char* tf, struct zone_options* zo,
struct zone_options* zo;
RBTREE_FOR(zo, struct zone_options*, opt->zone_options) {
struct zone_options*
struct zone_options* zone;
zone = (struct zone_options*)region_alloc(region, sizeof(
struct zone_options));
nsd_options_insert_zone(struct nsd_options* opt, struct zone_options* zone)
if(!rbtree_insert(opt->zone_options, (rbnode_type*)zone))
zone_is_slave(struct zone_options* opt)
get_end_label(struct zone_options* zone, int i)
config_cook_string(struct zone_options* zone, const char* input)
config_make_zonefile(struct zone_options* zone, struct nsd* nsd)
struct zone_options*
return (struct zone_options*) rbtree_search(opt->zone_options, apex);
unsigned getzonestatid(struct nsd_options* opt, struct zone_options* zopt)
struct zone_options* zopt;
struct zone_options* zopt;
RBTREE_FOR(zopt, struct zone_options*, opt->zone_options) {
static struct zone_options*
struct zone_options* zone;
struct zone_options*
opt->zone_options = rbtree_create(region,
zone_options_delete(struct nsd_options* opt, struct zone_options* zone)
rbtree_delete(opt->zone_options, zone->node.key);
struct zone_options*
struct zone_options* zone = zone_list_member_zone_insert(
zone_list_del(struct nsd_options* opt, struct zone_options* zone)
if(opt->zonefree_number > opt->zone_options->count) {
struct zone_options* zone;
RBTREE_FOR(zone, struct zone_options*, opt->zone_options) {
RBTREE_FOR(zone, struct zone_options*, opt->zone_options) {
typedef struct zone_options zone_options_type;
struct zone_options options;
struct zone_options *zone;
{ return opt->zone_options->count; }
int nsd_options_insert_zone(struct nsd_options* opt, struct zone_options* zone);
struct zone_options* zone_options_create(region_type* region);
void zone_options_delete(struct nsd_options* opt, struct zone_options* zone);
rbtree_type* zone_options;
static inline struct catalog_member_zone* as_catalog_member_zone(struct zone_options* zopt)
struct zone_options* zone_options_find(struct nsd_options* opt,
struct zone_options* zone_list_add_or_cat(struct nsd_options* opt,
static inline struct zone_options* zone_list_add(struct nsd_options* opt,
struct zone_options* zone_list_zone_insert(struct nsd_options* opt,
void zone_list_del(struct nsd_options* opt, struct zone_options* zone);
unsigned getzonestatid(struct nsd_options* opt, struct zone_options* zopt);
const char* config_cook_string(struct zone_options* zone, const char* input);
int zone_is_slave(struct zone_options* opt);
static inline int zone_is_catalog_consumer(struct zone_options* opt)
static inline int zone_is_catalog_producer(struct zone_options* opt)
static inline int zone_is_catalog_member(struct zone_options* opt)
static inline const char* zone_is_catalog_producer_member(struct zone_options* opt)
static inline int zone_is_catalog_consumer_member(struct zone_options* opt)
const char* config_make_zonefile(struct zone_options* zone, struct nsd* nsd);
struct zone_options* zone_opt;
print_zonestatus(RES* ssl, xfrd_state_type* xfrd, struct zone_options* zo)
struct zone_options* zo;
RBTREE_FOR(zo, struct zone_options*,
xfrd->nsd->options->zone_options) {
struct zone_options* zopt;
struct zone_options* zopt;
struct zone_options* zopt;
struct zone_options* zopt = NULL;
struct zone_options* zopt = zone_options_create(
xz->zone_options->name));
xz->zone_options->name));
xz->zone_options->name));
xz->zone_options->name));
xz->zone_options->name));
xz->zone_options->name));
xz->zone_options->name));
xz->zone_options->name));
xz->zone_options->name));
struct pattern_options* oldp = xz->zone_options->pattern;
struct zone_options* zopt =
struct zone_options* zopt =
struct zone_options* zone_opt;
RBTREE_FOR(zone_opt, struct zone_options*, oldopt->zone_options) {
struct zone_options* zone;
struct zone_options* zone;
RBTREE_FOR(zone, struct zone_options*, xfrd->nsd->options->zone_options)
struct zone_options** zo)
struct zone_options* zo;
struct zone_options* zo;
struct zone_options* zo;
struct zone_options* zo;
struct zone_options* zo;
struct zone_options* zone)
const char *invalid_catalog_consumer_zone(struct zone_options* zone)
struct zone_options* zopt;
struct zone_options *producer_zopt;
struct zone_options* options;
struct zone_options* options;
struct zone_options* zone);
const char *invalid_catalog_consumer_zone(struct zone_options* zone);
zone->master = acl_find_num(zone->zone_options->pattern->
zone->master = zone->zone_options->pattern->request_xfr;
if (soa_refresh > (time_t)zone->zone_options->pattern->max_refresh_time)
soa_refresh = zone->zone_options->pattern->max_refresh_time;
else if (soa_refresh < (time_t)zone->zone_options->pattern->min_refresh_time)
soa_refresh = zone->zone_options->pattern->min_refresh_time;
struct zone_options* options)
struct zone_options;
struct zone_options* options;
struct zone_options* options);
if(zone->zone_options->pattern->multi_primary_check) {
zone->master = zone->zone_options->pattern->request_xfr;
if (!xfrd_bind_local_interface(fd, zone->zone_options->pattern->
zone->master = acl_find_num(zone->zone_options->pattern->
zone->master = zone->zone_options->pattern->request_xfr;
zone->master = zone->zone_options->pattern->request_xfr;
if(zone->zone_options->pattern->multi_primary_check) {
if (zone->zone_options->pattern->allow_axfr_fallback) {
if(zone->zone_options->pattern->multi_primary_check) {
zone->zone_options->pattern->outgoing_interface)) == -1)
if(zone->zone_options->pattern->multi_primary_check) {
zone->zone_options->pattern->pname,
if( zone->zone_options->pattern->size_limit_xfr != 0 &&
xfrfile_size > zone->zone_options->pattern->size_limit_xfr ) {
if(zone->zone_options->pattern->multi_primary_check) {
if (acl_find_num(zone->zone_options->pattern->request_xfr,
struct acl_options* nfy_acl = acl_find_num(zone->zone_options->pattern->
struct acl_options* master = zone->zone_options->pattern->request_xfr;
xfrd_init_slave_zone(xfrd_state_type* xfrd, struct zone_options* zone_opt)
xzone->zone_options = zone_opt;
xzone->master = xzone->zone_options->pattern->request_xfr;
struct zone_options *zone_opt;
RBTREE_FOR(zone_opt, struct zone_options*, xfrd->nsd->options->zone_options)
struct zone_options* zone_options;
return (time_t)zone->zone_options->pattern->max_refresh_time < refresh
? (time_t)zone->zone_options->pattern->max_refresh_time
: (time_t)zone->zone_options->pattern->min_refresh_time > refresh
? (time_t)zone->zone_options->pattern->min_refresh_time
return (time_t)zone->zone_options->pattern->max_retry_time < retry
? (time_t)zone->zone_options->pattern->max_retry_time
: (time_t)zone->zone_options->pattern->min_retry_time > retry
? (time_t)zone->zone_options->pattern->min_retry_time
switch (zone->zone_options->pattern->min_expire_time_expr) {
return (time_t)zone->zone_options->pattern->min_expire_time > expire
? (time_t)zone->zone_options->pattern->min_expire_time : expire;
void xfrd_init_slave_zone(xfrd_state_type* xfrd, struct zone_options* zone_opt);