Lines Matching full:str

3162 		OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[0].str)));  in yyparse()
3163 bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), in yyparse()
3165 free((yyvsp[0].str)); in yyparse()
3181 OUTYY(("P(rpz_action_override:%s)\n", (yyvsp[0].str))); in yyparse()
3182 if(strcmp((yyvsp[0].str), "nxdomain")!=0 && strcmp((yyvsp[0].str), "nodata")!=0 && in yyparse()
3183 strcmp((yyvsp[0].str), "passthru")!=0 && strcmp((yyvsp[0].str), "drop")!=0 && in yyparse()
3184 strcmp((yyvsp[0].str), "cname")!=0 && strcmp((yyvsp[0].str), "disabled")!=0) { in yyparse()
3187 free((yyvsp[0].str)); in yyparse()
3191 cfg_parser->cfg->auths->rpz_action_override = (yyvsp[0].str); in yyparse()
3200 OUTYY(("P(rpz_cname_override:%s)\n", (yyvsp[0].str))); in yyparse()
3202 cfg_parser->cfg->auths->rpz_cname = (yyvsp[0].str); in yyparse()
3210 OUTYY(("P(rpz_log:%s)\n", (yyvsp[0].str))); in yyparse()
3211 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3213 else cfg_parser->cfg->auths->rpz_log = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3214 free((yyvsp[0].str)); in yyparse()
3222 OUTYY(("P(rpz_log_name:%s)\n", (yyvsp[0].str))); in yyparse()
3224 cfg_parser->cfg->auths->rpz_log_name = (yyvsp[0].str); in yyparse()
3232 OUTYY(("P(rpz_signal_nxdomain_ra:%s)\n", (yyvsp[0].str))); in yyparse()
3233 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3235 else cfg_parser->cfg->auths->rpz_signal_nxdomain_ra = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3236 free((yyvsp[0].str)); in yyparse()
3266 OUTYY(("P(server_num_threads:%s)\n", (yyvsp[0].str))); in yyparse()
3267 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3269 else cfg_parser->cfg->num_threads = atoi((yyvsp[0].str)); in yyparse()
3270 free((yyvsp[0].str)); in yyparse()
3278 OUTYY(("P(server_verbosity:%s)\n", (yyvsp[0].str))); in yyparse()
3279 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3281 else cfg_parser->cfg->verbosity = atoi((yyvsp[0].str)); in yyparse()
3282 free((yyvsp[0].str)); in yyparse()
3290 OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[0].str))); in yyparse()
3291 if(strcmp((yyvsp[0].str), "") == 0 || strcmp((yyvsp[0].str), "0") == 0) in yyparse()
3293 else if(atoi((yyvsp[0].str)) == 0) in yyparse()
3295 else cfg_parser->cfg->stat_interval = atoi((yyvsp[0].str)); in yyparse()
3296 free((yyvsp[0].str)); in yyparse()
3304 OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[0].str))); in yyparse()
3305 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3307 else cfg_parser->cfg->stat_cumulative = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3308 free((yyvsp[0].str)); in yyparse()
3316 OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[0].str))); in yyparse()
3317 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3319 else cfg_parser->cfg->stat_extended = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3320 free((yyvsp[0].str)); in yyparse()
3328 OUTYY(("P(server_statistics_inhibit_zero:%s)\n", (yyvsp[0].str))); in yyparse()
3329 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3331 else cfg_parser->cfg->stat_inhibit_zero = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3332 free((yyvsp[0].str)); in yyparse()
3340 OUTYY(("P(server_shm_enable:%s)\n", (yyvsp[0].str))); in yyparse()
3341 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3343 else cfg_parser->cfg->shm_enable = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3344 free((yyvsp[0].str)); in yyparse()
3352 OUTYY(("P(server_shm_key:%s)\n", (yyvsp[0].str))); in yyparse()
3353 if(strcmp((yyvsp[0].str), "") == 0 || strcmp((yyvsp[0].str), "0") == 0) in yyparse()
3355 else if(atoi((yyvsp[0].str)) == 0) in yyparse()
3357 else cfg_parser->cfg->shm_key = atoi((yyvsp[0].str)); in yyparse()
3358 free((yyvsp[0].str)); in yyparse()
3366 OUTYY(("P(server_port:%s)\n", (yyvsp[0].str))); in yyparse()
3367 if(atoi((yyvsp[0].str)) == 0) in yyparse()
3369 else cfg_parser->cfg->port = atoi((yyvsp[0].str)); in yyparse()
3370 free((yyvsp[0].str)); in yyparse()
3379 OUTYY(("P(server_send_client_subnet:%s)\n", (yyvsp[0].str))); in yyparse()
3380 if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet, (yyvsp[0].str))) in yyparse()
3384 free((yyvsp[0].str)); in yyparse()
3394 OUTYY(("P(server_client_subnet_zone:%s)\n", (yyvsp[0].str))); in yyparse()
3396 (yyvsp[0].str))) in yyparse()
3400 free((yyvsp[0].str)); in yyparse()
3410 OUTYY(("P(server_client_subnet_always_forward:%s)\n", (yyvsp[0].str))); in yyparse()
3411 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3415 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3419 free((yyvsp[0].str)); in yyparse()
3428 OUTYY(("P(client_subnet_opcode:%s)\n", (yyvsp[0].str))); in yyparse()
3433 free((yyvsp[0].str)); in yyparse()
3442 OUTYY(("P(max_client_subnet_ipv4:%s)\n", (yyvsp[0].str))); in yyparse()
3443 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3445 else if (atoi((yyvsp[0].str)) > 32) in yyparse()
3447 else if (atoi((yyvsp[0].str)) < 0) in yyparse()
3449 else cfg_parser->cfg->max_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[0].str)); in yyparse()
3453 free((yyvsp[0].str)); in yyparse()
3462 OUTYY(("P(max_client_subnet_ipv6:%s)\n", (yyvsp[0].str))); in yyparse()
3463 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3465 else if (atoi((yyvsp[0].str)) > 128) in yyparse()
3467 else if (atoi((yyvsp[0].str)) < 0) in yyparse()
3469 else cfg_parser->cfg->max_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[0].str)); in yyparse()
3473 free((yyvsp[0].str)); in yyparse()
3482 OUTYY(("P(min_client_subnet_ipv4:%s)\n", (yyvsp[0].str))); in yyparse()
3483 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3485 else if (atoi((yyvsp[0].str)) > 32) in yyparse()
3487 else if (atoi((yyvsp[0].str)) < 0) in yyparse()
3489 else cfg_parser->cfg->min_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[0].str)); in yyparse()
3493 free((yyvsp[0].str)); in yyparse()
3502 OUTYY(("P(min_client_subnet_ipv6:%s)\n", (yyvsp[0].str))); in yyparse()
3503 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3505 else if (atoi((yyvsp[0].str)) > 128) in yyparse()
3507 else if (atoi((yyvsp[0].str)) < 0) in yyparse()
3509 else cfg_parser->cfg->min_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[0].str)); in yyparse()
3513 free((yyvsp[0].str)); in yyparse()
3522 OUTYY(("P(max_ecs_tree_size_ipv4:%s)\n", (yyvsp[0].str))); in yyparse()
3523 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3525 else if (atoi((yyvsp[0].str)) < 0) in yyparse()
3527 else cfg_parser->cfg->max_ecs_tree_size_ipv4 = (uint32_t)atoi((yyvsp[0].str)); in yyparse()
3531 free((yyvsp[0].str)); in yyparse()
3540 OUTYY(("P(max_ecs_tree_size_ipv6:%s)\n", (yyvsp[0].str))); in yyparse()
3541 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3543 else if (atoi((yyvsp[0].str)) < 0) in yyparse()
3545 else cfg_parser->cfg->max_ecs_tree_size_ipv6 = (uint32_t)atoi((yyvsp[0].str)); in yyparse()
3549 free((yyvsp[0].str)); in yyparse()
3557 OUTYY(("P(server_interface:%s)\n", (yyvsp[0].str))); in yyparse()
3565 cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[0].str); in yyparse()
3573 OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[0].str))); in yyparse()
3583 cfg_parser->cfg->num_out_ifs++] = (yyvsp[0].str); in yyparse()
3591 OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[0].str))); in yyparse()
3592 if(atoi((yyvsp[0].str)) == 0) in yyparse()
3594 else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[0].str)); in yyparse()
3595 free((yyvsp[0].str)); in yyparse()
3603 OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[0].str))); in yyparse()
3604 if(!cfg_mark_ports((yyvsp[0].str), 1, in yyparse()
3607 free((yyvsp[0].str)); in yyparse()
3615 OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[0].str))); in yyparse()
3616 if(!cfg_mark_ports((yyvsp[0].str), 0, in yyparse()
3619 free((yyvsp[0].str)); in yyparse()
3627 OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[0].str))); in yyparse()
3628 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3630 else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[0].str)); in yyparse()
3631 free((yyvsp[0].str)); in yyparse()
3639 OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[0].str))); in yyparse()
3640 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3642 else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[0].str)); in yyparse()
3643 free((yyvsp[0].str)); in yyparse()
3651 OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[0].str))); in yyparse()
3652 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3654 else cfg_parser->cfg->if_automatic = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3655 free((yyvsp[0].str)); in yyparse()
3663 OUTYY(("P(server_interface_automatic_ports:%s)\n", (yyvsp[0].str))); in yyparse()
3665 cfg_parser->cfg->if_automatic_ports = (yyvsp[0].str); in yyparse()
3673 OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[0].str))); in yyparse()
3674 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3676 else cfg_parser->cfg->do_ip4 = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3677 free((yyvsp[0].str)); in yyparse()
3685 OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[0].str))); in yyparse()
3686 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3688 else cfg_parser->cfg->do_ip6 = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3689 free((yyvsp[0].str)); in yyparse()
3697 OUTYY(("P(server_do_nat64:%s)\n", (yyvsp[0].str))); in yyparse()
3698 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3700 else cfg_parser->cfg->do_nat64 = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3701 free((yyvsp[0].str)); in yyparse()
3709 OUTYY(("P(server_do_udp:%s)\n", (yyvsp[0].str))); in yyparse()
3710 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3712 else cfg_parser->cfg->do_udp = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3713 free((yyvsp[0].str)); in yyparse()
3721 OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[0].str))); in yyparse()
3722 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3724 else cfg_parser->cfg->do_tcp = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3725 free((yyvsp[0].str)); in yyparse()
3733 OUTYY(("P(server_prefer_ip4:%s)\n", (yyvsp[0].str))); in yyparse()
3734 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3736 else cfg_parser->cfg->prefer_ip4 = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3737 free((yyvsp[0].str)); in yyparse()
3745 OUTYY(("P(server_prefer_ip6:%s)\n", (yyvsp[0].str))); in yyparse()
3746 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3748 else cfg_parser->cfg->prefer_ip6 = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3749 free((yyvsp[0].str)); in yyparse()
3757 OUTYY(("P(server_tcp_mss:%s)\n", (yyvsp[0].str))); in yyparse()
3758 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3760 else cfg_parser->cfg->tcp_mss = atoi((yyvsp[0].str)); in yyparse()
3761 free((yyvsp[0].str)); in yyparse()
3769 OUTYY(("P(server_outgoing_tcp_mss:%s)\n", (yyvsp[0].str))); in yyparse()
3770 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3772 else cfg_parser->cfg->outgoing_tcp_mss = atoi((yyvsp[0].str)); in yyparse()
3773 free((yyvsp[0].str)); in yyparse()
3781 OUTYY(("P(server_tcp_idle_timeout:%s)\n", (yyvsp[0].str))); in yyparse()
3782 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3784 else if (atoi((yyvsp[0].str)) > 120000) in yyparse()
3786 else if (atoi((yyvsp[0].str)) < 1) in yyparse()
3788 else cfg_parser->cfg->tcp_idle_timeout = atoi((yyvsp[0].str)); in yyparse()
3789 free((yyvsp[0].str)); in yyparse()
3797 OUTYY(("P(server_max_reuse_tcp_queries:%s)\n", (yyvsp[0].str))); in yyparse()
3798 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3800 else if (atoi((yyvsp[0].str)) < 1) in yyparse()
3802 else cfg_parser->cfg->max_reuse_tcp_queries = atoi((yyvsp[0].str)); in yyparse()
3803 free((yyvsp[0].str)); in yyparse()
3811 OUTYY(("P(server_tcp_reuse_timeout:%s)\n", (yyvsp[0].str))); in yyparse()
3812 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3814 else if (atoi((yyvsp[0].str)) < 1) in yyparse()
3816 else cfg_parser->cfg->tcp_reuse_timeout = atoi((yyvsp[0].str)); in yyparse()
3817 free((yyvsp[0].str)); in yyparse()
3825 OUTYY(("P(server_tcp_auth_query_timeout:%s)\n", (yyvsp[0].str))); in yyparse()
3826 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3828 else if (atoi((yyvsp[0].str)) < 1) in yyparse()
3830 else cfg_parser->cfg->tcp_auth_query_timeout = atoi((yyvsp[0].str)); in yyparse()
3831 free((yyvsp[0].str)); in yyparse()
3839 OUTYY(("P(server_tcp_keepalive:%s)\n", (yyvsp[0].str))); in yyparse()
3840 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3842 else cfg_parser->cfg->do_tcp_keepalive = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3843 free((yyvsp[0].str)); in yyparse()
3851 OUTYY(("P(server_tcp_keepalive_timeout:%s)\n", (yyvsp[0].str))); in yyparse()
3852 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3854 else if (atoi((yyvsp[0].str)) > 6553500) in yyparse()
3856 else if (atoi((yyvsp[0].str)) < 1) in yyparse()
3858 else cfg_parser->cfg->tcp_keepalive_timeout = atoi((yyvsp[0].str)); in yyparse()
3859 free((yyvsp[0].str)); in yyparse()
3867 OUTYY(("P(server_sock_queue_timeout:%s)\n", (yyvsp[0].str))); in yyparse()
3868 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
3870 else if (atoi((yyvsp[0].str)) > 6553500) in yyparse()
3872 else if (atoi((yyvsp[0].str)) < 1) in yyparse()
3874 else cfg_parser->cfg->sock_queue_timeout = atoi((yyvsp[0].str)); in yyparse()
3875 free((yyvsp[0].str)); in yyparse()
3883 OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[0].str))); in yyparse()
3884 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3886 else cfg_parser->cfg->tcp_upstream = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3887 free((yyvsp[0].str)); in yyparse()
3895 OUTYY(("P(server_udp_upstream_without_downstream:%s)\n", (yyvsp[0].str))); in yyparse()
3896 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3898 else cfg_parser->cfg->udp_upstream_without_downstream = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3899 free((yyvsp[0].str)); in yyparse()
3907 OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[0].str))); in yyparse()
3908 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3910 else cfg_parser->cfg->ssl_upstream = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3911 free((yyvsp[0].str)); in yyparse()
3919 OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[0].str))); in yyparse()
3921 cfg_parser->cfg->ssl_service_key = (yyvsp[0].str); in yyparse()
3929 OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[0].str))); in yyparse()
3931 cfg_parser->cfg->ssl_service_pem = (yyvsp[0].str); in yyparse()
3939 OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[0].str))); in yyparse()
3940 if(atoi((yyvsp[0].str)) == 0) in yyparse()
3942 else cfg_parser->cfg->ssl_port = atoi((yyvsp[0].str)); in yyparse()
3943 free((yyvsp[0].str)); in yyparse()
3951 OUTYY(("P(server_tls_cert_bundle:%s)\n", (yyvsp[0].str))); in yyparse()
3953 cfg_parser->cfg->tls_cert_bundle = (yyvsp[0].str); in yyparse()
3961 OUTYY(("P(server_tls_win_cert:%s)\n", (yyvsp[0].str))); in yyparse()
3962 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
3964 else cfg_parser->cfg->tls_win_cert = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3965 free((yyvsp[0].str)); in yyparse()
3973 OUTYY(("P(server_tls_additional_port:%s)\n", (yyvsp[0].str))); in yyparse()
3975 (yyvsp[0].str))) in yyparse()
3984 OUTYY(("P(server_tls_ciphers:%s)\n", (yyvsp[0].str))); in yyparse()
3986 cfg_parser->cfg->tls_ciphers = (yyvsp[0].str); in yyparse()
3994 OUTYY(("P(server_tls_ciphersuites:%s)\n", (yyvsp[0].str))); in yyparse()
3996 cfg_parser->cfg->tls_ciphersuites = (yyvsp[0].str); in yyparse()
4004 OUTYY(("P(server_tls_session_ticket_keys:%s)\n", (yyvsp[0].str))); in yyparse()
4006 (yyvsp[0].str))) in yyparse()
4015 OUTYY(("P(server_tls_use_sni:%s)\n", (yyvsp[0].str))); in yyparse()
4016 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4018 else cfg_parser->cfg->tls_use_sni = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4019 free((yyvsp[0].str)); in yyparse()
4027 OUTYY(("P(server_https_port:%s)\n", (yyvsp[0].str))); in yyparse()
4028 if(atoi((yyvsp[0].str)) == 0) in yyparse()
4030 else cfg_parser->cfg->https_port = atoi((yyvsp[0].str)); in yyparse()
4031 free((yyvsp[0].str)); in yyparse()
4039 OUTYY(("P(server_http_endpoint:%s)\n", (yyvsp[0].str))); in yyparse()
4041 if((yyvsp[0].str) && (yyvsp[0].str)[0] != '/') { in yyparse()
4042 cfg_parser->cfg->http_endpoint = malloc(strlen((yyvsp[0].str))+2); in yyparse()
4045 memmove(cfg_parser->cfg->http_endpoint+1, (yyvsp[0].str), in yyparse()
4046 strlen((yyvsp[0].str))+1); in yyparse()
4050 free((yyvsp[0].str)); in yyparse()
4052 cfg_parser->cfg->http_endpoint = (yyvsp[0].str); in yyparse()
4061 OUTYY(("P(server_http_max_streams:%s)\n", (yyvsp[0].str))); in yyparse()
4062 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
4064 else cfg_parser->cfg->http_max_streams = atoi((yyvsp[0].str)); in yyparse()
4065 free((yyvsp[0].str)); in yyparse()
4073 OUTYY(("P(server_http_query_buffer_size:%s)\n", (yyvsp[0].str))); in yyparse()
4074 if(!cfg_parse_memsize((yyvsp[0].str), in yyparse()
4077 free((yyvsp[0].str)); in yyparse()
4085 OUTYY(("P(server_http_response_buffer_size:%s)\n", (yyvsp[0].str))); in yyparse()
4086 if(!cfg_parse_memsize((yyvsp[0].str), in yyparse()
4089 free((yyvsp[0].str)); in yyparse()
4097 OUTYY(("P(server_http_nodelay:%s)\n", (yyvsp[0].str))); in yyparse()
4098 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4100 else cfg_parser->cfg->http_nodelay = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4101 free((yyvsp[0].str)); in yyparse()
4109 OUTYY(("P(server_http_notls_downstream:%s)\n", (yyvsp[0].str))); in yyparse()
4110 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4112 else cfg_parser->cfg->http_notls_downstream = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4113 free((yyvsp[0].str)); in yyparse()
4121 OUTYY(("P(server_quic_port:%s)\n", (yyvsp[0].str))); in yyparse()
4127 if(atoi((yyvsp[0].str)) == 0) in yyparse()
4129 else cfg_parser->cfg->quic_port = atoi((yyvsp[0].str)); in yyparse()
4130 free((yyvsp[0].str)); in yyparse()
4138 OUTYY(("P(server_quic_size:%s)\n", (yyvsp[0].str))); in yyparse()
4139 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->quic_size)) in yyparse()
4141 free((yyvsp[0].str)); in yyparse()
4149 OUTYY(("P(server_use_systemd:%s)\n", (yyvsp[0].str))); in yyparse()
4150 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4152 else cfg_parser->cfg->use_systemd = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4153 free((yyvsp[0].str)); in yyparse()
4161 OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[0].str))); in yyparse()
4162 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4164 else cfg_parser->cfg->do_daemonize = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4165 free((yyvsp[0].str)); in yyparse()
4173 OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[0].str))); in yyparse()
4174 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4176 else cfg_parser->cfg->use_syslog = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4178 if(strcmp((yyvsp[0].str), "yes") == 0) in yyparse()
4182 free((yyvsp[0].str)); in yyparse()
4190 OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[0].str))); in yyparse()
4191 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4193 else cfg_parser->cfg->log_time_ascii = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4194 free((yyvsp[0].str)); in yyparse()
4202 OUTYY(("P(server_log_time_iso:%s)\n", (yyvsp[0].str))); in yyparse()
4203 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4205 else cfg_parser->cfg->log_time_iso = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4206 free((yyvsp[0].str)); in yyparse()
4214 OUTYY(("P(server_log_queries:%s)\n", (yyvsp[0].str))); in yyparse()
4215 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4217 else cfg_parser->cfg->log_queries = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4218 free((yyvsp[0].str)); in yyparse()
4226 OUTYY(("P(server_log_replies:%s)\n", (yyvsp[0].str))); in yyparse()
4227 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4229 else cfg_parser->cfg->log_replies = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4230 free((yyvsp[0].str)); in yyparse()
4238 OUTYY(("P(server_log_tag_queryreply:%s)\n", (yyvsp[0].str))); in yyparse()
4239 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4241 else cfg_parser->cfg->log_tag_queryreply = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4242 free((yyvsp[0].str)); in yyparse()
4250 OUTYY(("P(server_log_servfail:%s)\n", (yyvsp[0].str))); in yyparse()
4251 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4253 else cfg_parser->cfg->log_servfail = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4254 free((yyvsp[0].str)); in yyparse()
4262 OUTYY(("P(server_log_destaddr:%s)\n", (yyvsp[0].str))); in yyparse()
4263 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4265 else cfg_parser->cfg->log_destaddr = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4266 free((yyvsp[0].str)); in yyparse()
4274 OUTYY(("P(server_log_local_actions:%s)\n", (yyvsp[0].str))); in yyparse()
4275 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4277 else cfg_parser->cfg->log_local_actions = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4278 free((yyvsp[0].str)); in yyparse()
4286 OUTYY(("P(server_chroot:%s)\n", (yyvsp[0].str))); in yyparse()
4288 cfg_parser->cfg->chrootdir = (yyvsp[0].str); in yyparse()
4296 OUTYY(("P(server_username:%s)\n", (yyvsp[0].str))); in yyparse()
4298 cfg_parser->cfg->username = (yyvsp[0].str); in yyparse()
4306 OUTYY(("P(server_directory:%s)\n", (yyvsp[0].str))); in yyparse()
4308 cfg_parser->cfg->directory = (yyvsp[0].str); in yyparse()
4310 if((yyvsp[0].str)[0]) { in yyparse()
4335 OUTYY(("P(server_logfile:%s)\n", (yyvsp[0].str))); in yyparse()
4337 cfg_parser->cfg->logfile = (yyvsp[0].str); in yyparse()
4346 OUTYY(("P(server_pidfile:%s)\n", (yyvsp[0].str))); in yyparse()
4348 cfg_parser->cfg->pidfile = (yyvsp[0].str); in yyparse()
4356 OUTYY(("P(server_root_hints:%s)\n", (yyvsp[0].str))); in yyparse()
4357 if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[0].str))) in yyparse()
4366 OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[0].str))); in yyparse()
4368 free((yyvsp[0].str)); in yyparse()
4376 OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[0].str))); in yyparse()
4378 free((yyvsp[0].str)); in yyparse()
4386 OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[0].str))); in yyparse()
4388 auto_trust_anchor_file_list, (yyvsp[0].str))) in yyparse()
4397 OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[0].str))); in yyparse()
4399 trust_anchor_file_list, (yyvsp[0].str))) in yyparse()
4408 OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[0].str))); in yyparse()
4410 trusted_keys_file_list, (yyvsp[0].str))) in yyparse()
4419 OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[0].str))); in yyparse()
4420 if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[0].str))) in yyparse()
4429 OUTYY(("P(server_trust_anchor_signaling:%s)\n", (yyvsp[0].str))); in yyparse()
4430 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4434 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4435 free((yyvsp[0].str)); in yyparse()
4443 OUTYY(("P(server_root_key_sentinel:%s)\n", (yyvsp[0].str))); in yyparse()
4444 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4448 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4449 free((yyvsp[0].str)); in yyparse()
4457 OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[0].str))); in yyparse()
4458 if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[0].str))) in yyparse()
4467 OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[0].str))); in yyparse()
4468 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4470 else cfg_parser->cfg->hide_identity = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4471 free((yyvsp[0].str)); in yyparse()
4479 OUTYY(("P(server_hide_version:%s)\n", (yyvsp[0].str))); in yyparse()
4480 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4482 else cfg_parser->cfg->hide_version = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4483 free((yyvsp[0].str)); in yyparse()
4491 OUTYY(("P(server_hide_trustanchor:%s)\n", (yyvsp[0].str))); in yyparse()
4492 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4494 else cfg_parser->cfg->hide_trustanchor = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4495 free((yyvsp[0].str)); in yyparse()
4503 OUTYY(("P(server_hide_user_agent:%s)\n", (yyvsp[0].str))); in yyparse()
4504 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4506 else cfg_parser->cfg->hide_http_user_agent = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4507 free((yyvsp[0].str)); in yyparse()
4515 OUTYY(("P(server_identity:%s)\n", (yyvsp[0].str))); in yyparse()
4517 cfg_parser->cfg->identity = (yyvsp[0].str); in yyparse()
4525 OUTYY(("P(server_version:%s)\n", (yyvsp[0].str))); in yyparse()
4527 cfg_parser->cfg->version = (yyvsp[0].str); in yyparse()
4535 OUTYY(("P(server_http_user_agent:%s)\n", (yyvsp[0].str))); in yyparse()
4537 cfg_parser->cfg->http_user_agent = (yyvsp[0].str); in yyparse()
4545 OUTYY(("P(server_nsid:%s)\n", (yyvsp[0].str))); in yyparse()
4547 cfg_parser->cfg->nsid_cfg_str = (yyvsp[0].str); in yyparse()
4551 if (*(yyvsp[0].str) == 0) in yyparse()
4554 (yyvsp[0].str), &cfg_parser->cfg->nsid_len))) in yyparse()
4564 OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[0].str))); in yyparse()
4565 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_rcvbuf)) in yyparse()
4567 free((yyvsp[0].str)); in yyparse()
4575 OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[0].str))); in yyparse()
4576 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_sndbuf)) in yyparse()
4578 free((yyvsp[0].str)); in yyparse()
4586 OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[0].str))); in yyparse()
4587 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4590 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4591 free((yyvsp[0].str)); in yyparse()
4599 OUTYY(("P(server_ip_transparent:%s)\n", (yyvsp[0].str))); in yyparse()
4600 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4603 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4604 free((yyvsp[0].str)); in yyparse()
4612 OUTYY(("P(server_ip_freebind:%s)\n", (yyvsp[0].str))); in yyparse()
4613 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4616 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4617 free((yyvsp[0].str)); in yyparse()
4625 OUTYY(("P(server_ip_dscp:%s)\n", (yyvsp[0].str))); in yyparse()
4626 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
4628 else if (atoi((yyvsp[0].str)) > 63) in yyparse()
4630 else if (atoi((yyvsp[0].str)) < 0) in yyparse()
4633 cfg_parser->cfg->ip_dscp = atoi((yyvsp[0].str)); in yyparse()
4634 free((yyvsp[0].str)); in yyparse()
4642 OUTYY(("P(server_stream_wait_size:%s)\n", (yyvsp[0].str))); in yyparse()
4643 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->stream_wait_size)) in yyparse()
4645 free((yyvsp[0].str)); in yyparse()
4653 OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[0].str))); in yyparse()
4654 if(atoi((yyvsp[0].str)) == 0) in yyparse()
4656 else if (atoi((yyvsp[0].str)) < 12) in yyparse()
4658 else if (atoi((yyvsp[0].str)) > 65535) in yyparse()
4660 else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[0].str)); in yyparse()
4661 free((yyvsp[0].str)); in yyparse()
4669 OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[0].str))); in yyparse()
4670 if(atoi((yyvsp[0].str)) == 0) in yyparse()
4672 else if (atoi((yyvsp[0].str)) < 4096) in yyparse()
4674 else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[0].str)); in yyparse()
4675 free((yyvsp[0].str)); in yyparse()
4683 OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[0].str))); in yyparse()
4684 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->msg_cache_size)) in yyparse()
4686 free((yyvsp[0].str)); in yyparse()
4694 OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[0].str))); in yyparse()
4695 if(atoi((yyvsp[0].str)) == 0) { in yyparse()
4698 cfg_parser->cfg->msg_cache_slabs = atoi((yyvsp[0].str)); in yyparse()
4702 free((yyvsp[0].str)); in yyparse()
4710 OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[0].str))); in yyparse()
4711 if(atoi((yyvsp[0].str)) == 0) in yyparse()
4713 else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[0].str)); in yyparse()
4714 free((yyvsp[0].str)); in yyparse()
4722 OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[0].str))); in yyparse()
4723 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
4725 else cfg_parser->cfg->jostle_time = atoi((yyvsp[0].str)); in yyparse()
4726 free((yyvsp[0].str)); in yyparse()
4734 OUTYY(("P(server_delay_close:%s)\n", (yyvsp[0].str))); in yyparse()
4735 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
4737 else cfg_parser->cfg->delay_close = atoi((yyvsp[0].str)); in yyparse()
4738 free((yyvsp[0].str)); in yyparse()
4746 OUTYY(("P(server_udp_connect:%s)\n", (yyvsp[0].str))); in yyparse()
4747 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4749 else cfg_parser->cfg->udp_connect = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4750 free((yyvsp[0].str)); in yyparse()
4758 OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[0].str))); in yyparse()
4759 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4762 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4763 free((yyvsp[0].str)); in yyparse()
4771 OUTYY(("P(server_insecure_lan_zones:%s)\n", (yyvsp[0].str))); in yyparse()
4772 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4775 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4776 free((yyvsp[0].str)); in yyparse()
4784 OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[0].str))); in yyparse()
4785 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->rrset_cache_size)) in yyparse()
4787 free((yyvsp[0].str)); in yyparse()
4795 OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[0].str))); in yyparse()
4796 if(atoi((yyvsp[0].str)) == 0) { in yyparse()
4799 cfg_parser->cfg->rrset_cache_slabs = atoi((yyvsp[0].str)); in yyparse()
4803 free((yyvsp[0].str)); in yyparse()
4811 OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[0].str))); in yyparse()
4812 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
4814 else cfg_parser->cfg->host_ttl = atoi((yyvsp[0].str)); in yyparse()
4815 free((yyvsp[0].str)); in yyparse()
4823 OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[0].str))); in yyparse()
4825 "removed, use infra-host-ttl)", (yyvsp[0].str)); in yyparse()
4826 free((yyvsp[0].str)); in yyparse()
4834 OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[0].str))); in yyparse()
4835 if(atoi((yyvsp[0].str)) == 0) in yyparse()
4837 else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[0].str)); in yyparse()
4838 free((yyvsp[0].str)); in yyparse()
4846 OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[0].str))); in yyparse()
4848 "(option removed, use infra-cache-numhosts)", (yyvsp[0].str)); in yyparse()
4849 free((yyvsp[0].str)); in yyparse()
4857 OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[0].str))); in yyparse()
4858 if(atoi((yyvsp[0].str)) == 0) { in yyparse()
4861 cfg_parser->cfg->infra_cache_slabs = atoi((yyvsp[0].str)); in yyparse()
4865 free((yyvsp[0].str)); in yyparse()
4873 OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[0].str))); in yyparse()
4874 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
4876 else cfg_parser->cfg->infra_cache_min_rtt = atoi((yyvsp[0].str)); in yyparse()
4877 free((yyvsp[0].str)); in yyparse()
4885 OUTYY(("P(server_infra_cache_max_rtt:%s)\n", (yyvsp[0].str))); in yyparse()
4886 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
4888 else cfg_parser->cfg->infra_cache_max_rtt = atoi((yyvsp[0].str)); in yyparse()
4889 free((yyvsp[0].str)); in yyparse()
4897 OUTYY(("P(server_infra_keep_probing:%s)\n", (yyvsp[0].str))); in yyparse()
4898 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4901 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4902 free((yyvsp[0].str)); in yyparse()
4910 OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[0].str))); in yyparse()
4912 cfg_parser->cfg->target_fetch_policy = (yyvsp[0].str); in yyparse()
4920 OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[0].str))); in yyparse()
4921 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4924 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4925 free((yyvsp[0].str)); in yyparse()
4933 OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[0].str))); in yyparse()
4934 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4937 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4938 free((yyvsp[0].str)); in yyparse()
4946 OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[0].str))); in yyparse()
4947 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4950 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4951 free((yyvsp[0].str)); in yyparse()
4959 OUTYY(("P(server_harden_unverified_glue:%s)\n", (yyvsp[0].str))); in yyparse()
4960 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4963 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4964 free((yyvsp[0].str)); in yyparse()
4972 OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[0].str))); in yyparse()
4973 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4976 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4977 free((yyvsp[0].str)); in yyparse()
4985 OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[0].str))); in yyparse()
4986 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
4989 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4990 free((yyvsp[0].str)); in yyparse()
4998 OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[0].str))); in yyparse()
4999 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5002 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5003 free((yyvsp[0].str)); in yyparse()
5011 OUTYY(("P(server_harden_algo_downgrade:%s)\n", (yyvsp[0].str))); in yyparse()
5012 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5015 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5016 free((yyvsp[0].str)); in yyparse()
5024 OUTYY(("P(server_harden_unknown_additional:%s)\n", (yyvsp[0].str))); in yyparse()
5025 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5028 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5029 free((yyvsp[0].str)); in yyparse()
5037 OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[0].str))); in yyparse()
5038 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5041 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5042 free((yyvsp[0].str)); in yyparse()
5050 OUTYY(("P(server_caps_whitelist:%s)\n", (yyvsp[0].str))); in yyparse()
5051 if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, (yyvsp[0].str))) in yyparse()
5060 OUTYY(("P(server_private_address:%s)\n", (yyvsp[0].str))); in yyparse()
5061 if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[0].str))) in yyparse()
5070 OUTYY(("P(server_private_domain:%s)\n", (yyvsp[0].str))); in yyparse()
5071 if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[0].str))) in yyparse()
5080 OUTYY(("P(server_prefetch:%s)\n", (yyvsp[0].str))); in yyparse()
5081 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5083 else cfg_parser->cfg->prefetch = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5084 free((yyvsp[0].str)); in yyparse()
5092 OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[0].str))); in yyparse()
5093 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5095 else cfg_parser->cfg->prefetch_key = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5096 free((yyvsp[0].str)); in yyparse()
5104 OUTYY(("P(server_deny_any:%s)\n", (yyvsp[0].str))); in yyparse()
5105 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5107 else cfg_parser->cfg->deny_any = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5108 free((yyvsp[0].str)); in yyparse()
5116 OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[0].str))); in yyparse()
5117 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
5119 else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[0].str)); in yyparse()
5120 free((yyvsp[0].str)); in yyparse()
5128 OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[0].str))); in yyparse()
5129 if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[0].str))) in yyparse()
5138 OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[0].str))); in yyparse()
5139 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5142 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5143 free((yyvsp[0].str)); in yyparse()
5151 OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
5152 validate_acl_action((yyvsp[0].str)); in yyparse()
5153 if(!cfg_str2list_insert(&cfg_parser->cfg->acls, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
5162 OUTYY(("P(server_interface_action:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
5163 validate_acl_action((yyvsp[0].str)); in yyparse()
5165 &cfg_parser->cfg->interface_actions, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
5174 OUTYY(("P(server_module_conf:%s)\n", (yyvsp[0].str))); in yyparse()
5176 cfg_parser->cfg->module_conf = (yyvsp[0].str); in yyparse()
5184 OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[0].str))); in yyparse()
5185 if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { in yyparse()
5187 } else if(strlen((yyvsp[0].str)) == 14) { in yyparse()
5189 cfg_convert_timeval((yyvsp[0].str)); in yyparse()
5193 if(atoi((yyvsp[0].str)) == 0) in yyparse()
5195 cfg_parser->cfg->val_date_override = atoi((yyvsp[0].str)); in yyparse()
5197 free((yyvsp[0].str)); in yyparse()
5205 OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[0].str))); in yyparse()
5206 if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { in yyparse()
5209 cfg_parser->cfg->val_sig_skew_min = atoi((yyvsp[0].str)); in yyparse()
5213 free((yyvsp[0].str)); in yyparse()
5221 OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[0].str))); in yyparse()
5222 if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { in yyparse()
5225 cfg_parser->cfg->val_sig_skew_max = atoi((yyvsp[0].str)); in yyparse()
5229 free((yyvsp[0].str)); in yyparse()
5237 OUTYY(("P(server_val_max_restart:%s)\n", (yyvsp[0].str))); in yyparse()
5238 if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { in yyparse()
5241 cfg_parser->cfg->val_max_restart = atoi((yyvsp[0].str)); in yyparse()
5245 free((yyvsp[0].str)); in yyparse()
5253 OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[0].str))); in yyparse()
5254 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
5256 else cfg_parser->cfg->max_ttl = atoi((yyvsp[0].str)); in yyparse()
5257 free((yyvsp[0].str)); in yyparse()
5265 OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[0].str))); in yyparse()
5266 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
5268 else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[0].str)); in yyparse()
5269 free((yyvsp[0].str)); in yyparse()
5277 OUTYY(("P(server_cache_min_negative_ttl:%s)\n", (yyvsp[0].str))); in yyparse()
5278 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
5280 else cfg_parser->cfg->min_negative_ttl = atoi((yyvsp[0].str)); in yyparse()
5281 free((yyvsp[0].str)); in yyparse()
5289 OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[0].str))); in yyparse()
5290 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
5292 else cfg_parser->cfg->min_ttl = atoi((yyvsp[0].str)); in yyparse()
5293 free((yyvsp[0].str)); in yyparse()
5301 OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[0].str))); in yyparse()
5302 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
5304 else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[0].str)); in yyparse()
5305 free((yyvsp[0].str)); in yyparse()
5313 OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[0].str))); in yyparse()
5314 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5317 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5318 free((yyvsp[0].str)); in yyparse()
5326 OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[0].str))); in yyparse()
5327 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5330 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5331 free((yyvsp[0].str)); in yyparse()
5339 OUTYY(("P(server_aggressive_nsec:%s)\n", (yyvsp[0].str))); in yyparse()
5340 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5344 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5345 free((yyvsp[0].str)); in yyparse()
5353 OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[0].str))); in yyparse()
5354 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5356 else cfg_parser->cfg->ignore_cd = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5357 free((yyvsp[0].str)); in yyparse()
5365 OUTYY(("P(server_disable_edns_do:%s)\n", (yyvsp[0].str))); in yyparse()
5366 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5368 else cfg_parser->cfg->disable_edns_do = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5369 free((yyvsp[0].str)); in yyparse()
5377 OUTYY(("P(server_serve_expired:%s)\n", (yyvsp[0].str))); in yyparse()
5378 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5380 else cfg_parser->cfg->serve_expired = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5381 free((yyvsp[0].str)); in yyparse()
5389 OUTYY(("P(server_serve_expired_ttl:%s)\n", (yyvsp[0].str))); in yyparse()
5390 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
5392 else cfg_parser->cfg->serve_expired_ttl = atoi((yyvsp[0].str)); in yyparse()
5393 free((yyvsp[0].str)); in yyparse()
5401 OUTYY(("P(server_serve_expired_ttl_reset:%s)\n", (yyvsp[0].str))); in yyparse()
5402 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5404 else cfg_parser->cfg->serve_expired_ttl_reset = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5405 free((yyvsp[0].str)); in yyparse()
5413 OUTYY(("P(server_serve_expired_reply_ttl:%s)\n", (yyvsp[0].str))); in yyparse()
5414 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
5416 else cfg_parser->cfg->serve_expired_reply_ttl = atoi((yyvsp[0].str)); in yyparse()
5417 free((yyvsp[0].str)); in yyparse()
5425 OUTYY(("P(server_serve_expired_client_timeout:%s)\n", (yyvsp[0].str))); in yyparse()
5426 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
5428 else cfg_parser->cfg->serve_expired_client_timeout = atoi((yyvsp[0].str)); in yyparse()
5429 free((yyvsp[0].str)); in yyparse()
5437 OUTYY(("P(server_ede_serve_expired:%s)\n", (yyvsp[0].str))); in yyparse()
5438 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5440 else cfg_parser->cfg->ede_serve_expired = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5441 free((yyvsp[0].str)); in yyparse()
5449 OUTYY(("P(server_serve_original_ttl:%s)\n", (yyvsp[0].str))); in yyparse()
5450 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5452 else cfg_parser->cfg->serve_original_ttl = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5453 free((yyvsp[0].str)); in yyparse()
5461 OUTYY(("P(server_fake_dsa:%s)\n", (yyvsp[0].str))); in yyparse()
5462 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5465 else fake_dsa = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5469 free((yyvsp[0].str)); in yyparse()
5477 OUTYY(("P(server_fake_sha1:%s)\n", (yyvsp[0].str))); in yyparse()
5478 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5481 else fake_sha1 = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5485 free((yyvsp[0].str)); in yyparse()
5493 OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[0].str))); in yyparse()
5494 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
5496 else cfg_parser->cfg->val_log_level = atoi((yyvsp[0].str)); in yyparse()
5497 free((yyvsp[0].str)); in yyparse()
5505 OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[0].str))); in yyparse()
5507 cfg_parser->cfg->val_nsec3_key_iterations = (yyvsp[0].str); in yyparse()
5515 OUTYY(("P(server_zonemd_permissive_mode:%s)\n", (yyvsp[0].str))); in yyparse()
5516 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5518 else cfg_parser->cfg->zonemd_permissive_mode = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5519 free((yyvsp[0].str)); in yyparse()
5527 OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[0].str))); in yyparse()
5528 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
5530 else cfg_parser->cfg->add_holddown = atoi((yyvsp[0].str)); in yyparse()
5531 free((yyvsp[0].str)); in yyparse()
5539 OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[0].str))); in yyparse()
5540 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
5542 else cfg_parser->cfg->del_holddown = atoi((yyvsp[0].str)); in yyparse()
5543 free((yyvsp[0].str)); in yyparse()
5551 OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[0].str))); in yyparse()
5552 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
5554 else cfg_parser->cfg->keep_missing = atoi((yyvsp[0].str)); in yyparse()
5555 free((yyvsp[0].str)); in yyparse()
5563 OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[0].str))); in yyparse()
5564 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5567 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5568 free((yyvsp[0].str)); in yyparse()
5576 OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[0].str))); in yyparse()
5577 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->key_cache_size)) in yyparse()
5579 free((yyvsp[0].str)); in yyparse()
5587 OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[0].str))); in yyparse()
5588 if(atoi((yyvsp[0].str)) == 0) { in yyparse()
5591 cfg_parser->cfg->key_cache_slabs = atoi((yyvsp[0].str)); in yyparse()
5595 free((yyvsp[0].str)); in yyparse()
5603 OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[0].str))); in yyparse()
5604 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->neg_cache_size)) in yyparse()
5606 free((yyvsp[0].str)); in yyparse()
5614 OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
5615 if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 && in yyparse()
5616 strcmp((yyvsp[0].str), "refuse")!=0 && strcmp((yyvsp[0].str), "redirect")!=0 && in yyparse()
5617 strcmp((yyvsp[0].str), "transparent")!=0 && strcmp((yyvsp[0].str), "nodefault")!=0 in yyparse()
5618 && strcmp((yyvsp[0].str), "typetransparent")!=0 in yyparse()
5619 && strcmp((yyvsp[0].str), "always_transparent")!=0 in yyparse()
5620 && strcmp((yyvsp[0].str), "block_a")!=0 in yyparse()
5621 && strcmp((yyvsp[0].str), "always_refuse")!=0 in yyparse()
5622 && strcmp((yyvsp[0].str), "always_nxdomain")!=0 in yyparse()
5623 && strcmp((yyvsp[0].str), "always_nodata")!=0 in yyparse()
5624 && strcmp((yyvsp[0].str), "always_deny")!=0 in yyparse()
5625 && strcmp((yyvsp[0].str), "always_null")!=0 in yyparse()
5626 && strcmp((yyvsp[0].str), "noview")!=0 in yyparse()
5627 && strcmp((yyvsp[0].str), "inform")!=0 && strcmp((yyvsp[0].str), "inform_deny")!=0 in yyparse()
5628 && strcmp((yyvsp[0].str), "inform_redirect") != 0 in yyparse()
5629 && strcmp((yyvsp[0].str), "ipset") != 0) { in yyparse()
5637 free((yyvsp[-1].str)); in yyparse()
5638 free((yyvsp[0].str)); in yyparse()
5639 } else if(strcmp((yyvsp[0].str), "nodefault")==0) { in yyparse()
5641 local_zones_nodefault, (yyvsp[-1].str))) in yyparse()
5643 free((yyvsp[0].str)); in yyparse()
5645 } else if(strcmp((yyvsp[0].str), "ipset")==0) { in yyparse()
5646 size_t len = strlen((yyvsp[-1].str)); in yyparse()
5648 * These are str compared to domain names. */ in yyparse()
5649 if((yyvsp[-1].str)[len-1] != '.') { in yyparse()
5650 if(!((yyvsp[-1].str) = realloc((yyvsp[-1].str), len+2))) { in yyparse()
5653 (yyvsp[-1].str)[len] = '.'; in yyparse()
5654 (yyvsp[-1].str)[len+1] = 0; in yyparse()
5657 local_zones_ipset, (yyvsp[-1].str))) in yyparse()
5659 free((yyvsp[0].str)); in yyparse()
5663 (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
5673 OUTYY(("P(server_local_data:%s)\n", (yyvsp[0].str))); in yyparse()
5674 if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[0].str))) in yyparse()
5684 OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[0].str))); in yyparse()
5685 ptr = cfg_ptr_reverse((yyvsp[0].str)); in yyparse()
5686 free((yyvsp[0].str)); in yyparse()
5701 OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[0].str))); in yyparse()
5702 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5705 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5706 free((yyvsp[0].str)); in yyparse()
5714 OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[0].str))); in yyparse()
5715 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5718 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5719 free((yyvsp[0].str)); in yyparse()
5727 OUTYY(("P(server_unknown_server_time_limit:%s)\n", (yyvsp[0].str))); in yyparse()
5728 cfg_parser->cfg->unknown_server_time_limit = atoi((yyvsp[0].str)); in yyparse()
5729 free((yyvsp[0].str)); in yyparse()
5737 OUTYY(("P(server_discard_timeout:%s)\n", (yyvsp[0].str))); in yyparse()
5738 cfg_parser->cfg->discard_timeout = atoi((yyvsp[0].str)); in yyparse()
5739 free((yyvsp[0].str)); in yyparse()
5747 OUTYY(("P(server_wait_limit:%s)\n", (yyvsp[0].str))); in yyparse()
5748 cfg_parser->cfg->wait_limit = atoi((yyvsp[0].str)); in yyparse()
5749 free((yyvsp[0].str)); in yyparse()
5757 OUTYY(("P(server_wait_limit_cookie:%s)\n", (yyvsp[0].str))); in yyparse()
5758 cfg_parser->cfg->wait_limit_cookie = atoi((yyvsp[0].str)); in yyparse()
5759 free((yyvsp[0].str)); in yyparse()
5767 OUTYY(("P(server_wait_limit_netblock:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
5768 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { in yyparse()
5770 free((yyvsp[-1].str)); in yyparse()
5771 free((yyvsp[0].str)); in yyparse()
5774 wait_limit_netblock, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
5785 OUTYY(("P(server_wait_limit_cookie_netblock:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
5786 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { in yyparse()
5788 free((yyvsp[-1].str)); in yyparse()
5789 free((yyvsp[0].str)); in yyparse()
5792 wait_limit_cookie_netblock, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
5803 OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[0].str))); in yyparse()
5804 cfg_parser->cfg->max_udp_size = atoi((yyvsp[0].str)); in yyparse()
5805 free((yyvsp[0].str)); in yyparse()
5813 OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[0].str))); in yyparse()
5815 cfg_parser->cfg->dns64_prefix = (yyvsp[0].str); in yyparse()
5823 OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[0].str))); in yyparse()
5824 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
5826 else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5827 free((yyvsp[0].str)); in yyparse()
5835 OUTYY(("P(dns64_ignore_aaaa:%s)\n", (yyvsp[0].str))); in yyparse()
5837 (yyvsp[0].str))) in yyparse()
5846 OUTYY(("P(nat64_prefix:%s)\n", (yyvsp[0].str))); in yyparse()
5848 cfg_parser->cfg->nat64_prefix = (yyvsp[0].str); in yyparse()
5856 char* p, *s = (yyvsp[0].str); in yyparse()
5857 OUTYY(("P(server_define_tag:%s)\n", (yyvsp[0].str))); in yyparse()
5865 free((yyvsp[0].str)); in yyparse()
5874 uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), in yyparse()
5876 free((yyvsp[0].str)); in yyparse()
5877 OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[-1].str))); in yyparse()
5880 free((yyvsp[-1].str)); in yyparse()
5885 (yyvsp[-1].str), bitlist, len)) { in yyparse()
5887 free((yyvsp[-1].str)); in yyparse()
5898 uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), in yyparse()
5900 free((yyvsp[0].str)); in yyparse()
5901 OUTYY(("P(server_access_control_tag:%s)\n", (yyvsp[-1].str))); in yyparse()
5904 free((yyvsp[-1].str)); in yyparse()
5909 (yyvsp[-1].str), bitlist, len)) { in yyparse()
5911 free((yyvsp[-1].str)); in yyparse()
5921 …(server_access_control_tag_action:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
5923 (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) { in yyparse()
5925 free((yyvsp[-2].str)); in yyparse()
5926 free((yyvsp[-1].str)); in yyparse()
5927 free((yyvsp[0].str)); in yyparse()
5936 …"P(server_access_control_tag_data:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
5938 (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) { in yyparse()
5940 free((yyvsp[-2].str)); in yyparse()
5941 free((yyvsp[-1].str)); in yyparse()
5942 free((yyvsp[0].str)); in yyparse()
5951 …YY(("P(server_local_zone_override:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
5953 (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) { in yyparse()
5955 free((yyvsp[-2].str)); in yyparse()
5956 free((yyvsp[-1].str)); in yyparse()
5957 free((yyvsp[0].str)); in yyparse()
5966 OUTYY(("P(server_access_control_view:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
5968 (yyvsp[-1].str), (yyvsp[0].str))) { in yyparse()
5979 uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), in yyparse()
5981 free((yyvsp[0].str)); in yyparse()
5982 OUTYY(("P(server_interface_tag:%s)\n", (yyvsp[-1].str))); in yyparse()
5985 free((yyvsp[-1].str)); in yyparse()
5990 (yyvsp[-1].str), bitlist, len)) { in yyparse()
5992 free((yyvsp[-1].str)); in yyparse()
6002 …Y(("P(server_interface_tag_action:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
6004 (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) { in yyparse()
6006 free((yyvsp[-2].str)); in yyparse()
6007 free((yyvsp[-1].str)); in yyparse()
6008 free((yyvsp[0].str)); in yyparse()
6017 …OUTYY(("P(server_interface_tag_data:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)… in yyparse()
6019 (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) { in yyparse()
6021 free((yyvsp[-2].str)); in yyparse()
6022 free((yyvsp[-1].str)); in yyparse()
6023 free((yyvsp[0].str)); in yyparse()
6032 OUTYY(("P(server_interface_view:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
6034 (yyvsp[-1].str), (yyvsp[0].str))) { in yyparse()
6045 uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), in yyparse()
6047 free((yyvsp[0].str)); in yyparse()
6048 OUTYY(("P(response_ip_tag:%s)\n", (yyvsp[-1].str))); in yyparse()
6051 free((yyvsp[-1].str)); in yyparse()
6056 (yyvsp[-1].str), bitlist, len)) { in yyparse()
6058 free((yyvsp[-1].str)); in yyparse()
6068 OUTYY(("P(server_ip_ratelimit:%s)\n", (yyvsp[0].str))); in yyparse()
6069 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
6071 else cfg_parser->cfg->ip_ratelimit = atoi((yyvsp[0].str)); in yyparse()
6072 free((yyvsp[0].str)); in yyparse()
6080 OUTYY(("P(server_ip_ratelimit_cookie:%s)\n", (yyvsp[0].str))); in yyparse()
6081 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
6083 else cfg_parser->cfg->ip_ratelimit_cookie = atoi((yyvsp[0].str)); in yyparse()
6084 free((yyvsp[0].str)); in yyparse()
6092 OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[0].str))); in yyparse()
6093 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
6095 else cfg_parser->cfg->ratelimit = atoi((yyvsp[0].str)); in yyparse()
6096 free((yyvsp[0].str)); in yyparse()
6104 OUTYY(("P(server_ip_ratelimit_size:%s)\n", (yyvsp[0].str))); in yyparse()
6105 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ip_ratelimit_size)) in yyparse()
6107 free((yyvsp[0].str)); in yyparse()
6115 OUTYY(("P(server_ratelimit_size:%s)\n", (yyvsp[0].str))); in yyparse()
6116 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ratelimit_size)) in yyparse()
6118 free((yyvsp[0].str)); in yyparse()
6126 OUTYY(("P(server_ip_ratelimit_slabs:%s)\n", (yyvsp[0].str))); in yyparse()
6127 if(atoi((yyvsp[0].str)) == 0) { in yyparse()
6130 cfg_parser->cfg->ip_ratelimit_slabs = atoi((yyvsp[0].str)); in yyparse()
6134 free((yyvsp[0].str)); in yyparse()
6142 OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[0].str))); in yyparse()
6143 if(atoi((yyvsp[0].str)) == 0) { in yyparse()
6146 cfg_parser->cfg->ratelimit_slabs = atoi((yyvsp[0].str)); in yyparse()
6150 free((yyvsp[0].str)); in yyparse()
6158 OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
6159 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { in yyparse()
6161 free((yyvsp[-1].str)); in yyparse()
6162 free((yyvsp[0].str)); in yyparse()
6165 ratelimit_for_domain, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
6176 OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
6177 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { in yyparse()
6179 free((yyvsp[-1].str)); in yyparse()
6180 free((yyvsp[0].str)); in yyparse()
6183 ratelimit_below_domain, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
6194 OUTYY(("P(server_ip_ratelimit_factor:%s)\n", (yyvsp[0].str))); in yyparse()
6195 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
6197 else cfg_parser->cfg->ip_ratelimit_factor = atoi((yyvsp[0].str)); in yyparse()
6198 free((yyvsp[0].str)); in yyparse()
6206 OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[0].str))); in yyparse()
6207 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
6209 else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[0].str)); in yyparse()
6210 free((yyvsp[0].str)); in yyparse()
6218 OUTYY(("P(server_ip_ratelimit_backoff:%s)\n", (yyvsp[0].str))); in yyparse()
6219 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6222 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6223 free((yyvsp[0].str)); in yyparse()
6231 OUTYY(("P(server_ratelimit_backoff:%s)\n", (yyvsp[0].str))); in yyparse()
6232 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6235 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6236 free((yyvsp[0].str)); in yyparse()
6244 OUTYY(("P(server_outbound_msg_retry:%s)\n", (yyvsp[0].str))); in yyparse()
6245 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
6247 else cfg_parser->cfg->outbound_msg_retry = atoi((yyvsp[0].str)); in yyparse()
6248 free((yyvsp[0].str)); in yyparse()
6256 OUTYY(("P(server_max_sent_count:%s)\n", (yyvsp[0].str))); in yyparse()
6257 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
6259 else cfg_parser->cfg->max_sent_count = atoi((yyvsp[0].str)); in yyparse()
6260 free((yyvsp[0].str)); in yyparse()
6268 OUTYY(("P(server_max_query_restarts:%s)\n", (yyvsp[0].str))); in yyparse()
6269 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
6271 else cfg_parser->cfg->max_query_restarts = atoi((yyvsp[0].str)); in yyparse()
6272 free((yyvsp[0].str)); in yyparse()
6281 free((yyvsp[0].str)); in yyparse()
6289 OUTYY(("P(server_fast_server_num:%s)\n", (yyvsp[0].str))); in yyparse()
6290 if(atoi((yyvsp[0].str)) <= 0) in yyparse()
6292 else cfg_parser->cfg->fast_server_num = atoi((yyvsp[0].str)); in yyparse()
6293 free((yyvsp[0].str)); in yyparse()
6301 OUTYY(("P(server_fast_server_permil:%s)\n", (yyvsp[0].str))); in yyparse()
6302 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
6304 else cfg_parser->cfg->fast_server_permil = atoi((yyvsp[0].str)); in yyparse()
6305 free((yyvsp[0].str)); in yyparse()
6313 OUTYY(("P(server_qname_minimisation:%s)\n", (yyvsp[0].str))); in yyparse()
6314 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6317 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6318 free((yyvsp[0].str)); in yyparse()
6326 OUTYY(("P(server_qname_minimisation_strict:%s)\n", (yyvsp[0].str))); in yyparse()
6327 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6330 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6331 free((yyvsp[0].str)); in yyparse()
6339 OUTYY(("P(server_pad_responses:%s)\n", (yyvsp[0].str))); in yyparse()
6340 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6343 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6344 free((yyvsp[0].str)); in yyparse()
6352 OUTYY(("P(server_pad_responses_block_size:%s)\n", (yyvsp[0].str))); in yyparse()
6353 if(atoi((yyvsp[0].str)) == 0) in yyparse()
6355 else cfg_parser->cfg->pad_responses_block_size = atoi((yyvsp[0].str)); in yyparse()
6356 free((yyvsp[0].str)); in yyparse()
6364 OUTYY(("P(server_pad_queries:%s)\n", (yyvsp[0].str))); in yyparse()
6365 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6368 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6369 free((yyvsp[0].str)); in yyparse()
6377 OUTYY(("P(server_pad_queries_block_size:%s)\n", (yyvsp[0].str))); in yyparse()
6378 if(atoi((yyvsp[0].str)) == 0) in yyparse()
6380 else cfg_parser->cfg->pad_queries_block_size = atoi((yyvsp[0].str)); in yyparse()
6381 free((yyvsp[0].str)); in yyparse()
6390 OUTYY(("P(server_ipsecmod_enabled:%s)\n", (yyvsp[0].str))); in yyparse()
6391 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6393 else cfg_parser->cfg->ipsecmod_enabled = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6397 free((yyvsp[0].str)); in yyparse()
6406 OUTYY(("P(server_ipsecmod_ignore_bogus:%s)\n", (yyvsp[0].str))); in yyparse()
6407 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6409 else cfg_parser->cfg->ipsecmod_ignore_bogus = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6413 free((yyvsp[0].str)); in yyparse()
6422 OUTYY(("P(server_ipsecmod_hook:%s)\n", (yyvsp[0].str))); in yyparse()
6424 cfg_parser->cfg->ipsecmod_hook = (yyvsp[0].str); in yyparse()
6427 free((yyvsp[0].str)); in yyparse()
6437 OUTYY(("P(server_ipsecmod_max_ttl:%s)\n", (yyvsp[0].str))); in yyparse()
6438 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
6440 else cfg_parser->cfg->ipsecmod_max_ttl = atoi((yyvsp[0].str)); in yyparse()
6441 free((yyvsp[0].str)); in yyparse()
6444 free((yyvsp[0].str)); in yyparse()
6454 OUTYY(("P(server_ipsecmod_whitelist:%s)\n", (yyvsp[0].str))); in yyparse()
6455 if(!cfg_strlist_insert(&cfg_parser->cfg->ipsecmod_whitelist, (yyvsp[0].str))) in yyparse()
6459 free((yyvsp[0].str)); in yyparse()
6469 OUTYY(("P(server_ipsecmod_strict:%s)\n", (yyvsp[0].str))); in yyparse()
6470 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6472 else cfg_parser->cfg->ipsecmod_strict = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6473 free((yyvsp[0].str)); in yyparse()
6476 free((yyvsp[0].str)); in yyparse()
6485 OUTYY(("P(server_edns_client_string:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
6487 &cfg_parser->cfg->edns_client_strings, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
6497 OUTYY(("P(edns_client_string_opcode:%s)\n", (yyvsp[0].str))); in yyparse()
6498 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
6500 else if(atoi((yyvsp[0].str)) > 65535 || atoi((yyvsp[0].str)) < 0) in yyparse()
6502 else cfg_parser->cfg->edns_client_string_opcode = atoi((yyvsp[0].str)); in yyparse()
6503 free((yyvsp[0].str)); in yyparse()
6511 OUTYY(("P(server_ede:%s)\n", (yyvsp[0].str))); in yyparse()
6512 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6514 else cfg_parser->cfg->ede = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6515 free((yyvsp[0].str)); in yyparse()
6523 OUTYY(("P(server_dns_error_reporting:%s)\n", (yyvsp[0].str))); in yyparse()
6524 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6526 else cfg_parser->cfg->dns_error_reporting = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6527 free((yyvsp[0].str)); in yyparse()
6535 OUTYY(("P(server_proxy_protocol_port:%s)\n", (yyvsp[0].str))); in yyparse()
6536 if(!cfg_strlist_insert(&cfg_parser->cfg->proxy_protocol_port, (yyvsp[0].str))) in yyparse()
6545 OUTYY(("P(name:%s)\n", (yyvsp[0].str))); in yyparse()
6550 cfg_parser->cfg->stubs->name = (yyvsp[0].str); in yyparse()
6558 OUTYY(("P(stub-host:%s)\n", (yyvsp[0].str))); in yyparse()
6559 if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[0].str))) in yyparse()
6568 OUTYY(("P(stub-addr:%s)\n", (yyvsp[0].str))); in yyparse()
6569 if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[0].str))) in yyparse()
6578 OUTYY(("P(stub-first:%s)\n", (yyvsp[0].str))); in yyparse()
6579 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6581 else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6582 free((yyvsp[0].str)); in yyparse()
6590 OUTYY(("P(stub-no-cache:%s)\n", (yyvsp[0].str))); in yyparse()
6591 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6593 else cfg_parser->cfg->stubs->no_cache=(strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6594 free((yyvsp[0].str)); in yyparse()
6602 OUTYY(("P(stub-ssl-upstream:%s)\n", (yyvsp[0].str))); in yyparse()
6603 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6606 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6607 free((yyvsp[0].str)); in yyparse()
6615 OUTYY(("P(stub-tcp-upstream:%s)\n", (yyvsp[0].str))); in yyparse()
6616 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6619 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6620 free((yyvsp[0].str)); in yyparse()
6628 OUTYY(("P(stub-prime:%s)\n", (yyvsp[0].str))); in yyparse()
6629 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6632 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6633 free((yyvsp[0].str)); in yyparse()
6641 OUTYY(("P(name:%s)\n", (yyvsp[0].str))); in yyparse()
6646 cfg_parser->cfg->forwards->name = (yyvsp[0].str); in yyparse()
6654 OUTYY(("P(forward-host:%s)\n", (yyvsp[0].str))); in yyparse()
6655 if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[0].str))) in yyparse()
6664 OUTYY(("P(forward-addr:%s)\n", (yyvsp[0].str))); in yyparse()
6665 if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[0].str))) in yyparse()
6674 OUTYY(("P(forward-first:%s)\n", (yyvsp[0].str))); in yyparse()
6675 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6677 else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6678 free((yyvsp[0].str)); in yyparse()
6686 OUTYY(("P(forward-no-cache:%s)\n", (yyvsp[0].str))); in yyparse()
6687 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6689 else cfg_parser->cfg->forwards->no_cache=(strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6690 free((yyvsp[0].str)); in yyparse()
6698 OUTYY(("P(forward-ssl-upstream:%s)\n", (yyvsp[0].str))); in yyparse()
6699 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6702 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6703 free((yyvsp[0].str)); in yyparse()
6711 OUTYY(("P(forward-tcp-upstream:%s)\n", (yyvsp[0].str))); in yyparse()
6712 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6715 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6716 free((yyvsp[0].str)); in yyparse()
6724 OUTYY(("P(name:%s)\n", (yyvsp[0].str))); in yyparse()
6729 cfg_parser->cfg->auths->name = (yyvsp[0].str); in yyparse()
6737 OUTYY(("P(zonefile:%s)\n", (yyvsp[0].str))); in yyparse()
6739 cfg_parser->cfg->auths->zonefile = (yyvsp[0].str); in yyparse()
6747 OUTYY(("P(master:%s)\n", (yyvsp[0].str))); in yyparse()
6748 if(!cfg_strlist_insert(&cfg_parser->cfg->auths->masters, (yyvsp[0].str))) in yyparse()
6757 OUTYY(("P(url:%s)\n", (yyvsp[0].str))); in yyparse()
6758 if(!cfg_strlist_insert(&cfg_parser->cfg->auths->urls, (yyvsp[0].str))) in yyparse()
6767 OUTYY(("P(allow-notify:%s)\n", (yyvsp[0].str))); in yyparse()
6769 (yyvsp[0].str))) in yyparse()
6778 OUTYY(("P(zonemd-check:%s)\n", (yyvsp[0].str))); in yyparse()
6779 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6782 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6783 free((yyvsp[0].str)); in yyparse()
6791 OUTYY(("P(zonemd-reject-absence:%s)\n", (yyvsp[0].str))); in yyparse()
6792 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6795 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6796 free((yyvsp[0].str)); in yyparse()
6804 OUTYY(("P(for-downstream:%s)\n", (yyvsp[0].str))); in yyparse()
6805 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6808 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6809 free((yyvsp[0].str)); in yyparse()
6817 OUTYY(("P(for-upstream:%s)\n", (yyvsp[0].str))); in yyparse()
6818 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6821 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6822 free((yyvsp[0].str)); in yyparse()
6830 OUTYY(("P(fallback-enabled:%s)\n", (yyvsp[0].str))); in yyparse()
6831 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6834 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6835 free((yyvsp[0].str)); in yyparse()
6843 OUTYY(("P(name:%s)\n", (yyvsp[0].str))); in yyparse()
6848 cfg_parser->cfg->views->name = (yyvsp[0].str); in yyparse()
6856 OUTYY(("P(view_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
6857 if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 && in yyparse()
6858 strcmp((yyvsp[0].str), "refuse")!=0 && strcmp((yyvsp[0].str), "redirect")!=0 && in yyparse()
6859 strcmp((yyvsp[0].str), "transparent")!=0 && strcmp((yyvsp[0].str), "nodefault")!=0 in yyparse()
6860 && strcmp((yyvsp[0].str), "typetransparent")!=0 in yyparse()
6861 && strcmp((yyvsp[0].str), "always_transparent")!=0 in yyparse()
6862 && strcmp((yyvsp[0].str), "always_refuse")!=0 in yyparse()
6863 && strcmp((yyvsp[0].str), "always_nxdomain")!=0 in yyparse()
6864 && strcmp((yyvsp[0].str), "always_nodata")!=0 in yyparse()
6865 && strcmp((yyvsp[0].str), "always_deny")!=0 in yyparse()
6866 && strcmp((yyvsp[0].str), "always_null")!=0 in yyparse()
6867 && strcmp((yyvsp[0].str), "noview")!=0 in yyparse()
6868 && strcmp((yyvsp[0].str), "inform")!=0 && strcmp((yyvsp[0].str), "inform_deny")!=0 in yyparse()
6869 && strcmp((yyvsp[0].str), "inform_redirect") != 0 in yyparse()
6870 && strcmp((yyvsp[0].str), "ipset") != 0) { in yyparse()
6878 free((yyvsp[-1].str)); in yyparse()
6879 free((yyvsp[0].str)); in yyparse()
6880 } else if(strcmp((yyvsp[0].str), "nodefault")==0) { in yyparse()
6882 local_zones_nodefault, (yyvsp[-1].str))) in yyparse()
6884 free((yyvsp[0].str)); in yyparse()
6886 } else if(strcmp((yyvsp[0].str), "ipset")==0) { in yyparse()
6887 size_t len = strlen((yyvsp[-1].str)); in yyparse()
6889 * These are str compared to domain names. */ in yyparse()
6890 if((yyvsp[-1].str)[len-1] != '.') { in yyparse()
6891 if(!((yyvsp[-1].str) = realloc((yyvsp[-1].str), len+2))) { in yyparse()
6894 (yyvsp[-1].str)[len] = '.'; in yyparse()
6895 (yyvsp[-1].str)[len+1] = 0; in yyparse()
6898 local_zones_ipset, (yyvsp[-1].str))) in yyparse()
6900 free((yyvsp[0].str)); in yyparse()
6905 (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
6915 OUTYY(("P(view_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
6916 validate_respip_action((yyvsp[0].str)); in yyparse()
6918 &cfg_parser->cfg->views->respip_actions, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
6928 OUTYY(("P(view_response_ip_data:%s)\n", (yyvsp[-1].str))); in yyparse()
6930 &cfg_parser->cfg->views->respip_data, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
6939 OUTYY(("P(view_local_data:%s)\n", (yyvsp[0].str))); in yyparse()
6940 if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, (yyvsp[0].str))) { in yyparse()
6951 OUTYY(("P(view_local_data_ptr:%s)\n", (yyvsp[0].str))); in yyparse()
6952 ptr = cfg_ptr_reverse((yyvsp[0].str)); in yyparse()
6953 free((yyvsp[0].str)); in yyparse()
6968 OUTYY(("P(view-first:%s)\n", (yyvsp[0].str))); in yyparse()
6969 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6971 else cfg_parser->cfg->views->isfirst=(strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6972 free((yyvsp[0].str)); in yyparse()
6989 OUTYY(("P(control_enable:%s)\n", (yyvsp[0].str))); in yyparse()
6990 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
6993 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6994 free((yyvsp[0].str)); in yyparse()
7002 OUTYY(("P(control_port:%s)\n", (yyvsp[0].str))); in yyparse()
7003 if(atoi((yyvsp[0].str)) == 0) in yyparse()
7005 else cfg_parser->cfg->control_port = atoi((yyvsp[0].str)); in yyparse()
7006 free((yyvsp[0].str)); in yyparse()
7014 OUTYY(("P(control_interface:%s)\n", (yyvsp[0].str))); in yyparse()
7015 if(!cfg_strlist_append(&cfg_parser->cfg->control_ifs, (yyvsp[0].str))) in yyparse()
7024 OUTYY(("P(control_use_cert:%s)\n", (yyvsp[0].str))); in yyparse()
7025 cfg_parser->cfg->control_use_cert = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7026 free((yyvsp[0].str)); in yyparse()
7034 OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[0].str))); in yyparse()
7036 cfg_parser->cfg->server_key_file = (yyvsp[0].str); in yyparse()
7044 OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[0].str))); in yyparse()
7046 cfg_parser->cfg->server_cert_file = (yyvsp[0].str); in yyparse()
7054 OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[0].str))); in yyparse()
7056 cfg_parser->cfg->control_key_file = (yyvsp[0].str); in yyparse()
7064 OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[0].str))); in yyparse()
7066 cfg_parser->cfg->control_cert_file = (yyvsp[0].str); in yyparse()
7083 OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[0].str))); in yyparse()
7084 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7086 else cfg_parser->cfg->dnstap = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7087 free((yyvsp[0].str)); in yyparse()
7095 OUTYY(("P(dt_dnstap_bidirectional:%s)\n", (yyvsp[0].str))); in yyparse()
7096 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7099 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7100 free((yyvsp[0].str)); in yyparse()
7108 OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[0].str))); in yyparse()
7110 cfg_parser->cfg->dnstap_socket_path = (yyvsp[0].str); in yyparse()
7118 OUTYY(("P(dt_dnstap_ip:%s)\n", (yyvsp[0].str))); in yyparse()
7120 cfg_parser->cfg->dnstap_ip = (yyvsp[0].str); in yyparse()
7128 OUTYY(("P(dt_dnstap_tls:%s)\n", (yyvsp[0].str))); in yyparse()
7129 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7131 else cfg_parser->cfg->dnstap_tls = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7132 free((yyvsp[0].str)); in yyparse()
7140 OUTYY(("P(dt_dnstap_tls_server_name:%s)\n", (yyvsp[0].str))); in yyparse()
7142 cfg_parser->cfg->dnstap_tls_server_name = (yyvsp[0].str); in yyparse()
7150 OUTYY(("P(dt_dnstap_tls_cert_bundle:%s)\n", (yyvsp[0].str))); in yyparse()
7152 cfg_parser->cfg->dnstap_tls_cert_bundle = (yyvsp[0].str); in yyparse()
7160 OUTYY(("P(dt_dnstap_tls_client_key_file:%s)\n", (yyvsp[0].str))); in yyparse()
7162 cfg_parser->cfg->dnstap_tls_client_key_file = (yyvsp[0].str); in yyparse()
7170 OUTYY(("P(dt_dnstap_tls_client_cert_file:%s)\n", (yyvsp[0].str))); in yyparse()
7172 cfg_parser->cfg->dnstap_tls_client_cert_file = (yyvsp[0].str); in yyparse()
7180 OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[0].str))); in yyparse()
7181 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7183 else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7184 free((yyvsp[0].str)); in yyparse()
7192 OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[0].str))); in yyparse()
7193 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7195 else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7196 free((yyvsp[0].str)); in yyparse()
7204 OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[0].str))); in yyparse()
7206 cfg_parser->cfg->dnstap_identity = (yyvsp[0].str); in yyparse()
7214 OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[0].str))); in yyparse()
7216 cfg_parser->cfg->dnstap_version = (yyvsp[0].str); in yyparse()
7224 OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[0].str))); in yyparse()
7225 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7228 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7229 free((yyvsp[0].str)); in yyparse()
7237 OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[0].str))); in yyparse()
7238 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7241 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7242 free((yyvsp[0].str)); in yyparse()
7250 OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[0].str))); in yyparse()
7251 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7254 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7255 free((yyvsp[0].str)); in yyparse()
7263 OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[0].str))); in yyparse()
7264 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7267 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7268 free((yyvsp[0].str)); in yyparse()
7276 OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[0].str))); in yyparse()
7277 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7280 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7281 free((yyvsp[0].str)); in yyparse()
7289 OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[0].str))); in yyparse()
7290 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7293 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7294 free((yyvsp[0].str)); in yyparse()
7302 OUTYY(("P(dt_dnstap_sample_rate:%s)\n", (yyvsp[0].str))); in yyparse()
7303 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
7305 else if(atoi((yyvsp[0].str)) < 0) in yyparse()
7307 else cfg_parser->cfg->dnstap_sample_rate = atoi((yyvsp[0].str)); in yyparse()
7308 free((yyvsp[0].str)); in yyparse()
7325 OUTYY(("P(python-script:%s)\n", (yyvsp[0].str))); in yyparse()
7326 if(!cfg_strlist_append_ex(&cfg_parser->cfg->python_script, (yyvsp[0].str))) in yyparse()
7344 OUTYY(("P(dynlib-file:%s)\n", (yyvsp[0].str))); in yyparse()
7345 if(!cfg_strlist_append_ex(&cfg_parser->cfg->dynlib_file, (yyvsp[0].str))) in yyparse()
7354 OUTYY(("P(disable_dnssec_lame_check:%s)\n", (yyvsp[0].str))); in yyparse()
7355 if (strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7358 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7359 free((yyvsp[0].str)); in yyparse()
7367 OUTYY(("P(server_log_identity:%s)\n", (yyvsp[0].str))); in yyparse()
7369 cfg_parser->cfg->log_identity = (yyvsp[0].str); in yyparse()
7377 OUTYY(("P(server_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
7378 validate_respip_action((yyvsp[0].str)); in yyparse()
7380 (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
7389 OUTYY(("P(server_response_ip_data:%s)\n", (yyvsp[-1].str))); in yyparse()
7391 (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
7409 OUTYY(("P(dnsc_dnscrypt_enable:%s)\n", (yyvsp[0].str))); in yyparse()
7410 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7412 else cfg_parser->cfg->dnscrypt = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7413 free((yyvsp[0].str)); in yyparse()
7421 OUTYY(("P(dnsc_dnscrypt_port:%s)\n", (yyvsp[0].str))); in yyparse()
7422 if(atoi((yyvsp[0].str)) == 0) in yyparse()
7424 else cfg_parser->cfg->dnscrypt_port = atoi((yyvsp[0].str)); in yyparse()
7425 free((yyvsp[0].str)); in yyparse()
7433 OUTYY(("P(dnsc_dnscrypt_provider:%s)\n", (yyvsp[0].str))); in yyparse()
7435 cfg_parser->cfg->dnscrypt_provider = (yyvsp[0].str); in yyparse()
7443 OUTYY(("P(dnsc_dnscrypt_provider_cert:%s)\n", (yyvsp[0].str))); in yyparse()
7444 if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[0].str))) in yyparse()
7445 log_warn("dnscrypt-provider-cert %s is a duplicate", (yyvsp[0].str)); in yyparse()
7446 if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[0].str))) in yyparse()
7455 OUTYY(("P(dnsc_dnscrypt_provider_cert_rotated:%s)\n", (yyvsp[0].str))); in yyparse()
7456 if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert_rotated, (yyvsp[0].str))) in yyparse()
7465 OUTYY(("P(dnsc_dnscrypt_secret_key:%s)\n", (yyvsp[0].str))); in yyparse()
7466 if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[0].str))) in yyparse()
7467 log_warn("dnscrypt-secret-key: %s is a duplicate", (yyvsp[0].str)); in yyparse()
7468 if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[0].str))) in yyparse()
7477 OUTYY(("P(dnscrypt_shared_secret_cache_size:%s)\n", (yyvsp[0].str))); in yyparse()
7478 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_shared_secret_cache_size)) in yyparse()
7480 free((yyvsp[0].str)); in yyparse()
7488 OUTYY(("P(dnscrypt_shared_secret_cache_slabs:%s)\n", (yyvsp[0].str))); in yyparse()
7489 if(atoi((yyvsp[0].str)) == 0) { in yyparse()
7492 cfg_parser->cfg->dnscrypt_shared_secret_cache_slabs = atoi((yyvsp[0].str)); in yyparse()
7496 free((yyvsp[0].str)); in yyparse()
7504 OUTYY(("P(dnscrypt_nonce_cache_size:%s)\n", (yyvsp[0].str))); in yyparse()
7505 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_nonce_cache_size)) in yyparse()
7507 free((yyvsp[0].str)); in yyparse()
7515 OUTYY(("P(dnscrypt_nonce_cache_slabs:%s)\n", (yyvsp[0].str))); in yyparse()
7516 if(atoi((yyvsp[0].str)) == 0) { in yyparse()
7519 cfg_parser->cfg->dnscrypt_nonce_cache_slabs = atoi((yyvsp[0].str)); in yyparse()
7523 free((yyvsp[0].str)); in yyparse()
7541 OUTYY(("P(backend:%s)\n", (yyvsp[0].str))); in yyparse()
7543 cfg_parser->cfg->cachedb_backend = (yyvsp[0].str); in yyparse()
7546 free((yyvsp[0].str)); in yyparse()
7556 OUTYY(("P(secret-seed:%s)\n", (yyvsp[0].str))); in yyparse()
7558 cfg_parser->cfg->cachedb_secret = (yyvsp[0].str); in yyparse()
7561 free((yyvsp[0].str)); in yyparse()
7571 OUTYY(("P(cachedb_no_store:%s)\n", (yyvsp[0].str))); in yyparse()
7572 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7574 else cfg_parser->cfg->cachedb_no_store = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7578 free((yyvsp[0].str)); in yyparse()
7587 OUTYY(("P(cachedb_check_when_serve_expired:%s)\n", (yyvsp[0].str))); in yyparse()
7588 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7590 else cfg_parser->cfg->cachedb_check_when_serve_expired = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7594 free((yyvsp[0].str)); in yyparse()
7603 OUTYY(("P(redis_server_host:%s)\n", (yyvsp[0].str))); in yyparse()
7605 cfg_parser->cfg->redis_server_host = (yyvsp[0].str); in yyparse()
7608 free((yyvsp[0].str)); in yyparse()
7618 OUTYY(("P(redis_replica_server_host:%s)\n", (yyvsp[0].str))); in yyparse()
7620 cfg_parser->cfg->redis_replica_server_host = (yyvsp[0].str); in yyparse()
7623 free((yyvsp[0].str)); in yyparse()
7634 OUTYY(("P(redis_server_port:%s)\n", (yyvsp[0].str))); in yyparse()
7635 port = atoi((yyvsp[0].str)); in yyparse()
7642 free((yyvsp[0].str)); in yyparse()
7652 OUTYY(("P(redis_replica_server_port:%s)\n", (yyvsp[0].str))); in yyparse()
7653 port = atoi((yyvsp[0].str)); in yyparse()
7660 free((yyvsp[0].str)); in yyparse()
7669 OUTYY(("P(redis_server_path:%s)\n", (yyvsp[0].str))); in yyparse()
7671 cfg_parser->cfg->redis_server_path = (yyvsp[0].str); in yyparse()
7674 free((yyvsp[0].str)); in yyparse()
7684 OUTYY(("P(redis_replica_server_path:%s)\n", (yyvsp[0].str))); in yyparse()
7686 cfg_parser->cfg->redis_replica_server_path = (yyvsp[0].str); in yyparse()
7689 free((yyvsp[0].str)); in yyparse()
7699 OUTYY(("P(redis_server_password:%s)\n", (yyvsp[0].str))); in yyparse()
7701 cfg_parser->cfg->redis_server_password = (yyvsp[0].str); in yyparse()
7704 free((yyvsp[0].str)); in yyparse()
7714 OUTYY(("P(redis_replica_server_password:%s)\n", (yyvsp[0].str))); in yyparse()
7716 cfg_parser->cfg->redis_replica_server_password = (yyvsp[0].str); in yyparse()
7719 free((yyvsp[0].str)); in yyparse()
7729 OUTYY(("P(redis_timeout:%s)\n", (yyvsp[0].str))); in yyparse()
7730 if(atoi((yyvsp[0].str)) == 0) in yyparse()
7732 else cfg_parser->cfg->redis_timeout = atoi((yyvsp[0].str)); in yyparse()
7736 free((yyvsp[0].str)); in yyparse()
7745 OUTYY(("P(redis_replica_timeout:%s)\n", (yyvsp[0].str))); in yyparse()
7746 if(atoi((yyvsp[0].str)) == 0) in yyparse()
7748 else cfg_parser->cfg->redis_replica_timeout = atoi((yyvsp[0].str)); in yyparse()
7752 free((yyvsp[0].str)); in yyparse()
7761 OUTYY(("P(redis_command_timeout:%s)\n", (yyvsp[0].str))); in yyparse()
7762 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
7764 else cfg_parser->cfg->redis_command_timeout = atoi((yyvsp[0].str)); in yyparse()
7768 free((yyvsp[0].str)); in yyparse()
7777 OUTYY(("P(redis_replica_command_timeout:%s)\n", (yyvsp[0].str))); in yyparse()
7778 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
7780 else cfg_parser->cfg->redis_replica_command_timeout = atoi((yyvsp[0].str)); in yyparse()
7784 free((yyvsp[0].str)); in yyparse()
7793 OUTYY(("P(redis_connect_timeout:%s)\n", (yyvsp[0].str))); in yyparse()
7794 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
7796 else cfg_parser->cfg->redis_connect_timeout = atoi((yyvsp[0].str)); in yyparse()
7800 free((yyvsp[0].str)); in yyparse()
7809 OUTYY(("P(redis_replica_connect_timeout:%s)\n", (yyvsp[0].str))); in yyparse()
7810 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
7812 else cfg_parser->cfg->redis_replica_connect_timeout = atoi((yyvsp[0].str)); in yyparse()
7816 free((yyvsp[0].str)); in yyparse()
7825 OUTYY(("P(redis_expire_records:%s)\n", (yyvsp[0].str))); in yyparse()
7826 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7828 else cfg_parser->cfg->redis_expire_records = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7832 free((yyvsp[0].str)); in yyparse()
7842 OUTYY(("P(redis_logical_db:%s)\n", (yyvsp[0].str))); in yyparse()
7843 db = atoi((yyvsp[0].str)); in yyparse()
7844 if((db == 0 && strcmp((yyvsp[0].str), "0") != 0) || db < 0) in yyparse()
7850 free((yyvsp[0].str)); in yyparse()
7860 OUTYY(("P(redis_replica_logical_db:%s)\n", (yyvsp[0].str))); in yyparse()
7861 db = atoi((yyvsp[0].str)); in yyparse()
7862 if((db == 0 && strcmp((yyvsp[0].str), "0") != 0) || db < 0) in yyparse()
7868 free((yyvsp[0].str)); in yyparse()
7876 OUTYY(("P(server_tcp_connection_limit:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
7877 if (atoi((yyvsp[0].str)) < 0) in yyparse()
7880 … if(!cfg_str2list_insert(&cfg_parser->cfg->tcp_connection_limits, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
7890 OUTYY(("P(server_answer_cookie:%s)\n", (yyvsp[0].str))); in yyparse()
7891 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7893 else cfg_parser->cfg->do_answer_cookie = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7894 free((yyvsp[0].str)); in yyparse()
7905 OUTYY(("P(server_cookie_secret:%s)\n", (yyvsp[0].str))); in yyparse()
7906 if(sldns_str2wire_hex_buf((yyvsp[0].str), secret, &secret_len) in yyparse()
7913 free((yyvsp[0].str)); in yyparse()
7921 OUTYY(("P(cookie_secret_file:%s)\n", (yyvsp[0].str))); in yyparse()
7923 cfg_parser->cfg->cookie_secret_file = (yyvsp[0].str); in yyparse()
7931 OUTYY(("P(server_iter_scrub_ns:%s)\n", (yyvsp[0].str))); in yyparse()
7932 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
7934 else cfg_parser->cfg->iter_scrub_ns = atoi((yyvsp[0].str)); in yyparse()
7935 free((yyvsp[0].str)); in yyparse()
7943 OUTYY(("P(server_iter_scrub_cname:%s)\n", (yyvsp[0].str))); in yyparse()
7944 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
7946 else cfg_parser->cfg->iter_scrub_cname = atoi((yyvsp[0].str)); in yyparse()
7947 free((yyvsp[0].str)); in yyparse()
7955 OUTYY(("P(server_max_global_quota:%s)\n", (yyvsp[0].str))); in yyparse()
7956 if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) in yyparse()
7958 else cfg_parser->cfg->max_global_quota = atoi((yyvsp[0].str)); in yyparse()
7959 free((yyvsp[0].str)); in yyparse()
7967 OUTYY(("P(server_iter_scrub_promiscuous:%s)\n", (yyvsp[0].str))); in yyparse()
7968 if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) in yyparse()
7971 (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7972 free((yyvsp[0].str)); in yyparse()
7990 OUTYY(("P(name-v4:%s)\n", (yyvsp[0].str))); in yyparse()
7995 cfg_parser->cfg->ipset_name_v4 = (yyvsp[0].str); in yyparse()
7998 free((yyvsp[0].str)); in yyparse()
8008 OUTYY(("P(name-v6:%s)\n", (yyvsp[0].str))); in yyparse()
8013 cfg_parser->cfg->ipset_name_v6 = (yyvsp[0].str); in yyparse()
8016 free((yyvsp[0].str)); in yyparse()