dns64_env
struct dns64_env* dns64_env = (struct dns64_env*)env->modinfo[id];
if (!dns64_env)
return sizeof(*dns64_env);
dns64_insert_ignore_aaaa(struct dns64_env* dns64_env, char* str)
if(!name_tree_insert(&dns64_env->ignore_aaaa, node,
dns64_apply_cfg(struct dns64_env* dns64_env, struct config_file* cfg)
DEFAULT_DNS64_PREFIX, 0, &dns64_env->prefix_addr,
&dns64_env->prefix_addrlen, &dns64_env->prefix_net)) {
if (!addr_is_ip6(&dns64_env->prefix_addr, dns64_env->prefix_addrlen)) {
if (dns64_env->prefix_net != 32 && dns64_env->prefix_net != 40 &&
dns64_env->prefix_net != 48 && dns64_env->prefix_net != 56 &&
dns64_env->prefix_net != 64 && dns64_env->prefix_net != 96 ) {
if(!dns64_insert_ignore_aaaa(dns64_env, s->str))
name_tree_init_parents(&dns64_env->ignore_aaaa);
struct dns64_env* dns64_env =
(struct dns64_env*)calloc(1, sizeof(struct dns64_env));
if (!dns64_env) {
env->modinfo[id] = (void*)dns64_env;
name_tree_init(&dns64_env->ignore_aaaa);
if (!dns64_apply_cfg(dns64_env, env->cfg)) {
struct dns64_env* dns64_env;
dns64_env = (struct dns64_env*)env->modinfo[id];
if(dns64_env) {
traverse_postorder(&dns64_env->ignore_aaaa, free_ignore_aaaa_node,
struct dns64_env* dns64_env = (struct dns64_env*)qstate->env->modinfo[id];
&dns64_env->prefix_addr, dns64_env->prefix_net,
(socklen_t)sizeof(sin6)) != dns64_env->prefix_net)
sizeof(sin6.sin6_addr.s6_addr), dns64_env->prefix_net),
struct dns64_env* dns64_env = (struct dns64_env*)qstate->env->modinfo[id];
struct name_tree_node* node = name_tree_lookup(&dns64_env->ignore_aaaa,
struct dns64_env* dns64_env )
((struct sockaddr_in6*)&dns64_env->prefix_addr)->sin6_addr.s6_addr,
sizeof(((struct sockaddr_in6*)&dns64_env->prefix_addr)->sin6_addr.s6_addr),
dns64_env->prefix_net, &fd->rr_data[i][2],
struct dns64_env* dns64_env = (struct dns64_env*)super->env->modinfo[id];
dns64_synth_aaaa_data(fk, fd, dk, &dd, super->region, dns64_env);
struct dns64_env* dns64_env = (struct dns64_env*)env->modinfo[id];
if (!dns64_env)
return sizeof(*dns64_env);
dns64_insert_ignore_aaaa(struct dns64_env* dns64_env, char* str)
if(!name_tree_insert(&dns64_env->ignore_aaaa, node,
dns64_apply_cfg(struct dns64_env* dns64_env, struct config_file* cfg)
DEFAULT_DNS64_PREFIX, 0, &dns64_env->prefix_addr,
&dns64_env->prefix_addrlen, &dns64_env->prefix_net)) {
if (!addr_is_ip6(&dns64_env->prefix_addr, dns64_env->prefix_addrlen)) {
if (dns64_env->prefix_net != 32 && dns64_env->prefix_net != 40 &&
dns64_env->prefix_net != 48 && dns64_env->prefix_net != 56 &&
dns64_env->prefix_net != 64 && dns64_env->prefix_net != 96 ) {
if(!dns64_insert_ignore_aaaa(dns64_env, s->str))
name_tree_init_parents(&dns64_env->ignore_aaaa);
struct dns64_env* dns64_env =
(struct dns64_env*)calloc(1, sizeof(struct dns64_env));
if (!dns64_env) {
env->modinfo[id] = (void*)dns64_env;
name_tree_init(&dns64_env->ignore_aaaa);
if (!dns64_apply_cfg(dns64_env, env->cfg)) {
struct dns64_env* dns64_env;
dns64_env = (struct dns64_env*)env->modinfo[id];
if(dns64_env) {
traverse_postorder(&dns64_env->ignore_aaaa, free_ignore_aaaa_node,
struct dns64_env* dns64_env = (struct dns64_env*)qstate->env->modinfo[id];
&dns64_env->prefix_addr, dns64_env->prefix_net,
(socklen_t)sizeof(sin6)) != dns64_env->prefix_net)
sizeof(sin6.sin6_addr.s6_addr), dns64_env->prefix_net),
struct dns64_env* dns64_env = (struct dns64_env*)qstate->env->modinfo[id];
struct name_tree_node* node = name_tree_lookup(&dns64_env->ignore_aaaa,
struct dns64_env* dns64_env )
((struct sockaddr_in6*)&dns64_env->prefix_addr)->sin6_addr.s6_addr,
sizeof(((struct sockaddr_in6*)&dns64_env->prefix_addr)->sin6_addr.s6_addr),
dns64_env->prefix_net, &fd->rr_data[i][2],
struct dns64_env* dns64_env = (struct dns64_env*)super->env->modinfo[id];
dns64_synth_aaaa_data(fk, fd, dk, &dd, super->region, dns64_env);