"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "xfrd.c" between
nsd-4.3.6.tar.gz and nsd-4.3.7.tar.gz

About: NSD is an authoritative only, high performance, simple name server daemon.

xfrd.c  (nsd-4.3.6):xfrd.c  (nsd-4.3.7)
skipping to change at line 199 skipping to change at line 199
xfrd_write_timer_set(); xfrd_write_timer_set();
xfrd->notify_waiting_first = NULL; xfrd->notify_waiting_first = NULL;
xfrd->notify_waiting_last = NULL; xfrd->notify_waiting_last = NULL;
xfrd->notify_udp_num = 0; xfrd->notify_udp_num = 0;
#ifdef HAVE_SSL #ifdef HAVE_SSL
daemon_remote_attach(xfrd->nsd->rc, xfrd); daemon_remote_attach(xfrd->nsd->rc, xfrd);
#endif #endif
xfrd->tcp_set = xfrd_tcp_set_create(xfrd->region); xfrd->tcp_set = xfrd_tcp_set_create(xfrd->region, nsd->options->tls_cert_ bundle);
xfrd->tcp_set->tcp_timeout = nsd->tcp_timeout; xfrd->tcp_set->tcp_timeout = nsd->tcp_timeout;
#if !defined(HAVE_ARC4RANDOM) && !defined(HAVE_GETRANDOM) #if !defined(HAVE_ARC4RANDOM) && !defined(HAVE_GETRANDOM)
srandom((unsigned long) getpid() * (unsigned long) time(NULL)); srandom((unsigned long) getpid() * (unsigned long) time(NULL));
#endif #endif
DEBUG(DEBUG_XFRD,1, (LOG_INFO, "xfrd pre-startup")); DEBUG(DEBUG_XFRD,1, (LOG_INFO, "xfrd pre-startup"));
xfrd_init_zones(); xfrd_init_zones();
xfrd_receive_soa(socket, shortsoa); xfrd_receive_soa(socket, shortsoa);
if(nsd->options->xfrdfile != NULL && nsd->options->xfrdfile[0]!=0) if(nsd->options->xfrdfile != NULL && nsd->options->xfrdfile[0]!=0)
xfrd_read_state(xfrd); xfrd_read_state(xfrd);
skipping to change at line 468 skipping to change at line 468
xfrd_unlink_xfrfile(nsd, TASKLIST(&t)->yesno); xfrd_unlink_xfrfile(nsd, TASKLIST(&t)->yesno);
} }
udb_ptr_set_rptr(&t, u, &TASKLIST(&t)->next); udb_ptr_set_rptr(&t, u, &TASKLIST(&t)->next);
} }
udb_ptr_unlink(&t, u); udb_ptr_unlink(&t, u);
} }
void void
xfrd_init_slave_zone(xfrd_state_type* xfrd, struct zone_options* zone_opt) xfrd_init_slave_zone(xfrd_state_type* xfrd, struct zone_options* zone_opt)
{ {
int num, num_xot;
xfrd_zone_type *xzone; xfrd_zone_type *xzone;
xzone = (xfrd_zone_type*)region_alloc(xfrd->region, xzone = (xfrd_zone_type*)region_alloc(xfrd->region,
sizeof(xfrd_zone_type)); sizeof(xfrd_zone_type));
memset(xzone, 0, sizeof(xfrd_zone_type)); memset(xzone, 0, sizeof(xfrd_zone_type));
xzone->apex = zone_opt->node.key; xzone->apex = zone_opt->node.key;
xzone->apex_str = zone_opt->name; xzone->apex_str = zone_opt->name;
xzone->state = xfrd_zone_refreshing; xzone->state = xfrd_zone_refreshing;
xzone->zone_options = zone_opt; xzone->zone_options = zone_opt;
/* first retry will use first master */ /* first retry will use first master */
xzone->master = xzone->zone_options->pattern->request_xfr; xzone->master = xzone->zone_options->pattern->request_xfr;
skipping to change at line 509 skipping to change at line 510
xzone->udp_waiting = 0; xzone->udp_waiting = 0;
xzone->is_activated = 0; xzone->is_activated = 0;
xzone->multi_master_first_master = -1; xzone->multi_master_first_master = -1;
xzone->multi_master_update_check = -1; xzone->multi_master_update_check = -1;
tsig_create_record_custom(&xzone->tsig, NULL, 0, 0, 4); tsig_create_record_custom(&xzone->tsig, NULL, 0, 0, 4);
/* set refreshing anyway, if we have data it may be old */ /* set refreshing anyway, if we have data it may be old */
xfrd_set_refresh_now(xzone); xfrd_set_refresh_now(xzone);
/*Check all or none of acls use XoT*/
num = 0;
num_xot = 0;
for (; xzone->master != NULL; xzone->master = xzone->master->next, num++)
{
if (xzone->master->tls_auth_options != NULL) num_xot++;
}
if (num_xot != 0 && num != num_xot)
log_msg(LOG_WARNING, "Some but not all request-xfrs for %s have X
FR-over-TLS configured",
xzone->apex_str);
xzone->node.key = xzone->apex; xzone->node.key = xzone->apex;
rbtree_insert(xfrd->zones, (rbnode_type*)xzone); rbtree_insert(xfrd->zones, (rbnode_type*)xzone);
} }
static void static void
xfrd_init_zones() xfrd_init_zones()
{ {
struct zone_options *zone_opt; struct zone_options *zone_opt;
assert(xfrd->zones == 0); assert(xfrd->zones == 0);
 End of changes. 3 change blocks. 
1 lines changed or deleted 14 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)