Lines Matching +full:e +full:- +full:1137

3 /* Bison implementation for Yacc-like parsers in C
5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
35 simplifying the original so-called "semantic" parser. */
128 YYSYMBOL_YYEMPTY = -2,
936 /* Work around bug in HP-UX 11.23, which defines these macros
938 be removed in 2023, as HPE has promised support for HP-UX 11.23
939 (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
940 <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */
1001 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
1003 : YY_CAST (YYSIZE_T, -1)))
1018 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
1043 /* Suppress unused-variable warnings by "using" E. */
1045 # define YY_USE(E) ((void) (E)) argument
1047 # define YY_USE(E) /* empty */ argument
1054 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
1055 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
1072 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
1082 #define YY_ASSERT(E) ((void) (0 && (E))) argument
1113 /* Pacify GCC's 'empty if-body' warning. */
1119 to allow for a few compiler-allocated temporary stack slots. */
1163 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
1182 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1183 Stack = &yyptr->Stack_alloc; \
1211 /* YYFINAL -- State number of the termination state. */
1213 /* YYLAST -- Last index in YYTABLE. */
1216 /* YYNTOKENS -- Number of terminals. */
1218 /* YYNNTS -- Number of nonterminals. */
1220 /* YYNRULES -- Number of rules. */
1222 /* YYNSTATES -- Number of states. */
1225 /* YYMAXUTOK -- Last valid token kind. */
1229 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
1230 as returned by yylex, with out-of-bounds checking. */
1236 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1306 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
1393 /* The user-facing name of the symbol whose (internal) number is
1397 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1716 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1760 #define YYPACT_NINF (-302)
1765 #define YYTABLE_NINF (-1)
1770 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1771 STATE-NUM. */
1774 -302, 270, -302, -302, -302, -302, -302, -302, -302, -302,
1775 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1776 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1777 -302, -302, -302, -302, -302, -13, 309, 221, 236, 97,
1778 84, 148, -14, -81, -301, 182, 122, -294, 31, 32,
1804 614, 615, 616, 617, 618, -302, -302, -302, -302, -302,
1805 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1806 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1807 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1808 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1809 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1810 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1811 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1812 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1813 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1814 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1815 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1816 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1817 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1818 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1819 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1820 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1821 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1822 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1823 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1824 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1825 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1826 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1827 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1828 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1829 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1830 -302, -302, -302, 619, 620, 621, 622, 623, 624, 625,
1831 626, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1832 627, 628, 629, 630, 631, 632, 633, -302, -302, -302,
1833 -302, -302, -302, -302, -302, 634, 635, 636, 637, 638,
1834 639, 640, -302, -302, -302, -302, -302, -302, -302, -302,
1836 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1837 -302, 651, 652, 653, 654, 655, 656, -302, -302, -302,
1838 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1839 657, 658, 659, 660, 661, 662, 663, 664, -302, -302,
1840 -302, -302, -302, -302, -302, -302, -302, 665, 666, 667,
1842 678, 679, 680, 681, 682, 683, 684, -302, -302, -302,
1843 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1844 -302, -302, -302, -302, -302, -302, -302, -302, 685, -302,
1845 -302, 686, -302, -302, 687, 688, 689, 690, 691, 692,
1846 693, 694, 695, 696, -302, -302, -302, -302, -302, -302,
1847 -302, -302, -302, -302, -302, 697, 698, 699, 700, 701,
1848 702, 703, 704, 705, 706, 707, 708, 709, -302, -302,
1849 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1850 -302, -302, 710, 711, -302, -302, -302, -302, -302, -302,
1851 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1852 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1853 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1854 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1855 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1856 -302, -302, -302, -302, -302, -302, -302, -302, -302, 712,
1857 713, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1858 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1859 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1860 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1861 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1862 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1863 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1864 -302, 714, 715, 716, -302, -302, -302, -302, -302, -302,
1865 -302, -302, -302, -302, -302, -302, -302, 717, 718, -302,
1866 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1867 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1868 -302, 719, 720, 721, 722, 723, 724, -302, -302, -302,
1869 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1870 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1871 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1872 -302, -302, 725, -302, -302, -302, -302, -302, -302, -302,
1873 -302, -302, -302, 726, 727, -302, -302, -302, -302, -302,
1874 728, -302, -302, -302, -302, -302, 729, 730, 731, 732,
1875 733, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1876 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1877 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1878 734, -302, -302, 735, 736, -302, -302, -302, -302, -302,
1879 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1880 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1881 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1882 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1883 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1884 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1885 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
1886 -302, -302, -302, -302, -302, -302, 737, 738, 739, -302,
1887 -302, -302, -302, -302, -302, -302, -302, 740, 741, -302,
1888 -302, -302, -302, -302, -302, -302, -302
1891 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
2013 /* YYPGOTO[NTERM-NUM]. */
2016 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2017 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2018 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2019 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2020 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2021 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2022 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2023 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2024 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2025 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2026 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2027 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2028 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2029 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2030 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2031 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2032 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2033 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2034 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2035 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2036 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2037 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2038 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2039 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2040 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2041 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2042 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2043 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2044 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2045 -302, -302, 92, 742, 743, 744, 745, -302, -302, 746,
2046 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2047 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2048 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2049 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2050 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2051 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2052 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2053 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2054 -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
2055 -302, -302, -302, -302, -302, -302
2058 /* YYDEFGOTO[NTERM-NUM]. */
2103 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
2182 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144,
2266 10, 10, -1, -1, -1, -1, -1, -1, -1, -1,
2267 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2268 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2269 -1, -1, 40, 40, 40, 40, 40
2272 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2273 symbol of state STATE-NUM. */
2393 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2475 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
2558 enum { YYENOMEM = -2 };
2624 /*-----------------------------------.
2626 `-----------------------------------*/
2646 /*---------------------------.
2648 `---------------------------*/
2661 /*------------------------------------------------------------------.
2662 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2664 `------------------------------------------------------------------*/
2685 /*------------------------------------------------.
2687 `------------------------------------------------*/
2697 yyrule - 1, yylno); in yy_reduce_print()
2703 YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]), in yy_reduce_print()
2704 &yyvsp[(yyi + 1) - (yynrhs)]); in yy_reduce_print()
2726 /* YYINITDEPTH -- initial size of the parser's stacks. */
2731 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2732 if the built-in stack extension method is used).
2736 evaluated with infinite-precision integer arithmetic. */
2747 /*-----------------------------------------------.
2749 `-----------------------------------------------*/
2777 /*----------.
2779 `----------*/
2815 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) in yyparse()
2827 /*------------------------------------------------------------. in yyparse()
2828 | yynewstate -- push a new state, which is found in yystate. | in yyparse()
2829 `------------------------------------------------------------*/ in yyparse()
2836 /*--------------------------------------------------------------------. in yyparse()
2837 | yysetstate -- set current state (the top of the stack) to yystate. | in yyparse()
2838 `--------------------------------------------------------------------*/ in yyparse()
2847 if (yyss + yystacksize - 1 <= yyssp) in yyparse()
2853 YYPTRDIFF_T yysize = yyssp - yyss + 1; in yyparse()
2897 yyssp = yyss + yysize - 1; in yyparse()
2898 yyvsp = yyvs + yysize - 1; in yyparse()
2905 if (yyss + yystacksize - 1 <= yyssp) in yyparse()
2916 /*-----------. in yyparse()
2918 `-----------*/ in yyparse()
2930 /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */ in yyparse()
2969 yyn = -yyn; in yyparse()
2976 yyerrstatus--; in yyparse()
2990 /*-----------------------------------------------------------. in yyparse()
2991 | yydefault -- do the default action for the current state. | in yyparse()
2992 `-----------------------------------------------------------*/ in yyparse()
3000 /*-----------------------------. in yyparse()
3001 | yyreduce -- do a reduction. | in yyparse()
3002 `-----------------------------*/ in yyparse()
3015 yyval = yyvsp[1-yylen]; in yyparse()
3024 OUTYY(("\nP(force-toplevel)\n")); in yyparse()
3025 cfg_parser->started_toplevel = 0; in yyparse()
3034 cfg_parser->started_toplevel = 1; in yyparse()
3043 if(cfg_parser->cfg->stubs && in yyparse()
3044 !cfg_parser->cfg->stubs->name) in yyparse()
3045 yyerror("stub-zone without name"); in yyparse()
3055 cfg_parser->started_toplevel = 1; in yyparse()
3058 s->next = cfg_parser->cfg->stubs; in yyparse()
3059 cfg_parser->cfg->stubs = s; in yyparse()
3071 if(cfg_parser->cfg->forwards && in yyparse()
3072 !cfg_parser->cfg->forwards->name) in yyparse()
3073 yyerror("forward-zone without name"); in yyparse()
3083 cfg_parser->started_toplevel = 1; in yyparse()
3086 s->next = cfg_parser->cfg->forwards; in yyparse()
3087 cfg_parser->cfg->forwards = s; in yyparse()
3099 if(cfg_parser->cfg->views && in yyparse()
3100 !cfg_parser->cfg->views->name) in yyparse()
3111 cfg_parser->started_toplevel = 1; in yyparse()
3114 s->next = cfg_parser->cfg->views; in yyparse()
3115 cfg_parser->cfg->views = s; in yyparse()
3128 cfg_parser->started_toplevel = 1; in yyparse()
3131 s->next = cfg_parser->cfg->auths; in yyparse()
3132 cfg_parser->cfg->auths = s; in yyparse()
3134 s->for_downstream = 1; in yyparse()
3135 s->for_upstream = 1; in yyparse()
3136 s->fallback_enabled = 0; in yyparse()
3137 s->zonemd_check = 0; in yyparse()
3138 s->zonemd_reject_absence = 0; in yyparse()
3139 s->isrpz = 0; in yyparse()
3153 bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), in yyparse()
3157 yyerror("could not parse tags, (define-tag them first)"); in yyparse()
3160 cfg_parser->cfg->auths->rpz_taglist = bitlist; in yyparse()
3161 cfg_parser->cfg->auths->rpz_taglistlen = len; in yyparse()
3175 yyerror("rpz-action-override action: expected nxdomain, " in yyparse()
3178 cfg_parser->cfg->auths->rpz_action_override = NULL; in yyparse()
3181 cfg_parser->cfg->auths->rpz_action_override = (yyvsp[0].str); in yyparse()
3191 free(cfg_parser->cfg->auths->rpz_cname); in yyparse()
3192 cfg_parser->cfg->auths->rpz_cname = (yyvsp[0].str); in yyparse()
3203 else cfg_parser->cfg->auths->rpz_log = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3213 free(cfg_parser->cfg->auths->rpz_log_name); in yyparse()
3214 cfg_parser->cfg->auths->rpz_log_name = (yyvsp[0].str); in yyparse()
3225 else cfg_parser->cfg->auths->rpz_signal_nxdomain_ra = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3236 cfg_parser->started_toplevel = 1; in yyparse()
3239 s->next = cfg_parser->cfg->auths; in yyparse()
3240 cfg_parser->cfg->auths = s; in yyparse()
3242 s->for_downstream = 0; in yyparse()
3243 s->for_upstream = 0; in yyparse()
3244 s->fallback_enabled = 0; in yyparse()
3245 s->isrpz = 1; in yyparse()
3259 else cfg_parser->cfg->num_threads = atoi((yyvsp[0].str)); in yyparse()
3271 else cfg_parser->cfg->verbosity = atoi((yyvsp[0].str)); in yyparse()
3282 cfg_parser->cfg->stat_interval = 0; in yyparse()
3285 else cfg_parser->cfg->stat_interval = atoi((yyvsp[0].str)); in yyparse()
3297 else cfg_parser->cfg->stat_cumulative = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3309 else cfg_parser->cfg->stat_extended = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3321 else cfg_parser->cfg->stat_inhibit_zero = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3333 else cfg_parser->cfg->shm_enable = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3344 cfg_parser->cfg->shm_key = 0; in yyparse()
3347 else cfg_parser->cfg->shm_key = atoi((yyvsp[0].str)); in yyparse()
3359 else cfg_parser->cfg->port = atoi((yyvsp[0].str)); in yyparse()
3370 if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet, (yyvsp[0].str))) in yyparse()
3371 fatal_exit("out of memory adding client-subnet"); in yyparse()
3385 if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet_zone, in yyparse()
3387 fatal_exit("out of memory adding client-subnet-zone"); in yyparse()
3404 cfg_parser->cfg->client_subnet_always_forward = in yyparse()
3436 cfg_parser->cfg->max_client_subnet_ipv4 = 32; in yyparse()
3438 cfg_parser->cfg->max_client_subnet_ipv4 = 0; in yyparse()
3439 else cfg_parser->cfg->max_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[0].str)); in yyparse()
3456 cfg_parser->cfg->max_client_subnet_ipv6 = 128; in yyparse()
3458 cfg_parser->cfg->max_client_subnet_ipv6 = 0; in yyparse()
3459 else cfg_parser->cfg->max_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[0].str)); in yyparse()
3476 cfg_parser->cfg->min_client_subnet_ipv4 = 32; in yyparse()
3478 cfg_parser->cfg->min_client_subnet_ipv4 = 0; in yyparse()
3479 else cfg_parser->cfg->min_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[0].str)); in yyparse()
3496 cfg_parser->cfg->min_client_subnet_ipv6 = 128; in yyparse()
3498 cfg_parser->cfg->min_client_subnet_ipv6 = 0; in yyparse()
3499 else cfg_parser->cfg->min_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[0].str)); in yyparse()
3516 cfg_parser->cfg->max_ecs_tree_size_ipv4 = 0; in yyparse()
3517 else cfg_parser->cfg->max_ecs_tree_size_ipv4 = (uint32_t)atoi((yyvsp[0].str)); in yyparse()
3534 cfg_parser->cfg->max_ecs_tree_size_ipv6 = 0; in yyparse()
3535 else cfg_parser->cfg->max_ecs_tree_size_ipv6 = (uint32_t)atoi((yyvsp[0].str)); in yyparse()
3548 if(cfg_parser->cfg->num_ifs == 0) in yyparse()
3549 cfg_parser->cfg->ifs = calloc(1, sizeof(char*)); in yyparse()
3550 else cfg_parser->cfg->ifs = realloc(cfg_parser->cfg->ifs, in yyparse()
3551 (cfg_parser->cfg->num_ifs+1)*sizeof(char*)); in yyparse()
3552 if(!cfg_parser->cfg->ifs) in yyparse()
3555 cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[0].str); in yyparse()
3564 if(cfg_parser->cfg->num_out_ifs == 0) in yyparse()
3565 cfg_parser->cfg->out_ifs = calloc(1, sizeof(char*)); in yyparse()
3566 else cfg_parser->cfg->out_ifs = realloc( in yyparse()
3567 cfg_parser->cfg->out_ifs, in yyparse()
3568 (cfg_parser->cfg->num_out_ifs+1)*sizeof(char*)); in yyparse()
3569 if(!cfg_parser->cfg->out_ifs) in yyparse()
3572 cfg_parser->cfg->out_ifs[ in yyparse()
3573 cfg_parser->cfg->num_out_ifs++] = (yyvsp[0].str); in yyparse()
3584 else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[0].str)); in yyparse()
3595 cfg_parser->cfg->outgoing_avail_ports, 65536)) in yyparse()
3596 yyerror("port number or range (\"low-high\") expected"); in yyparse()
3607 cfg_parser->cfg->outgoing_avail_ports, 65536)) in yyparse()
3608 yyerror("port number or range (\"low-high\") expected"); in yyparse()
3620 else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[0].str)); in yyparse()
3632 else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[0].str)); in yyparse()
3644 else cfg_parser->cfg->if_automatic = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3654 free(cfg_parser->cfg->if_automatic_ports); in yyparse()
3655 cfg_parser->cfg->if_automatic_ports = (yyvsp[0].str); in yyparse()
3666 else cfg_parser->cfg->do_ip4 = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3678 else cfg_parser->cfg->do_ip6 = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3690 else cfg_parser->cfg->do_nat64 = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3702 else cfg_parser->cfg->do_udp = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3714 else cfg_parser->cfg->do_tcp = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3726 else cfg_parser->cfg->prefer_ip4 = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3738 else cfg_parser->cfg->prefer_ip6 = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3750 else cfg_parser->cfg->tcp_mss = atoi((yyvsp[0].str)); in yyparse()
3762 else cfg_parser->cfg->outgoing_tcp_mss = atoi((yyvsp[0].str)); in yyparse()
3775 cfg_parser->cfg->tcp_idle_timeout = 120000; in yyparse()
3777 cfg_parser->cfg->tcp_idle_timeout = 1; in yyparse()
3778 else cfg_parser->cfg->tcp_idle_timeout = atoi((yyvsp[0].str)); in yyparse()
3791 cfg_parser->cfg->max_reuse_tcp_queries = 0; in yyparse()
3792 else cfg_parser->cfg->max_reuse_tcp_queries = atoi((yyvsp[0].str)); in yyparse()
3805 cfg_parser->cfg->tcp_reuse_timeout = 0; in yyparse()
3806 else cfg_parser->cfg->tcp_reuse_timeout = atoi((yyvsp[0].str)); in yyparse()
3819 cfg_parser->cfg->tcp_auth_query_timeout = 0; in yyparse()
3820 else cfg_parser->cfg->tcp_auth_query_timeout = atoi((yyvsp[0].str)); in yyparse()
3832 else cfg_parser->cfg->do_tcp_keepalive = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3845 cfg_parser->cfg->tcp_keepalive_timeout = 6553500; in yyparse()
3847 cfg_parser->cfg->tcp_keepalive_timeout = 0; in yyparse()
3848 else cfg_parser->cfg->tcp_keepalive_timeout = atoi((yyvsp[0].str)); in yyparse()
3861 cfg_parser->cfg->sock_queue_timeout = 6553500; in yyparse()
3863 cfg_parser->cfg->sock_queue_timeout = 0; in yyparse()
3864 else cfg_parser->cfg->sock_queue_timeout = atoi((yyvsp[0].str)); in yyparse()
3876 else cfg_parser->cfg->tcp_upstream = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3888 else cfg_parser->cfg->udp_upstream_without_downstream = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3900 else cfg_parser->cfg->ssl_upstream = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3910 free(cfg_parser->cfg->ssl_service_key); in yyparse()
3911 cfg_parser->cfg->ssl_service_key = (yyvsp[0].str); in yyparse()
3920 free(cfg_parser->cfg->ssl_service_pem); in yyparse()
3921 cfg_parser->cfg->ssl_service_pem = (yyvsp[0].str); in yyparse()
3932 else cfg_parser->cfg->ssl_port = atoi((yyvsp[0].str)); in yyparse()
3942 free(cfg_parser->cfg->tls_cert_bundle); in yyparse()
3943 cfg_parser->cfg->tls_cert_bundle = (yyvsp[0].str); in yyparse()
3954 else cfg_parser->cfg->tls_win_cert = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
3964 if(!cfg_strlist_insert(&cfg_parser->cfg->tls_additional_port, in yyparse()
3975 free(cfg_parser->cfg->tls_ciphers); in yyparse()
3976 cfg_parser->cfg->tls_ciphers = (yyvsp[0].str); in yyparse()
3985 free(cfg_parser->cfg->tls_ciphersuites); in yyparse()
3986 cfg_parser->cfg->tls_ciphersuites = (yyvsp[0].str); in yyparse()
3995 if(!cfg_strlist_append(&cfg_parser->cfg->tls_session_ticket_keys, in yyparse()
4008 else cfg_parser->cfg->tls_use_sni = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4020 else cfg_parser->cfg->https_port = atoi((yyvsp[0].str)); in yyparse()
4030 free(cfg_parser->cfg->http_endpoint); in yyparse()
4032 cfg_parser->cfg->http_endpoint = malloc(strlen((yyvsp[0].str))+2); in yyparse()
4033 if(!cfg_parser->cfg->http_endpoint) in yyparse()
4035 cfg_parser->cfg->http_endpoint[0] = '/'; in yyparse()
4036 memmove(cfg_parser->cfg->http_endpoint+1, (yyvsp[0].str), in yyparse()
4040 cfg_parser->cfg->http_endpoint = (yyvsp[0].str); in yyparse()
4052 else cfg_parser->cfg->http_max_streams = atoi((yyvsp[0].str)); in yyparse()
4063 &cfg_parser->cfg->http_query_buffer_size)) in yyparse()
4075 &cfg_parser->cfg->http_response_buffer_size)) in yyparse()
4088 else cfg_parser->cfg->http_nodelay = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4100 else cfg_parser->cfg->http_notls_downstream = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4113 "over QUIC.", cfg_parser->filename, cfg_parser->line); in yyparse()
4117 else cfg_parser->cfg->quic_port = atoi((yyvsp[0].str)); in yyparse()
4127 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->quic_size)) in yyparse()
4140 else cfg_parser->cfg->use_systemd = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4152 else cfg_parser->cfg->do_daemonize = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4164 else cfg_parser->cfg->use_syslog = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4181 else cfg_parser->cfg->log_time_ascii = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4193 else cfg_parser->cfg->log_time_iso = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4205 else cfg_parser->cfg->log_queries = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4217 else cfg_parser->cfg->log_replies = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4229 else cfg_parser->cfg->log_tag_queryreply = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4241 else cfg_parser->cfg->log_servfail = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4253 else cfg_parser->cfg->log_destaddr = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4265 else cfg_parser->cfg->log_local_actions = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4275 free(cfg_parser->cfg->chrootdir); in yyparse()
4276 cfg_parser->cfg->chrootdir = (yyvsp[0].str); in yyparse()
4285 free(cfg_parser->cfg->username); in yyparse()
4286 cfg_parser->cfg->username = (yyvsp[0].str); in yyparse()
4295 free(cfg_parser->cfg->directory); in yyparse()
4296 cfg_parser->cfg->directory = (yyvsp[0].str); in yyparse()
4301 w_config_adjust_directory(cfg_parser->cfg); in yyparse()
4303 d = cfg_parser->cfg->directory; in yyparse()
4306 if(cfg_parser->chroot && cfg_parser->chroot[0] && in yyparse()
4307 strncmp(d, cfg_parser->chroot, strlen( in yyparse()
4308 cfg_parser->chroot)) == 0) in yyparse()
4309 d += strlen(cfg_parser->chroot); in yyparse()
4324 free(cfg_parser->cfg->logfile); in yyparse()
4325 cfg_parser->cfg->logfile = (yyvsp[0].str); in yyparse()
4326 cfg_parser->cfg->use_syslog = 0; in yyparse()
4335 free(cfg_parser->cfg->pidfile); in yyparse()
4336 cfg_parser->cfg->pidfile = (yyvsp[0].str); in yyparse()
4345 if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[0].str))) in yyparse()
4355 log_warn("option dlv-anchor-file ignored: DLV is decommissioned"); in yyparse()
4365 log_warn("option dlv-anchor ignored: DLV is decommissioned"); in yyparse()
4375 if(!cfg_strlist_insert(&cfg_parser->cfg-> in yyparse()
4386 if(!cfg_strlist_insert(&cfg_parser->cfg-> in yyparse()
4397 if(!cfg_strlist_insert(&cfg_parser->cfg-> in yyparse()
4408 if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[0].str))) in yyparse()
4421 cfg_parser->cfg->trust_anchor_signaling = in yyparse()
4435 cfg_parser->cfg->root_key_sentinel = in yyparse()
4446 if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[0].str))) in yyparse()
4458 else cfg_parser->cfg->hide_identity = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4470 else cfg_parser->cfg->hide_version = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4482 else cfg_parser->cfg->hide_trustanchor = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4494 else cfg_parser->cfg->hide_http_user_agent = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4504 free(cfg_parser->cfg->identity); in yyparse()
4505 cfg_parser->cfg->identity = (yyvsp[0].str); in yyparse()
4514 free(cfg_parser->cfg->version); in yyparse()
4515 cfg_parser->cfg->version = (yyvsp[0].str); in yyparse()
4524 free(cfg_parser->cfg->http_user_agent); in yyparse()
4525 cfg_parser->cfg->http_user_agent = (yyvsp[0].str); in yyparse()
4534 free(cfg_parser->cfg->nsid_cfg_str); in yyparse()
4535 cfg_parser->cfg->nsid_cfg_str = (yyvsp[0].str); in yyparse()
4536 free(cfg_parser->cfg->nsid); in yyparse()
4537 cfg_parser->cfg->nsid = NULL; in yyparse()
4538 cfg_parser->cfg->nsid_len = 0; in yyparse()
4541 else if (!(cfg_parser->cfg->nsid = cfg_parse_nsid( in yyparse()
4542 (yyvsp[0].str), &cfg_parser->cfg->nsid_len))) in yyparse()
4553 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_rcvbuf)) in yyparse()
4564 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_sndbuf)) in yyparse()
4577 else cfg_parser->cfg->so_reuseport = in yyparse()
4590 else cfg_parser->cfg->ip_transparent = in yyparse()
4603 else cfg_parser->cfg->ip_freebind = in yyparse()
4621 cfg_parser->cfg->ip_dscp = atoi((yyvsp[0].str)); in yyparse()
4631 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->stream_wait_size)) in yyparse()
4647 cfg_parser->cfg->edns_buffer_size = 65535; in yyparse()
4648 else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[0].str)); in yyparse()
4662 else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[0].str)); in yyparse()
4672 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->msg_cache_size)) in yyparse()
4686 cfg_parser->cfg->msg_cache_slabs = atoi((yyvsp[0].str)); in yyparse()
4687 if(!is_pow2(cfg_parser->cfg->msg_cache_slabs)) in yyparse()
4701 else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[0].str)); in yyparse()
4713 else cfg_parser->cfg->jostle_time = atoi((yyvsp[0].str)); in yyparse()
4725 else cfg_parser->cfg->delay_close = atoi((yyvsp[0].str)); in yyparse()
4737 else cfg_parser->cfg->udp_connect = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
4749 else cfg_parser->cfg->unblock_lan_zones = in yyparse()
4762 else cfg_parser->cfg->insecure_lan_zones = in yyparse()
4773 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->rrset_cache_size)) in yyparse()
4787 cfg_parser->cfg->rrset_cache_slabs = atoi((yyvsp[0].str)); in yyparse()
4788 if(!is_pow2(cfg_parser->cfg->rrset_cache_slabs)) in yyparse()
4802 else cfg_parser->cfg->host_ttl = atoi((yyvsp[0].str)); in yyparse()
4812 verbose(VERB_DETAIL, "ignored infra-lame-ttl: %s (option " in yyparse()
4813 "removed, use infra-host-ttl)", (yyvsp[0].str)); in yyparse()
4825 else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[0].str)); in yyparse()
4835 verbose(VERB_DETAIL, "ignored infra-cache-lame-size: %s " in yyparse()
4836 "(option removed, use infra-cache-numhosts)", (yyvsp[0].str)); in yyparse()
4849 cfg_parser->cfg->infra_cache_slabs = atoi((yyvsp[0].str)); in yyparse()
4850 if(!is_pow2(cfg_parser->cfg->infra_cache_slabs)) in yyparse()
4864 else cfg_parser->cfg->infra_cache_min_rtt = atoi((yyvsp[0].str)); in yyparse()
4876 else cfg_parser->cfg->infra_cache_max_rtt = atoi((yyvsp[0].str)); in yyparse()
4888 else cfg_parser->cfg->infra_keep_probing = in yyparse()
4899 free(cfg_parser->cfg->target_fetch_policy); in yyparse()
4900 cfg_parser->cfg->target_fetch_policy = (yyvsp[0].str); in yyparse()
4911 else cfg_parser->cfg->harden_short_bufsize = in yyparse()
4924 else cfg_parser->cfg->harden_large_queries = in yyparse()
4937 else cfg_parser->cfg->harden_glue = in yyparse()
4950 else cfg_parser->cfg->harden_unverified_glue = in yyparse()
4963 else cfg_parser->cfg->harden_dnssec_stripped = in yyparse()
4976 else cfg_parser->cfg->harden_below_nxdomain = in yyparse()
4989 else cfg_parser->cfg->harden_referral_path = in yyparse()
5002 else cfg_parser->cfg->harden_algo_downgrade = in yyparse()
5015 else cfg_parser->cfg->harden_unknown_additional = in yyparse()
5028 else cfg_parser->cfg->use_caps_bits_for_id = in yyparse()
5039 if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, (yyvsp[0].str))) in yyparse()
5049 if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[0].str))) in yyparse()
5059 if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[0].str))) in yyparse()
5071 else cfg_parser->cfg->prefetch = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5083 else cfg_parser->cfg->prefetch_key = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5095 else cfg_parser->cfg->deny_any = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5107 else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[0].str)); in yyparse()
5117 if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[0].str))) in yyparse()
5129 else cfg_parser->cfg->donotquery_localhost = in yyparse()
5139 OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
5141 if(!cfg_str2list_insert(&cfg_parser->cfg->acls, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
5150 OUTYY(("P(server_interface_action:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
5153 &cfg_parser->cfg->interface_actions, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
5163 free(cfg_parser->cfg->module_conf); in yyparse()
5164 cfg_parser->cfg->module_conf = (yyvsp[0].str); in yyparse()
5174 cfg_parser->cfg->val_date_override = 0; in yyparse()
5176 cfg_parser->cfg->val_date_override = in yyparse()
5178 if(!cfg_parser->cfg->val_date_override) in yyparse()
5183 cfg_parser->cfg->val_date_override = atoi((yyvsp[0].str)); in yyparse()
5195 cfg_parser->cfg->val_sig_skew_min = 0; in yyparse()
5197 cfg_parser->cfg->val_sig_skew_min = atoi((yyvsp[0].str)); in yyparse()
5198 if(!cfg_parser->cfg->val_sig_skew_min) in yyparse()
5211 cfg_parser->cfg->val_sig_skew_max = 0; in yyparse()
5213 cfg_parser->cfg->val_sig_skew_max = atoi((yyvsp[0].str)); in yyparse()
5214 if(!cfg_parser->cfg->val_sig_skew_max) in yyparse()
5227 cfg_parser->cfg->val_max_restart = 0; in yyparse()
5229 cfg_parser->cfg->val_max_restart = atoi((yyvsp[0].str)); in yyparse()
5230 if(!cfg_parser->cfg->val_max_restart) in yyparse()
5244 else cfg_parser->cfg->max_ttl = atoi((yyvsp[0].str)); in yyparse()
5256 else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[0].str)); in yyparse()
5268 else cfg_parser->cfg->min_negative_ttl = atoi((yyvsp[0].str)); in yyparse()
5280 else cfg_parser->cfg->min_ttl = atoi((yyvsp[0].str)); in yyparse()
5292 else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[0].str)); in yyparse()
5304 else cfg_parser->cfg->val_clean_additional = in yyparse()
5317 else cfg_parser->cfg->val_permissive_mode = in yyparse()
5331 cfg_parser->cfg->aggressive_nsec = in yyparse()
5344 else cfg_parser->cfg->ignore_cd = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5356 else cfg_parser->cfg->disable_edns_do = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5368 else cfg_parser->cfg->serve_expired = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5380 else cfg_parser->cfg->serve_expired_ttl = atoi((yyvsp[0].str)); in yyparse()
5392 else cfg_parser->cfg->serve_expired_ttl_reset = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5404 else cfg_parser->cfg->serve_expired_reply_ttl = atoi((yyvsp[0].str)); in yyparse()
5416 else cfg_parser->cfg->serve_expired_client_timeout = atoi((yyvsp[0].str)); in yyparse()
5428 else cfg_parser->cfg->ede_serve_expired = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5440 else cfg_parser->cfg->serve_original_ttl = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5484 else cfg_parser->cfg->val_log_level = atoi((yyvsp[0].str)); in yyparse()
5494 free(cfg_parser->cfg->val_nsec3_key_iterations); in yyparse()
5495 cfg_parser->cfg->val_nsec3_key_iterations = (yyvsp[0].str); in yyparse()
5506 else cfg_parser->cfg->zonemd_permissive_mode = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5518 else cfg_parser->cfg->add_holddown = atoi((yyvsp[0].str)); in yyparse()
5530 else cfg_parser->cfg->del_holddown = atoi((yyvsp[0].str)); in yyparse()
5542 else cfg_parser->cfg->keep_missing = atoi((yyvsp[0].str)); in yyparse()
5554 else cfg_parser->cfg->permit_small_holddown = in yyparse()
5565 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->key_cache_size)) in yyparse()
5579 cfg_parser->cfg->key_cache_slabs = atoi((yyvsp[0].str)); in yyparse()
5580 if(!is_pow2(cfg_parser->cfg->key_cache_slabs)) in yyparse()
5592 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->neg_cache_size)) in yyparse()
5602 OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
5618 yyerror("local-zone type: expected static, deny, " in yyparse()
5625 free((yyvsp[-1].str)); in yyparse()
5628 if(!cfg_strlist_insert(&cfg_parser->cfg-> in yyparse()
5629 local_zones_nodefault, (yyvsp[-1].str))) in yyparse()
5630 fatal_exit("out of memory adding local-zone"); in yyparse()
5634 size_t len = strlen((yyvsp[-1].str)); in yyparse()
5637 if((yyvsp[-1].str)[len-1] != '.') { in yyparse()
5638 if(!((yyvsp[-1].str) = realloc((yyvsp[-1].str), len+2))) { in yyparse()
5639 fatal_exit("out of memory adding local-zone"); in yyparse()
5641 (yyvsp[-1].str)[len] = '.'; in yyparse()
5642 (yyvsp[-1].str)[len+1] = 0; in yyparse()
5644 if(!cfg_strlist_insert(&cfg_parser->cfg-> in yyparse()
5645 local_zones_ipset, (yyvsp[-1].str))) in yyparse()
5646 fatal_exit("out of memory adding local-zone"); in yyparse()
5650 if(!cfg_str2list_insert(&cfg_parser->cfg->local_zones, in yyparse()
5651 (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
5652 fatal_exit("out of memory adding local-zone"); in yyparse()
5662 if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[0].str))) in yyparse()
5663 fatal_exit("out of memory adding local-data"); in yyparse()
5676 if(!cfg_strlist_insert(&cfg_parser->cfg-> in yyparse()
5678 fatal_exit("out of memory adding local-data"); in yyparse()
5680 yyerror("local-data-ptr could not be reversed"); in yyparse()
5692 else cfg_parser->cfg->minimal_responses = in yyparse()
5705 else cfg_parser->cfg->rrset_roundrobin = in yyparse()
5716 cfg_parser->cfg->unknown_server_time_limit = atoi((yyvsp[0].str)); in yyparse()
5726 cfg_parser->cfg->discard_timeout = atoi((yyvsp[0].str)); in yyparse()
5736 cfg_parser->cfg->wait_limit = atoi((yyvsp[0].str)); in yyparse()
5746 cfg_parser->cfg->wait_limit_cookie = atoi((yyvsp[0].str)); in yyparse()
5755 OUTYY(("P(server_wait_limit_netblock:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
5758 free((yyvsp[-1].str)); in yyparse()
5761 if(!cfg_str2list_insert(&cfg_parser->cfg-> in yyparse()
5762 wait_limit_netblock, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
5764 "wait-limit-netblock"); in yyparse()
5773 OUTYY(("P(server_wait_limit_cookie_netblock:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
5776 free((yyvsp[-1].str)); in yyparse()
5779 if(!cfg_str2list_insert(&cfg_parser->cfg-> in yyparse()
5780 wait_limit_cookie_netblock, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
5782 "wait-limit-cookie-netblock"); in yyparse()
5792 cfg_parser->cfg->max_udp_size = atoi((yyvsp[0].str)); in yyparse()
5802 free(cfg_parser->cfg->dns64_prefix); in yyparse()
5803 cfg_parser->cfg->dns64_prefix = (yyvsp[0].str); in yyparse()
5814 else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
5824 if(!cfg_strlist_insert(&cfg_parser->cfg->dns64_ignore_aaaa, in yyparse()
5826 fatal_exit("out of memory adding dns64-ignore-aaaa"); in yyparse()
5835 free(cfg_parser->cfg->nat64_prefix); in yyparse()
5836 cfg_parser->cfg->nat64_prefix = (yyvsp[0].str); in yyparse()
5848 if(!config_add_tag(cfg_parser->cfg, p)) in yyparse()
5849 yyerror("could not define-tag, " in yyparse()
5862 uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), in yyparse()
5865 OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[-1].str))); in yyparse()
5867 yyerror("could not parse tags, (define-tag them first)"); in yyparse()
5868 free((yyvsp[-1].str)); in yyparse()
5872 &cfg_parser->cfg->local_zone_tags, in yyparse()
5873 (yyvsp[-1].str), bitlist, len)) { in yyparse()
5875 free((yyvsp[-1].str)); in yyparse()
5886 uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), in yyparse()
5889 OUTYY(("P(server_access_control_tag:%s)\n", (yyvsp[-1].str))); in yyparse()
5891 yyerror("could not parse tags, (define-tag them first)"); in yyparse()
5892 free((yyvsp[-1].str)); in yyparse()
5896 &cfg_parser->cfg->acl_tags, in yyparse()
5897 (yyvsp[-1].str), bitlist, len)) { in yyparse()
5899 free((yyvsp[-1].str)); in yyparse()
5909 …OUTYY(("P(server_access_control_tag_action:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[… in yyparse()
5910 if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_actions, in yyparse()
5911 (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) { in yyparse()
5913 free((yyvsp[-2].str)); in yyparse()
5914 free((yyvsp[-1].str)); in yyparse()
5924 …OUTYY(("P(server_access_control_tag_data:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0]… in yyparse()
5925 if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_datas, in yyparse()
5926 (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) { in yyparse()
5928 free((yyvsp[-2].str)); in yyparse()
5929 free((yyvsp[-1].str)); in yyparse()
5939 …OUTYY(("P(server_local_zone_override:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str… in yyparse()
5940 if(!cfg_str3list_insert(&cfg_parser->cfg->local_zone_overrides, in yyparse()
5941 (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) { in yyparse()
5943 free((yyvsp[-2].str)); in yyparse()
5944 free((yyvsp[-1].str)); in yyparse()
5954 OUTYY(("P(server_access_control_view:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
5955 if(!cfg_str2list_insert(&cfg_parser->cfg->acl_view, in yyparse()
5956 (yyvsp[-1].str), (yyvsp[0].str))) { in yyparse()
5967 uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), in yyparse()
5970 OUTYY(("P(server_interface_tag:%s)\n", (yyvsp[-1].str))); in yyparse()
5972 yyerror("could not parse tags, (define-tag them first)"); in yyparse()
5973 free((yyvsp[-1].str)); in yyparse()
5977 &cfg_parser->cfg->interface_tags, in yyparse()
5978 (yyvsp[-1].str), bitlist, len)) { in yyparse()
5980 free((yyvsp[-1].str)); in yyparse()
5990 …OUTYY(("P(server_interface_tag_action:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].st… in yyparse()
5991 if(!cfg_str3list_insert(&cfg_parser->cfg->interface_tag_actions, in yyparse()
5992 (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) { in yyparse()
5994 free((yyvsp[-2].str)); in yyparse()
5995 free((yyvsp[-1].str)); in yyparse()
6005 …OUTYY(("P(server_interface_tag_data:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)… in yyparse()
6006 if(!cfg_str3list_insert(&cfg_parser->cfg->interface_tag_datas, in yyparse()
6007 (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) { in yyparse()
6009 free((yyvsp[-2].str)); in yyparse()
6010 free((yyvsp[-1].str)); in yyparse()
6020 OUTYY(("P(server_interface_view:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
6021 if(!cfg_str2list_insert(&cfg_parser->cfg->interface_view, in yyparse()
6022 (yyvsp[-1].str), (yyvsp[0].str))) { in yyparse()
6033 uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), in yyparse()
6036 OUTYY(("P(response_ip_tag:%s)\n", (yyvsp[-1].str))); in yyparse()
6038 yyerror("could not parse tags, (define-tag them first)"); in yyparse()
6039 free((yyvsp[-1].str)); in yyparse()
6043 &cfg_parser->cfg->respip_tags, in yyparse()
6044 (yyvsp[-1].str), bitlist, len)) { in yyparse()
6046 free((yyvsp[-1].str)); in yyparse()
6059 else cfg_parser->cfg->ip_ratelimit = atoi((yyvsp[0].str)); in yyparse()
6071 else cfg_parser->cfg->ip_ratelimit_cookie = atoi((yyvsp[0].str)); in yyparse()
6083 else cfg_parser->cfg->ratelimit = atoi((yyvsp[0].str)); in yyparse()
6093 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ip_ratelimit_size)) in yyparse()
6104 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ratelimit_size)) in yyparse()
6118 cfg_parser->cfg->ip_ratelimit_slabs = atoi((yyvsp[0].str)); in yyparse()
6119 if(!is_pow2(cfg_parser->cfg->ip_ratelimit_slabs)) in yyparse()
6134 cfg_parser->cfg->ratelimit_slabs = atoi((yyvsp[0].str)); in yyparse()
6135 if(!is_pow2(cfg_parser->cfg->ratelimit_slabs)) in yyparse()
6146 OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
6149 free((yyvsp[-1].str)); in yyparse()
6152 if(!cfg_str2list_insert(&cfg_parser->cfg-> in yyparse()
6153 ratelimit_for_domain, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
6155 "ratelimit-for-domain"); in yyparse()
6164 OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
6167 free((yyvsp[-1].str)); in yyparse()
6170 if(!cfg_str2list_insert(&cfg_parser->cfg-> in yyparse()
6171 ratelimit_below_domain, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
6173 "ratelimit-below-domain"); in yyparse()
6185 else cfg_parser->cfg->ip_ratelimit_factor = atoi((yyvsp[0].str)); in yyparse()
6197 else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[0].str)); in yyparse()
6209 else cfg_parser->cfg->ip_ratelimit_backoff = in yyparse()
6222 else cfg_parser->cfg->ratelimit_backoff = in yyparse()
6235 else cfg_parser->cfg->outbound_msg_retry = atoi((yyvsp[0].str)); in yyparse()
6247 else cfg_parser->cfg->max_sent_count = atoi((yyvsp[0].str)); in yyparse()
6259 else cfg_parser->cfg->max_query_restarts = atoi((yyvsp[0].str)); in yyparse()
6268 OUTYY(("P(low-rtt option is deprecated, use fast-server-num instead)\n")); in yyparse()
6280 else cfg_parser->cfg->fast_server_num = atoi((yyvsp[0].str)); in yyparse()
6292 else cfg_parser->cfg->fast_server_permil = atoi((yyvsp[0].str)); in yyparse()
6304 else cfg_parser->cfg->qname_minimisation = in yyparse()
6317 else cfg_parser->cfg->qname_minimisation_strict = in yyparse()
6330 else cfg_parser->cfg->pad_responses = in yyparse()
6343 else cfg_parser->cfg->pad_responses_block_size = atoi((yyvsp[0].str)); in yyparse()
6355 else cfg_parser->cfg->pad_queries = in yyparse()
6368 else cfg_parser->cfg->pad_queries_block_size = atoi((yyvsp[0].str)); in yyparse()
6381 else cfg_parser->cfg->ipsecmod_enabled = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6397 else cfg_parser->cfg->ipsecmod_ignore_bogus = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6411 free(cfg_parser->cfg->ipsecmod_hook); in yyparse()
6412 cfg_parser->cfg->ipsecmod_hook = (yyvsp[0].str); in yyparse()
6428 else cfg_parser->cfg->ipsecmod_max_ttl = atoi((yyvsp[0].str)); in yyparse()
6443 if(!cfg_strlist_insert(&cfg_parser->cfg->ipsecmod_whitelist, (yyvsp[0].str))) in yyparse()
6460 else cfg_parser->cfg->ipsecmod_strict = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6473 OUTYY(("P(server_edns_client_string:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
6475 &cfg_parser->cfg->edns_client_strings, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
6477 "edns-client-string"); in yyparse()
6490 else cfg_parser->cfg->edns_client_string_opcode = atoi((yyvsp[0].str)); in yyparse()
6502 else cfg_parser->cfg->ede = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6512 if(!cfg_strlist_insert(&cfg_parser->cfg->proxy_protocol_port, (yyvsp[0].str))) in yyparse()
6522 if(cfg_parser->cfg->stubs->name) in yyparse()
6524 "for one stub-zone"); in yyparse()
6525 free(cfg_parser->cfg->stubs->name); in yyparse()
6526 cfg_parser->cfg->stubs->name = (yyvsp[0].str); in yyparse()
6534 OUTYY(("P(stub-host:%s)\n", (yyvsp[0].str))); in yyparse()
6535 if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[0].str))) in yyparse()
6544 OUTYY(("P(stub-addr:%s)\n", (yyvsp[0].str))); in yyparse()
6545 if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[0].str))) in yyparse()
6554 OUTYY(("P(stub-first:%s)\n", (yyvsp[0].str))); in yyparse()
6557 else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6566 OUTYY(("P(stub-no-cache:%s)\n", (yyvsp[0].str))); in yyparse()
6569 else cfg_parser->cfg->stubs->no_cache=(strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6578 OUTYY(("P(stub-ssl-upstream:%s)\n", (yyvsp[0].str))); in yyparse()
6581 else cfg_parser->cfg->stubs->ssl_upstream = in yyparse()
6591 OUTYY(("P(stub-tcp-upstream:%s)\n", (yyvsp[0].str))); in yyparse()
6594 else cfg_parser->cfg->stubs->tcp_upstream = in yyparse()
6604 OUTYY(("P(stub-prime:%s)\n", (yyvsp[0].str))); in yyparse()
6607 else cfg_parser->cfg->stubs->isprime = in yyparse()
6618 if(cfg_parser->cfg->forwards->name) in yyparse()
6620 "name for one forward-zone"); in yyparse()
6621 free(cfg_parser->cfg->forwards->name); in yyparse()
6622 cfg_parser->cfg->forwards->name = (yyvsp[0].str); in yyparse()
6630 OUTYY(("P(forward-host:%s)\n", (yyvsp[0].str))); in yyparse()
6631 if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[0].str))) in yyparse()
6640 OUTYY(("P(forward-addr:%s)\n", (yyvsp[0].str))); in yyparse()
6641 if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[0].str))) in yyparse()
6650 OUTYY(("P(forward-first:%s)\n", (yyvsp[0].str))); in yyparse()
6653 else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6662 OUTYY(("P(forward-no-cache:%s)\n", (yyvsp[0].str))); in yyparse()
6665 else cfg_parser->cfg->forwards->no_cache=(strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6674 OUTYY(("P(forward-ssl-upstream:%s)\n", (yyvsp[0].str))); in yyparse()
6677 else cfg_parser->cfg->forwards->ssl_upstream = in yyparse()
6687 OUTYY(("P(forward-tcp-upstream:%s)\n", (yyvsp[0].str))); in yyparse()
6690 else cfg_parser->cfg->forwards->tcp_upstream = in yyparse()
6701 if(cfg_parser->cfg->auths->name) in yyparse()
6703 "for one auth-zone"); in yyparse()
6704 free(cfg_parser->cfg->auths->name); in yyparse()
6705 cfg_parser->cfg->auths->name = (yyvsp[0].str); in yyparse()
6714 free(cfg_parser->cfg->auths->zonefile); in yyparse()
6715 cfg_parser->cfg->auths->zonefile = (yyvsp[0].str); in yyparse()
6724 if(!cfg_strlist_insert(&cfg_parser->cfg->auths->masters, (yyvsp[0].str))) in yyparse()
6734 if(!cfg_strlist_insert(&cfg_parser->cfg->auths->urls, (yyvsp[0].str))) in yyparse()
6743 OUTYY(("P(allow-notify:%s)\n", (yyvsp[0].str))); in yyparse()
6744 if(!cfg_strlist_insert(&cfg_parser->cfg->auths->allow_notify, in yyparse()
6754 OUTYY(("P(zonemd-check:%s)\n", (yyvsp[0].str))); in yyparse()
6757 else cfg_parser->cfg->auths->zonemd_check = in yyparse()
6767 OUTYY(("P(zonemd-reject-absence:%s)\n", (yyvsp[0].str))); in yyparse()
6770 else cfg_parser->cfg->auths->zonemd_reject_absence = in yyparse()
6780 OUTYY(("P(for-downstream:%s)\n", (yyvsp[0].str))); in yyparse()
6783 else cfg_parser->cfg->auths->for_downstream = in yyparse()
6793 OUTYY(("P(for-upstream:%s)\n", (yyvsp[0].str))); in yyparse()
6796 else cfg_parser->cfg->auths->for_upstream = in yyparse()
6806 OUTYY(("P(fallback-enabled:%s)\n", (yyvsp[0].str))); in yyparse()
6809 else cfg_parser->cfg->auths->fallback_enabled = in yyparse()
6820 if(cfg_parser->cfg->views->name) in yyparse()
6823 free(cfg_parser->cfg->views->name); in yyparse()
6824 cfg_parser->cfg->views->name = (yyvsp[0].str); in yyparse()
6832 OUTYY(("P(view_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
6847 yyerror("local-zone type: expected static, deny, " in yyparse()
6854 free((yyvsp[-1].str)); in yyparse()
6857 if(!cfg_strlist_insert(&cfg_parser->cfg->views-> in yyparse()
6858 local_zones_nodefault, (yyvsp[-1].str))) in yyparse()
6859 fatal_exit("out of memory adding local-zone"); in yyparse()
6863 size_t len = strlen((yyvsp[-1].str)); in yyparse()
6866 if((yyvsp[-1].str)[len-1] != '.') { in yyparse()
6867 if(!((yyvsp[-1].str) = realloc((yyvsp[-1].str), len+2))) { in yyparse()
6868 fatal_exit("out of memory adding local-zone"); in yyparse()
6870 (yyvsp[-1].str)[len] = '.'; in yyparse()
6871 (yyvsp[-1].str)[len+1] = 0; in yyparse()
6873 if(!cfg_strlist_insert(&cfg_parser->cfg->views-> in yyparse()
6874 local_zones_ipset, (yyvsp[-1].str))) in yyparse()
6875 fatal_exit("out of memory adding local-zone"); in yyparse()
6880 &cfg_parser->cfg->views->local_zones, in yyparse()
6881 (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
6882 fatal_exit("out of memory adding local-zone"); in yyparse()
6891 OUTYY(("P(view_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
6894 &cfg_parser->cfg->views->respip_actions, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
6895 fatal_exit("out of memory adding per-view " in yyparse()
6896 "response-ip action"); in yyparse()
6904 OUTYY(("P(view_response_ip_data:%s)\n", (yyvsp[-1].str))); in yyparse()
6906 &cfg_parser->cfg->views->respip_data, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
6907 fatal_exit("out of memory adding response-ip-data"); in yyparse()
6916 if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, (yyvsp[0].str))) { in yyparse()
6917 fatal_exit("out of memory adding local-data"); in yyparse()
6931 if(!cfg_strlist_insert(&cfg_parser->cfg->views-> in yyparse()
6933 fatal_exit("out of memory adding local-data"); in yyparse()
6935 yyerror("local-data-ptr could not be reversed"); in yyparse()
6944 OUTYY(("P(view-first:%s)\n", (yyvsp[0].str))); in yyparse()
6947 else cfg_parser->cfg->views->isfirst=(strcmp((yyvsp[0].str), "yes")==0); in yyparse()
6956 OUTYY(("\nP(remote-control:)\n")); in yyparse()
6957 cfg_parser->started_toplevel = 1; in yyparse()
6968 else cfg_parser->cfg->remote_control_enable = in yyparse()
6981 else cfg_parser->cfg->control_port = atoi((yyvsp[0].str)); in yyparse()
6991 if(!cfg_strlist_append(&cfg_parser->cfg->control_ifs, (yyvsp[0].str))) in yyparse()
7001 cfg_parser->cfg->control_use_cert = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7011 free(cfg_parser->cfg->server_key_file); in yyparse()
7012 cfg_parser->cfg->server_key_file = (yyvsp[0].str); in yyparse()
7021 free(cfg_parser->cfg->server_cert_file); in yyparse()
7022 cfg_parser->cfg->server_cert_file = (yyvsp[0].str); in yyparse()
7031 free(cfg_parser->cfg->control_key_file); in yyparse()
7032 cfg_parser->cfg->control_key_file = (yyvsp[0].str); in yyparse()
7041 free(cfg_parser->cfg->control_cert_file); in yyparse()
7042 cfg_parser->cfg->control_cert_file = (yyvsp[0].str); in yyparse()
7051 cfg_parser->started_toplevel = 1; in yyparse()
7062 else cfg_parser->cfg->dnstap = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7074 else cfg_parser->cfg->dnstap_bidirectional = in yyparse()
7085 free(cfg_parser->cfg->dnstap_socket_path); in yyparse()
7086 cfg_parser->cfg->dnstap_socket_path = (yyvsp[0].str); in yyparse()
7095 free(cfg_parser->cfg->dnstap_ip); in yyparse()
7096 cfg_parser->cfg->dnstap_ip = (yyvsp[0].str); in yyparse()
7107 else cfg_parser->cfg->dnstap_tls = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7117 free(cfg_parser->cfg->dnstap_tls_server_name); in yyparse()
7118 cfg_parser->cfg->dnstap_tls_server_name = (yyvsp[0].str); in yyparse()
7127 free(cfg_parser->cfg->dnstap_tls_cert_bundle); in yyparse()
7128 cfg_parser->cfg->dnstap_tls_cert_bundle = (yyvsp[0].str); in yyparse()
7137 free(cfg_parser->cfg->dnstap_tls_client_key_file); in yyparse()
7138 cfg_parser->cfg->dnstap_tls_client_key_file = (yyvsp[0].str); in yyparse()
7147 free(cfg_parser->cfg->dnstap_tls_client_cert_file); in yyparse()
7148 cfg_parser->cfg->dnstap_tls_client_cert_file = (yyvsp[0].str); in yyparse()
7159 else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7171 else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7181 free(cfg_parser->cfg->dnstap_identity); in yyparse()
7182 cfg_parser->cfg->dnstap_identity = (yyvsp[0].str); in yyparse()
7191 free(cfg_parser->cfg->dnstap_version); in yyparse()
7192 cfg_parser->cfg->dnstap_version = (yyvsp[0].str); in yyparse()
7203 else cfg_parser->cfg->dnstap_log_resolver_query_messages = in yyparse()
7216 else cfg_parser->cfg->dnstap_log_resolver_response_messages = in yyparse()
7229 else cfg_parser->cfg->dnstap_log_client_query_messages = in yyparse()
7242 else cfg_parser->cfg->dnstap_log_client_response_messages = in yyparse()
7255 else cfg_parser->cfg->dnstap_log_forwarder_query_messages = in yyparse()
7268 else cfg_parser->cfg->dnstap_log_forwarder_response_messages = in yyparse()
7283 else cfg_parser->cfg->dnstap_sample_rate = atoi((yyvsp[0].str)); in yyparse()
7293 cfg_parser->started_toplevel = 1; in yyparse()
7301 OUTYY(("P(python-script:%s)\n", (yyvsp[0].str))); in yyparse()
7302 if(!cfg_strlist_append_ex(&cfg_parser->cfg->python_script, (yyvsp[0].str))) in yyparse()
7312 cfg_parser->started_toplevel = 1; in yyparse()
7320 OUTYY(("P(dynlib-file:%s)\n", (yyvsp[0].str))); in yyparse()
7321 if(!cfg_strlist_append_ex(&cfg_parser->cfg->dynlib_file, (yyvsp[0].str))) in yyparse()
7333 else cfg_parser->cfg->disable_dnssec_lame_check = in yyparse()
7344 free(cfg_parser->cfg->log_identity); in yyparse()
7345 cfg_parser->cfg->log_identity = (yyvsp[0].str); in yyparse()
7353 OUTYY(("P(server_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
7355 if(!cfg_str2list_insert(&cfg_parser->cfg->respip_actions, in yyparse()
7356 (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
7357 fatal_exit("out of memory adding response-ip"); in yyparse()
7365 OUTYY(("P(server_response_ip_data:%s)\n", (yyvsp[-1].str))); in yyparse()
7366 if(!cfg_str2list_insert(&cfg_parser->cfg->respip_data, in yyparse()
7367 (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
7368 fatal_exit("out of memory adding response-ip-data"); in yyparse()
7377 cfg_parser->started_toplevel = 1; in yyparse()
7388 else cfg_parser->cfg->dnscrypt = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7400 else cfg_parser->cfg->dnscrypt_port = atoi((yyvsp[0].str)); in yyparse()
7410 free(cfg_parser->cfg->dnscrypt_provider); in yyparse()
7411 cfg_parser->cfg->dnscrypt_provider = (yyvsp[0].str); in yyparse()
7420 if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[0].str))) in yyparse()
7421 log_warn("dnscrypt-provider-cert %s is a duplicate", (yyvsp[0].str)); in yyparse()
7422 if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[0].str))) in yyparse()
7423 fatal_exit("out of memory adding dnscrypt-provider-cert"); in yyparse()
7432 if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert_rotated, (yyvsp[0].str))) in yyparse()
7433 fatal_exit("out of memory adding dnscrypt-provider-cert-rotated"); in yyparse()
7442 if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[0].str))) in yyparse()
7443 log_warn("dnscrypt-secret-key: %s is a duplicate", (yyvsp[0].str)); in yyparse()
7444 if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[0].str))) in yyparse()
7445 fatal_exit("out of memory adding dnscrypt-secret-key"); in yyparse()
7454 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_shared_secret_cache_size)) in yyparse()
7468 cfg_parser->cfg->dnscrypt_shared_secret_cache_slabs = atoi((yyvsp[0].str)); in yyparse()
7469 if(!is_pow2(cfg_parser->cfg->dnscrypt_shared_secret_cache_slabs)) in yyparse()
7481 if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_nonce_cache_size)) in yyparse()
7495 cfg_parser->cfg->dnscrypt_nonce_cache_slabs = atoi((yyvsp[0].str)); in yyparse()
7496 if(!is_pow2(cfg_parser->cfg->dnscrypt_nonce_cache_slabs)) in yyparse()
7508 cfg_parser->started_toplevel = 1; in yyparse()
7518 free(cfg_parser->cfg->cachedb_backend); in yyparse()
7519 cfg_parser->cfg->cachedb_backend = (yyvsp[0].str); in yyparse()
7532 OUTYY(("P(secret-seed:%s)\n", (yyvsp[0].str))); in yyparse()
7533 free(cfg_parser->cfg->cachedb_secret); in yyparse()
7534 cfg_parser->cfg->cachedb_secret = (yyvsp[0].str); in yyparse()
7550 else cfg_parser->cfg->cachedb_no_store = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7566 else cfg_parser->cfg->cachedb_check_when_serve_expired = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7580 free(cfg_parser->cfg->redis_server_host); in yyparse()
7581 cfg_parser->cfg->redis_server_host = (yyvsp[0].str); in yyparse()
7599 else cfg_parser->cfg->redis_server_port = port; in yyparse()
7613 free(cfg_parser->cfg->redis_server_path); in yyparse()
7614 cfg_parser->cfg->redis_server_path = (yyvsp[0].str); in yyparse()
7628 free(cfg_parser->cfg->redis_server_password); in yyparse()
7629 cfg_parser->cfg->redis_server_password = (yyvsp[0].str); in yyparse()
7645 else cfg_parser->cfg->redis_timeout = atoi((yyvsp[0].str)); in yyparse()
7661 else cfg_parser->cfg->redis_command_timeout = atoi((yyvsp[0].str)); in yyparse()
7677 else cfg_parser->cfg->redis_connect_timeout = atoi((yyvsp[0].str)); in yyparse()
7693 else cfg_parser->cfg->redis_expire_records = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7711 else cfg_parser->cfg->redis_logical_db = db; in yyparse()
7723 OUTYY(("P(server_tcp_connection_limit:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); in yyparse()
7727 … if(!cfg_str2list_insert(&cfg_parser->cfg->tcp_connection_limits, (yyvsp[-1].str), (yyvsp[0].str))) in yyparse()
7740 else cfg_parser->cfg->do_answer_cookie = (strcmp((yyvsp[0].str), "yes")==0); in yyparse()
7757 cfg_parser->cfg->cookie_secret_len = secret_len; in yyparse()
7758 memcpy(cfg_parser->cfg->cookie_secret, secret, sizeof(secret)); in yyparse()
7769 free(cfg_parser->cfg->cookie_secret_file); in yyparse()
7770 cfg_parser->cfg->cookie_secret_file = (yyvsp[0].str); in yyparse()
7781 else cfg_parser->cfg->iter_scrub_ns = atoi((yyvsp[0].str)); in yyparse()
7793 else cfg_parser->cfg->iter_scrub_cname = atoi((yyvsp[0].str)); in yyparse()
7805 else cfg_parser->cfg->max_global_quota = atoi((yyvsp[0].str)); in yyparse()
7815 cfg_parser->started_toplevel = 1; in yyparse()
7824 OUTYY(("P(name-v4:%s)\n", (yyvsp[0].str))); in yyparse()
7825 if(cfg_parser->cfg->ipset_name_v4) in yyparse()
7828 free(cfg_parser->cfg->ipset_name_v4); in yyparse()
7829 cfg_parser->cfg->ipset_name_v4 = (yyvsp[0].str); in yyparse()
7842 OUTYY(("P(name-v6:%s)\n", (yyvsp[0].str))); in yyparse()
7843 if(cfg_parser->cfg->ipset_name_v6) in yyparse()
7846 free(cfg_parser->cfg->ipset_name_v6); in yyparse()
7847 cfg_parser->cfg->ipset_name_v6 = (yyvsp[0].str); in yyparse()
7872 YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc); in yyparse()
7883 const int yylhs = yyr1[yyn] - YYNTOKENS; in yyparse()
7893 /*--------------------------------------. in yyparse()
7894 | yyerrlab -- here on detecting error. | in yyparse()
7895 `--------------------------------------*/ in yyparse()
7931 /*---------------------------------------------------. in yyparse()
7932 | yyerrorlab -- error raised explicitly by YYERROR. | in yyparse()
7933 `---------------------------------------------------*/ in yyparse()
7949 /*-------------------------------------------------------------. in yyparse()
7950 | yyerrlab1 -- common code for both syntax error and YYERROR. | in yyparse()
7951 `-------------------------------------------------------------*/ in yyparse()
7994 /*-------------------------------------. in yyparse()
7995 | yyacceptlab -- YYACCEPT comes here. | in yyparse()
7996 `-------------------------------------*/ in yyparse()
8002 /*-----------------------------------. in yyparse()
8003 | yyabortlab -- YYABORT comes here. | in yyparse()
8004 `-----------------------------------*/ in yyparse()
8011 /*-------------------------------------------------. in yyparse()
8012 | yyexhaustedlab -- memory exhaustion comes here. | in yyparse()
8013 `-------------------------------------------------*/ in yyparse()
8021 /*-------------------------------------------------------. in yyparse()
8022 | yyreturn -- parsing is finished, clean up and return. | in yyparse()
8023 `-------------------------------------------------------*/ in yyparse()
8066 yyerror("response-ip action: expected deny, redirect, " in validate_respip_action()