Lines Matching refs:cfg_parser
31 extern config_parser_state_type *cfg_parser;
256 struct ip_address_option *ip = cfg_parser->opt->ip_addresses;
259 cfg_parser->opt->ip_addresses = $2;
265 cfg_parser->ip = $2;
269 cfg_parser->ip = NULL;
274 cfg_parser->opt->server_count = (int)$2;
280 { cfg_parser->opt->ip_transparent = $2; }
282 { cfg_parser->opt->ip_freebind = $2; }
284 { cfg_parser->opt->send_buffer_size = (int)$2; }
286 { cfg_parser->opt->receive_buffer_size = (int)$2; }
288 { cfg_parser->opt->debug_mode = $2; }
292 { cfg_parser->opt->hide_version = $2; }
294 { cfg_parser->opt->hide_identity = $2; }
296 { cfg_parser->opt->drop_updates = $2; }
298 { if($2) { cfg_parser->opt->do_ip4 = 1; cfg_parser->opt->do_ip6 = 0; } }
300 { if($2) { cfg_parser->opt->do_ip4 = 0; cfg_parser->opt->do_ip6 = 1; } }
302 { cfg_parser->opt->do_ip4 = $2; }
304 { cfg_parser->opt->do_ip6 = $2; }
308 { cfg_parser->opt->identity = region_strdup(cfg_parser->opt->region, $2); }
310 { cfg_parser->opt->version = region_strdup(cfg_parser->opt->region, $2); }
319 cfg_parser->opt->nsid = region_alloc(cfg_parser->opt->region, nsid_len*2+1);
320 hex_ntop((uint8_t*)$2+6, nsid_len, (char*)cfg_parser->opt->nsid, nsid_len*2+1);
333 cfg_parser->opt->nsid = region_strdup(cfg_parser->opt->region, $2);
342 { cfg_parser->opt->logfile = region_strdup(cfg_parser->opt->region, $2); }
344 { cfg_parser->opt->log_only_syslog = $2; }
348 cfg_parser->opt->tcp_count = (int)$2;
354 { cfg_parser->opt->tcp_reject_overflow = $2; }
356 { cfg_parser->opt->tcp_query_count = (int)$2; }
358 { cfg_parser->opt->tcp_timeout = (int)$2; }
360 { cfg_parser->opt->tcp_mss = (int)$2; }
362 { cfg_parser->opt->outgoing_tcp_mss = (int)$2; }
364 { cfg_parser->opt->ipv4_edns_size = (size_t)$2; }
366 { cfg_parser->opt->ipv6_edns_size = (size_t)$2; }
368 { cfg_parser->opt->pidfile = region_strdup(cfg_parser->opt->region, $2); }
374 cfg_parser->opt->port = region_strdup(cfg_parser->opt->region, buf);
377 { cfg_parser->opt->reuseport = $2; }
379 { cfg_parser->opt->statistics = (int)$2; }
381 { cfg_parser->opt->chroot = region_strdup(cfg_parser->opt->region, $2); }
383 { cfg_parser->opt->username = region_strdup(cfg_parser->opt->region, $2); }
385 { cfg_parser->opt->zonesdir = region_strdup(cfg_parser->opt->region, $2); }
387 { cfg_parser->opt->zonelistfile = region_strdup(cfg_parser->opt->region, $2); }
391 { cfg_parser->opt->xfrdfile = region_strdup(cfg_parser->opt->region, $2); }
393 { cfg_parser->opt->xfrdir = region_strdup(cfg_parser->opt->region, $2); }
395 { cfg_parser->opt->xfrd_reload_timeout = (int)$2; }
397 { cfg_parser->opt->verbosity = (int)$2; }
402 cfg_parser->opt->rrl_size = (size_t)$2;
411 cfg_parser->opt->rrl_ratelimit = (size_t)$2;
417 cfg_parser->opt->rrl_slip = (size_t)$2;
426 cfg_parser->opt->rrl_ipv4_prefix_length = (size_t)$2;
436 cfg_parser->opt->rrl_ipv6_prefix_length = (size_t)$2;
443 cfg_parser->opt->rrl_whitelist_ratelimit = (size_t)$2;
447 { cfg_parser->opt->zonefiles_check = $2; }
449 { cfg_parser->opt->zonefiles_write = (int)$2; }
452 cfg_parser->opt->log_time_ascii = $2;
453 log_time_asc = cfg_parser->opt->log_time_ascii;
457 cfg_parser->opt->round_robin = $2;
458 round_robin = cfg_parser->opt->round_robin;
462 cfg_parser->opt->minimal_responses = $2;
463 minimal_responses = cfg_parser->opt->minimal_responses;
466 { cfg_parser->opt->confine_to_zone = $2; }
468 { cfg_parser->opt->refuse_any = $2; }
470 { cfg_parser->opt->tls_service_key = region_strdup(cfg_parser->opt->region, $2); }
472 { cfg_parser->opt->tls_service_ocsp = region_strdup(cfg_parser->opt->region, $2); }
474 { cfg_parser->opt->tls_service_pem = region_strdup(cfg_parser->opt->region, $2); }
480 cfg_parser->opt->tls_port = region_strdup(cfg_parser->opt->region, buf);
483 { cfg_parser->opt->tls_cert_bundle = region_strdup(cfg_parser->opt->region, $2); }
487 cfg_parser->opt->region, sizeof(*elem));
489 elem->next = cfg_parser->opt->proxy_protocol_port;
490 cfg_parser->opt->proxy_protocol_port = elem;
493 { cfg_parser->opt->answer_cookie = $2; }
495 { cfg_parser->opt->cookie_secret = region_strdup(cfg_parser->opt->region, $2); }
497 { cfg_parser->opt->cookie_secret_file = region_strdup(cfg_parser->opt->region, $2); }
499 { cfg_parser->opt->xfrd_tcp_max = (int)$2; }
501 { cfg_parser->opt->xfrd_tcp_pipeline = (int)$2; }
504 cfg_parser->opt->cpu_affinity = $2;
514 opt = cfg_parser->opt->service_cpu_affinity;
520 opt = region_alloc_zero(cfg_parser->opt->region, sizeof(*opt));
524 tail = cfg_parser->opt->service_cpu_affinity;
529 cfg_parser->opt->service_cpu_affinity = opt;
549 region_alloc(cfg_parser->opt->region, sizeof(*opt));
563 servers = cfg_parser->ip->servers = opt;
568 { cfg_parser->ip->dev = $2; }
570 { cfg_parser->ip->fib = $2; }
590 region_alloc_zero(cfg_parser->opt->region, sizeof(*opt));
629 { cfg_parser->opt->dnstap_enable = $2; }
631 { cfg_parser->opt->dnstap_socket_path = region_strdup(cfg_parser->opt->region, $2); }
633 { cfg_parser->opt->dnstap_ip = region_strdup(cfg_parser->opt->region, $2); }
635 { cfg_parser->opt->dnstap_tls = $2; }
637 { cfg_parser->opt->dnstap_tls_server_name = region_strdup(cfg_parser->opt->region, $2); }
639 { cfg_parser->opt->dnstap_tls_cert_bundle = region_strdup(cfg_parser->opt->region, $2); }
641 { cfg_parser->opt->dnstap_tls_client_key_file = region_strdup(cfg_parser->opt->region, $2); }
643 { cfg_parser->opt->dnstap_tls_client_cert_file = region_strdup(cfg_parser->opt->region, $2); }
645 { cfg_parser->opt->dnstap_send_identity = $2; }
647 { cfg_parser->opt->dnstap_send_version = $2; }
649 { cfg_parser->opt->dnstap_identity = region_strdup(cfg_parser->opt->region, $2); }
651 { cfg_parser->opt->dnstap_version = region_strdup(cfg_parser->opt->region, $2); }
653 { cfg_parser->opt->dnstap_log_auth_query_messages = $2; }
655 { cfg_parser->opt->dnstap_log_auth_response_messages = $2; }
666 { cfg_parser->opt->control_enable = $2; }
669 struct ip_address_option *ip = cfg_parser->opt->control_interface;
671 cfg_parser->opt->control_interface = $2;
682 cfg_parser->opt->control_port = (int)$2;
686 { cfg_parser->opt->server_key_file = region_strdup(cfg_parser->opt->region, $2); }
688 { cfg_parser->opt->server_cert_file = region_strdup(cfg_parser->opt->region, $2); }
690 { cfg_parser->opt->control_key_file = region_strdup(cfg_parser->opt->region, $2); }
692 { cfg_parser->opt->control_cert_file = region_strdup(cfg_parser->opt->region, $2); }
698 tls_auth_options_type *tls_auth = tls_auth_options_create(cfg_parser->opt->region);
699 assert(cfg_parser->tls_auth == NULL);
700 cfg_parser->tls_auth = tls_auth;
704 struct tls_auth_options *tls_auth = cfg_parser->tls_auth;
709 } else if(tls_auth_options_find(cfg_parser->opt, tls_auth->name)) {
712 tls_auth_options_insert(cfg_parser->opt, tls_auth);
713 cfg_parser->tls_auth = NULL;
724 dname = (dname_type *)dname_parse(cfg_parser->opt->region, $2);
725 cfg_parser->tls_auth->name = region_strdup(cfg_parser->opt->region, $2);
729 region_recycle(cfg_parser->opt->region, dname, dname_total_size(dname));
734 cfg_parser->tls_auth->auth_domain_name = region_strdup(cfg_parser->opt->region, $2);
738 cfg_parser->tls_auth->client_cert = region_strdup(cfg_parser->opt->region, $2);
742 cfg_parser->tls_auth->client_key = region_strdup(cfg_parser->opt->region, $2);
746 cfg_parser->tls_auth->client_key_pw = region_strdup(cfg_parser->opt->region, $2);
753 key_options_type *key = key_options_create(cfg_parser->opt->region);
754 key->algorithm = region_strdup(cfg_parser->opt->region, "sha256");
755 assert(cfg_parser->key == NULL);
756 cfg_parser->key = key;
760 struct key_options *key = cfg_parser->key;
767 } else if(key_options_find(cfg_parser->opt, key->name)) {
770 key_options_insert(cfg_parser->opt, key);
771 cfg_parser->key = NULL;
783 dname = (dname_type *)dname_parse(cfg_parser->opt->region, $2);
784 cfg_parser->key->name = region_strdup(cfg_parser->opt->region, $2);
788 region_recycle(cfg_parser->opt->region, dname, dname_total_size(dname));
796 cfg_parser->key->algorithm = region_strdup(cfg_parser->opt->region, $2);
804 cfg_parser->key->secret = region_strdup(cfg_parser->opt->region, $2);
808 cfg_parser->key->name?
809 cfg_parser->key->name:"");
819 assert(cfg_parser->pattern == NULL);
820 assert(cfg_parser->zone == NULL);
821 cfg_parser->zone = zone_options_create(cfg_parser->opt->region);
822 cfg_parser->zone->part_of_config = 1;
823 cfg_parser->zone->pattern = cfg_parser->pattern =
824 pattern_options_create(cfg_parser->opt->region);
825 cfg_parser->zone->pattern->implicit = 1;
829 assert(cfg_parser->zone != NULL);
830 if(cfg_parser->zone->name == NULL) {
832 } else if(!nsd_options_insert_zone(cfg_parser->opt, cfg_parser->zone)) {
833 yyerror("duplicate zone %s", cfg_parser->zone->name);
834 } else if(!nsd_options_insert_pattern(cfg_parser->opt, cfg_parser->zone->pattern)) {
835 yyerror("duplicate pattern %s", cfg_parser->zone->pattern->pname);
837 cfg_parser->pattern = NULL;
838 cfg_parser->zone = NULL;
848 char *pname = region_alloc(cfg_parser->opt->region, strlen($2) + strlen(marker) + 1);
851 cfg_parser->zone->pattern->pname = pname;
852 cfg_parser->zone->name = region_strdup(cfg_parser->opt->region, $2);
853 if(pattern_options_find(cfg_parser->opt, pname)) {
863 assert(cfg_parser->pattern == NULL);
864 cfg_parser->pattern = pattern_options_create(cfg_parser->opt->region);
868 pattern_options_type *pattern = cfg_parser->pattern;
871 } else if(!nsd_options_insert_pattern(cfg_parser->opt, pattern)) {
874 cfg_parser->pattern = NULL;
886 cfg_parser->pattern->pname = region_strdup(cfg_parser->opt->region, $2);
894 cfg_parser->pattern->rrl_whitelist |= rrlstr2type($2);
898 { cfg_parser->pattern->zonefile = region_strdup(cfg_parser->opt->region, $2); }
900 { cfg_parser->pattern->zonestats = region_strdup(cfg_parser->opt->region, $2); }
904 cfg_parser->pattern->size_limit_xfr = (int)$2;
910 { cfg_parser->pattern->multi_primary_check = (int)$2; }
912 { config_apply_pattern(cfg_parser->pattern, $2); }
915 acl_options_type *acl = parse_acl_info(cfg_parser->opt->region, $2, $3);
916 if(cfg_parser->pattern->catalog_role == CATALOG_ROLE_PRODUCER)
922 append_acl(&cfg_parser->pattern->request_xfr, acl);
928 acl_options_type *acl = parse_acl_info(cfg_parser->opt->region, $3, $4);
934 append_acl(&cfg_parser->pattern->request_xfr, acl);
940 acl_options_type *acl = parse_acl_info(cfg_parser->opt->region, $3, $4);
946 append_acl(&cfg_parser->pattern->request_xfr, acl);
950 acl_options_type *acl = parse_acl_info(cfg_parser->opt->region, $2, $3);
951 append_acl(&cfg_parser->pattern->allow_notify, acl);
955 acl_options_type *acl = parse_acl_info(cfg_parser->opt->region, $2, $3);
960 append_acl(&cfg_parser->pattern->notify, acl);
964 acl_options_type *acl = parse_acl_info(cfg_parser->opt->region, $2, $3);
965 append_acl(&cfg_parser->pattern->provide_xfr, acl);
969 acl_options_type *acl = parse_acl_info(cfg_parser->opt->region, $2, $3);
970 append_acl(&cfg_parser->pattern->allow_query, acl);
974 acl_options_type *acl = parse_acl_info(cfg_parser->opt->region, $2, "NOKEY");
975 append_acl(&cfg_parser->pattern->outgoing_interface, acl);
979 cfg_parser->pattern->allow_axfr_fallback = $2;
980 cfg_parser->pattern->allow_axfr_fallback_is_default = 0;
984 cfg_parser->pattern->notify_retry = $2;
985 cfg_parser->pattern->notify_retry_is_default = 0;
989 cfg_parser->pattern->max_refresh_time = $2;
990 cfg_parser->pattern->max_refresh_time_is_default = 0;
994 cfg_parser->pattern->min_refresh_time = $2;
995 cfg_parser->pattern->min_refresh_time_is_default = 0;
999 cfg_parser->pattern->max_retry_time = $2;
1000 cfg_parser->pattern->max_retry_time_is_default = 0;
1004 cfg_parser->pattern->min_retry_time = $2;
1005 cfg_parser->pattern->min_retry_time_is_default = 0;
1016 cfg_parser->pattern->min_expire_time = num;
1017 cfg_parser->pattern->min_expire_time_expr = expr;
1021 cfg_parser->pattern->store_ixfr = $2;
1022 cfg_parser->pattern->store_ixfr_is_default = 0;
1026 cfg_parser->pattern->ixfr_size = $2;
1027 cfg_parser->pattern->ixfr_size_is_default = 0;
1031 cfg_parser->pattern->ixfr_number = $2;
1032 cfg_parser->pattern->ixfr_number_is_default = 0;
1036 cfg_parser->pattern->create_ixfr = $2;
1037 cfg_parser->pattern->create_ixfr_is_default = 0;
1040 { cfg_parser->pattern->verify_zone = $2; }
1042 { cfg_parser->pattern->verifier = $2; }
1044 { cfg_parser->pattern->verifier_feed_zone = $2; }
1046 { cfg_parser->pattern->verifier_timeout = $2; }
1049 if($2 == CATALOG_ROLE_PRODUCER && cfg_parser->pattern->request_xfr)
1051 cfg_parser->pattern->catalog_role = $2;
1052 cfg_parser->pattern->catalog_role_is_default = 0;
1056 cfg_parser->pattern->catalog_member_pattern = region_strdup(cfg_parser->opt->region, $2);
1062 if(cfg_parser->zone) {
1065 } else if(!(dname = (dname_type *)dname_parse(cfg_parser->opt->region, $2))) {
1068 region_recycle(cfg_parser->opt->region, dname, dname_total_size(dname));
1069 cfg_parser->pattern->catalog_producer_zone = region_strdup(cfg_parser->opt->region, $2);
1081 { cfg_parser->opt->verify_enable = $2; }
1084 struct ip_address_option *ip = cfg_parser->opt->verify_ip_addresses;
1086 cfg_parser->opt->verify_ip_addresses = $2;
1097 cfg_parser->opt->verify_port = region_strdup(cfg_parser->opt->region, buf);
1100 { cfg_parser->opt->verify_zones = $2; }
1102 { cfg_parser->opt->verifier = $2; }
1104 { cfg_parser->opt->verifier_count = (int)$2; }
1106 { cfg_parser->opt->verifier_timeout = (int)$2; }
1108 { cfg_parser->opt->verifier_feed_zone = $2; } ;
1119 cfg_parser->opt->region, (argc + 1) * sizeof(char *));
1125 region_recycle(cfg_parser->opt->region, i, sizeof(*i));
1135 cfg_parser->opt->region, sizeof(*comp));
1136 comp->str = region_strdup(cfg_parser->opt->region, $2);
1153 cfg_parser->opt->region, sizeof(*ip));
1154 ip->address = region_strdup(cfg_parser->opt->region, $1);
1179 { char *tls_auth_name = region_strdup(cfg_parser->opt->region, $1);
1180 add_to_last_acl(&cfg_parser->pattern->request_xfr, tls_auth_name);} ;