Lines Matching full:2

467 		OUTYY(("P(server_local_zone_tag:%s)\n", $2));
468 bitlist = config_parse_taglist(cfg_parser->cfg, $2,
470 free($2);
484 OUTYY(("P(rpz_action_override:%s)\n", $2));
485 if(strcmp($2, "nxdomain")!=0 && strcmp($2, "nodata")!=0 &&
486 strcmp($2, "passthru")!=0 && strcmp($2, "drop")!=0 &&
487 strcmp($2, "cname")!=0 && strcmp($2, "disabled")!=0) {
490 free($2);
494 cfg_parser->cfg->auths->rpz_action_override = $2;
501 OUTYY(("P(rpz_cname_override:%s)\n", $2));
503 cfg_parser->cfg->auths->rpz_cname = $2;
509 OUTYY(("P(rpz_log:%s)\n", $2));
510 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
512 else cfg_parser->cfg->auths->rpz_log = (strcmp($2, "yes")==0);
513 free($2);
519 OUTYY(("P(rpz_log_name:%s)\n", $2));
521 cfg_parser->cfg->auths->rpz_log_name = $2;
526 OUTYY(("P(rpz_signal_nxdomain_ra:%s)\n", $2));
527 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
529 else cfg_parser->cfg->auths->rpz_signal_nxdomain_ra = (strcmp($2, "yes")==0);
530 free($2);
561 OUTYY(("P(server_num_threads:%s)\n", $2));
562 if(atoi($2) == 0 && strcmp($2, "0") != 0)
564 else cfg_parser->cfg->num_threads = atoi($2);
565 free($2);
570 OUTYY(("P(server_verbosity:%s)\n", $2));
571 if(atoi($2) == 0 && strcmp($2, "0") != 0)
573 else cfg_parser->cfg->verbosity = atoi($2);
574 free($2);
579 OUTYY(("P(server_statistics_interval:%s)\n", $2));
580 if(strcmp($2, "") == 0 || strcmp($2, "0") == 0)
582 else if(atoi($2) == 0)
584 else cfg_parser->cfg->stat_interval = atoi($2);
585 free($2);
590 OUTYY(("P(server_statistics_cumulative:%s)\n", $2));
591 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
593 else cfg_parser->cfg->stat_cumulative = (strcmp($2, "yes")==0);
594 free($2);
599 OUTYY(("P(server_extended_statistics:%s)\n", $2));
600 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
602 else cfg_parser->cfg->stat_extended = (strcmp($2, "yes")==0);
603 free($2);
608 OUTYY(("P(server_statistics_inhibit_zero:%s)\n", $2));
609 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
611 else cfg_parser->cfg->stat_inhibit_zero = (strcmp($2, "yes")==0);
612 free($2);
617 OUTYY(("P(server_shm_enable:%s)\n", $2));
618 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
620 else cfg_parser->cfg->shm_enable = (strcmp($2, "yes")==0);
621 free($2);
626 OUTYY(("P(server_shm_key:%s)\n", $2));
627 if(strcmp($2, "") == 0 || strcmp($2, "0") == 0)
629 else if(atoi($2) == 0)
631 else cfg_parser->cfg->shm_key = atoi($2);
632 free($2);
637 OUTYY(("P(server_port:%s)\n", $2));
638 if(atoi($2) == 0)
640 else cfg_parser->cfg->port = atoi($2);
641 free($2);
647 OUTYY(("P(server_send_client_subnet:%s)\n", $2));
648 if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet, $2))
652 free($2);
659 OUTYY(("P(server_client_subnet_zone:%s)\n", $2));
661 $2))
665 free($2);
673 OUTYY(("P(server_client_subnet_always_forward:%s)\n", $2));
674 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
678 (strcmp($2, "yes")==0);
682 free($2);
688 OUTYY(("P(client_subnet_opcode:%s)\n", $2));
693 free($2);
699 OUTYY(("P(max_client_subnet_ipv4:%s)\n", $2));
700 if(atoi($2) == 0 && strcmp($2, "0") != 0)
702 else if (atoi($2) > 32)
704 else if (atoi($2) < 0)
706 else cfg_parser->cfg->max_client_subnet_ipv4 = (uint8_t)atoi($2);
710 free($2);
716 OUTYY(("P(max_client_subnet_ipv6:%s)\n", $2));
717 if(atoi($2) == 0 && strcmp($2, "0") != 0)
719 else if (atoi($2) > 128)
721 else if (atoi($2) < 0)
723 else cfg_parser->cfg->max_client_subnet_ipv6 = (uint8_t)atoi($2);
727 free($2);
733 OUTYY(("P(min_client_subnet_ipv4:%s)\n", $2));
734 if(atoi($2) == 0 && strcmp($2, "0") != 0)
736 else if (atoi($2) > 32)
738 else if (atoi($2) < 0)
740 else cfg_parser->cfg->min_client_subnet_ipv4 = (uint8_t)atoi($2);
744 free($2);
750 OUTYY(("P(min_client_subnet_ipv6:%s)\n", $2));
751 if(atoi($2) == 0 && strcmp($2, "0") != 0)
753 else if (atoi($2) > 128)
755 else if (atoi($2) < 0)
757 else cfg_parser->cfg->min_client_subnet_ipv6 = (uint8_t)atoi($2);
761 free($2);
767 OUTYY(("P(max_ecs_tree_size_ipv4:%s)\n", $2));
768 if(atoi($2) == 0 && strcmp($2, "0") != 0)
770 else if (atoi($2) < 0)
772 else cfg_parser->cfg->max_ecs_tree_size_ipv4 = (uint32_t)atoi($2);
776 free($2);
782 OUTYY(("P(max_ecs_tree_size_ipv6:%s)\n", $2));
783 if(atoi($2) == 0 && strcmp($2, "0") != 0)
785 else if (atoi($2) < 0)
787 else cfg_parser->cfg->max_ecs_tree_size_ipv6 = (uint32_t)atoi($2);
791 free($2);
796 OUTYY(("P(server_interface:%s)\n", $2));
804 cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = $2;
809 OUTYY(("P(server_outgoing_interface:%s)\n", $2));
819 cfg_parser->cfg->num_out_ifs++] = $2;
824 OUTYY(("P(server_outgoing_range:%s)\n", $2));
825 if(atoi($2) == 0)
827 else cfg_parser->cfg->outgoing_num_ports = atoi($2);
828 free($2);
833 OUTYY(("P(server_outgoing_port_permit:%s)\n", $2));
834 if(!cfg_mark_ports($2, 1,
837 free($2);
842 OUTYY(("P(server_outgoing_port_avoid:%s)\n", $2));
843 if(!cfg_mark_ports($2, 0,
846 free($2);
851 OUTYY(("P(server_outgoing_num_tcp:%s)\n", $2));
852 if(atoi($2) == 0 && strcmp($2, "0") != 0)
854 else cfg_parser->cfg->outgoing_num_tcp = atoi($2);
855 free($2);
860 OUTYY(("P(server_incoming_num_tcp:%s)\n", $2));
861 if(atoi($2) == 0 && strcmp($2, "0") != 0)
863 else cfg_parser->cfg->incoming_num_tcp = atoi($2);
864 free($2);
869 OUTYY(("P(server_interface_automatic:%s)\n", $2));
870 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
872 else cfg_parser->cfg->if_automatic = (strcmp($2, "yes")==0);
873 free($2);
878 OUTYY(("P(server_interface_automatic_ports:%s)\n", $2));
880 cfg_parser->cfg->if_automatic_ports = $2;
885 OUTYY(("P(server_do_ip4:%s)\n", $2));
886 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
888 else cfg_parser->cfg->do_ip4 = (strcmp($2, "yes")==0);
889 free($2);
894 OUTYY(("P(server_do_ip6:%s)\n", $2));
895 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
897 else cfg_parser->cfg->do_ip6 = (strcmp($2, "yes")==0);
898 free($2);
903 OUTYY(("P(server_do_nat64:%s)\n", $2));
904 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
906 else cfg_parser->cfg->do_nat64 = (strcmp($2, "yes")==0);
907 free($2);
912 OUTYY(("P(server_do_udp:%s)\n", $2));
913 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
915 else cfg_parser->cfg->do_udp = (strcmp($2, "yes")==0);
916 free($2);
921 OUTYY(("P(server_do_tcp:%s)\n", $2));
922 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
924 else cfg_parser->cfg->do_tcp = (strcmp($2, "yes")==0);
925 free($2);
930 OUTYY(("P(server_prefer_ip4:%s)\n", $2));
931 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
933 else cfg_parser->cfg->prefer_ip4 = (strcmp($2, "yes")==0);
934 free($2);
939 OUTYY(("P(server_prefer_ip6:%s)\n", $2));
940 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
942 else cfg_parser->cfg->prefer_ip6 = (strcmp($2, "yes")==0);
943 free($2);
948 OUTYY(("P(server_tcp_mss:%s)\n", $2));
949 if(atoi($2) == 0 && strcmp($2, "0") != 0)
951 else cfg_parser->cfg->tcp_mss = atoi($2);
952 free($2);
957 OUTYY(("P(server_outgoing_tcp_mss:%s)\n", $2));
958 if(atoi($2) == 0 && strcmp($2, "0") != 0)
960 else cfg_parser->cfg->outgoing_tcp_mss = atoi($2);
961 free($2);
966 OUTYY(("P(server_tcp_idle_timeout:%s)\n", $2));
967 if(atoi($2) == 0 && strcmp($2, "0") != 0)
969 else if (atoi($2) > 120000)
971 else if (atoi($2) < 1)
973 else cfg_parser->cfg->tcp_idle_timeout = atoi($2);
974 free($2);
979 OUTYY(("P(server_max_reuse_tcp_queries:%s)\n", $2));
980 if(atoi($2) == 0 && strcmp($2, "0") != 0)
982 else if (atoi($2) < 1)
984 else cfg_parser->cfg->max_reuse_tcp_queries = atoi($2);
985 free($2);
990 OUTYY(("P(server_tcp_reuse_timeout:%s)\n", $2));
991 if(atoi($2) == 0 && strcmp($2, "0") != 0)
993 else if (atoi($2) < 1)
995 else cfg_parser->cfg->tcp_reuse_timeout = atoi($2);
996 free($2);
1001 OUTYY(("P(server_tcp_auth_query_timeout:%s)\n", $2));
1002 if(atoi($2) == 0 && strcmp($2, "0") != 0)
1004 else if (atoi($2) < 1)
1006 else cfg_parser->cfg->tcp_auth_query_timeout = atoi($2);
1007 free($2);
1012 OUTYY(("P(server_tcp_keepalive:%s)\n", $2));
1013 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1015 else cfg_parser->cfg->do_tcp_keepalive = (strcmp($2, "yes")==0);
1016 free($2);
1021 OUTYY(("P(server_tcp_keepalive_timeout:%s)\n", $2));
1022 if(atoi($2) == 0 && strcmp($2, "0") != 0)
1024 else if (atoi($2) > 6553500)
1026 else if (atoi($2) < 1)
1028 else cfg_parser->cfg->tcp_keepalive_timeout = atoi($2);
1029 free($2);
1034 OUTYY(("P(server_sock_queue_timeout:%s)\n", $2));
1035 if(atoi($2) == 0 && strcmp($2, "0") != 0)
1037 else if (atoi($2) > 6553500)
1039 else if (atoi($2) < 1)
1041 else cfg_parser->cfg->sock_queue_timeout = atoi($2);
1042 free($2);
1047 OUTYY(("P(server_tcp_upstream:%s)\n", $2));
1048 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1050 else cfg_parser->cfg->tcp_upstream = (strcmp($2, "yes")==0);
1051 free($2);
1056 OUTYY(("P(server_udp_upstream_without_downstream:%s)\n", $2));
1057 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1059 else cfg_parser->cfg->udp_upstream_without_downstream = (strcmp($2, "yes")==0);
1060 free($2);
1065 OUTYY(("P(server_ssl_upstream:%s)\n", $2));
1066 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1068 else cfg_parser->cfg->ssl_upstream = (strcmp($2, "yes")==0);
1069 free($2);
1074 OUTYY(("P(server_ssl_service_key:%s)\n", $2));
1076 cfg_parser->cfg->ssl_service_key = $2;
1081 OUTYY(("P(server_ssl_service_pem:%s)\n", $2));
1083 cfg_parser->cfg->ssl_service_pem = $2;
1088 OUTYY(("P(server_ssl_port:%s)\n", $2));
1089 if(atoi($2) == 0)
1091 else cfg_parser->cfg->ssl_port = atoi($2);
1092 free($2);
1097 OUTYY(("P(server_tls_cert_bundle:%s)\n", $2));
1099 cfg_parser->cfg->tls_cert_bundle = $2;
1104 OUTYY(("P(server_tls_win_cert:%s)\n", $2));
1105 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1107 else cfg_parser->cfg->tls_win_cert = (strcmp($2, "yes")==0);
1108 free($2);
1113 OUTYY(("P(server_tls_additional_port:%s)\n", $2));
1115 $2))
1121 OUTYY(("P(server_tls_ciphers:%s)\n", $2));
1123 cfg_parser->cfg->tls_ciphers = $2;
1128 OUTYY(("P(server_tls_ciphersuites:%s)\n", $2));
1130 cfg_parser->cfg->tls_ciphersuites = $2;
1135 OUTYY(("P(server_tls_session_ticket_keys:%s)\n", $2));
1137 $2))
1143 OUTYY(("P(server_tls_use_sni:%s)\n", $2));
1144 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1146 else cfg_parser->cfg->tls_use_sni = (strcmp($2, "yes")==0);
1147 free($2);
1152 OUTYY(("P(server_https_port:%s)\n", $2));
1153 if(atoi($2) == 0)
1155 else cfg_parser->cfg->https_port = atoi($2);
1156 free($2);
1160 OUTYY(("P(server_http_endpoint:%s)\n", $2));
1162 if($2 && $2[0] != '/') {
1163 cfg_parser->cfg->http_endpoint = malloc(strlen($2)+2);
1167 memmove(cfg_parser->cfg->http_endpoint+1, $2,
1168 strlen($2)+1);
1169 free($2);
1171 cfg_parser->cfg->http_endpoint = $2;
1176 OUTYY(("P(server_http_max_streams:%s)\n", $2));
1177 if(atoi($2) == 0 && strcmp($2, "0") != 0)
1179 else cfg_parser->cfg->http_max_streams = atoi($2);
1180 free($2);
1184 OUTYY(("P(server_http_query_buffer_size:%s)\n", $2));
1185 if(!cfg_parse_memsize($2,
1188 free($2);
1192 OUTYY(("P(server_http_response_buffer_size:%s)\n", $2));
1193 if(!cfg_parse_memsize($2,
1196 free($2);
1200 OUTYY(("P(server_http_nodelay:%s)\n", $2));
1201 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1203 else cfg_parser->cfg->http_nodelay = (strcmp($2, "yes")==0);
1204 free($2);
1208 OUTYY(("P(server_http_notls_downstream:%s)\n", $2));
1209 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1211 else cfg_parser->cfg->http_notls_downstream = (strcmp($2, "yes")==0);
1212 free($2);
1216 OUTYY(("P(server_quic_port:%s)\n", $2));
1222 if(atoi($2) == 0)
1224 else cfg_parser->cfg->quic_port = atoi($2);
1225 free($2);
1229 OUTYY(("P(server_quic_size:%s)\n", $2));
1230 if(!cfg_parse_memsize($2, &cfg_parser->cfg->quic_size))
1232 free($2);
1236 OUTYY(("P(server_use_systemd:%s)\n", $2));
1237 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1239 else cfg_parser->cfg->use_systemd = (strcmp($2, "yes")==0);
1240 free($2);
1245 OUTYY(("P(server_do_daemonize:%s)\n", $2));
1246 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1248 else cfg_parser->cfg->do_daemonize = (strcmp($2, "yes")==0);
1249 free($2);
1254 OUTYY(("P(server_use_syslog:%s)\n", $2));
1255 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1257 else cfg_parser->cfg->use_syslog = (strcmp($2, "yes")==0);
1259 if(strcmp($2, "yes") == 0)
1263 free($2);
1268 OUTYY(("P(server_log_time_ascii:%s)\n", $2));
1269 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1271 else cfg_parser->cfg->log_time_ascii = (strcmp($2, "yes")==0);
1272 free($2);
1277 OUTYY(("P(server_log_time_iso:%s)\n", $2));
1278 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1280 else cfg_parser->cfg->log_time_iso = (strcmp($2, "yes")==0);
1281 free($2);
1286 OUTYY(("P(server_log_queries:%s)\n", $2));
1287 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1289 else cfg_parser->cfg->log_queries = (strcmp($2, "yes")==0);
1290 free($2);
1295 OUTYY(("P(server_log_replies:%s)\n", $2));
1296 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1298 else cfg_parser->cfg->log_replies = (strcmp($2, "yes")==0);
1299 free($2);
1304 OUTYY(("P(server_log_tag_queryreply:%s)\n", $2));
1305 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1307 else cfg_parser->cfg->log_tag_queryreply = (strcmp($2, "yes")==0);
1308 free($2);
1313 OUTYY(("P(server_log_servfail:%s)\n", $2));
1314 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1316 else cfg_parser->cfg->log_servfail = (strcmp($2, "yes")==0);
1317 free($2);
1322 OUTYY(("P(server_log_destaddr:%s)\n", $2));
1323 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1325 else cfg_parser->cfg->log_destaddr = (strcmp($2, "yes")==0);
1326 free($2);
1331 OUTYY(("P(server_log_local_actions:%s)\n", $2));
1332 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1334 else cfg_parser->cfg->log_local_actions = (strcmp($2, "yes")==0);
1335 free($2);
1340 OUTYY(("P(server_chroot:%s)\n", $2));
1342 cfg_parser->cfg->chrootdir = $2;
1347 OUTYY(("P(server_username:%s)\n", $2));
1349 cfg_parser->cfg->username = $2;
1354 OUTYY(("P(server_directory:%s)\n", $2));
1356 cfg_parser->cfg->directory = $2;
1358 if($2[0]) {
1380 OUTYY(("P(server_logfile:%s)\n", $2));
1382 cfg_parser->cfg->logfile = $2;
1388 OUTYY(("P(server_pidfile:%s)\n", $2));
1390 cfg_parser->cfg->pidfile = $2;
1395 OUTYY(("P(server_root_hints:%s)\n", $2));
1396 if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, $2))
1402 OUTYY(("P(server_dlv_anchor_file:%s)\n", $2));
1404 free($2);
1409 OUTYY(("P(server_dlv_anchor:%s)\n", $2));
1411 free($2);
1416 OUTYY(("P(server_auto_trust_anchor_file:%s)\n", $2));
1418 auto_trust_anchor_file_list, $2))
1424 OUTYY(("P(server_trust_anchor_file:%s)\n", $2));
1426 trust_anchor_file_list, $2))
1432 OUTYY(("P(server_trusted_keys_file:%s)\n", $2));
1434 trusted_keys_file_list, $2))
1440 OUTYY(("P(server_trust_anchor:%s)\n", $2));
1441 if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, $2))
1447 OUTYY(("P(server_trust_anchor_signaling:%s)\n", $2));
1448 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1452 (strcmp($2, "yes")==0);
1453 free($2);
1458 OUTYY(("P(server_root_key_sentinel:%s)\n", $2));
1459 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1463 (strcmp($2, "yes")==0);
1464 free($2);
1469 OUTYY(("P(server_domain_insecure:%s)\n", $2));
1470 if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, $2))
1476 OUTYY(("P(server_hide_identity:%s)\n", $2));
1477 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1479 else cfg_parser->cfg->hide_identity = (strcmp($2, "yes")==0);
1480 free($2);
1485 OUTYY(("P(server_hide_version:%s)\n", $2));
1486 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1488 else cfg_parser->cfg->hide_version = (strcmp($2, "yes")==0);
1489 free($2);
1494 OUTYY(("P(server_hide_trustanchor:%s)\n", $2));
1495 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1497 else cfg_parser->cfg->hide_trustanchor = (strcmp($2, "yes")==0);
1498 free($2);
1503 OUTYY(("P(server_hide_user_agent:%s)\n", $2));
1504 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1506 else cfg_parser->cfg->hide_http_user_agent = (strcmp($2, "yes")==0);
1507 free($2);
1512 OUTYY(("P(server_identity:%s)\n", $2));
1514 cfg_parser->cfg->identity = $2;
1519 OUTYY(("P(server_version:%s)\n", $2));
1521 cfg_parser->cfg->version = $2;
1526 OUTYY(("P(server_http_user_agent:%s)\n", $2));
1528 cfg_parser->cfg->http_user_agent = $2;
1533 OUTYY(("P(server_nsid:%s)\n", $2));
1535 cfg_parser->cfg->nsid_cfg_str = $2;
1539 if (*$2 == 0)
1542 $2, &cfg_parser->cfg->nsid_len)))
1549 OUTYY(("P(server_so_rcvbuf:%s)\n", $2));
1550 if(!cfg_parse_memsize($2, &cfg_parser->cfg->so_rcvbuf))
1552 free($2);
1557 OUTYY(("P(server_so_sndbuf:%s)\n", $2));
1558 if(!cfg_parse_memsize($2, &cfg_parser->cfg->so_sndbuf))
1560 free($2);
1565 OUTYY(("P(server_so_reuseport:%s)\n", $2));
1566 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1569 (strcmp($2, "yes")==0);
1570 free($2);
1575 OUTYY(("P(server_ip_transparent:%s)\n", $2));
1576 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1579 (strcmp($2, "yes")==0);
1580 free($2);
1585 OUTYY(("P(server_ip_freebind:%s)\n", $2));
1586 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1589 (strcmp($2, "yes")==0);
1590 free($2);
1595 OUTYY(("P(server_ip_dscp:%s)\n", $2));
1596 if(atoi($2) == 0 && strcmp($2, "0") != 0)
1598 else if (atoi($2) > 63)
1600 else if (atoi($2) < 0)
1603 cfg_parser->cfg->ip_dscp = atoi($2);
1604 free($2);
1609 OUTYY(("P(server_stream_wait_size:%s)\n", $2));
1610 if(!cfg_parse_memsize($2, &cfg_parser->cfg->stream_wait_size))
1612 free($2);
1617 OUTYY(("P(server_edns_buffer_size:%s)\n", $2));
1618 if(atoi($2) == 0)
1620 else if (atoi($2) < 12)
1622 else if (atoi($2) > 65535)
1624 else cfg_parser->cfg->edns_buffer_size = atoi($2);
1625 free($2);
1630 OUTYY(("P(server_msg_buffer_size:%s)\n", $2));
1631 if(atoi($2) == 0)
1633 else if (atoi($2) < 4096)
1635 else cfg_parser->cfg->msg_buffer_size = atoi($2);
1636 free($2);
1641 OUTYY(("P(server_msg_cache_size:%s)\n", $2));
1642 if(!cfg_parse_memsize($2, &cfg_parser->cfg->msg_cache_size))
1644 free($2);
1649 OUTYY(("P(server_msg_cache_slabs:%s)\n", $2));
1650 if(atoi($2) == 0) {
1653 cfg_parser->cfg->msg_cache_slabs = atoi($2);
1655 yyerror("must be a power of 2");
1657 free($2);
1662 OUTYY(("P(server_num_queries_per_thread:%s)\n", $2));
1663 if(atoi($2) == 0)
1665 else cfg_parser->cfg->num_queries_per_thread = atoi($2);
1666 free($2);
1671 OUTYY(("P(server_jostle_timeout:%s)\n", $2));
1672 if(atoi($2) == 0 && strcmp($2, "0") != 0)
1674 else cfg_parser->cfg->jostle_time = atoi($2);
1675 free($2);
1680 OUTYY(("P(server_delay_close:%s)\n", $2));
1681 if(atoi($2) == 0 && strcmp($2, "0") != 0)
1683 else cfg_parser->cfg->delay_close = atoi($2);
1684 free($2);
1689 OUTYY(("P(server_udp_connect:%s)\n", $2));
1690 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1692 else cfg_parser->cfg->udp_connect = (strcmp($2, "yes")==0);
1693 free($2);
1698 OUTYY(("P(server_unblock_lan_zones:%s)\n", $2));
1699 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1702 (strcmp($2, "yes")==0);
1703 free($2);
1708 OUTYY(("P(server_insecure_lan_zones:%s)\n", $2));
1709 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1712 (strcmp($2, "yes")==0);
1713 free($2);
1718 OUTYY(("P(server_rrset_cache_size:%s)\n", $2));
1719 if(!cfg_parse_memsize($2, &cfg_parser->cfg->rrset_cache_size))
1721 free($2);
1726 OUTYY(("P(server_rrset_cache_slabs:%s)\n", $2));
1727 if(atoi($2) == 0) {
1730 cfg_parser->cfg->rrset_cache_slabs = atoi($2);
1732 yyerror("must be a power of 2");
1734 free($2);
1739 OUTYY(("P(server_infra_host_ttl:%s)\n", $2));
1740 if(atoi($2) == 0 && strcmp($2, "0") != 0)
1742 else cfg_parser->cfg->host_ttl = atoi($2);
1743 free($2);
1748 OUTYY(("P(server_infra_lame_ttl:%s)\n", $2));
1750 "removed, use infra-host-ttl)", $2);
1751 free($2);
1756 OUTYY(("P(server_infra_cache_numhosts:%s)\n", $2));
1757 if(atoi($2) == 0)
1759 else cfg_parser->cfg->infra_cache_numhosts = atoi($2);
1760 free($2);
1765 OUTYY(("P(server_infra_cache_lame_size:%s)\n", $2));
1767 "(option removed, use infra-cache-numhosts)", $2);
1768 free($2);
1773 OUTYY(("P(server_infra_cache_slabs:%s)\n", $2));
1774 if(atoi($2) == 0) {
1777 cfg_parser->cfg->infra_cache_slabs = atoi($2);
1779 yyerror("must be a power of 2");
1781 free($2);
1786 OUTYY(("P(server_infra_cache_min_rtt:%s)\n", $2));
1787 if(atoi($2) == 0 && strcmp($2, "0") != 0)
1789 else cfg_parser->cfg->infra_cache_min_rtt = atoi($2);
1790 free($2);
1795 OUTYY(("P(server_infra_cache_max_rtt:%s)\n", $2));
1796 if(atoi($2) == 0 && strcmp($2, "0") != 0)
1798 else cfg_parser->cfg->infra_cache_max_rtt = atoi($2);
1799 free($2);
1804 OUTYY(("P(server_infra_keep_probing:%s)\n", $2));
1805 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1808 (strcmp($2, "yes")==0);
1809 free($2);
1814 OUTYY(("P(server_target_fetch_policy:%s)\n", $2));
1816 cfg_parser->cfg->target_fetch_policy = $2;
1821 OUTYY(("P(server_harden_short_bufsize:%s)\n", $2));
1822 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1825 (strcmp($2, "yes")==0);
1826 free($2);
1831 OUTYY(("P(server_harden_large_queries:%s)\n", $2));
1832 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1835 (strcmp($2, "yes")==0);
1836 free($2);
1841 OUTYY(("P(server_harden_glue:%s)\n", $2));
1842 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1845 (strcmp($2, "yes")==0);
1846 free($2);
1851 OUTYY(("P(server_harden_unverified_glue:%s)\n", $2));
1852 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1855 (strcmp($2, "yes")==0);
1856 free($2);
1861 OUTYY(("P(server_harden_dnssec_stripped:%s)\n", $2));
1862 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1865 (strcmp($2, "yes")==0);
1866 free($2);
1871 OUTYY(("P(server_harden_below_nxdomain:%s)\n", $2));
1872 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1875 (strcmp($2, "yes")==0);
1876 free($2);
1881 OUTYY(("P(server_harden_referral_path:%s)\n", $2));
1882 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1885 (strcmp($2, "yes")==0);
1886 free($2);
1891 OUTYY(("P(server_harden_algo_downgrade:%s)\n", $2));
1892 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1895 (strcmp($2, "yes")==0);
1896 free($2);
1901 OUTYY(("P(server_harden_unknown_additional:%s)\n", $2));
1902 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1905 (strcmp($2, "yes")==0);
1906 free($2);
1911 OUTYY(("P(server_use_caps_for_id:%s)\n", $2));
1912 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1915 (strcmp($2, "yes")==0);
1916 free($2);
1921 OUTYY(("P(server_caps_whitelist:%s)\n", $2));
1922 if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, $2))
1928 OUTYY(("P(server_private_address:%s)\n", $2));
1929 if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, $2))
1935 OUTYY(("P(server_private_domain:%s)\n", $2));
1936 if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, $2))
1942 OUTYY(("P(server_prefetch:%s)\n", $2));
1943 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1945 else cfg_parser->cfg->prefetch = (strcmp($2, "yes")==0);
1946 free($2);
1951 OUTYY(("P(server_prefetch_key:%s)\n", $2));
1952 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1954 else cfg_parser->cfg->prefetch_key = (strcmp($2, "yes")==0);
1955 free($2);
1960 OUTYY(("P(server_deny_any:%s)\n", $2));
1961 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1963 else cfg_parser->cfg->deny_any = (strcmp($2, "yes")==0);
1964 free($2);
1969 OUTYY(("P(server_unwanted_reply_threshold:%s)\n", $2));
1970 if(atoi($2) == 0 && strcmp($2, "0") != 0)
1972 else cfg_parser->cfg->unwanted_threshold = atoi($2);
1973 free($2);
1978 OUTYY(("P(server_do_not_query_address:%s)\n", $2));
1979 if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, $2))
1985 OUTYY(("P(server_do_not_query_localhost:%s)\n", $2));
1986 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
1989 (strcmp($2, "yes")==0);
1990 free($2);
1995 OUTYY(("P(server_access_control:%s %s)\n", $2, $3));
1997 if(!cfg_str2list_insert(&cfg_parser->cfg->acls, $2, $3))
2003 OUTYY(("P(server_interface_action:%s %s)\n", $2, $3));
2006 &cfg_parser->cfg->interface_actions, $2, $3))
2012 OUTYY(("P(server_module_conf:%s)\n", $2));
2014 cfg_parser->cfg->module_conf = $2;
2019 OUTYY(("P(server_val_override_date:%s)\n", $2));
2020 if(*$2 == '\0' || strcmp($2, "0") == 0) {
2022 } else if(strlen($2) == 14) {
2024 cfg_convert_timeval($2);
2028 if(atoi($2) == 0)
2030 cfg_parser->cfg->val_date_override = atoi($2);
2032 free($2);
2037 OUTYY(("P(server_val_sig_skew_min:%s)\n", $2));
2038 if(*$2 == '\0' || strcmp($2, "0") == 0) {
2041 cfg_parser->cfg->val_sig_skew_min = atoi($2);
2045 free($2);
2050 OUTYY(("P(server_val_sig_skew_max:%s)\n", $2));
2051 if(*$2 == '\0' || strcmp($2, "0") == 0) {
2054 cfg_parser->cfg->val_sig_skew_max = atoi($2);
2058 free($2);
2063 OUTYY(("P(server_val_max_restart:%s)\n", $2));
2064 if(*$2 == '\0' || strcmp($2, "0") == 0) {
2067 cfg_parser->cfg->val_max_restart = atoi($2);
2071 free($2);
2076 OUTYY(("P(server_cache_max_ttl:%s)\n", $2));
2077 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2079 else cfg_parser->cfg->max_ttl = atoi($2);
2080 free($2);
2085 OUTYY(("P(server_cache_max_negative_ttl:%s)\n", $2));
2086 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2088 else cfg_parser->cfg->max_negative_ttl = atoi($2);
2089 free($2);
2094 OUTYY(("P(server_cache_min_negative_ttl:%s)\n", $2));
2095 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2097 else cfg_parser->cfg->min_negative_ttl = atoi($2);
2098 free($2);
2103 OUTYY(("P(server_cache_min_ttl:%s)\n", $2));
2104 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2106 else cfg_parser->cfg->min_ttl = atoi($2);
2107 free($2);
2112 OUTYY(("P(server_bogus_ttl:%s)\n", $2));
2113 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2115 else cfg_parser->cfg->bogus_ttl = atoi($2);
2116 free($2);
2121 OUTYY(("P(server_val_clean_additional:%s)\n", $2));
2122 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2125 (strcmp($2, "yes")==0);
2126 free($2);
2131 OUTYY(("P(server_val_permissive_mode:%s)\n", $2));
2132 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2135 (strcmp($2, "yes")==0);
2136 free($2);
2141 OUTYY(("P(server_aggressive_nsec:%s)\n", $2));
2142 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2146 (strcmp($2, "yes")==0);
2147 free($2);
2152 OUTYY(("P(server_ignore_cd_flag:%s)\n", $2));
2153 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2155 else cfg_parser->cfg->ignore_cd = (strcmp($2, "yes")==0);
2156 free($2);
2161 OUTYY(("P(server_disable_edns_do:%s)\n", $2));
2162 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2164 else cfg_parser->cfg->disable_edns_do = (strcmp($2, "yes")==0);
2165 free($2);
2170 OUTYY(("P(server_serve_expired:%s)\n", $2));
2171 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2173 else cfg_parser->cfg->serve_expired = (strcmp($2, "yes")==0);
2174 free($2);
2179 OUTYY(("P(server_serve_expired_ttl:%s)\n", $2));
2180 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2182 else cfg_parser->cfg->serve_expired_ttl = atoi($2);
2183 free($2);
2188 OUTYY(("P(server_serve_expired_ttl_reset:%s)\n", $2));
2189 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2191 else cfg_parser->cfg->serve_expired_ttl_reset = (strcmp($2, "yes")==0);
2192 free($2);
2197 OUTYY(("P(server_serve_expired_reply_ttl:%s)\n", $2));
2198 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2200 else cfg_parser->cfg->serve_expired_reply_ttl = atoi($2);
2201 free($2);
2206 OUTYY(("P(server_serve_expired_client_timeout:%s)\n", $2));
2207 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2209 else cfg_parser->cfg->serve_expired_client_timeout = atoi($2);
2210 free($2);
2215 OUTYY(("P(server_ede_serve_expired:%s)\n", $2));
2216 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2218 else cfg_parser->cfg->ede_serve_expired = (strcmp($2, "yes")==0);
2219 free($2);
2224 OUTYY(("P(server_serve_original_ttl:%s)\n", $2));
2225 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2227 else cfg_parser->cfg->serve_original_ttl = (strcmp($2, "yes")==0);
2228 free($2);
2233 OUTYY(("P(server_fake_dsa:%s)\n", $2));
2234 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2237 else fake_dsa = (strcmp($2, "yes")==0);
2241 free($2);
2246 OUTYY(("P(server_fake_sha1:%s)\n", $2));
2247 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2250 else fake_sha1 = (strcmp($2, "yes")==0);
2254 free($2);
2259 OUTYY(("P(server_val_log_level:%s)\n", $2));
2260 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2262 else cfg_parser->cfg->val_log_level = atoi($2);
2263 free($2);
2268 OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", $2));
2270 cfg_parser->cfg->val_nsec3_key_iterations = $2;
2275 OUTYY(("P(server_zonemd_permissive_mode:%s)\n", $2));
2276 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2278 else cfg_parser->cfg->zonemd_permissive_mode = (strcmp($2, "yes")==0);
2279 free($2);
2284 OUTYY(("P(server_add_holddown:%s)\n", $2));
2285 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2287 else cfg_parser->cfg->add_holddown = atoi($2);
2288 free($2);
2293 OUTYY(("P(server_del_holddown:%s)\n", $2));
2294 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2296 else cfg_parser->cfg->del_holddown = atoi($2);
2297 free($2);
2302 OUTYY(("P(server_keep_missing:%s)\n", $2));
2303 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2305 else cfg_parser->cfg->keep_missing = atoi($2);
2306 free($2);
2311 OUTYY(("P(server_permit_small_holddown:%s)\n", $2));
2312 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2315 (strcmp($2, "yes")==0);
2316 free($2);
2321 OUTYY(("P(server_key_cache_size:%s)\n", $2));
2322 if(!cfg_parse_memsize($2, &cfg_parser->cfg->key_cache_size))
2324 free($2);
2329 OUTYY(("P(server_key_cache_slabs:%s)\n", $2));
2330 if(atoi($2) == 0) {
2333 cfg_parser->cfg->key_cache_slabs = atoi($2);
2335 yyerror("must be a power of 2");
2337 free($2);
2342 OUTYY(("P(server_neg_cache_size:%s)\n", $2));
2343 if(!cfg_parse_memsize($2, &cfg_parser->cfg->neg_cache_size))
2345 free($2);
2350 OUTYY(("P(server_local_zone:%s %s)\n", $2, $3));
2373 free($2);
2377 local_zones_nodefault, $2))
2382 size_t len = strlen($2);
2385 if($2[len-1] != '.') {
2386 if(!($2 = realloc($2, len+2))) {
2389 $2[len] = '.';
2390 $2[len+1] = 0;
2393 local_zones_ipset, $2))
2399 $2, $3))
2406 OUTYY(("P(server_local_data:%s)\n", $2));
2407 if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, $2))
2414 OUTYY(("P(server_local_data_ptr:%s)\n", $2));
2415 ptr = cfg_ptr_reverse($2);
2416 free($2);
2428 OUTYY(("P(server_minimal_responses:%s)\n", $2));
2429 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2432 (strcmp($2, "yes")==0);
2433 free($2);
2438 OUTYY(("P(server_rrset_roundrobin:%s)\n", $2));
2439 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2442 (strcmp($2, "yes")==0);
2443 free($2);
2448 OUTYY(("P(server_unknown_server_time_limit:%s)\n", $2));
2449 cfg_parser->cfg->unknown_server_time_limit = atoi($2);
2450 free($2);
2455 OUTYY(("P(server_discard_timeout:%s)\n", $2));
2456 cfg_parser->cfg->discard_timeout = atoi($2);
2457 free($2);
2462 OUTYY(("P(server_wait_limit:%s)\n", $2));
2463 cfg_parser->cfg->wait_limit = atoi($2);
2464 free($2);
2469 OUTYY(("P(server_wait_limit_cookie:%s)\n", $2));
2470 cfg_parser->cfg->wait_limit_cookie = atoi($2);
2471 free($2);
2476 OUTYY(("P(server_wait_limit_netblock:%s %s)\n", $2, $3));
2479 free($2);
2483 wait_limit_netblock, $2, $3))
2491 OUTYY(("P(server_wait_limit_cookie_netblock:%s %s)\n", $2, $3));
2494 free($2);
2498 wait_limit_cookie_netblock, $2, $3))
2506 OUTYY(("P(server_max_udp_size:%s)\n", $2));
2507 cfg_parser->cfg->max_udp_size = atoi($2);
2508 free($2);
2513 OUTYY(("P(dns64_prefix:%s)\n", $2));
2515 cfg_parser->cfg->dns64_prefix = $2;
2520 OUTYY(("P(server_dns64_synthall:%s)\n", $2));
2521 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2523 else cfg_parser->cfg->dns64_synthall = (strcmp($2, "yes")==0);
2524 free($2);
2529 OUTYY(("P(dns64_ignore_aaaa:%s)\n", $2));
2531 $2))
2537 OUTYY(("P(nat64_prefix:%s)\n", $2));
2539 cfg_parser->cfg->nat64_prefix = $2;
2544 char* p, *s = $2;
2545 OUTYY(("P(server_define_tag:%s)\n", $2));
2553 free($2);
2562 OUTYY(("P(server_local_zone_tag:%s)\n", $2));
2565 free($2);
2570 $2, bitlist, len)) {
2572 free($2);
2583 OUTYY(("P(server_access_control_tag:%s)\n", $2));
2586 free($2);
2591 $2, bitlist, len)) {
2593 free($2);
2600 OUTYY(("P(server_access_control_tag_action:%s %s %s)\n", $2, $3, $4));
2602 $2, $3, $4)) {
2604 free($2);
2612 OUTYY(("P(server_access_control_tag_data:%s %s %s)\n", $2, $3, $4));
2614 $2, $3, $4)) {
2616 free($2);
2624 OUTYY(("P(server_local_zone_override:%s %s %s)\n", $2, $3, $4));
2626 $2, $3, $4)) {
2628 free($2);
2636 OUTYY(("P(server_access_control_view:%s %s)\n", $2, $3));
2638 $2, $3)) {
2649 OUTYY(("P(server_interface_tag:%s)\n", $2));
2652 free($2);
2657 $2, bitlist, len)) {
2659 free($2);
2666 OUTYY(("P(server_interface_tag_action:%s %s %s)\n", $2, $3, $4));
2668 $2, $3, $4)) {
2670 free($2);
2678 OUTYY(("P(server_interface_tag_data:%s %s %s)\n", $2, $3, $4));
2680 $2, $3, $4)) {
2682 free($2);
2690 OUTYY(("P(server_interface_view:%s %s)\n", $2, $3));
2692 $2, $3)) {
2703 OUTYY(("P(response_ip_tag:%s)\n", $2));
2706 free($2);
2711 $2, bitlist, len)) {
2713 free($2);
2720 OUTYY(("P(server_ip_ratelimit:%s)\n", $2));
2721 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2723 else cfg_parser->cfg->ip_ratelimit = atoi($2);
2724 free($2);
2729 OUTYY(("P(server_ip_ratelimit_cookie:%s)\n", $2));
2730 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2732 else cfg_parser->cfg->ip_ratelimit_cookie = atoi($2);
2733 free($2);
2738 OUTYY(("P(server_ratelimit:%s)\n", $2));
2739 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2741 else cfg_parser->cfg->ratelimit = atoi($2);
2742 free($2);
2747 OUTYY(("P(server_ip_ratelimit_size:%s)\n", $2));
2748 if(!cfg_parse_memsize($2, &cfg_parser->cfg->ip_ratelimit_size))
2750 free($2);
2755 OUTYY(("P(server_ratelimit_size:%s)\n", $2));
2756 if(!cfg_parse_memsize($2, &cfg_parser->cfg->ratelimit_size))
2758 free($2);
2763 OUTYY(("P(server_ip_ratelimit_slabs:%s)\n", $2));
2764 if(atoi($2) == 0) {
2767 cfg_parser->cfg->ip_ratelimit_slabs = atoi($2);
2769 yyerror("must be a power of 2");
2771 free($2);
2776 OUTYY(("P(server_ratelimit_slabs:%s)\n", $2));
2777 if(atoi($2) == 0) {
2780 cfg_parser->cfg->ratelimit_slabs = atoi($2);
2782 yyerror("must be a power of 2");
2784 free($2);
2789 OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", $2, $3));
2792 free($2);
2796 ratelimit_for_domain, $2, $3))
2804 OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", $2, $3));
2807 free($2);
2811 ratelimit_below_domain, $2, $3))
2819 OUTYY(("P(server_ip_ratelimit_factor:%s)\n", $2));
2820 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2822 else cfg_parser->cfg->ip_ratelimit_factor = atoi($2);
2823 free($2);
2828 OUTYY(("P(server_ratelimit_factor:%s)\n", $2));
2829 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2831 else cfg_parser->cfg->ratelimit_factor = atoi($2);
2832 free($2);
2837 OUTYY(("P(server_ip_ratelimit_backoff:%s)\n", $2));
2838 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2841 (strcmp($2, "yes")==0);
2842 free($2);
2847 OUTYY(("P(server_ratelimit_backoff:%s)\n", $2));
2848 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2851 (strcmp($2, "yes")==0);
2852 free($2);
2857 OUTYY(("P(server_outbound_msg_retry:%s)\n", $2));
2858 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2860 else cfg_parser->cfg->outbound_msg_retry = atoi($2);
2861 free($2);
2866 OUTYY(("P(server_max_sent_count:%s)\n", $2));
2867 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2869 else cfg_parser->cfg->max_sent_count = atoi($2);
2870 free($2);
2875 OUTYY(("P(server_max_query_restarts:%s)\n", $2));
2876 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2878 else cfg_parser->cfg->max_query_restarts = atoi($2);
2879 free($2);
2885 free($2);
2890 OUTYY(("P(server_fast_server_num:%s)\n", $2));
2891 if(atoi($2) <= 0)
2893 else cfg_parser->cfg->fast_server_num = atoi($2);
2894 free($2);
2899 OUTYY(("P(server_fast_server_permil:%s)\n", $2));
2900 if(atoi($2) == 0 && strcmp($2, "0") != 0)
2902 else cfg_parser->cfg->fast_server_permil = atoi($2);
2903 free($2);
2908 OUTYY(("P(server_qname_minimisation:%s)\n", $2));
2909 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2912 (strcmp($2, "yes")==0);
2913 free($2);
2918 OUTYY(("P(server_qname_minimisation_strict:%s)\n", $2));
2919 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2922 (strcmp($2, "yes")==0);
2923 free($2);
2928 OUTYY(("P(server_pad_responses:%s)\n", $2));
2929 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2932 (strcmp($2, "yes")==0);
2933 free($2);
2938 OUTYY(("P(server_pad_responses_block_size:%s)\n", $2));
2939 if(atoi($2) == 0)
2941 else cfg_parser->cfg->pad_responses_block_size = atoi($2);
2942 free($2);
2947 OUTYY(("P(server_pad_queries:%s)\n", $2));
2948 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2951 (strcmp($2, "yes")==0);
2952 free($2);
2957 OUTYY(("P(server_pad_queries_block_size:%s)\n", $2));
2958 if(atoi($2) == 0)
2960 else cfg_parser->cfg->pad_queries_block_size = atoi($2);
2961 free($2);
2967 OUTYY(("P(server_ipsecmod_enabled:%s)\n", $2));
2968 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2970 else cfg_parser->cfg->ipsecmod_enabled = (strcmp($2, "yes")==0);
2974 free($2);
2980 OUTYY(("P(server_ipsecmod_ignore_bogus:%s)\n", $2));
2981 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
2983 else cfg_parser->cfg->ipsecmod_ignore_bogus = (strcmp($2, "yes")==0);
2987 free($2);
2993 OUTYY(("P(server_ipsecmod_hook:%s)\n", $2));
2995 cfg_parser->cfg->ipsecmod_hook = $2;
2998 free($2);
3005 OUTYY(("P(server_ipsecmod_max_ttl:%s)\n", $2));
3006 if(atoi($2) == 0 && strcmp($2, "0") != 0)
3008 else cfg_parser->cfg->ipsecmod_max_ttl = atoi($2);
3009 free($2);
3012 free($2);
3019 OUTYY(("P(server_ipsecmod_whitelist:%s)\n", $2));
3020 if(!cfg_strlist_insert(&cfg_parser->cfg->ipsecmod_whitelist, $2))
3024 free($2);
3031 OUTYY(("P(server_ipsecmod_strict:%s)\n", $2));
3032 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3034 else cfg_parser->cfg->ipsecmod_strict = (strcmp($2, "yes")==0);
3035 free($2);
3038 free($2);
3044 OUTYY(("P(server_edns_client_string:%s %s)\n", $2, $3));
3046 &cfg_parser->cfg->edns_client_strings, $2, $3))
3053 OUTYY(("P(edns_client_string_opcode:%s)\n", $2));
3054 if(atoi($2) == 0 && strcmp($2, "0") != 0)
3056 else if(atoi($2) > 65535 || atoi($2) < 0)
3058 else cfg_parser->cfg->edns_client_string_opcode = atoi($2);
3059 free($2);
3064 OUTYY(("P(server_ede:%s)\n", $2));
3065 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3067 else cfg_parser->cfg->ede = (strcmp($2, "yes")==0);
3068 free($2);
3073 OUTYY(("P(server_proxy_protocol_port:%s)\n", $2));
3074 if(!cfg_strlist_insert(&cfg_parser->cfg->proxy_protocol_port, $2))
3080 OUTYY(("P(name:%s)\n", $2));
3085 cfg_parser->cfg->stubs->name = $2;
3090 OUTYY(("P(stub-host:%s)\n", $2));
3091 if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, $2))
3097 OUTYY(("P(stub-addr:%s)\n", $2));
3098 if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, $2))
3104 OUTYY(("P(stub-first:%s)\n", $2));
3105 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3107 else cfg_parser->cfg->stubs->isfirst=(strcmp($2, "yes")==0);
3108 free($2);
3113 OUTYY(("P(stub-no-cache:%s)\n", $2));
3114 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3116 else cfg_parser->cfg->stubs->no_cache=(strcmp($2, "yes")==0);
3117 free($2);
3122 OUTYY(("P(stub-ssl-upstream:%s)\n", $2));
3123 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3126 (strcmp($2, "yes")==0);
3127 free($2);
3132 OUTYY(("P(stub-tcp-upstream:%s)\n", $2));
3133 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3136 (strcmp($2, "yes")==0);
3137 free($2);
3142 OUTYY(("P(stub-prime:%s)\n", $2));
3143 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3146 (strcmp($2, "yes")==0);
3147 free($2);
3152 OUTYY(("P(name:%s)\n", $2));
3157 cfg_parser->cfg->forwards->name = $2;
3162 OUTYY(("P(forward-host:%s)\n", $2));
3163 if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, $2))
3169 OUTYY(("P(forward-addr:%s)\n", $2));
3170 if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, $2))
3176 OUTYY(("P(forward-first:%s)\n", $2));
3177 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3179 else cfg_parser->cfg->forwards->isfirst=(strcmp($2, "yes")==0);
3180 free($2);
3185 OUTYY(("P(forward-no-cache:%s)\n", $2));
3186 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3188 else cfg_parser->cfg->forwards->no_cache=(strcmp($2, "yes")==0);
3189 free($2);
3194 OUTYY(("P(forward-ssl-upstream:%s)\n", $2));
3195 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3198 (strcmp($2, "yes")==0);
3199 free($2);
3204 OUTYY(("P(forward-tcp-upstream:%s)\n", $2));
3205 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3208 (strcmp($2, "yes")==0);
3209 free($2);
3214 OUTYY(("P(name:%s)\n", $2));
3219 cfg_parser->cfg->auths->name = $2;
3224 OUTYY(("P(zonefile:%s)\n", $2));
3226 cfg_parser->cfg->auths->zonefile = $2;
3231 OUTYY(("P(master:%s)\n", $2));
3232 if(!cfg_strlist_insert(&cfg_parser->cfg->auths->masters, $2))
3238 OUTYY(("P(url:%s)\n", $2));
3239 if(!cfg_strlist_insert(&cfg_parser->cfg->auths->urls, $2))
3245 OUTYY(("P(allow-notify:%s)\n", $2));
3247 $2))
3253 OUTYY(("P(zonemd-check:%s)\n", $2));
3254 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3257 (strcmp($2, "yes")==0);
3258 free($2);
3263 OUTYY(("P(zonemd-reject-absence:%s)\n", $2));
3264 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3267 (strcmp($2, "yes")==0);
3268 free($2);
3273 OUTYY(("P(for-downstream:%s)\n", $2));
3274 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3277 (strcmp($2, "yes")==0);
3278 free($2);
3283 OUTYY(("P(for-upstream:%s)\n", $2));
3284 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3287 (strcmp($2, "yes")==0);
3288 free($2);
3293 OUTYY(("P(fallback-enabled:%s)\n", $2));
3294 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3297 (strcmp($2, "yes")==0);
3298 free($2);
3303 OUTYY(("P(name:%s)\n", $2));
3308 cfg_parser->cfg->views->name = $2;
3313 OUTYY(("P(view_local_zone:%s %s)\n", $2, $3));
3335 free($2);
3339 local_zones_nodefault, $2))
3344 size_t len = strlen($2);
3347 if($2[len-1] != '.') {
3348 if(!($2 = realloc($2, len+2))) {
3351 $2[len] = '.';
3352 $2[len+1] = 0;
3355 local_zones_ipset, $2))
3362 $2, $3))
3369 OUTYY(("P(view_response_ip:%s %s)\n", $2, $3));
3372 &cfg_parser->cfg->views->respip_actions, $2, $3))
3379 OUTYY(("P(view_response_ip_data:%s)\n", $2));
3381 &cfg_parser->cfg->views->respip_data, $2, $3))
3387 OUTYY(("P(view_local_data:%s)\n", $2));
3388 if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, $2)) {
3396 OUTYY(("P(view_local_data_ptr:%s)\n", $2));
3397 ptr = cfg_ptr_reverse($2);
3398 free($2);
3410 OUTYY(("P(view-first:%s)\n", $2));
3411 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3413 else cfg_parser->cfg->views->isfirst=(strcmp($2, "yes")==0);
3414 free($2);
3431 OUTYY(("P(control_enable:%s)\n", $2));
3432 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3435 (strcmp($2, "yes")==0);
3436 free($2);
3441 OUTYY(("P(control_port:%s)\n", $2));
3442 if(atoi($2) == 0)
3444 else cfg_parser->cfg->control_port = atoi($2);
3445 free($2);
3450 OUTYY(("P(control_interface:%s)\n", $2));
3451 if(!cfg_strlist_append(&cfg_parser->cfg->control_ifs, $2))
3457 OUTYY(("P(control_use_cert:%s)\n", $2));
3458 cfg_parser->cfg->control_use_cert = (strcmp($2, "yes")==0);
3459 free($2);
3464 OUTYY(("P(rc_server_key_file:%s)\n", $2));
3466 cfg_parser->cfg->server_key_file = $2;
3471 OUTYY(("P(rc_server_cert_file:%s)\n", $2));
3473 cfg_parser->cfg->server_cert_file = $2;
3478 OUTYY(("P(rc_control_key_file:%s)\n", $2));
3480 cfg_parser->cfg->control_key_file = $2;
3485 OUTYY(("P(rc_control_cert_file:%s)\n", $2));
3487 cfg_parser->cfg->control_cert_file = $2;
3514 OUTYY(("P(dt_dnstap_enable:%s)\n", $2));
3515 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3517 else cfg_parser->cfg->dnstap = (strcmp($2, "yes")==0);
3518 free($2);
3523 OUTYY(("P(dt_dnstap_bidirectional:%s)\n", $2));
3524 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3527 (strcmp($2, "yes")==0);
3528 free($2);
3533 OUTYY(("P(dt_dnstap_socket_path:%s)\n", $2));
3535 cfg_parser->cfg->dnstap_socket_path = $2;
3540 OUTYY(("P(dt_dnstap_ip:%s)\n", $2));
3542 cfg_parser->cfg->dnstap_ip = $2;
3547 OUTYY(("P(dt_dnstap_tls:%s)\n", $2));
3548 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3550 else cfg_parser->cfg->dnstap_tls = (strcmp($2, "yes")==0);
3551 free($2);
3556 OUTYY(("P(dt_dnstap_tls_server_name:%s)\n", $2));
3558 cfg_parser->cfg->dnstap_tls_server_name = $2;
3563 OUTYY(("P(dt_dnstap_tls_cert_bundle:%s)\n", $2));
3565 cfg_parser->cfg->dnstap_tls_cert_bundle = $2;
3570 OUTYY(("P(dt_dnstap_tls_client_key_file:%s)\n", $2));
3572 cfg_parser->cfg->dnstap_tls_client_key_file = $2;
3577 OUTYY(("P(dt_dnstap_tls_client_cert_file:%s)\n", $2));
3579 cfg_parser->cfg->dnstap_tls_client_cert_file = $2;
3584 OUTYY(("P(dt_dnstap_send_identity:%s)\n", $2));
3585 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3587 else cfg_parser->cfg->dnstap_send_identity = (strcmp($2, "yes")==0);
3588 free($2);
3593 OUTYY(("P(dt_dnstap_send_version:%s)\n", $2));
3594 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3596 else cfg_parser->cfg->dnstap_send_version = (strcmp($2, "yes")==0);
3597 free($2);
3602 OUTYY(("P(dt_dnstap_identity:%s)\n", $2));
3604 cfg_parser->cfg->dnstap_identity = $2;
3609 OUTYY(("P(dt_dnstap_version:%s)\n", $2));
3611 cfg_parser->cfg->dnstap_version = $2;
3616 OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", $2));
3617 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3620 (strcmp($2, "yes")==0);
3621 free($2);
3626 OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", $2));
3627 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3630 (strcmp($2, "yes")==0);
3631 free($2);
3636 OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", $2));
3637 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3640 (strcmp($2, "yes")==0);
3641 free($2);
3646 OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", $2));
3647 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3650 (strcmp($2, "yes")==0);
3651 free($2);
3656 OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", $2));
3657 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3660 (strcmp($2, "yes")==0);
3661 free($2);
3666 OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", $2));
3667 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3670 (strcmp($2, "yes")==0);
3671 free($2);
3676 OUTYY(("P(dt_dnstap_sample_rate:%s)\n", $2));
3677 if(atoi($2) == 0 && strcmp($2, "0") != 0)
3679 else if(atoi($2) < 0)
3681 else cfg_parser->cfg->dnstap_sample_rate = atoi($2);
3682 free($2);
3697 OUTYY(("P(python-script:%s)\n", $2));
3698 if(!cfg_strlist_append_ex(&cfg_parser->cfg->python_script, $2))
3714 OUTYY(("P(dynlib-file:%s)\n", $2));
3715 if(!cfg_strlist_append_ex(&cfg_parser->cfg->dynlib_file, $2))
3721 OUTYY(("P(disable_dnssec_lame_check:%s)\n", $2));
3722 if (strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3725 (strcmp($2, "yes")==0);
3726 free($2);
3731 OUTYY(("P(server_log_identity:%s)\n", $2));
3733 cfg_parser->cfg->log_identity = $2;
3738 OUTYY(("P(server_response_ip:%s %s)\n", $2, $3));
3741 $2, $3))
3747 OUTYY(("P(server_response_ip_data:%s)\n", $2));
3749 $2, $3))
3772 OUTYY(("P(dnsc_dnscrypt_enable:%s)\n", $2));
3773 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3775 else cfg_parser->cfg->dnscrypt = (strcmp($2, "yes")==0);
3776 free($2);
3781 OUTYY(("P(dnsc_dnscrypt_port:%s)\n", $2));
3782 if(atoi($2) == 0)
3784 else cfg_parser->cfg->dnscrypt_port = atoi($2);
3785 free($2);
3790 OUTYY(("P(dnsc_dnscrypt_provider:%s)\n", $2));
3792 cfg_parser->cfg->dnscrypt_provider = $2;
3797 OUTYY(("P(dnsc_dnscrypt_provider_cert:%s)\n", $2));
3798 if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_provider_cert, $2))
3799 log_warn("dnscrypt-provider-cert %s is a duplicate", $2);
3800 if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert, $2))
3806 OUTYY(("P(dnsc_dnscrypt_provider_cert_rotated:%s)\n", $2));
3807 if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert_rotated, $2))
3813 OUTYY(("P(dnsc_dnscrypt_secret_key:%s)\n", $2));
3814 if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_secret_key, $2))
3815 log_warn("dnscrypt-secret-key: %s is a duplicate", $2);
3816 if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_secret_key, $2))
3822 OUTYY(("P(dnscrypt_shared_secret_cache_size:%s)\n", $2));
3823 if(!cfg_parse_memsize($2, &cfg_parser->cfg->dnscrypt_shared_secret_cache_size))
3825 free($2);
3830 OUTYY(("P(dnscrypt_shared_secret_cache_slabs:%s)\n", $2));
3831 if(atoi($2) == 0) {
3834 cfg_parser->cfg->dnscrypt_shared_secret_cache_slabs = atoi($2);
3836 yyerror("must be a power of 2");
3838 free($2);
3843 OUTYY(("P(dnscrypt_nonce_cache_size:%s)\n", $2));
3844 if(!cfg_parse_memsize($2, &cfg_parser->cfg->dnscrypt_nonce_cache_size))
3846 free($2);
3851 OUTYY(("P(dnscrypt_nonce_cache_slabs:%s)\n", $2));
3852 if(atoi($2) == 0) {
3855 cfg_parser->cfg->dnscrypt_nonce_cache_slabs = atoi($2);
3857 yyerror("must be a power of 2");
3859 free($2);
3879 OUTYY(("P(backend:%s)\n", $2));
3881 cfg_parser->cfg->cachedb_backend = $2;
3884 free($2);
3891 OUTYY(("P(secret-seed:%s)\n", $2));
3893 cfg_parser->cfg->cachedb_secret = $2;
3896 free($2);
3903 OUTYY(("P(cachedb_no_store:%s)\n", $2));
3904 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3906 else cfg_parser->cfg->cachedb_no_store = (strcmp($2, "yes")==0);
3910 free($2);
3916 OUTYY(("P(cachedb_check_when_serve_expired:%s)\n", $2));
3917 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
3919 else cfg_parser->cfg->cachedb_check_when_serve_expired = (strcmp($2, "yes")==0);
3923 free($2);
3929 OUTYY(("P(redis_server_host:%s)\n", $2));
3931 cfg_parser->cfg->redis_server_host = $2;
3934 free($2);
3942 OUTYY(("P(redis_server_port:%s)\n", $2));
3943 port = atoi($2);
3950 free($2);
3956 OUTYY(("P(redis_server_path:%s)\n", $2));
3958 cfg_parser->cfg->redis_server_path = $2;
3961 free($2);
3968 OUTYY(("P(redis_server_password:%s)\n", $2));
3970 cfg_parser->cfg->redis_server_password = $2;
3973 free($2);
3980 OUTYY(("P(redis_timeout:%s)\n", $2));
3981 if(atoi($2) == 0)
3983 else cfg_parser->cfg->redis_timeout = atoi($2);
3987 free($2);
3993 OUTYY(("P(redis_command_timeout:%s)\n", $2));
3994 if(atoi($2) == 0 && strcmp($2, "0") != 0)
3996 else cfg_parser->cfg->redis_command_timeout = atoi($2);
4000 free($2);
4006 OUTYY(("P(redis_connect_timeout:%s)\n", $2));
4007 if(atoi($2) == 0 && strcmp($2, "0") != 0)
4009 else cfg_parser->cfg->redis_connect_timeout = atoi($2);
4013 free($2);
4019 OUTYY(("P(redis_expire_records:%s)\n", $2));
4020 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
4022 else cfg_parser->cfg->redis_expire_records = (strcmp($2, "yes")==0);
4026 free($2);
4033 OUTYY(("P(redis_logical_db:%s)\n", $2));
4034 db = atoi($2);
4035 if((db == 0 && strcmp($2, "0") != 0) || db < 0)
4041 free($2);
4046 OUTYY(("P(server_tcp_connection_limit:%s %s)\n", $2, $3));
4050 if(!cfg_str2list_insert(&cfg_parser->cfg->tcp_connection_limits, $2, $3))
4057 OUTYY(("P(server_answer_cookie:%s)\n", $2));
4058 if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
4060 else cfg_parser->cfg->do_answer_cookie = (strcmp($2, "yes")==0);
4061 free($2);
4069 OUTYY(("P(server_cookie_secret:%s)\n", $2));
4070 if(sldns_str2wire_hex_buf($2, secret, &secret_len)
4077 free($2);
4082 OUTYY(("P(cookie_secret_file:%s)\n", $2));
4084 cfg_parser->cfg->cookie_secret_file = $2;
4089 OUTYY(("P(server_iter_scrub_ns:%s)\n", $2));
4090 if(atoi($2) == 0 && strcmp($2, "0") != 0)
4092 else cfg_parser->cfg->iter_scrub_ns = atoi($2);
4093 free($2);
4098 OUTYY(("P(server_iter_scrub_cname:%s)\n", $2));
4099 if(atoi($2) == 0 && strcmp($2, "0") != 0)
4101 else cfg_parser->cfg->iter_scrub_cname = atoi($2);
4102 free($2);
4107 OUTYY(("P(server_max_global_quota:%s)\n", $2));
4108 if(atoi($2) == 0 && strcmp($2, "0") != 0)
4110 else cfg_parser->cfg->max_global_quota = atoi($2);
4111 free($2);
4127 OUTYY(("P(name-v4:%s)\n", $2));
4132 cfg_parser->cfg->ipset_name_v4 = $2;
4135 free($2);
4142 OUTYY(("P(name-v6:%s)\n", $2));
4147 cfg_parser->cfg->ipset_name_v6 = $2;
4150 free($2);