Home | History | Annotate | Download | only in util

Lines Matching refs:cfg_parser

59 extern struct config_parser_state* cfg_parser;
237 cfg_parser->started_toplevel = 0;
244 cfg_parser->started_toplevel = 1;
371 if(cfg_parser->cfg->stubs &&
372 !cfg_parser->cfg->stubs->name)
380 cfg_parser->started_toplevel = 1;
383 s->next = cfg_parser->cfg->stubs;
384 cfg_parser->cfg->stubs = s;
398 if(cfg_parser->cfg->forwards &&
399 !cfg_parser->cfg->forwards->name)
407 cfg_parser->started_toplevel = 1;
410 s->next = cfg_parser->cfg->forwards;
411 cfg_parser->cfg->forwards = s;
425 if(cfg_parser->cfg->views &&
426 !cfg_parser->cfg->views->name)
434 cfg_parser->started_toplevel = 1;
437 s->next = cfg_parser->cfg->views;
438 cfg_parser->cfg->views = s;
453 cfg_parser->started_toplevel = 1;
456 s->next = cfg_parser->cfg->auths;
457 cfg_parser->cfg->auths = s;
485 bitlist = config_parse_taglist(cfg_parser->cfg, $2,
492 cfg_parser->cfg->auths->rpz_taglist = bitlist;
493 cfg_parser->cfg->auths->rpz_taglistlen = len;
508 cfg_parser->cfg->auths->rpz_action_override = NULL;
511 cfg_parser->cfg->auths->rpz_action_override = $2;
519 free(cfg_parser->cfg->auths->rpz_cname);
520 cfg_parser->cfg->auths->rpz_cname = $2;
529 else cfg_parser->cfg->auths->rpz_log = (strcmp($2, "yes")==0);
537 free(cfg_parser->cfg->auths->rpz_log_name);
538 cfg_parser->cfg->auths->rpz_log_name = $2;
546 else cfg_parser->cfg->auths->rpz_signal_nxdomain_ra = (strcmp($2, "yes")==0);
555 cfg_parser->started_toplevel = 1;
558 s->next = cfg_parser->cfg->auths;
559 cfg_parser->cfg->auths = s;
584 else cfg_parser->cfg->num_threads = atoi($2);
593 else cfg_parser->cfg->verbosity = atoi($2);
601 cfg_parser->cfg->stat_interval = 0;
604 else cfg_parser->cfg->stat_interval = atoi($2);
613 else cfg_parser->cfg->stat_cumulative = (strcmp($2, "yes")==0);
622 else cfg_parser->cfg->stat_extended = (strcmp($2, "yes")==0);
631 else cfg_parser->cfg->stat_inhibit_zero = (strcmp($2, "yes")==0);
640 else cfg_parser->cfg->shm_enable = (strcmp($2, "yes")==0);
648 cfg_parser->cfg->shm_key = 0;
651 else cfg_parser->cfg->shm_key = atoi($2);
660 else cfg_parser->cfg->port = atoi($2);
668 if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet, $2))
680 if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet_zone,
697 cfg_parser->cfg->client_subnet_always_forward =
723 cfg_parser->cfg->max_client_subnet_ipv4 = 32;
725 cfg_parser->cfg->max_client_subnet_ipv4 = 0;
726 else cfg_parser->cfg->max_client_subnet_ipv4 = (uint8_t)atoi($2);
740 cfg_parser->cfg->max_client_subnet_ipv6 = 128;
742 cfg_parser->cfg->max_client_subnet_ipv6 = 0;
743 else cfg_parser->cfg->max_client_subnet_ipv6 = (uint8_t)atoi($2);
757 cfg_parser->cfg->min_client_subnet_ipv4 = 32;
759 cfg_parser->cfg->min_client_subnet_ipv4 = 0;
760 else cfg_parser->cfg->min_client_subnet_ipv4 = (uint8_t)atoi($2);
774 cfg_parser->cfg->min_client_subnet_ipv6 = 128;
776 cfg_parser->cfg->min_client_subnet_ipv6 = 0;
777 else cfg_parser->cfg->min_client_subnet_ipv6 = (uint8_t)atoi($2);
791 cfg_parser->cfg->max_ecs_tree_size_ipv4 = 0;
792 else cfg_parser->cfg->max_ecs_tree_size_ipv4 = (uint32_t)atoi($2);
806 cfg_parser->cfg->max_ecs_tree_size_ipv6 = 0;
807 else cfg_parser->cfg->max_ecs_tree_size_ipv6 = (uint32_t)atoi($2);
817 if(cfg_parser->cfg->num_ifs == 0)
818 cfg_parser->cfg->ifs = calloc(1, sizeof(char*));
819 else cfg_parser->cfg->ifs = realloc(cfg_parser->cfg->ifs,
820 (cfg_parser->cfg->num_ifs+1)*sizeof(char*));
821 if(!cfg_parser->cfg->ifs)
824 cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = $2;
830 if(cfg_parser->cfg->num_out_ifs == 0)
831 cfg_parser->cfg->out_ifs = calloc(1, sizeof(char*));
832 else cfg_parser->cfg->out_ifs = realloc(
833 cfg_parser->cfg->out_ifs,
834 (cfg_parser->cfg->num_out_ifs+1)*sizeof(char*));
835 if(!cfg_parser->cfg->out_ifs)
838 cfg_parser->cfg->out_ifs[
839 cfg_parser->cfg->num_out_ifs++] = $2;
847 else cfg_parser->cfg->outgoing_num_ports = atoi($2);
855 cfg_parser->cfg->outgoing_avail_ports, 65536))
864 cfg_parser->cfg->outgoing_avail_ports, 65536))
874 else cfg_parser->cfg->outgoing_num_tcp = atoi($2);
883 else cfg_parser->cfg->incoming_num_tcp = atoi($2);
892 else cfg_parser->cfg->if_automatic = (strcmp($2, "yes")==0);
899 free(cfg_parser->cfg->if_automatic_ports);
900 cfg_parser->cfg->if_automatic_ports = $2;
908 else cfg_parser->cfg->do_ip4 = (strcmp($2, "yes")==0);
917 else cfg_parser->cfg->do_ip6 = (strcmp($2, "yes")==0);
926 else cfg_parser->cfg->do_nat64 = (strcmp($2, "yes")==0);
935 else cfg_parser->cfg->do_udp = (strcmp($2, "yes")==0);
944 else cfg_parser->cfg->do_tcp = (strcmp($2, "yes")==0);
953 else cfg_parser->cfg->prefer_ip4 = (strcmp($2, "yes")==0);
962 else cfg_parser->cfg->prefer_ip6 = (strcmp($2, "yes")==0);
971 else cfg_parser->cfg->tcp_mss = atoi($2);
980 else cfg_parser->cfg->outgoing_tcp_mss = atoi($2);
990 cfg_parser->cfg->tcp_idle_timeout = 120000;
992 cfg_parser->cfg->tcp_idle_timeout = 1;
993 else cfg_parser->cfg->tcp_idle_timeout = atoi($2);
1003 cfg_parser->cfg->max_reuse_tcp_queries = 0;
1004 else cfg_parser->cfg->max_reuse_tcp_queries = atoi($2);
1014 cfg_parser->cfg->tcp_reuse_timeout = 0;
1015 else cfg_parser->cfg->tcp_reuse_timeout = atoi($2);
1025 cfg_parser->cfg->tcp_auth_query_timeout = 0;
1026 else cfg_parser->cfg->tcp_auth_query_timeout = atoi($2);
1035 else cfg_parser->cfg->do_tcp_keepalive = (strcmp($2, "yes")==0);
1045 cfg_parser->cfg->tcp_keepalive_timeout = 6553500;
1047 cfg_parser->cfg->tcp_keepalive_timeout = 0;
1048 else cfg_parser->cfg->tcp_keepalive_timeout = atoi($2);
1058 cfg_parser->cfg->sock_queue_timeout = 6553500;
1060 cfg_parser->cfg->sock_queue_timeout = 0;
1061 else cfg_parser->cfg->sock_queue_timeout = atoi($2);
1070 else cfg_parser->cfg->tcp_upstream = (strcmp($2, "yes")==0);
1079 else cfg_parser->cfg->udp_upstream_without_downstream = (strcmp($2, "yes")==0);
1088 else cfg_parser->cfg->ssl_upstream = (strcmp($2, "yes")==0);
1095 free(cfg_parser->cfg->ssl_service_key);
1096 cfg_parser->cfg->ssl_service_key = $2;
1102 free(cfg_parser->cfg->ssl_service_pem);
1103 cfg_parser->cfg->ssl_service_pem = $2;
1111 else cfg_parser->cfg->ssl_port = atoi($2);
1118 free(cfg_parser->cfg->tls_cert_bundle);
1119 cfg_parser->cfg->tls_cert_bundle = $2;
1127 else cfg_parser->cfg->tls_win_cert = (strcmp($2, "yes")==0);
1134 if(!cfg_strlist_insert(&cfg_parser->cfg->tls_additional_port,
1142 free(cfg_parser->cfg->tls_ciphers);
1143 cfg_parser->cfg->tls_ciphers = $2;
1149 free(cfg_parser->cfg->tls_ciphersuites);
1150 cfg_parser->cfg->tls_ciphersuites = $2;
1156 if(!cfg_strlist_append(&cfg_parser->cfg->tls_session_ticket_keys,
1166 else cfg_parser->cfg->tls_use_sni = (strcmp($2, "yes")==0);
1175 free(cfg_parser->cfg->tls_protocols);
1176 cfg_parser->cfg->tls_protocols = $2;
1184 else cfg_parser->cfg->https_port = atoi($2);
1190 free(cfg_parser->cfg->http_endpoint);
1192 cfg_parser->cfg->http_endpoint = malloc(strlen($2)+2);
1193 if(cfg_parser->cfg->http_endpoint) {
1194 cfg_parser->cfg->http_endpoint[0] = '/';
1195 memmove(cfg_parser->cfg->http_endpoint+1, $2,
1202 cfg_parser->cfg->http_endpoint = $2;
1210 else cfg_parser->cfg->http_max_streams = atoi($2);
1217 &cfg_parser->cfg->http_query_buffer_size))
1225 &cfg_parser->cfg->http_response_buffer_size))
1234 else cfg_parser->cfg->http_nodelay = (strcmp($2, "yes")==0);
1242 else cfg_parser->cfg->http_notls_downstream = (strcmp($2, "yes")==0);
1251 cfg_parser->cfg->quic_port = atoi($2);
1253 if (cfg_parser->cfg->quic_port != 0)
1256 "over QUIC.", cfg_parser->filename, cfg_parser->line);
1264 if(!cfg_parse_memsize($2, &cfg_parser->cfg->quic_size))
1273 else cfg_parser->cfg->use_systemd = (strcmp($2, "yes")==0);
1282 else cfg_parser->cfg->do_daemonize = (strcmp($2, "yes")==0);
1291 else cfg_parser->cfg->use_syslog = (strcmp($2, "yes")==0);
1305 else cfg_parser->cfg->log_time_ascii = (strcmp($2, "yes")==0);
1314 else cfg_parser->cfg->log_time_iso = (strcmp($2, "yes")==0);
1323 else cfg_parser->cfg->log_queries = (strcmp($2, "yes")==0);
1332 else cfg_parser->cfg->log_replies = (strcmp($2, "yes")==0);
1341 else cfg_parser->cfg->log_tag_queryreply = (strcmp($2, "yes")==0);
1350 else cfg_parser->cfg->log_servfail = (strcmp($2, "yes")==0);
1359 else cfg_parser->cfg->log_destaddr = (strcmp($2, "yes")==0);
1368 else cfg_parser->cfg->log_thread_id = (strcmp($2, "yes")==0);
1377 else cfg_parser->cfg->log_local_actions = (strcmp($2, "yes")==0);
1384 free(cfg_parser->cfg->chrootdir);
1385 cfg_parser->cfg->chrootdir = $2;
1391 free(cfg_parser->cfg->username);
1392 cfg_parser->cfg->username = $2;
1398 free(cfg_parser->cfg->directory);
1399 cfg_parser->cfg->directory = $2;
1404 cfg_parser->cfg);
1406 d = cfg_parser->cfg->directory;
1409 if(cfg_parser->chroot && cfg_parser->chroot[0] &&
1410 strncmp(d, cfg_parser->chroot, strlen(
1411 cfg_parser->chroot)) == 0)
1412 d += strlen(cfg_parser->chroot);
1424 free(cfg_parser->cfg->logfile);
1425 cfg_parser->cfg->logfile = $2;
1426 cfg_parser->cfg->use_syslog = 0;
1432 free(cfg_parser->cfg->pidfile);
1433 cfg_parser->cfg->pidfile = $2;
1439 if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, $2))
1460 if(!cfg_strlist_insert(&cfg_parser->cfg->
1468 if(!cfg_strlist_insert(&cfg_parser->cfg->
1476 if(!cfg_strlist_insert(&cfg_parser->cfg->
1484 if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, $2))
1494 cfg_parser->cfg->trust_anchor_signaling =
1505 cfg_parser->cfg->root_key_sentinel =
1513 if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, $2))
1522 else cfg_parser->cfg->hide_identity = (strcmp($2, "yes")==0);
1531 else cfg_parser->cfg->hide_version = (strcmp($2, "yes")==0);
1540 else cfg_parser->cfg->hide_trustanchor = (strcmp($2, "yes")==0);
1549 else cfg_parser->cfg->hide_http_user_agent = (strcmp($2, "yes")==0);
1556 free(cfg_parser->cfg->identity);
1557 cfg_parser->cfg->identity = $2;
1563 free(cfg_parser->cfg->version);
1564 cfg_parser->cfg->version = $2;
1570 free(cfg_parser->cfg->http_user_agent);
1571 cfg_parser->cfg->http_user_agent = $2;
1577 free(cfg_parser->cfg->nsid_cfg_str);
1578 cfg_parser->cfg->nsid_cfg_str = $2;
1579 free(cfg_parser->cfg->nsid);
1580 cfg_parser->cfg->nsid = NULL;
1581 cfg_parser->cfg->nsid_len = 0;
1584 else if (!(cfg_parser->cfg->nsid = cfg_parse_nsid(
1585 $2, &cfg_parser->cfg->nsid_len)))
1593 if(!cfg_parse_memsize($2, &cfg_parser->cfg->so_rcvbuf))
1601 if(!cfg_parse_memsize($2, &cfg_parser->cfg->so_sndbuf))
1611 else cfg_parser->cfg->so_reuseport =
1621 else cfg_parser->cfg->ip_transparent =
1631 else cfg_parser->cfg->ip_freebind =
1646 cfg_parser->cfg->ip_dscp = atoi($2);
1653 if(!cfg_parse_memsize($2, &cfg_parser->cfg->stream_wait_size))
1666 cfg_parser->cfg->edns_buffer_size = 65535;
1667 else cfg_parser->cfg->edns_buffer_size = atoi($2);
1678 else cfg_parser->cfg->msg_buffer_size = atoi($2);
1685 if(!cfg_parse_memsize($2, &cfg_parser->cfg->msg_cache_size))
1696 cfg_parser->cfg->msg_cache_slabs = atoi($2);
1697 if(!is_pow2(cfg_parser->cfg->msg_cache_slabs))
1708 else cfg_parser->cfg->num_queries_per_thread = atoi($2);
1717 else cfg_parser->cfg->jostle_time = atoi($2);
1726 else cfg_parser->cfg->delay_close = atoi($2);
1735 else cfg_parser->cfg->udp_connect = (strcmp($2, "yes")==0);
1744 else cfg_parser->cfg->unblock_lan_zones =
1754 else cfg_parser->cfg->insecure_lan_zones =
1762 if(!cfg_parse_memsize($2, &cfg_parser->cfg->rrset_cache_size))
1773 cfg_parser->cfg->rrset_cache_slabs = atoi($2);
1774 if(!is_pow2(cfg_parser->cfg->rrset_cache_slabs))
1785 else cfg_parser->cfg->host_ttl = atoi($2);
1802 else cfg_parser->cfg->infra_cache_numhosts = atoi($2);
1820 cfg_parser->cfg->infra_cache_slabs = atoi($2);
1821 if(!is_pow2(cfg_parser->cfg->infra_cache_slabs))
1832 else cfg_parser->cfg->infra_cache_min_rtt = atoi($2);
1841 else cfg_parser->cfg->infra_cache_max_rtt = atoi($2);
1850 else cfg_parser->cfg->infra_keep_probing =
1858 free(cfg_parser->cfg->target_fetch_policy);
1859 cfg_parser->cfg->target_fetch_policy = $2;
1867 else cfg_parser->cfg->harden_short_bufsize =
1877 else cfg_parser->cfg->harden_large_queries =
1887 else cfg_parser->cfg->harden_glue =
1897 else cfg_parser->cfg->harden_unverified_glue =
1907 else cfg_parser->cfg->harden_dnssec_stripped =
1917 else cfg_parser->cfg->harden_below_nxdomain =
1927 else cfg_parser->cfg->harden_referral_path =
1937 else cfg_parser->cfg->harden_algo_downgrade =
1947 else cfg_parser->cfg->harden_unknown_additional =
1957 else cfg_parser->cfg->use_caps_bits_for_id =
1965 if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, $2))
1972 if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, $2))
1979 if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, $2))
1988 else cfg_parser->cfg->prefetch = (strcmp($2, "yes")==0);
1997 else cfg_parser->cfg->prefetch_key = (strcmp($2, "yes")==0);
2006 else cfg_parser->cfg->deny_any = (strcmp($2, "yes")==0);
2015 else cfg_parser->cfg->unwanted_threshold = atoi($2);
2022 if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, $2))
2031 else cfg_parser->cfg->donotquery_localhost =
2040 if(!cfg_str2list_insert(&cfg_parser->cfg->acls, $2, $3))
2049 &cfg_parser->cfg->interface_actions, $2, $3))
2056 free(cfg_parser->cfg->module_conf);
2057 cfg_parser->cfg->module_conf = $2;
2064 cfg_parser->cfg->val_date_override = 0;
2066 cfg_parser->cfg->val_date_override =
2068 if(!cfg_parser->cfg->val_date_override)
2073 cfg_parser->cfg->val_date_override = atoi($2);
2082 cfg_parser->cfg->val_sig_skew_min = 0;
2084 cfg_parser->cfg->val_sig_skew_min = atoi($2);
2085 if(!cfg_parser->cfg->val_sig_skew_min)
2095 cfg_parser->cfg->val_sig_skew_max = 0;
2097 cfg_parser->cfg->val_sig_skew_max = atoi($2);
2098 if(!cfg_parser->cfg->val_sig_skew_max)
2108 cfg_parser->cfg->val_max_restart = 0;
2110 cfg_parser->cfg->val_max_restart = atoi($2);
2111 if(!cfg_parser->cfg->val_max_restart)
2122 else cfg_parser->cfg->max_ttl = atoi($2);
2131 else cfg_parser->cfg->max_negative_ttl = atoi($2);
2140 else cfg_parser->cfg->min_negative_ttl = atoi($2);
2149 else cfg_parser->cfg->min_ttl = atoi($2);
2158 else cfg_parser->cfg->bogus_ttl = atoi($2);
2167 else cfg_parser->cfg->val_clean_additional =
2177 else cfg_parser->cfg->val_permissive_mode =
2188 cfg_parser->cfg->aggressive_nsec =
2198 else cfg_parser->cfg->ignore_cd = (strcmp($2, "yes")==0);
2207 else cfg_parser->cfg->disable_edns_do = (strcmp($2, "yes")==0);
2216 else cfg_parser->cfg->serve_expired = (strcmp($2, "yes")==0);
2225 else cfg_parser->cfg->serve_expired_ttl = atoi($2);
2234 else cfg_parser->cfg->serve_expired_ttl_reset = (strcmp($2, "yes")==0);
2243 else cfg_parser->cfg->serve_expired_reply_ttl = atoi($2);
2252 else cfg_parser->cfg->serve_expired_client_timeout = atoi($2);
2261 else cfg_parser->cfg->ede_serve_expired = (strcmp($2, "yes")==0);
2270 else cfg_parser->cfg->serve_original_ttl = (strcmp($2, "yes")==0);
2305 else cfg_parser->cfg->val_log_level = atoi($2);
2312 free(cfg_parser->cfg->val_nsec3_key_iterations);
2313 cfg_parser->cfg->val_nsec3_key_iterations = $2;
2321 else cfg_parser->cfg->zonemd_permissive_mode = (strcmp($2, "yes")==0);
2330 else cfg_parser->cfg->add_holddown = atoi($2);
2339 else cfg_parser->cfg->del_holddown = atoi($2);
2348 else cfg_parser->cfg->keep_missing = atoi($2);
2357 else cfg_parser->cfg->permit_small_holddown =
2365 if(!cfg_parse_memsize($2, &cfg_parser->cfg->key_cache_size))
2376 cfg_parser->cfg->key_cache_slabs = atoi($2);
2377 if(!is_pow2(cfg_parser->cfg->key_cache_slabs))
2386 if(!cfg_parse_memsize($2, &cfg_parser->cfg->neg_cache_size))
2424 if(!cfg_strlist_insert(&cfg_parser->cfg->
2443 if(!cfg_strlist_insert(&cfg_parser->cfg->
2449 if(!cfg_str2list_insert(&cfg_parser->cfg->local_zones,
2458 if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, $2))
2469 if(!cfg_strlist_insert(&cfg_parser->cfg->
2482 else cfg_parser->cfg->minimal_responses =
2492 else cfg_parser->cfg->rrset_roundrobin =
2500 cfg_parser->cfg->unknown_server_time_limit = atoi($2);
2507 cfg_parser->cfg->discard_timeout = atoi($2);
2514 cfg_parser->cfg->wait_limit = atoi($2);
2521 cfg_parser->cfg->wait_limit_cookie = atoi($2);
2533 if(!cfg_str2list_insert(&cfg_parser->cfg->
2547 if(!cfg_str2list_insert(&cfg_parser->cfg->
2556 cfg_parser->cfg->max_udp_size = atoi($2);
2563 free(cfg_parser->cfg->dns64_prefix);
2564 cfg_parser->cfg->dns64_prefix = $2;
2572 else cfg_parser->cfg->dns64_synthall = (strcmp($2, "yes")==0);
2579 if(!cfg_strlist_insert(&cfg_parser->cfg->dns64_ignore_aaaa,
2587 free(cfg_parser->cfg->nat64_prefix);
2588 cfg_parser->cfg->nat64_prefix = $2;
2597 if(!config_add_tag(cfg_parser->cfg, p))
2608 uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, $3,
2618 &cfg_parser->cfg->local_zone_tags,
2629 uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, $3,
2639 &cfg_parser->cfg->acl_tags,
2650 if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_actions,
2662 if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_datas,
2674 if(!cfg_str3list_insert(&cfg_parser->cfg->local_zone_overrides,
2686 if(!cfg_str2list_insert(&cfg_parser->cfg->acl_view,
2695 uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, $3,
2705 &cfg_parser->cfg->interface_tags,
2716 if(!cfg_str3list_insert(&cfg_parser->cfg->interface_tag_actions,
2728 if(!cfg_str3list_insert(&cfg_parser->cfg->interface_tag_datas,
2740 if(!cfg_str2list_insert(&cfg_parser->cfg->interface_view,
2749 uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, $3,
2759 &cfg_parser->cfg->respip_tags,
2772 else cfg_parser->cfg->ip_ratelimit = atoi($2);
2781 else cfg_parser->cfg->ip_ratelimit_cookie = atoi($2);
2790 else cfg_parser->cfg->ratelimit = atoi($2);
2797 if(!cfg_parse_memsize($2, &cfg_parser->cfg->ip_ratelimit_size))
2805 if(!cfg_parse_memsize($2, &cfg_parser->cfg->ratelimit_size))
2816 cfg_parser->cfg->ip_ratelimit_slabs = atoi($2);
2817 if(!is_pow2(cfg_parser->cfg->ip_ratelimit_slabs))
2829 cfg_parser->cfg->ratelimit_slabs = atoi($2);
2830 if(!is_pow2(cfg_parser->cfg->ratelimit_slabs))
2844 if(!cfg_str2list_insert(&cfg_parser->cfg->
2858 if(!cfg_str2list_insert(&cfg_parser->cfg->
2869 else cfg_parser->cfg->ip_ratelimit_factor = atoi($2);
2878 else cfg_parser->cfg->ratelimit_factor = atoi($2);
2887 else cfg_parser->cfg->ip_ratelimit_backoff =
2897 else cfg_parser->cfg->ratelimit_backoff =
2907 else cfg_parser->cfg->outbound_msg_retry = atoi($2);
2916 else cfg_parser->cfg->max_sent_count = atoi($2);
2925 else cfg_parser->cfg->max_query_restarts = atoi($2);
2940 else cfg_parser->cfg->fast_server_num = atoi($2);
2949 else cfg_parser->cfg->fast_server_permil = atoi($2);
2958 else cfg_parser->cfg->qname_minimisation =
2968 else cfg_parser->cfg->qname_minimisation_strict =
2978 else cfg_parser->cfg->pad_responses =
2988 else cfg_parser->cfg->pad_responses_block_size = atoi($2);
2997 else cfg_parser->cfg->pad_queries =
3007 else cfg_parser->cfg->pad_queries_block_size = atoi($2);
3017 else cfg_parser->cfg->ipsecmod_enabled = (strcmp($2, "yes")==0);
3030 else cfg_parser->cfg->ipsecmod_ignore_bogus = (strcmp($2, "yes")==0);
3041 free(cfg_parser->cfg->ipsecmod_hook);
3042 cfg_parser->cfg->ipsecmod_hook = $2;
3055 else cfg_parser->cfg->ipsecmod_max_ttl = atoi($2);
3067 if(!cfg_strlist_insert(&cfg_parser->cfg->ipsecmod_whitelist, $2))
3081 else cfg_parser->cfg->ipsecmod_strict = (strcmp($2, "yes")==0);
3093 &cfg_parser->cfg->edns_client_strings, $2, $3))
3104 else cfg_parser->cfg->edns_client_string_opcode = atoi($2);
3113 else cfg_parser->cfg->ede = (strcmp($2, "yes")==0);
3122 else cfg_parser->cfg->dns_error_reporting = (strcmp($2, "yes")==0);
3129 if(!cfg_strlist_insert(&cfg_parser->cfg->proxy_protocol_port, $2))
3136 if(cfg_parser->cfg->stubs->name)
3139 free(cfg_parser->cfg->stubs->name);
3140 cfg_parser->cfg->stubs->name = $2;
3146 if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, $2))
3153 if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, $2))
3162 else cfg_parser->cfg->stubs->isfirst=(strcmp($2, "yes")==0);
3171 else cfg_parser->cfg->stubs->no_cache=(strcmp($2, "yes")==0);
3180 else cfg_parser->cfg->stubs->ssl_upstream =
3190 else cfg_parser->cfg->stubs->tcp_upstream =
3200 else cfg_parser->cfg->stubs->isprime =
3208 if(cfg_parser->cfg->forwards->name)
3211 free(cfg_parser->cfg->forwards->name);
3212 cfg_parser->cfg->forwards->name = $2;
3218 if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, $2))
3225 if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, $2))
3234 else cfg_parser->cfg->forwards->isfirst=(strcmp($2, "yes")==0);
3243 else cfg_parser->cfg->forwards->no_cache=(strcmp($2, "yes")==0);
3252 else cfg_parser->cfg->forwards->ssl_upstream =
3262 else cfg_parser->cfg->forwards->tcp_upstream =
3270 if(cfg_parser->cfg->auths->name)
3273 free(cfg_parser->cfg->auths->name);
3274 cfg_parser->cfg->auths->name = $2;
3280 free(cfg_parser->cfg->auths->zonefile);
3281 cfg_parser->cfg->auths->zonefile = $2;
3287 if(!cfg_strlist_insert(&cfg_parser->cfg->auths->masters, $2))
3294 if(!cfg_strlist_insert(&cfg_parser->cfg->auths->urls, $2))
3301 if(!cfg_strlist_insert(&cfg_parser->cfg->auths->allow_notify,
3311 else cfg_parser->cfg->auths->zonemd_check =
3321 else cfg_parser->cfg->auths->zonemd_reject_absence =
3331 else cfg_parser->cfg->auths->for_downstream =
3341 else cfg_parser->cfg->auths->for_upstream =
3351 else cfg_parser->cfg->auths->fallback_enabled =
3359 if(!cfg_parse_memsize($2, &cfg_parser->cfg->auths->max_transfer_size))
3369 else cfg_parser->cfg->auths->max_transfer_time = atoi($2);
3376 if(cfg_parser->cfg->views->name)
3379 free(cfg_parser->cfg->views->name);
3380 cfg_parser->cfg->views->name = $2;
3410 if(!cfg_strlist_insert(&cfg_parser->cfg->views->
3429 if(!cfg_strlist_insert(&cfg_parser->cfg->views->
3436 &cfg_parser->cfg->views->local_zones,
3447 &cfg_parser->cfg->views->respip_actions, $2, $3))
3455 &cfg_parser->cfg->views->respip_data, $2, $3))
3462 if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, $2)) {
3474 if(!cfg_strlist_insert(&cfg_parser->cfg->views->
3487 else cfg_parser->cfg->views->isfirst=(strcmp($2, "yes")==0);
3494 cfg_parser->started_toplevel = 1;
3508 else cfg_parser->cfg->remote_control_enable =
3518 else cfg_parser->cfg->control_port = atoi($2);
3525 if(!cfg_strlist_append(&cfg_parser->cfg->control_ifs, $2))
3532 cfg_parser->cfg->control_use_cert = (strcmp($2, "yes")==0);
3539 free(cfg_parser->cfg->server_key_file);
3540 cfg_parser->cfg->server_key_file = $2;
3546 free(cfg_parser->cfg->server_cert_file);
3547 cfg_parser->cfg->server_cert_file = $2;
3553 free(cfg_parser->cfg->control_key_file);
3554 cfg_parser->cfg->control_key_file = $2;
3560 free(cfg_parser->cfg->control_cert_file);
3561 cfg_parser->cfg->control_cert_file = $2;
3567 cfg_parser->started_toplevel = 1;
3591 else cfg_parser->cfg->dnstap = (strcmp($2, "yes")==0);
3600 else cfg_parser->cfg->dnstap_bidirectional =
3608 free(cfg_parser->cfg->dnstap_socket_path);
3609 cfg_parser->cfg->dnstap_socket_path = $2;
3615 free(cfg_parser->cfg->dnstap_ip);
3616 cfg_parser->cfg->dnstap_ip = $2;
3624 else cfg_parser->cfg->dnstap_tls = (strcmp($2, "yes")==0);
3631 free(cfg_parser->cfg->dnstap_tls_server_name);
3632 cfg_parser->cfg->dnstap_tls_server_name = $2;
3638 free(cfg_parser->cfg->dnstap_tls_cert_bundle);
3639 cfg_parser->cfg->dnstap_tls_cert_bundle = $2;
3645 free(cfg_parser->cfg->dnstap_tls_client_key_file);
3646 cfg_parser->cfg->dnstap_tls_client_key_file = $2;
3652 free(cfg_parser->cfg->dnstap_tls_client_cert_file);
3653 cfg_parser->cfg->dnstap_tls_client_cert_file = $2;
3661 else cfg_parser->cfg->dnstap_send_identity = (strcmp($2, "yes")==0);
3670 else cfg_parser->cfg->dnstap_send_version = (strcmp($2, "yes")==0);
3677 free(cfg_parser->cfg->dnstap_identity);
3678 cfg_parser->cfg->dnstap_identity = $2;
3684 free(cfg_parser->cfg->dnstap_version);
3685 cfg_parser->cfg->dnstap_version = $2;
3693 else cfg_parser->cfg->dnstap_log_resolver_query_messages =
3703 else cfg_parser->cfg->dnstap_log_resolver_response_messages =
3713 else cfg_parser->cfg->dnstap_log_client_query_messages =
3723 else cfg_parser->cfg->dnstap_log_client_response_messages =
3733 else cfg_parser->cfg->dnstap_log_forwarder_query_messages =
3743 else cfg_parser->cfg->dnstap_log_forwarder_response_messages =
3755 else cfg_parser->cfg->dnstap_sample_rate = atoi($2);
3762 cfg_parser->started_toplevel = 1;
3772 if(!cfg_strlist_append_ex(&cfg_parser->cfg->python_script, $2))
3779 cfg_parser->started_toplevel = 1;
3789 if(!cfg_strlist_append_ex(&cfg_parser->cfg->dynlib_file, $2))
3798 else cfg_parser->cfg->disable_dnssec_lame_check =
3806 free(cfg_parser->cfg->log_identity);
3807 cfg_parser->cfg->log_identity = $2;
3814 if(!cfg_str2list_insert(&cfg_parser->cfg->respip_actions,
3822 if(!cfg_str2list_insert(&cfg_parser->cfg->respip_data,
3830 cfg_parser->started_toplevel = 1;
3849 else cfg_parser->cfg->dnscrypt = (strcmp($2, "yes")==0);
3858 else cfg_parser->cfg->dnscrypt_port = atoi($2);
3865 free(cfg_parser->cfg->dnscrypt_provider);
3866 cfg_parser->cfg->dnscrypt_provider = $2;
3872 if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_provider_cert, $2)) {
3875 } else if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert, $2)) {
3883 if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert_rotated, $2))
3890 if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_secret_key, $2)) {
3893 } else if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_secret_key, $2)) {
3901 if(!cfg_parse_memsize($2, &cfg_parser->cfg->dnscrypt_shared_secret_cache_size))
3912 cfg_parser->cfg->dnscrypt_shared_secret_cache_slabs = atoi($2);
3913 if(!is_pow2(cfg_parser->cfg->dnscrypt_shared_secret_cache_slabs))
3922 if(!cfg_parse_memsize($2, &cfg_parser->cfg->dnscrypt_nonce_cache_size))
3933 cfg_parser->cfg->dnscrypt_nonce_cache_slabs = atoi($2);
3934 if(!is_pow2(cfg_parser->cfg->dnscrypt_nonce_cache_slabs))
3943 cfg_parser->started_toplevel = 1;
3964 free(cfg_parser->cfg->cachedb_backend);
3965 cfg_parser->cfg->cachedb_backend = $2;
3976 free(cfg_parser->cfg->cachedb_secret);
3977 cfg_parser->cfg->cachedb_secret = $2;
3990 else cfg_parser->cfg->cachedb_no_store = (strcmp($2, "yes")==0);
4003 else cfg_parser->cfg->cachedb_check_when_serve_expired = (strcmp($2, "yes")==0);
4014 free(cfg_parser->cfg->redis_server_host);
4015 cfg_parser->cfg->redis_server_host = $2;
4026 free(cfg_parser->cfg->redis_replica_server_host);
4027 cfg_parser->cfg->redis_replica_server_host = $2;
4042 else cfg_parser->cfg->redis_server_port = port;
4057 else cfg_parser->cfg->redis_replica_server_port = port;
4068 free(cfg_parser->cfg->redis_server_path);
4069 cfg_parser->cfg->redis_server_path = $2;
4080 free(cfg_parser->cfg->redis_replica_server_path);
4081 cfg_parser->cfg->redis_replica_server_path = $2;
4092 free(cfg_parser->cfg->redis_server_password);
4093 cfg_parser->cfg->redis_server_password = $2;
4104 free(cfg_parser->cfg->redis_replica_server_password);
4105 cfg_parser->cfg->redis_replica_server_password = $2;
4118 else cfg_parser->cfg->redis_timeout = atoi($2);
4131 else cfg_parser->cfg->redis_replica_timeout = atoi($2);
4144 else cfg_parser->cfg->redis_command_timeout = atoi($2);
4157 else cfg_parser->cfg->redis_replica_command_timeout = atoi($2);
4170 else cfg_parser->cfg->redis_connect_timeout = atoi($2);
4183 else cfg_parser->cfg->redis_replica_connect_timeout = atoi($2);
4196 else cfg_parser->cfg->redis_expire_records = (strcmp($2, "yes")==0);
4211 else cfg_parser->cfg->redis_logical_db = db;
4226 else cfg_parser->cfg->redis_replica_logical_db = db;
4239 if(!cfg_str2list_insert(&cfg_parser->cfg->tcp_connection_limits, $2, $3))
4249 else cfg_parser->cfg->do_answer_cookie = (strcmp($2, "yes")==0);
4263 cfg_parser->cfg->cookie_secret_len = secret_len;
4264 memcpy(cfg_parser->cfg->cookie_secret, secret, sizeof(secret));
4272 free(cfg_parser->cfg->cookie_secret_file);
4273 cfg_parser->cfg->cookie_secret_file = $2;
4281 else cfg_parser->cfg->iter_scrub_ns = atoi($2);
4290 else cfg_parser->cfg->iter_scrub_cname = atoi($2);
4299 else cfg_parser->cfg->iter_scrub_rrsig = atoi($2);
4308 else cfg_parser->cfg->max_global_quota = atoi($2);
4317 else cfg_parser->cfg->iter_scrub_promiscuous =
4327 else cfg_parser->cfg->val_validation_attempts = atoi($2);
4336 else cfg_parser->cfg->val_hash_attempts = atoi($2);
4343 cfg_parser->started_toplevel = 1;
4354 if(cfg_parser->cfg->ipset_name_v4)
4357 free(cfg_parser->cfg->ipset_name_v4);
4358 cfg_parser->cfg->ipset_name_v4 = $2;
4369 if(cfg_parser->cfg->ipset_name_v6)
4372 free(cfg_parser->cfg->ipset_name_v6);
4373 cfg_parser->cfg->ipset_name_v6 = $2;