Lines Matching refs:whitelist
59 struct ecs_whitelist* whitelist = in ecs_whitelist_create() local
62 if(!whitelist) in ecs_whitelist_create()
64 whitelist->region = regional_create(); in ecs_whitelist_create()
65 if(!whitelist->region) { in ecs_whitelist_create()
66 ecs_whitelist_delete(whitelist); in ecs_whitelist_create()
69 return whitelist; in ecs_whitelist_create()
73 ecs_whitelist_delete(struct ecs_whitelist* whitelist) in ecs_whitelist_delete() argument
75 if(!whitelist) in ecs_whitelist_delete()
77 regional_destroy(whitelist->region); in ecs_whitelist_delete()
78 free(whitelist); in ecs_whitelist_delete()
83 upstream_insert(struct ecs_whitelist* whitelist, in upstream_insert() argument
87 whitelist->region, sizeof(*node)); in upstream_insert()
90 if(!addr_tree_insert(&whitelist->upstream, node, addr, addrlen, net)) { in upstream_insert()
99 upstream_str_cfg(struct ecs_whitelist* whitelist, const char* str) in upstream_str_cfg() argument
109 if(!upstream_insert(whitelist, &addr, addrlen, net)) { in upstream_str_cfg()
118 read_upstream(struct ecs_whitelist* whitelist, struct config_file* cfg) in read_upstream() argument
123 if(!upstream_str_cfg(whitelist, p->str)) in read_upstream()
131 read_names(struct ecs_whitelist* whitelist, struct config_file* cfg) in read_names() argument
148 nmr = (uint8_t*)regional_alloc_init(whitelist->region, nm, in read_names()
155 n = (struct name_tree_node*)regional_alloc(whitelist->region, in read_names()
161 if(!name_tree_insert(&whitelist->dname, n, nmr, nm_len, nm_labs, in read_names()
171 ecs_whitelist_apply_cfg(struct ecs_whitelist* whitelist, in ecs_whitelist_apply_cfg() argument
174 regional_free_all(whitelist->region); in ecs_whitelist_apply_cfg()
175 addr_tree_init(&whitelist->upstream); in ecs_whitelist_apply_cfg()
176 name_tree_init(&whitelist->dname); in ecs_whitelist_apply_cfg()
177 if(!read_upstream(whitelist, cfg)) in ecs_whitelist_apply_cfg()
179 if(!read_names(whitelist, cfg)) in ecs_whitelist_apply_cfg()
181 addr_tree_init_parents(&whitelist->upstream); in ecs_whitelist_apply_cfg()
182 name_tree_init_parents(&whitelist->dname); in ecs_whitelist_apply_cfg()
187 ecs_is_whitelisted(struct ecs_whitelist* whitelist, in ecs_is_whitelisted() argument
192 if(addr_tree_lookup(&whitelist->upstream, addr, addrlen)) in ecs_is_whitelisted()
196 return name_tree_lookup(&whitelist->dname, qname, qname_len, labs, in ecs_is_whitelisted()
201 ecs_whitelist_get_mem(struct ecs_whitelist* whitelist) in ecs_whitelist_get_mem() argument
203 if(!whitelist) return 0; in ecs_whitelist_get_mem()
204 return sizeof(*whitelist) + regional_get_mem(whitelist->region); in ecs_whitelist_get_mem()