summaryrefslogtreecommitdiffstats
path: root/util/configparser.c
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2015-01-02 17:31:36 +0000
committerdes <des@FreeBSD.org>2015-01-02 17:31:36 +0000
commit63bb89eccfead7fdbe9aaab3df7eeca0ff1fbc02 (patch)
tree7e110cb938b4f1a0c7a7f5bbbfc0a682ab32c4b6 /util/configparser.c
parent6979769c22a971f35938b2ca806684fe7214eeb4 (diff)
downloadFreeBSD-src-63bb89eccfead7fdbe9aaab3df7eeca0ff1fbc02.zip
FreeBSD-src-63bb89eccfead7fdbe9aaab3df7eeca0ff1fbc02.tar.gz
import unbound 1.5.0
Diffstat (limited to 'util/configparser.c')
-rw-r--r--util/configparser.c1858
1 files changed, 1058 insertions, 800 deletions
diff --git a/util/configparser.c b/util/configparser.c
index 3ea82b2..6aa5646 100644
--- a/util/configparser.c
+++ b/util/configparser.c
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 2.6.1. */
+/* A Bison parser, made by GNU Bison 2.7. */
/* Bison implementation for Yacc-like parsers in C
@@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.6.1"
+#define YYBISON_VERSION "2.7"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -62,7 +62,7 @@
/* Copy the first part of user declarations. */
-/* Line 336 of yacc.c */
+/* Line 371 of yacc.c */
#line 38 "util/configparser.y"
#include "config.h"
@@ -90,7 +90,7 @@ extern struct config_parser_state* cfg_parser;
#endif
-/* Line 336 of yacc.c */
+/* Line 371 of yacc.c */
#line 95 "util/configparser.c"
# ifndef YY_NULL
@@ -111,8 +111,8 @@ extern struct config_parser_state* cfg_parser;
/* In a future release of Bison, this section will be replaced
by #include "configparser.h". */
-#ifndef YY_UTIL_CONFIGPARSER_H
-# define YY_UTIL_CONFIGPARSER_H
+#ifndef YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
+# define YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -256,7 +256,23 @@ extern int yydebug;
VAR_MINIMAL_RESPONSES = 384,
VAR_RRSET_ROUNDROBIN = 385,
VAR_MAX_UDP_SIZE = 386,
- VAR_DELAY_CLOSE = 387
+ VAR_DELAY_CLOSE = 387,
+ VAR_UNBLOCK_LAN_ZONES = 388,
+ VAR_DNS64_PREFIX = 389,
+ VAR_DNS64_SYNTHALL = 390,
+ VAR_DNSTAP = 391,
+ VAR_DNSTAP_ENABLE = 392,
+ VAR_DNSTAP_SOCKET_PATH = 393,
+ VAR_DNSTAP_SEND_IDENTITY = 394,
+ VAR_DNSTAP_SEND_VERSION = 395,
+ VAR_DNSTAP_IDENTITY = 396,
+ VAR_DNSTAP_VERSION = 397,
+ VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 398,
+ VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 399,
+ VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 400,
+ VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 401,
+ VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 402,
+ VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 403
};
#endif
/* Tokens. */
@@ -390,20 +406,36 @@ extern int yydebug;
#define VAR_RRSET_ROUNDROBIN 385
#define VAR_MAX_UDP_SIZE 386
#define VAR_DELAY_CLOSE 387
+#define VAR_UNBLOCK_LAN_ZONES 388
+#define VAR_DNS64_PREFIX 389
+#define VAR_DNS64_SYNTHALL 390
+#define VAR_DNSTAP 391
+#define VAR_DNSTAP_ENABLE 392
+#define VAR_DNSTAP_SOCKET_PATH 393
+#define VAR_DNSTAP_SEND_IDENTITY 394
+#define VAR_DNSTAP_SEND_VERSION 395
+#define VAR_DNSTAP_IDENTITY 396
+#define VAR_DNSTAP_VERSION 397
+#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 398
+#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 399
+#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 400
+#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 401
+#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 402
+#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 403
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
-/* Line 350 of yacc.c */
+/* Line 387 of yacc.c */
#line 64 "util/configparser.y"
char* str;
-/* Line 350 of yacc.c */
-#line 407 "util/configparser.c"
+/* Line 387 of yacc.c */
+#line 439 "util/configparser.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -426,12 +458,12 @@ int yyparse ();
#endif
#endif /* ! YYPARSE_PARAM */
-#endif /* !YY_UTIL_CONFIGPARSER_H */
+#endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED */
/* Copy the second part of user declarations. */
-/* Line 353 of yacc.c */
-#line 435 "util/configparser.c"
+/* Line 390 of yacc.c */
+#line 467 "util/configparser.c"
#ifdef short
# undef short
@@ -484,24 +516,24 @@ typedef short int yytype_int16;
# if defined YYENABLE_NLS && YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-# define YY_(msgid) dgettext ("bison-runtime", msgid)
+# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
# endif
# endif
# ifndef YY_
-# define YY_(msgid) msgid
+# define YY_(Msgid) Msgid
# endif
#endif
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
-# define YYUSE(e) ((void) (e))
+# define YYUSE(E) ((void) (E))
#else
-# define YYUSE(e) /* empty */
+# define YYUSE(E) /* empty */
#endif
/* Identity function, used to suppress warnings about constant conditions. */
#ifndef lint
-# define YYID(n) (n)
+# define YYID(N) (N)
#else
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
@@ -651,20 +683,20 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 244
+#define YYLAST 276
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 133
+#define YYNTOKENS 149
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 136
+#define YYNNTS 154
/* YYNRULES -- Number of rules. */
-#define YYNRULES 259
+#define YYNRULES 293
/* YYNRULES -- Number of states. */
-#define YYNSTATES 380
+#define YYNSTATES 429
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 387
+#define YYMAXUTOK 403
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -710,7 +742,9 @@ static const yytype_uint8 yytranslate[] =
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132
+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
+ 145, 146, 147, 148
};
#if YYDEBUG
@@ -719,132 +753,148 @@ static const yytype_uint8 yytranslate[] =
static const yytype_uint16 yyprhs[] =
{
0, 0, 3, 4, 7, 10, 13, 16, 19, 22,
- 24, 27, 28, 30, 32, 34, 36, 38, 40, 42,
- 44, 46, 48, 50, 52, 54, 56, 58, 60, 62,
- 64, 66, 68, 70, 72, 74, 76, 78, 80, 82,
- 84, 86, 88, 90, 92, 94, 96, 98, 100, 102,
- 104, 106, 108, 110, 112, 114, 116, 118, 120, 122,
- 124, 126, 128, 130, 132, 134, 136, 138, 140, 142,
- 144, 146, 148, 150, 152, 154, 156, 158, 160, 162,
- 164, 166, 168, 170, 172, 174, 176, 178, 180, 182,
- 184, 186, 188, 190, 192, 194, 196, 198, 200, 202,
- 204, 206, 208, 210, 212, 214, 216, 218, 220, 222,
- 224, 226, 228, 230, 232, 235, 236, 238, 240, 242,
- 244, 246, 248, 251, 252, 254, 256, 258, 260, 263,
- 266, 269, 272, 275, 278, 281, 284, 287, 290, 293,
- 296, 299, 302, 305, 308, 311, 314, 317, 320, 323,
- 326, 329, 332, 335, 338, 341, 344, 347, 350, 353,
- 356, 359, 362, 365, 368, 371, 374, 377, 380, 383,
- 386, 389, 392, 395, 398, 401, 404, 407, 410, 413,
- 416, 419, 422, 425, 428, 431, 434, 437, 440, 443,
- 446, 449, 452, 455, 458, 461, 464, 467, 470, 473,
- 476, 479, 482, 485, 488, 492, 495, 498, 501, 504,
- 507, 510, 513, 516, 519, 522, 525, 528, 531, 534,
- 537, 540, 543, 546, 550, 553, 556, 559, 562, 565,
- 568, 571, 574, 577, 580, 583, 586, 589, 592, 594,
- 597, 598, 600, 602, 604, 606, 608, 610, 612, 615,
- 618, 621, 624, 627, 630, 633, 635, 638, 639, 641
+ 25, 27, 30, 31, 33, 35, 37, 39, 41, 43,
+ 45, 47, 49, 51, 53, 55, 57, 59, 61, 63,
+ 65, 67, 69, 71, 73, 75, 77, 79, 81, 83,
+ 85, 87, 89, 91, 93, 95, 97, 99, 101, 103,
+ 105, 107, 109, 111, 113, 115, 117, 119, 121, 123,
+ 125, 127, 129, 131, 133, 135, 137, 139, 141, 143,
+ 145, 147, 149, 151, 153, 155, 157, 159, 161, 163,
+ 165, 167, 169, 171, 173, 175, 177, 179, 181, 183,
+ 185, 187, 189, 191, 193, 195, 197, 199, 201, 203,
+ 205, 207, 209, 211, 213, 215, 217, 219, 221, 223,
+ 225, 227, 229, 231, 233, 235, 237, 239, 241, 244,
+ 245, 247, 249, 251, 253, 255, 257, 260, 261, 263,
+ 265, 267, 269, 272, 275, 278, 281, 284, 287, 290,
+ 293, 296, 299, 302, 305, 308, 311, 314, 317, 320,
+ 323, 326, 329, 332, 335, 338, 341, 344, 347, 350,
+ 353, 356, 359, 362, 365, 368, 371, 374, 377, 380,
+ 383, 386, 389, 392, 395, 398, 401, 404, 407, 410,
+ 413, 416, 419, 422, 425, 428, 431, 434, 437, 440,
+ 443, 446, 449, 452, 455, 458, 461, 464, 467, 470,
+ 473, 476, 479, 482, 485, 488, 491, 494, 497, 500,
+ 504, 507, 510, 513, 516, 519, 522, 525, 528, 531,
+ 534, 537, 540, 543, 546, 549, 552, 555, 558, 562,
+ 565, 568, 571, 574, 577, 580, 583, 586, 589, 592,
+ 595, 598, 601, 604, 607, 610, 612, 615, 616, 618,
+ 620, 622, 624, 626, 628, 630, 633, 636, 639, 642,
+ 645, 648, 651, 653, 656, 657, 659, 661, 663, 665,
+ 667, 669, 671, 673, 675, 677, 679, 681, 684, 687,
+ 690, 693, 696, 699, 702, 705, 708, 711, 714, 717,
+ 719, 722, 723, 725
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 134, 0, -1, -1, 134, 135, -1, 136, 137, -1,
- 139, 140, -1, 142, 143, -1, 265, 266, -1, 255,
- 256, -1, 11, -1, 137, 138, -1, -1, 145, -1,
- 146, -1, 150, -1, 153, -1, 159, -1, 160, -1,
- 161, -1, 162, -1, 151, -1, 172, -1, 173, -1,
- 174, -1, 175, -1, 176, -1, 194, -1, 195, -1,
- 196, -1, 199, -1, 200, -1, 156, -1, 201, -1,
- 202, -1, 205, -1, 203, -1, 204, -1, 206, -1,
- 207, -1, 208, -1, 219, -1, 185, -1, 186, -1,
- 187, -1, 188, -1, 209, -1, 222, -1, 181, -1,
- 183, -1, 223, -1, 228, -1, 229, -1, 230, -1,
- 157, -1, 193, -1, 237, -1, 238, -1, 182, -1,
- 233, -1, 169, -1, 152, -1, 177, -1, 220, -1,
- 226, -1, 210, -1, 221, -1, 240, -1, 241, -1,
- 158, -1, 147, -1, 168, -1, 213, -1, 148, -1,
- 154, -1, 155, -1, 178, -1, 179, -1, 239, -1,
- 212, -1, 214, -1, 215, -1, 149, -1, 242, -1,
- 197, -1, 218, -1, 170, -1, 184, -1, 224, -1,
- 225, -1, 227, -1, 232, -1, 180, -1, 234, -1,
- 235, -1, 236, -1, 189, -1, 192, -1, 216, -1,
- 217, -1, 190, -1, 211, -1, 231, -1, 171, -1,
- 163, -1, 164, -1, 165, -1, 166, -1, 167, -1,
- 243, -1, 244, -1, 245, -1, 191, -1, 198, -1,
- 38, -1, 140, 141, -1, -1, 246, -1, 247, -1,
- 248, -1, 250, -1, 249, -1, 44, -1, 143, 144,
- -1, -1, 251, -1, 252, -1, 253, -1, 254, -1,
- 13, 10, -1, 12, 10, -1, 76, 10, -1, 79,
- 10, -1, 96, 10, -1, 14, 10, -1, 16, 10,
- -1, 67, 10, -1, 15, 10, -1, 80, 10, -1,
- 81, 10, -1, 31, 10, -1, 60, 10, -1, 75,
- 10, -1, 17, 10, -1, 18, 10, -1, 19, 10,
- -1, 20, 10, -1, 122, 10, -1, 123, 10, -1,
- 124, 10, -1, 125, 10, -1, 126, 10, -1, 77,
- 10, -1, 66, 10, -1, 101, 10, -1, 121, 10,
- -1, 21, 10, -1, 22, 10, -1, 23, 10, -1,
- 24, 10, -1, 25, 10, -1, 68, 10, -1, 82,
- 10, -1, 83, 10, -1, 109, 10, -1, 54, 10,
- -1, 64, 10, -1, 55, 10, -1, 102, 10, -1,
- 48, 10, -1, 49, 10, -1, 50, 10, -1, 51,
- 10, -1, 113, 10, -1, 117, 10, -1, 118, 10,
- -1, 114, 10, -1, 61, 10, -1, 26, 10, -1,
- 27, 10, -1, 28, 10, -1, 98, 10, -1, 132,
- 10, -1, 29, 10, -1, 30, 10, -1, 32, 10,
- -1, 33, 10, -1, 35, 10, -1, 36, 10, -1,
- 34, 10, -1, 41, 10, -1, 42, 10, -1, 43,
- 10, -1, 52, 10, -1, 71, 10, -1, 119, 10,
- -1, 85, 10, -1, 78, 10, -1, 86, 10, -1,
- 87, 10, -1, 115, 10, -1, 116, 10, -1, 100,
- 10, -1, 47, 10, -1, 69, 10, -1, 72, 10,
- 10, -1, 53, 10, -1, 56, 10, -1, 105, 10,
- -1, 106, 10, -1, 70, 10, -1, 107, 10, -1,
- 57, 10, -1, 58, 10, -1, 59, 10, -1, 120,
- 10, -1, 108, 10, -1, 65, 10, -1, 111, 10,
- -1, 112, 10, -1, 110, 10, -1, 62, 10, -1,
- 63, 10, -1, 84, 10, -1, 73, 10, 10, -1,
- 74, 10, -1, 97, 10, -1, 129, 10, -1, 130,
- 10, -1, 131, 10, -1, 37, 10, -1, 39, 10,
- -1, 40, 10, -1, 128, 10, -1, 99, 10, -1,
- 37, 10, -1, 45, 10, -1, 46, 10, -1, 127,
- 10, -1, 88, -1, 256, 257, -1, -1, 258, -1,
- 260, -1, 259, -1, 261, -1, 262, -1, 263, -1,
- 264, -1, 89, 10, -1, 91, 10, -1, 90, 10,
- -1, 92, 10, -1, 93, 10, -1, 94, 10, -1,
- 95, 10, -1, 103, -1, 266, 267, -1, -1, 268,
- -1, 104, 10, -1
+ 150, 0, -1, -1, 150, 151, -1, 152, 153, -1,
+ 155, 156, -1, 158, 159, -1, 299, 300, -1, 274,
+ 275, -1, 284, 285, -1, 11, -1, 153, 154, -1,
+ -1, 161, -1, 162, -1, 166, -1, 169, -1, 175,
+ -1, 176, -1, 177, -1, 178, -1, 167, -1, 188,
+ -1, 189, -1, 190, -1, 191, -1, 192, -1, 210,
+ -1, 211, -1, 212, -1, 216, -1, 217, -1, 172,
+ -1, 218, -1, 219, -1, 222, -1, 220, -1, 221,
+ -1, 223, -1, 224, -1, 225, -1, 236, -1, 201,
+ -1, 202, -1, 203, -1, 204, -1, 226, -1, 239,
+ -1, 197, -1, 199, -1, 240, -1, 245, -1, 246,
+ -1, 247, -1, 173, -1, 209, -1, 254, -1, 255,
+ -1, 198, -1, 250, -1, 185, -1, 168, -1, 193,
+ -1, 237, -1, 243, -1, 227, -1, 238, -1, 257,
+ -1, 258, -1, 174, -1, 163, -1, 184, -1, 230,
+ -1, 164, -1, 170, -1, 171, -1, 194, -1, 195,
+ -1, 256, -1, 229, -1, 231, -1, 232, -1, 165,
+ -1, 259, -1, 213, -1, 235, -1, 186, -1, 200,
+ -1, 241, -1, 242, -1, 244, -1, 249, -1, 196,
+ -1, 251, -1, 252, -1, 253, -1, 205, -1, 208,
+ -1, 233, -1, 234, -1, 206, -1, 228, -1, 248,
+ -1, 187, -1, 179, -1, 180, -1, 181, -1, 182,
+ -1, 183, -1, 260, -1, 261, -1, 262, -1, 207,
+ -1, 214, -1, 215, -1, 263, -1, 264, -1, 38,
+ -1, 156, 157, -1, -1, 265, -1, 266, -1, 267,
+ -1, 269, -1, 268, -1, 44, -1, 159, 160, -1,
+ -1, 270, -1, 271, -1, 272, -1, 273, -1, 13,
+ 10, -1, 12, 10, -1, 76, 10, -1, 79, 10,
+ -1, 96, 10, -1, 14, 10, -1, 16, 10, -1,
+ 67, 10, -1, 15, 10, -1, 80, 10, -1, 81,
+ 10, -1, 31, 10, -1, 60, 10, -1, 75, 10,
+ -1, 17, 10, -1, 18, 10, -1, 19, 10, -1,
+ 20, 10, -1, 122, 10, -1, 123, 10, -1, 124,
+ 10, -1, 125, 10, -1, 126, 10, -1, 77, 10,
+ -1, 66, 10, -1, 101, 10, -1, 121, 10, -1,
+ 21, 10, -1, 22, 10, -1, 23, 10, -1, 24,
+ 10, -1, 25, 10, -1, 68, 10, -1, 82, 10,
+ -1, 83, 10, -1, 109, 10, -1, 54, 10, -1,
+ 64, 10, -1, 55, 10, -1, 102, 10, -1, 48,
+ 10, -1, 49, 10, -1, 50, 10, -1, 51, 10,
+ -1, 113, 10, -1, 117, 10, -1, 118, 10, -1,
+ 114, 10, -1, 61, 10, -1, 26, 10, -1, 27,
+ 10, -1, 28, 10, -1, 98, 10, -1, 132, 10,
+ -1, 133, 10, -1, 29, 10, -1, 30, 10, -1,
+ 32, 10, -1, 33, 10, -1, 35, 10, -1, 36,
+ 10, -1, 34, 10, -1, 41, 10, -1, 42, 10,
+ -1, 43, 10, -1, 52, 10, -1, 71, 10, -1,
+ 119, 10, -1, 85, 10, -1, 78, 10, -1, 86,
+ 10, -1, 87, 10, -1, 115, 10, -1, 116, 10,
+ -1, 100, 10, -1, 47, 10, -1, 69, 10, -1,
+ 72, 10, 10, -1, 53, 10, -1, 56, 10, -1,
+ 105, 10, -1, 106, 10, -1, 70, 10, -1, 107,
+ 10, -1, 57, 10, -1, 58, 10, -1, 59, 10,
+ -1, 120, 10, -1, 108, 10, -1, 65, 10, -1,
+ 111, 10, -1, 112, 10, -1, 110, 10, -1, 62,
+ 10, -1, 63, 10, -1, 84, 10, -1, 73, 10,
+ 10, -1, 74, 10, -1, 97, 10, -1, 129, 10,
+ -1, 130, 10, -1, 131, 10, -1, 134, 10, -1,
+ 135, 10, -1, 37, 10, -1, 39, 10, -1, 40,
+ 10, -1, 128, 10, -1, 99, 10, -1, 37, 10,
+ -1, 45, 10, -1, 46, 10, -1, 127, 10, -1,
+ 88, -1, 275, 276, -1, -1, 277, -1, 279, -1,
+ 278, -1, 280, -1, 281, -1, 282, -1, 283, -1,
+ 89, 10, -1, 91, 10, -1, 90, 10, -1, 92,
+ 10, -1, 93, 10, -1, 94, 10, -1, 95, 10,
+ -1, 136, -1, 285, 286, -1, -1, 287, -1, 288,
+ -1, 289, -1, 290, -1, 291, -1, 292, -1, 293,
+ -1, 294, -1, 295, -1, 296, -1, 297, -1, 298,
+ -1, 137, 10, -1, 138, 10, -1, 139, 10, -1,
+ 140, 10, -1, 141, 10, -1, 142, 10, -1, 143,
+ 10, -1, 144, 10, -1, 145, 10, -1, 146, 10,
+ -1, 147, 10, -1, 148, 10, -1, 103, -1, 300,
+ 301, -1, -1, 302, -1, 104, 10, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 111, 111, 111, 112, 112, 113, 113, 114, 118,
- 123, 124, 125, 125, 125, 126, 126, 127, 127, 127,
- 128, 128, 128, 129, 129, 129, 130, 130, 131, 131,
- 132, 132, 133, 133, 134, 134, 135, 135, 136, 136,
- 137, 137, 138, 138, 138, 139, 139, 139, 140, 140,
- 140, 141, 141, 142, 142, 143, 143, 144, 144, 145,
- 145, 145, 146, 146, 147, 147, 148, 148, 148, 149,
- 149, 150, 150, 151, 151, 152, 152, 152, 153, 153,
- 154, 154, 155, 155, 156, 156, 157, 157, 158, 158,
- 158, 159, 159, 160, 160, 160, 161, 161, 161, 162,
- 162, 162, 163, 163, 163, 164, 164, 164, 165, 165,
- 165, 166, 166, 168, 180, 181, 182, 182, 182, 182,
- 182, 184, 196, 197, 198, 198, 198, 198, 200, 209,
- 218, 229, 238, 247, 256, 269, 284, 293, 302, 311,
- 320, 329, 338, 347, 356, 365, 374, 383, 392, 399,
- 406, 415, 424, 438, 447, 456, 463, 470, 477, 485,
- 492, 499, 506, 513, 521, 529, 537, 544, 551, 560,
- 569, 576, 583, 591, 599, 609, 622, 633, 641, 654,
- 663, 672, 681, 689, 702, 711, 719, 728, 736, 749,
- 756, 766, 776, 786, 796, 806, 816, 826, 833, 840,
- 849, 858, 867, 874, 884, 901, 908, 926, 939, 952,
- 961, 970, 979, 989, 999, 1008, 1017, 1024, 1033, 1042,
- 1051, 1059, 1072, 1080, 1102, 1109, 1124, 1134, 1144, 1151,
- 1161, 1168, 1175, 1184, 1194, 1204, 1211, 1218, 1227, 1232,
- 1233, 1234, 1234, 1234, 1235, 1235, 1235, 1236, 1238, 1248,
- 1257, 1264, 1271, 1278, 1285, 1292, 1297, 1298, 1299, 1301
+ 0, 121, 121, 121, 122, 122, 123, 123, 124, 124,
+ 128, 133, 134, 135, 135, 135, 136, 136, 137, 137,
+ 137, 138, 138, 138, 139, 139, 139, 140, 140, 141,
+ 141, 142, 142, 143, 143, 144, 144, 145, 145, 146,
+ 146, 147, 147, 148, 148, 148, 149, 149, 149, 150,
+ 150, 150, 151, 151, 152, 152, 153, 153, 154, 154,
+ 155, 155, 155, 156, 156, 157, 157, 158, 158, 158,
+ 159, 159, 160, 160, 161, 161, 162, 162, 162, 163,
+ 163, 164, 164, 165, 165, 166, 166, 167, 167, 168,
+ 168, 168, 169, 169, 170, 170, 170, 171, 171, 171,
+ 172, 172, 172, 173, 173, 173, 174, 174, 174, 175,
+ 175, 175, 176, 176, 176, 177, 177, 179, 191, 192,
+ 193, 193, 193, 193, 193, 195, 207, 208, 209, 209,
+ 209, 209, 211, 220, 229, 240, 249, 258, 267, 280,
+ 295, 304, 313, 322, 331, 340, 349, 358, 367, 376,
+ 385, 394, 403, 410, 417, 426, 435, 449, 458, 467,
+ 474, 481, 488, 496, 503, 510, 517, 524, 532, 540,
+ 548, 555, 562, 571, 580, 587, 594, 602, 610, 620,
+ 633, 644, 652, 665, 674, 683, 692, 702, 710, 723,
+ 732, 740, 749, 757, 770, 777, 787, 797, 807, 817,
+ 827, 837, 847, 854, 861, 870, 879, 888, 895, 905,
+ 922, 929, 947, 960, 973, 982, 991, 1000, 1010, 1020,
+ 1029, 1038, 1045, 1054, 1063, 1072, 1080, 1093, 1101, 1123,
+ 1130, 1145, 1155, 1165, 1172, 1179, 1188, 1198, 1205, 1212,
+ 1221, 1231, 1241, 1248, 1255, 1264, 1269, 1270, 1271, 1271,
+ 1271, 1272, 1272, 1272, 1273, 1275, 1285, 1294, 1301, 1308,
+ 1315, 1322, 1329, 1334, 1335, 1336, 1336, 1337, 1337, 1338,
+ 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1346, 1354, 1361,
+ 1369, 1377, 1384, 1391, 1400, 1409, 1418, 1427, 1436, 1445,
+ 1450, 1451, 1452, 1454
};
#endif
@@ -895,17 +945,26 @@ static const char *const yytname[] =
"VAR_SSL_UPSTREAM", "VAR_SSL_SERVICE_KEY", "VAR_SSL_SERVICE_PEM",
"VAR_SSL_PORT", "VAR_FORWARD_FIRST", "VAR_STUB_FIRST",
"VAR_MINIMAL_RESPONSES", "VAR_RRSET_ROUNDROBIN", "VAR_MAX_UDP_SIZE",
- "VAR_DELAY_CLOSE", "$accept", "toplevelvars", "toplevelvar",
- "serverstart", "contents_server", "content_server", "stubstart",
- "contents_stub", "content_stub", "forwardstart", "contents_forward",
- "content_forward", "server_num_threads", "server_verbosity",
- "server_statistics_interval", "server_statistics_cumulative",
- "server_extended_statistics", "server_port", "server_interface",
- "server_outgoing_interface", "server_outgoing_range",
- "server_outgoing_port_permit", "server_outgoing_port_avoid",
- "server_outgoing_num_tcp", "server_incoming_num_tcp",
- "server_interface_automatic", "server_do_ip4", "server_do_ip6",
- "server_do_udp", "server_do_tcp", "server_tcp_upstream",
+ "VAR_DELAY_CLOSE", "VAR_UNBLOCK_LAN_ZONES", "VAR_DNS64_PREFIX",
+ "VAR_DNS64_SYNTHALL", "VAR_DNSTAP", "VAR_DNSTAP_ENABLE",
+ "VAR_DNSTAP_SOCKET_PATH", "VAR_DNSTAP_SEND_IDENTITY",
+ "VAR_DNSTAP_SEND_VERSION", "VAR_DNSTAP_IDENTITY", "VAR_DNSTAP_VERSION",
+ "VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES",
+ "VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES",
+ "VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES",
+ "VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES",
+ "VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES",
+ "VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES", "$accept", "toplevelvars",
+ "toplevelvar", "serverstart", "contents_server", "content_server",
+ "stubstart", "contents_stub", "content_stub", "forwardstart",
+ "contents_forward", "content_forward", "server_num_threads",
+ "server_verbosity", "server_statistics_interval",
+ "server_statistics_cumulative", "server_extended_statistics",
+ "server_port", "server_interface", "server_outgoing_interface",
+ "server_outgoing_range", "server_outgoing_port_permit",
+ "server_outgoing_port_avoid", "server_outgoing_num_tcp",
+ "server_incoming_num_tcp", "server_interface_automatic", "server_do_ip4",
+ "server_do_ip6", "server_do_udp", "server_do_tcp", "server_tcp_upstream",
"server_ssl_upstream", "server_ssl_service_key",
"server_ssl_service_pem", "server_ssl_port", "server_do_daemonize",
"server_use_syslog", "server_log_time_ascii", "server_log_queries",
@@ -919,33 +978,42 @@ static const char *const yytname[] =
"server_edns_buffer_size", "server_msg_buffer_size",
"server_msg_cache_size", "server_msg_cache_slabs",
"server_num_queries_per_thread", "server_jostle_timeout",
- "server_delay_close", "server_rrset_cache_size",
- "server_rrset_cache_slabs", "server_infra_host_ttl",
- "server_infra_lame_ttl", "server_infra_cache_numhosts",
- "server_infra_cache_lame_size", "server_infra_cache_slabs",
- "server_target_fetch_policy", "server_harden_short_bufsize",
- "server_harden_large_queries", "server_harden_glue",
- "server_harden_dnssec_stripped", "server_harden_below_nxdomain",
- "server_harden_referral_path", "server_use_caps_for_id",
- "server_private_address", "server_private_domain", "server_prefetch",
- "server_prefetch_key", "server_unwanted_reply_threshold",
- "server_do_not_query_address", "server_do_not_query_localhost",
- "server_access_control", "server_module_conf",
- "server_val_override_date", "server_val_sig_skew_min",
- "server_val_sig_skew_max", "server_cache_max_ttl",
- "server_cache_min_ttl", "server_bogus_ttl",
+ "server_delay_close", "server_unblock_lan_zones",
+ "server_rrset_cache_size", "server_rrset_cache_slabs",
+ "server_infra_host_ttl", "server_infra_lame_ttl",
+ "server_infra_cache_numhosts", "server_infra_cache_lame_size",
+ "server_infra_cache_slabs", "server_target_fetch_policy",
+ "server_harden_short_bufsize", "server_harden_large_queries",
+ "server_harden_glue", "server_harden_dnssec_stripped",
+ "server_harden_below_nxdomain", "server_harden_referral_path",
+ "server_use_caps_for_id", "server_private_address",
+ "server_private_domain", "server_prefetch", "server_prefetch_key",
+ "server_unwanted_reply_threshold", "server_do_not_query_address",
+ "server_do_not_query_localhost", "server_access_control",
+ "server_module_conf", "server_val_override_date",
+ "server_val_sig_skew_min", "server_val_sig_skew_max",
+ "server_cache_max_ttl", "server_cache_min_ttl", "server_bogus_ttl",
"server_val_clean_additional", "server_val_permissive_mode",
"server_ignore_cd_flag", "server_val_log_level",
"server_val_nsec3_keysize_iterations", "server_add_holddown",
"server_del_holddown", "server_keep_missing", "server_key_cache_size",
"server_key_cache_slabs", "server_neg_cache_size", "server_local_zone",
"server_local_data", "server_local_data_ptr", "server_minimal_responses",
- "server_rrset_roundrobin", "server_max_udp_size", "stub_name",
- "stub_host", "stub_addr", "stub_first", "stub_prime", "forward_name",
- "forward_host", "forward_addr", "forward_first", "rcstart",
- "contents_rc", "content_rc", "rc_control_enable", "rc_control_port",
- "rc_control_interface", "rc_server_key_file", "rc_server_cert_file",
- "rc_control_key_file", "rc_control_cert_file", "pythonstart",
+ "server_rrset_roundrobin", "server_max_udp_size", "server_dns64_prefix",
+ "server_dns64_synthall", "stub_name", "stub_host", "stub_addr",
+ "stub_first", "stub_prime", "forward_name", "forward_host",
+ "forward_addr", "forward_first", "rcstart", "contents_rc", "content_rc",
+ "rc_control_enable", "rc_control_port", "rc_control_interface",
+ "rc_server_key_file", "rc_server_cert_file", "rc_control_key_file",
+ "rc_control_cert_file", "dtstart", "contents_dt", "content_dt",
+ "dt_dnstap_enable", "dt_dnstap_socket_path", "dt_dnstap_send_identity",
+ "dt_dnstap_send_version", "dt_dnstap_identity", "dt_dnstap_version",
+ "dt_dnstap_log_resolver_query_messages",
+ "dt_dnstap_log_resolver_response_messages",
+ "dt_dnstap_log_client_query_messages",
+ "dt_dnstap_log_client_response_messages",
+ "dt_dnstap_log_forwarder_query_messages",
+ "dt_dnstap_log_forwarder_response_messages", "pythonstart",
"contents_py", "content_py", "py_script", YY_NULL
};
#endif
@@ -968,46 +1036,51 @@ static const yytype_uint16 yytoknum[] =
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
- 385, 386, 387
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] =
{
- 0, 133, 134, 134, 135, 135, 135, 135, 135, 136,
- 137, 137, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 139, 140, 140, 141, 141, 141, 141,
- 141, 142, 143, 143, 144, 144, 144, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 256, 257, 257, 257, 257, 257, 257, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, 266, 266, 267, 268
+ 0, 149, 150, 150, 151, 151, 151, 151, 151, 151,
+ 152, 153, 153, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 155, 156, 156,
+ 157, 157, 157, 157, 157, 158, 159, 159, 160, 160,
+ 160, 160, 161, 162, 163, 164, 165, 166, 167, 168,
+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
+ 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
+ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 275, 275, 276, 276,
+ 276, 276, 276, 276, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 285, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 300, 301, 302
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
- 0, 2, 0, 2, 2, 2, 2, 2, 2, 1,
- 2, 0, 1, 1, 1, 1, 1, 1, 1, 1,
+ 0, 2, 0, 2, 2, 2, 2, 2, 2, 2,
+ 1, 2, 0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -1017,21 +1090,25 @@ static const yytype_uint8 yyr2[] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 2, 0, 1, 1, 1, 1,
- 1, 1, 2, 0, 1, 1, 1, 1, 2, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 0,
+ 1, 1, 1, 1, 1, 1, 2, 0, 1, 1,
+ 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 3, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 3, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 1, 2,
- 0, 1, 1, 1, 1, 1, 1, 1, 2, 2,
- 2, 2, 2, 2, 2, 1, 2, 0, 1, 2
+ 2, 2, 2, 2, 2, 1, 2, 0, 1, 1,
+ 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
+ 2, 2, 1, 2, 0, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
+ 2, 0, 1, 2
};
/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
@@ -1039,9 +1116,9 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 2, 0, 1, 9, 113, 121, 238, 255, 3, 11,
- 115, 123, 240, 257, 4, 5, 6, 8, 7, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 1, 10, 117, 125, 245, 289, 262, 3,
+ 12, 119, 127, 247, 264, 291, 4, 5, 6, 8,
+ 9, 7, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1051,115 +1128,129 @@ static const yytype_uint16 yydefact[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 10, 12, 13, 69, 72, 81, 14, 20, 60, 15,
- 73, 74, 31, 53, 68, 16, 17, 18, 19, 103,
- 104, 105, 106, 107, 70, 59, 85, 102, 21, 22,
- 23, 24, 25, 61, 75, 76, 91, 47, 57, 48,
- 86, 41, 42, 43, 44, 95, 99, 111, 96, 54,
- 26, 27, 28, 83, 112, 29, 30, 32, 33, 35,
- 36, 34, 37, 38, 39, 45, 64, 100, 78, 71,
- 79, 80, 97, 98, 84, 40, 62, 65, 46, 49,
- 87, 88, 63, 89, 50, 51, 52, 101, 90, 58,
- 92, 93, 94, 55, 56, 77, 66, 67, 82, 108,
- 109, 110, 0, 0, 0, 0, 0, 114, 116, 117,
- 118, 120, 119, 0, 0, 0, 0, 122, 124, 125,
- 126, 127, 0, 0, 0, 0, 0, 0, 0, 239,
- 241, 243, 242, 244, 245, 246, 247, 0, 256, 258,
- 129, 128, 133, 136, 134, 142, 143, 144, 145, 155,
- 156, 157, 158, 159, 177, 178, 179, 182, 183, 139,
- 184, 185, 188, 186, 187, 189, 190, 191, 202, 168,
- 169, 170, 171, 192, 205, 164, 166, 206, 211, 212,
- 213, 140, 176, 220, 221, 165, 216, 152, 135, 160,
- 203, 209, 193, 0, 0, 224, 141, 130, 151, 196,
- 131, 137, 138, 161, 162, 222, 195, 197, 198, 132,
- 225, 180, 201, 153, 167, 207, 208, 210, 215, 163,
- 219, 217, 218, 172, 175, 199, 200, 173, 174, 194,
- 214, 154, 146, 147, 148, 149, 150, 226, 227, 228,
- 181, 229, 230, 231, 233, 232, 234, 235, 236, 237,
- 248, 250, 249, 251, 252, 253, 254, 259, 204, 223
+ 0, 0, 0, 0, 0, 0, 11, 13, 14, 70,
+ 73, 82, 15, 21, 61, 16, 74, 75, 32, 54,
+ 69, 17, 18, 19, 20, 104, 105, 106, 107, 108,
+ 71, 60, 86, 103, 22, 23, 24, 25, 26, 62,
+ 76, 77, 92, 48, 58, 49, 87, 42, 43, 44,
+ 45, 96, 100, 112, 97, 55, 27, 28, 29, 84,
+ 113, 114, 30, 31, 33, 34, 36, 37, 35, 38,
+ 39, 40, 46, 65, 101, 79, 72, 80, 81, 98,
+ 99, 85, 41, 63, 66, 47, 50, 88, 89, 64,
+ 90, 51, 52, 53, 102, 91, 59, 93, 94, 95,
+ 56, 57, 78, 67, 68, 83, 109, 110, 111, 115,
+ 116, 0, 0, 0, 0, 0, 118, 120, 121, 122,
+ 124, 123, 0, 0, 0, 0, 126, 128, 129, 130,
+ 131, 0, 0, 0, 0, 0, 0, 0, 246, 248,
+ 250, 249, 251, 252, 253, 254, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 263, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 0, 290, 292, 133, 132, 137, 140, 138, 146,
+ 147, 148, 149, 159, 160, 161, 162, 163, 181, 182,
+ 183, 187, 188, 143, 189, 190, 193, 191, 192, 194,
+ 195, 196, 207, 172, 173, 174, 175, 197, 210, 168,
+ 170, 211, 216, 217, 218, 144, 180, 225, 226, 169,
+ 221, 156, 139, 164, 208, 214, 198, 0, 0, 229,
+ 145, 134, 155, 201, 135, 141, 142, 165, 166, 227,
+ 200, 202, 203, 136, 230, 184, 206, 157, 171, 212,
+ 213, 215, 220, 167, 224, 222, 223, 176, 179, 204,
+ 205, 177, 178, 199, 219, 158, 150, 151, 152, 153,
+ 154, 231, 232, 233, 185, 186, 234, 235, 236, 237,
+ 238, 240, 239, 241, 242, 243, 244, 255, 257, 256,
+ 258, 259, 260, 261, 277, 278, 279, 280, 281, 282,
+ 283, 284, 285, 286, 287, 288, 293, 209, 228
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 1, 8, 9, 14, 120, 10, 15, 227, 11,
- 16, 237, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 228, 229, 230, 231, 232, 238, 239,
- 240, 241, 12, 17, 249, 250, 251, 252, 253, 254,
- 255, 256, 13, 18, 258, 259
+ -1, 1, 9, 10, 16, 126, 11, 17, 236, 12,
+ 18, 246, 127, 128, 129, 130, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 237, 238, 239, 240,
+ 241, 247, 248, 249, 250, 13, 19, 258, 259, 260,
+ 261, 262, 263, 264, 265, 14, 20, 278, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 15, 21, 292, 293
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -80
+#define YYPACT_NINF -123
static const yytype_int16 yypact[] =
{
- -80, 115, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -12, 39, 46, 38, -79, 16,
- 17, 18, 22, 23, 24, 67, 70, 71, 72, 77,
- 106, 111, 112, 113, 114, 124, 125, 126, 127, 129,
- 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
- 140, 141, 142, 144, 145, 146, 147, 148, 150, 151,
- 152, 153, 154, 155, 156, 158, 159, 160, 161, 162,
- 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
- 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 189, 190, 191, 192, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 209, 210, 211, 212, 213, 214, 215,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, 216, 217, 218, 219, 220, -80, -80, -80,
- -80, -80, -80, 221, 222, 223, 224, -80, -80, -80,
- -80, -80, 225, 226, 227, 228, 229, 230, 231, -80,
- -80, -80, -80, -80, -80, -80, -80, 232, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, 233, 234, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80
+ -123, 0, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, 92, -36, -32, -62,
+ -122, -102, -4, -3, -2, -1, 2, 24, 25, 26,
+ 27, 29, 30, 31, 32, 33, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 79, 80,
+ 81, 83, 84, 86, 87, 88, 89, 90, 91, 119,
+ 120, 121, 122, 127, 128, 170, 171, 172, 173, 174,
+ 175, 176, 177, 181, 185, 186, 209, 210, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, 236, 237, 238, 239, 240, -123, -123, -123, -123,
+ -123, -123, 241, 242, 243, 244, -123, -123, -123, -123,
+ -123, 245, 246, 247, 248, 249, 250, 251, -123, -123,
+ -123, -123, -123, -123, -123, -123, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, 264, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, 265, 266, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int8 yypgoto[] =
{
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ -123, -123, -123, -123
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -1168,86 +1259,91 @@ static const yytype_int8 yypgoto[] =
#define YYTABLE_NINF -1
static const yytype_uint16 yytable[] =
{
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 257, 260, 261, 262, 44,
- 45, 46, 263, 264, 265, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, 87, 222, 266, 223, 224,
- 267, 268, 269, 233, 88, 89, 90, 270, 91, 92,
- 93, 234, 235, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 2, 271, 116, 117, 118,
- 119, 272, 273, 274, 275, 0, 3, 242, 243, 244,
- 245, 246, 247, 248, 276, 277, 278, 279, 225, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 4, 294, 295, 296, 297, 298, 5,
- 299, 300, 301, 302, 303, 304, 305, 226, 306, 307,
- 308, 309, 310, 236, 311, 312, 313, 314, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
- 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, 339, 6, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 350, 351, 352, 353, 7, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 377, 378, 379
+ 2, 231, 291, 232, 233, 242, 294, 295, 296, 297,
+ 0, 3, 298, 243, 244, 266, 267, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 251, 252, 253,
+ 254, 255, 256, 257, 299, 300, 301, 302, 4, 303,
+ 304, 305, 306, 307, 5, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
+ 323, 324, 325, 234, 326, 327, 328, 329, 330, 331,
+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 344, 345, 346, 347, 348, 349, 6, 350,
+ 351, 352, 235, 353, 354, 245, 355, 356, 357, 358,
+ 359, 360, 0, 7, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 361,
+ 362, 363, 364, 47, 48, 49, 8, 365, 366, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ 367, 368, 369, 370, 371, 372, 373, 374, 91, 92,
+ 93, 375, 94, 95, 96, 376, 377, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 378,
+ 379, 119, 120, 121, 122, 123, 124, 125, 380, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428
};
-#define yypact_value_is_default(yystate) \
- ((yystate) == (-80))
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-123)))
-#define yytable_value_is_error(yytable_value) \
+#define yytable_value_is_error(Yytable_value) \
YYID (0)
static const yytype_int16 yycheck[] =
{
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 104, 10, 10, 10, 41,
- 42, 43, 10, 10, 10, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, 87, 37, 10, 39, 40,
- 10, 10, 10, 37, 96, 97, 98, 10, 100, 101,
- 102, 45, 46, 105, 106, 107, 108, 109, 110, 111,
- 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
- 122, 123, 124, 125, 126, 0, 10, 129, 130, 131,
- 132, 10, 10, 10, 10, -1, 11, 89, 90, 91,
- 92, 93, 94, 95, 10, 10, 10, 10, 99, 10,
+ 0, 37, 104, 39, 40, 37, 10, 10, 10, 10,
+ -1, 11, 10, 45, 46, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 89, 90, 91,
+ 92, 93, 94, 95, 10, 10, 10, 10, 38, 10,
+ 10, 10, 10, 10, 44, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 99, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 38, 10, 10, 10, 10, 10, 44,
- 10, 10, 10, 10, 10, 10, 10, 128, 10, 10,
- 10, 10, 10, 127, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 88, 10,
+ 10, 10, 128, 10, 10, 127, 10, 10, 10, 10,
+ 10, 10, -1, 103, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 10,
+ 10, 10, 10, 41, 42, 43, 136, 10, 10, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 10, 10, 10, 10, 10, 10, 10, 10, 96, 97,
+ 98, 10, 100, 101, 102, 10, 10, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 10,
+ 10, 129, 130, 131, 132, 133, 134, 135, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 88, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 10, 10, 10, 10, 103, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 10
+ 10, 10, 10, 10, 10, 10, 10
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint16 yystos[] =
{
- 0, 134, 0, 11, 38, 44, 88, 103, 135, 136,
- 139, 142, 255, 265, 137, 140, 143, 256, 266, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 41, 42, 43, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 96, 97,
- 98, 100, 101, 102, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 129, 130, 131, 132,
- 138, 145, 146, 147, 148, 149, 150, 151, 152, 153,
- 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 0, 150, 0, 11, 38, 44, 88, 103, 136, 151,
+ 152, 155, 158, 274, 284, 299, 153, 156, 159, 275,
+ 285, 300, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 41, 42, 43,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 96, 97, 98, 100, 101, 102, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 129,
+ 130, 131, 132, 133, 134, 135, 154, 161, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
@@ -1256,10 +1352,16 @@ static const yytype_uint16 yystos[] =
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
- 244, 245, 37, 39, 40, 99, 128, 141, 246, 247,
- 248, 249, 250, 37, 45, 46, 127, 144, 251, 252,
- 253, 254, 89, 90, 91, 92, 93, 94, 95, 257,
- 258, 259, 260, 261, 262, 263, 264, 104, 267, 268,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 37, 39, 40, 99, 128, 157, 265, 266, 267,
+ 268, 269, 37, 45, 46, 127, 160, 270, 271, 272,
+ 273, 89, 90, 91, 92, 93, 94, 95, 276, 277,
+ 278, 279, 280, 281, 282, 283, 137, 138, 139, 140,
+ 141, 142, 143, 144, 145, 146, 147, 148, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 104, 301, 302, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
@@ -1271,7 +1373,7 @@ static const yytype_uint16 yystos[] =
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
+ 10, 10, 10, 10, 10, 10, 10, 10, 10
};
#define yyerrok (yyerrstatus = 0)
@@ -1318,47 +1420,18 @@ do \
} \
while (YYID (0))
-
+/* Error token number */
#define YYTERROR 1
#define YYERRCODE 256
-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
- If N is 0, then set CURRENT to the empty location which ends
- the previous symbol: RHS[0] (always defined). */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N) \
- do \
- if (YYID (N)) \
- { \
- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
- } \
- else \
- { \
- (Current).first_line = (Current).last_line = \
- YYRHSLOC (Rhs, 0).last_line; \
- (Current).first_column = (Current).last_column = \
- YYRHSLOC (Rhs, 0).last_column; \
- } \
- while (YYID (0))
-#endif
-
-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
-
-
/* This macro is provided for backward compatibility. */
-
#ifndef YY_LOCATION_PRINT
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
#endif
/* YYLEX -- calling `yylex' with the right arguments. */
-
#ifdef YYLEX_PARAM
# define YYLEX yylex (YYLEX_PARAM)
#else
@@ -1421,7 +1494,7 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep)
switch (yytype)
{
default:
- break;
+ break;
}
}
@@ -1663,7 +1736,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
{
YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
- YYSIZE_T yysize1;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = YY_NULL;
@@ -1726,11 +1798,13 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
break;
}
yyarg[yycount++] = yytname[yyx];
- yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
- if (! (yysize <= yysize1
- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
+ {
+ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
+ if (! (yysize <= yysize1
+ && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
}
}
}
@@ -1750,10 +1824,12 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
# undef YYCASE_
}
- yysize1 = yysize + yystrlen (yyformat);
- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
+ {
+ YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
+ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
if (*yymsg_alloc < yysize)
{
@@ -1813,7 +1889,7 @@ yydestruct (yymsg, yytype, yyvaluep)
{
default:
- break;
+ break;
}
}
@@ -1823,8 +1899,17 @@ yydestruct (yymsg, yytype, yyvaluep)
/* The lookahead symbol. */
int yychar;
+
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
/* The semantic value of the lookahead symbol. */
-YYSTYPE yylval;
+YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
/* Number of syntax errors so far. */
int yynerrs;
@@ -1882,7 +1967,7 @@ yyparse ()
int yyn;
int yyresult;
/* Lookahead token as an internal (translated) token number. */
- int yytoken;
+ int yytoken = 0;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
@@ -1900,9 +1985,8 @@ yyparse ()
Keep to zero when no symbol should be popped. */
int yylen = 0;
- yytoken = 0;
- yyss = yyssa;
- yyvs = yyvsa;
+ yyssp = yyss = yyssa;
+ yyvsp = yyvs = yyvsa;
yystacksize = YYINITDEPTH;
YYDPRINTF ((stderr, "Starting parse\n"));
@@ -1911,13 +1995,6 @@ yyparse ()
yyerrstatus = 0;
yynerrs = 0;
yychar = YYEMPTY; /* Cause a token to be read. */
-
- /* Initialize stack pointers.
- Waste one element of value and location stack
- so that they stay on the same level as the state stack.
- The wasted elements are never initialized. */
- yyssp = yyss;
- yyvsp = yyvs;
goto yysetstate;
/*------------------------------------------------------------.
@@ -2058,7 +2135,9 @@ yybackup:
yychar = YYEMPTY;
yystate = yyn;
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
goto yynewstate;
@@ -2094,17 +2173,17 @@ yyreduce:
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
- case 9:
-/* Line 1787 of yacc.c */
-#line 119 "util/configparser.y"
+ case 10:
+/* Line 1792 of yacc.c */
+#line 129 "util/configparser.y"
{
OUTYY(("\nP(server:)\n"));
}
break;
- case 113:
-/* Line 1787 of yacc.c */
-#line 169 "util/configparser.y"
+ case 117:
+/* Line 1792 of yacc.c */
+#line 180 "util/configparser.y"
{
struct config_stub* s;
OUTYY(("\nP(stub_zone:)\n"));
@@ -2117,9 +2196,9 @@ yyreduce:
}
break;
- case 121:
-/* Line 1787 of yacc.c */
-#line 185 "util/configparser.y"
+ case 125:
+/* Line 1792 of yacc.c */
+#line 196 "util/configparser.y"
{
struct config_stub* s;
OUTYY(("\nP(forward_zone:)\n"));
@@ -2132,9 +2211,9 @@ yyreduce:
}
break;
- case 128:
-/* Line 1787 of yacc.c */
-#line 201 "util/configparser.y"
+ case 132:
+/* Line 1792 of yacc.c */
+#line 212 "util/configparser.y"
{
OUTYY(("P(server_num_threads:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2144,9 +2223,9 @@ yyreduce:
}
break;
- case 129:
-/* Line 1787 of yacc.c */
-#line 210 "util/configparser.y"
+ case 133:
+/* Line 1792 of yacc.c */
+#line 221 "util/configparser.y"
{
OUTYY(("P(server_verbosity:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2156,9 +2235,9 @@ yyreduce:
}
break;
- case 130:
-/* Line 1787 of yacc.c */
-#line 219 "util/configparser.y"
+ case 134:
+/* Line 1792 of yacc.c */
+#line 230 "util/configparser.y"
{
OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "") == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0)
@@ -2170,9 +2249,9 @@ yyreduce:
}
break;
- case 131:
-/* Line 1787 of yacc.c */
-#line 230 "util/configparser.y"
+ case 135:
+/* Line 1792 of yacc.c */
+#line 241 "util/configparser.y"
{
OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2182,9 +2261,9 @@ yyreduce:
}
break;
- case 132:
-/* Line 1787 of yacc.c */
-#line 239 "util/configparser.y"
+ case 136:
+/* Line 1792 of yacc.c */
+#line 250 "util/configparser.y"
{
OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2194,9 +2273,9 @@ yyreduce:
}
break;
- case 133:
-/* Line 1787 of yacc.c */
-#line 248 "util/configparser.y"
+ case 137:
+/* Line 1792 of yacc.c */
+#line 259 "util/configparser.y"
{
OUTYY(("P(server_port:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2206,9 +2285,9 @@ yyreduce:
}
break;
- case 134:
-/* Line 1787 of yacc.c */
-#line 257 "util/configparser.y"
+ case 138:
+/* Line 1792 of yacc.c */
+#line 268 "util/configparser.y"
{
OUTYY(("P(server_interface:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->num_ifs == 0)
@@ -2222,9 +2301,9 @@ yyreduce:
}
break;
- case 135:
-/* Line 1787 of yacc.c */
-#line 270 "util/configparser.y"
+ case 139:
+/* Line 1792 of yacc.c */
+#line 281 "util/configparser.y"
{
OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->num_out_ifs == 0)
@@ -2240,9 +2319,9 @@ yyreduce:
}
break;
- case 136:
-/* Line 1787 of yacc.c */
-#line 285 "util/configparser.y"
+ case 140:
+/* Line 1792 of yacc.c */
+#line 296 "util/configparser.y"
{
OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2252,9 +2331,9 @@ yyreduce:
}
break;
- case 137:
-/* Line 1787 of yacc.c */
-#line 294 "util/configparser.y"
+ case 141:
+/* Line 1792 of yacc.c */
+#line 305 "util/configparser.y"
{
OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 1,
@@ -2264,9 +2343,9 @@ yyreduce:
}
break;
- case 138:
-/* Line 1787 of yacc.c */
-#line 303 "util/configparser.y"
+ case 142:
+/* Line 1792 of yacc.c */
+#line 314 "util/configparser.y"
{
OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 0,
@@ -2276,9 +2355,9 @@ yyreduce:
}
break;
- case 139:
-/* Line 1787 of yacc.c */
-#line 312 "util/configparser.y"
+ case 143:
+/* Line 1792 of yacc.c */
+#line 323 "util/configparser.y"
{
OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2288,9 +2367,9 @@ yyreduce:
}
break;
- case 140:
-/* Line 1787 of yacc.c */
-#line 321 "util/configparser.y"
+ case 144:
+/* Line 1792 of yacc.c */
+#line 332 "util/configparser.y"
{
OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2300,9 +2379,9 @@ yyreduce:
}
break;
- case 141:
-/* Line 1787 of yacc.c */
-#line 330 "util/configparser.y"
+ case 145:
+/* Line 1792 of yacc.c */
+#line 341 "util/configparser.y"
{
OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2312,9 +2391,9 @@ yyreduce:
}
break;
- case 142:
-/* Line 1787 of yacc.c */
-#line 339 "util/configparser.y"
+ case 146:
+/* Line 1792 of yacc.c */
+#line 350 "util/configparser.y"
{
OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2324,9 +2403,9 @@ yyreduce:
}
break;
- case 143:
-/* Line 1787 of yacc.c */
-#line 348 "util/configparser.y"
+ case 147:
+/* Line 1792 of yacc.c */
+#line 359 "util/configparser.y"
{
OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2336,9 +2415,9 @@ yyreduce:
}
break;
- case 144:
-/* Line 1787 of yacc.c */
-#line 357 "util/configparser.y"
+ case 148:
+/* Line 1792 of yacc.c */
+#line 368 "util/configparser.y"
{
OUTYY(("P(server_do_udp:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2348,9 +2427,9 @@ yyreduce:
}
break;
- case 145:
-/* Line 1787 of yacc.c */
-#line 366 "util/configparser.y"
+ case 149:
+/* Line 1792 of yacc.c */
+#line 377 "util/configparser.y"
{
OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2360,9 +2439,9 @@ yyreduce:
}
break;
- case 146:
-/* Line 1787 of yacc.c */
-#line 375 "util/configparser.y"
+ case 150:
+/* Line 1792 of yacc.c */
+#line 386 "util/configparser.y"
{
OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2372,9 +2451,9 @@ yyreduce:
}
break;
- case 147:
-/* Line 1787 of yacc.c */
-#line 384 "util/configparser.y"
+ case 151:
+/* Line 1792 of yacc.c */
+#line 395 "util/configparser.y"
{
OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2384,9 +2463,9 @@ yyreduce:
}
break;
- case 148:
-/* Line 1787 of yacc.c */
-#line 393 "util/configparser.y"
+ case 152:
+/* Line 1792 of yacc.c */
+#line 404 "util/configparser.y"
{
OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->ssl_service_key);
@@ -2394,9 +2473,9 @@ yyreduce:
}
break;
- case 149:
-/* Line 1787 of yacc.c */
-#line 400 "util/configparser.y"
+ case 153:
+/* Line 1792 of yacc.c */
+#line 411 "util/configparser.y"
{
OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->ssl_service_pem);
@@ -2404,9 +2483,9 @@ yyreduce:
}
break;
- case 150:
-/* Line 1787 of yacc.c */
-#line 407 "util/configparser.y"
+ case 154:
+/* Line 1792 of yacc.c */
+#line 418 "util/configparser.y"
{
OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2416,9 +2495,9 @@ yyreduce:
}
break;
- case 151:
-/* Line 1787 of yacc.c */
-#line 416 "util/configparser.y"
+ case 155:
+/* Line 1792 of yacc.c */
+#line 427 "util/configparser.y"
{
OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2428,9 +2507,9 @@ yyreduce:
}
break;
- case 152:
-/* Line 1787 of yacc.c */
-#line 425 "util/configparser.y"
+ case 156:
+/* Line 1792 of yacc.c */
+#line 436 "util/configparser.y"
{
OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2445,9 +2524,9 @@ yyreduce:
}
break;
- case 153:
-/* Line 1787 of yacc.c */
-#line 439 "util/configparser.y"
+ case 157:
+/* Line 1792 of yacc.c */
+#line 450 "util/configparser.y"
{
OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2457,9 +2536,9 @@ yyreduce:
}
break;
- case 154:
-/* Line 1787 of yacc.c */
-#line 448 "util/configparser.y"
+ case 158:
+/* Line 1792 of yacc.c */
+#line 459 "util/configparser.y"
{
OUTYY(("P(server_log_queries:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2469,9 +2548,9 @@ yyreduce:
}
break;
- case 155:
-/* Line 1787 of yacc.c */
-#line 457 "util/configparser.y"
+ case 159:
+/* Line 1792 of yacc.c */
+#line 468 "util/configparser.y"
{
OUTYY(("P(server_chroot:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->chrootdir);
@@ -2479,9 +2558,9 @@ yyreduce:
}
break;
- case 156:
-/* Line 1787 of yacc.c */
-#line 464 "util/configparser.y"
+ case 160:
+/* Line 1792 of yacc.c */
+#line 475 "util/configparser.y"
{
OUTYY(("P(server_username:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->username);
@@ -2489,9 +2568,9 @@ yyreduce:
}
break;
- case 157:
-/* Line 1787 of yacc.c */
-#line 471 "util/configparser.y"
+ case 161:
+/* Line 1792 of yacc.c */
+#line 482 "util/configparser.y"
{
OUTYY(("P(server_directory:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->directory);
@@ -2499,9 +2578,9 @@ yyreduce:
}
break;
- case 158:
-/* Line 1787 of yacc.c */
-#line 478 "util/configparser.y"
+ case 162:
+/* Line 1792 of yacc.c */
+#line 489 "util/configparser.y"
{
OUTYY(("P(server_logfile:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->logfile);
@@ -2510,9 +2589,9 @@ yyreduce:
}
break;
- case 159:
-/* Line 1787 of yacc.c */
-#line 486 "util/configparser.y"
+ case 163:
+/* Line 1792 of yacc.c */
+#line 497 "util/configparser.y"
{
OUTYY(("P(server_pidfile:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->pidfile);
@@ -2520,9 +2599,9 @@ yyreduce:
}
break;
- case 160:
-/* Line 1787 of yacc.c */
-#line 493 "util/configparser.y"
+ case 164:
+/* Line 1792 of yacc.c */
+#line 504 "util/configparser.y"
{
OUTYY(("P(server_root_hints:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[(2) - (2)].str)))
@@ -2530,9 +2609,9 @@ yyreduce:
}
break;
- case 161:
-/* Line 1787 of yacc.c */
-#line 500 "util/configparser.y"
+ case 165:
+/* Line 1792 of yacc.c */
+#line 511 "util/configparser.y"
{
OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dlv_anchor_file);
@@ -2540,9 +2619,9 @@ yyreduce:
}
break;
- case 162:
-/* Line 1787 of yacc.c */
-#line 507 "util/configparser.y"
+ case 166:
+/* Line 1792 of yacc.c */
+#line 518 "util/configparser.y"
{
OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->dlv_anchor_list, (yyvsp[(2) - (2)].str)))
@@ -2550,9 +2629,9 @@ yyreduce:
}
break;
- case 163:
-/* Line 1787 of yacc.c */
-#line 514 "util/configparser.y"
+ case 167:
+/* Line 1792 of yacc.c */
+#line 525 "util/configparser.y"
{
OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->
@@ -2561,9 +2640,9 @@ yyreduce:
}
break;
- case 164:
-/* Line 1787 of yacc.c */
-#line 522 "util/configparser.y"
+ case 168:
+/* Line 1792 of yacc.c */
+#line 533 "util/configparser.y"
{
OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->
@@ -2572,9 +2651,9 @@ yyreduce:
}
break;
- case 165:
-/* Line 1787 of yacc.c */
-#line 530 "util/configparser.y"
+ case 169:
+/* Line 1792 of yacc.c */
+#line 541 "util/configparser.y"
{
OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->
@@ -2583,9 +2662,9 @@ yyreduce:
}
break;
- case 166:
-/* Line 1787 of yacc.c */
-#line 538 "util/configparser.y"
+ case 170:
+/* Line 1792 of yacc.c */
+#line 549 "util/configparser.y"
{
OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[(2) - (2)].str)))
@@ -2593,9 +2672,9 @@ yyreduce:
}
break;
- case 167:
-/* Line 1787 of yacc.c */
-#line 545 "util/configparser.y"
+ case 171:
+/* Line 1792 of yacc.c */
+#line 556 "util/configparser.y"
{
OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[(2) - (2)].str)))
@@ -2603,9 +2682,9 @@ yyreduce:
}
break;
- case 168:
-/* Line 1787 of yacc.c */
-#line 552 "util/configparser.y"
+ case 172:
+/* Line 1792 of yacc.c */
+#line 563 "util/configparser.y"
{
OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2615,9 +2694,9 @@ yyreduce:
}
break;
- case 169:
-/* Line 1787 of yacc.c */
-#line 561 "util/configparser.y"
+ case 173:
+/* Line 1792 of yacc.c */
+#line 572 "util/configparser.y"
{
OUTYY(("P(server_hide_version:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2627,9 +2706,9 @@ yyreduce:
}
break;
- case 170:
-/* Line 1787 of yacc.c */
-#line 570 "util/configparser.y"
+ case 174:
+/* Line 1792 of yacc.c */
+#line 581 "util/configparser.y"
{
OUTYY(("P(server_identity:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->identity);
@@ -2637,9 +2716,9 @@ yyreduce:
}
break;
- case 171:
-/* Line 1787 of yacc.c */
-#line 577 "util/configparser.y"
+ case 175:
+/* Line 1792 of yacc.c */
+#line 588 "util/configparser.y"
{
OUTYY(("P(server_version:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->version);
@@ -2647,9 +2726,9 @@ yyreduce:
}
break;
- case 172:
-/* Line 1787 of yacc.c */
-#line 584 "util/configparser.y"
+ case 176:
+/* Line 1792 of yacc.c */
+#line 595 "util/configparser.y"
{
OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_rcvbuf))
@@ -2658,9 +2737,9 @@ yyreduce:
}
break;
- case 173:
-/* Line 1787 of yacc.c */
-#line 592 "util/configparser.y"
+ case 177:
+/* Line 1792 of yacc.c */
+#line 603 "util/configparser.y"
{
OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_sndbuf))
@@ -2669,9 +2748,9 @@ yyreduce:
}
break;
- case 174:
-/* Line 1787 of yacc.c */
-#line 600 "util/configparser.y"
+ case 178:
+/* Line 1792 of yacc.c */
+#line 611 "util/configparser.y"
{
OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2682,9 +2761,9 @@ yyreduce:
}
break;
- case 175:
-/* Line 1787 of yacc.c */
-#line 610 "util/configparser.y"
+ case 179:
+/* Line 1792 of yacc.c */
+#line 621 "util/configparser.y"
{
OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2698,9 +2777,9 @@ yyreduce:
}
break;
- case 176:
-/* Line 1787 of yacc.c */
-#line 623 "util/configparser.y"
+ case 180:
+/* Line 1792 of yacc.c */
+#line 634 "util/configparser.y"
{
OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2712,9 +2791,9 @@ yyreduce:
}
break;
- case 177:
-/* Line 1787 of yacc.c */
-#line 634 "util/configparser.y"
+ case 181:
+/* Line 1792 of yacc.c */
+#line 645 "util/configparser.y"
{
OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->msg_cache_size))
@@ -2723,9 +2802,9 @@ yyreduce:
}
break;
- case 178:
-/* Line 1787 of yacc.c */
-#line 642 "util/configparser.y"
+ case 182:
+/* Line 1792 of yacc.c */
+#line 653 "util/configparser.y"
{
OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2739,9 +2818,9 @@ yyreduce:
}
break;
- case 179:
-/* Line 1787 of yacc.c */
-#line 655 "util/configparser.y"
+ case 183:
+/* Line 1792 of yacc.c */
+#line 666 "util/configparser.y"
{
OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2751,9 +2830,9 @@ yyreduce:
}
break;
- case 180:
-/* Line 1787 of yacc.c */
-#line 664 "util/configparser.y"
+ case 184:
+/* Line 1792 of yacc.c */
+#line 675 "util/configparser.y"
{
OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2763,9 +2842,9 @@ yyreduce:
}
break;
- case 181:
-/* Line 1787 of yacc.c */
-#line 673 "util/configparser.y"
+ case 185:
+/* Line 1792 of yacc.c */
+#line 684 "util/configparser.y"
{
OUTYY(("P(server_delay_close:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2775,9 +2854,22 @@ yyreduce:
}
break;
- case 182:
-/* Line 1787 of yacc.c */
-#line 682 "util/configparser.y"
+ case 186:
+/* Line 1792 of yacc.c */
+#line 693 "util/configparser.y"
+ {
+ OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->unblock_lan_zones =
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
+ }
+ break;
+
+ case 187:
+/* Line 1792 of yacc.c */
+#line 703 "util/configparser.y"
{
OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->rrset_cache_size))
@@ -2786,9 +2878,9 @@ yyreduce:
}
break;
- case 183:
-/* Line 1787 of yacc.c */
-#line 690 "util/configparser.y"
+ case 188:
+/* Line 1792 of yacc.c */
+#line 711 "util/configparser.y"
{
OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2802,9 +2894,9 @@ yyreduce:
}
break;
- case 184:
-/* Line 1787 of yacc.c */
-#line 703 "util/configparser.y"
+ case 189:
+/* Line 1792 of yacc.c */
+#line 724 "util/configparser.y"
{
OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2814,9 +2906,9 @@ yyreduce:
}
break;
- case 185:
-/* Line 1787 of yacc.c */
-#line 712 "util/configparser.y"
+ case 190:
+/* Line 1792 of yacc.c */
+#line 733 "util/configparser.y"
{
OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
verbose(VERB_DETAIL, "ignored infra-lame-ttl: %s (option "
@@ -2825,9 +2917,9 @@ yyreduce:
}
break;
- case 186:
-/* Line 1787 of yacc.c */
-#line 720 "util/configparser.y"
+ case 191:
+/* Line 1792 of yacc.c */
+#line 741 "util/configparser.y"
{
OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2837,9 +2929,9 @@ yyreduce:
}
break;
- case 187:
-/* Line 1787 of yacc.c */
-#line 729 "util/configparser.y"
+ case 192:
+/* Line 1792 of yacc.c */
+#line 750 "util/configparser.y"
{
OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[(2) - (2)].str)));
verbose(VERB_DETAIL, "ignored infra-cache-lame-size: %s "
@@ -2848,9 +2940,9 @@ yyreduce:
}
break;
- case 188:
-/* Line 1787 of yacc.c */
-#line 737 "util/configparser.y"
+ case 193:
+/* Line 1792 of yacc.c */
+#line 758 "util/configparser.y"
{
OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2864,9 +2956,9 @@ yyreduce:
}
break;
- case 189:
-/* Line 1787 of yacc.c */
-#line 750 "util/configparser.y"
+ case 194:
+/* Line 1792 of yacc.c */
+#line 771 "util/configparser.y"
{
OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->target_fetch_policy);
@@ -2874,9 +2966,9 @@ yyreduce:
}
break;
- case 190:
-/* Line 1787 of yacc.c */
-#line 757 "util/configparser.y"
+ case 195:
+/* Line 1792 of yacc.c */
+#line 778 "util/configparser.y"
{
OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2887,9 +2979,9 @@ yyreduce:
}
break;
- case 191:
-/* Line 1787 of yacc.c */
-#line 767 "util/configparser.y"
+ case 196:
+/* Line 1792 of yacc.c */
+#line 788 "util/configparser.y"
{
OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2900,9 +2992,9 @@ yyreduce:
}
break;
- case 192:
-/* Line 1787 of yacc.c */
-#line 777 "util/configparser.y"
+ case 197:
+/* Line 1792 of yacc.c */
+#line 798 "util/configparser.y"
{
OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2913,9 +3005,9 @@ yyreduce:
}
break;
- case 193:
-/* Line 1787 of yacc.c */
-#line 787 "util/configparser.y"
+ case 198:
+/* Line 1792 of yacc.c */
+#line 808 "util/configparser.y"
{
OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2926,9 +3018,9 @@ yyreduce:
}
break;
- case 194:
-/* Line 1787 of yacc.c */
-#line 797 "util/configparser.y"
+ case 199:
+/* Line 1792 of yacc.c */
+#line 818 "util/configparser.y"
{
OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2939,9 +3031,9 @@ yyreduce:
}
break;
- case 195:
-/* Line 1787 of yacc.c */
-#line 807 "util/configparser.y"
+ case 200:
+/* Line 1792 of yacc.c */
+#line 828 "util/configparser.y"
{
OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2952,9 +3044,9 @@ yyreduce:
}
break;
- case 196:
-/* Line 1787 of yacc.c */
-#line 817 "util/configparser.y"
+ case 201:
+/* Line 1792 of yacc.c */
+#line 838 "util/configparser.y"
{
OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2965,9 +3057,9 @@ yyreduce:
}
break;
- case 197:
-/* Line 1787 of yacc.c */
-#line 827 "util/configparser.y"
+ case 202:
+/* Line 1792 of yacc.c */
+#line 848 "util/configparser.y"
{
OUTYY(("P(server_private_address:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[(2) - (2)].str)))
@@ -2975,9 +3067,9 @@ yyreduce:
}
break;
- case 198:
-/* Line 1787 of yacc.c */
-#line 834 "util/configparser.y"
+ case 203:
+/* Line 1792 of yacc.c */
+#line 855 "util/configparser.y"
{
OUTYY(("P(server_private_domain:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[(2) - (2)].str)))
@@ -2985,9 +3077,9 @@ yyreduce:
}
break;
- case 199:
-/* Line 1787 of yacc.c */
-#line 841 "util/configparser.y"
+ case 204:
+/* Line 1792 of yacc.c */
+#line 862 "util/configparser.y"
{
OUTYY(("P(server_prefetch:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2997,9 +3089,9 @@ yyreduce:
}
break;
- case 200:
-/* Line 1787 of yacc.c */
-#line 850 "util/configparser.y"
+ case 205:
+/* Line 1792 of yacc.c */
+#line 871 "util/configparser.y"
{
OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3009,9 +3101,9 @@ yyreduce:
}
break;
- case 201:
-/* Line 1787 of yacc.c */
-#line 859 "util/configparser.y"
+ case 206:
+/* Line 1792 of yacc.c */
+#line 880 "util/configparser.y"
{
OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3021,9 +3113,9 @@ yyreduce:
}
break;
- case 202:
-/* Line 1787 of yacc.c */
-#line 868 "util/configparser.y"
+ case 207:
+/* Line 1792 of yacc.c */
+#line 889 "util/configparser.y"
{
OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[(2) - (2)].str)))
@@ -3031,9 +3123,9 @@ yyreduce:
}
break;
- case 203:
-/* Line 1787 of yacc.c */
-#line 875 "util/configparser.y"
+ case 208:
+/* Line 1792 of yacc.c */
+#line 896 "util/configparser.y"
{
OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3044,9 +3136,9 @@ yyreduce:
}
break;
- case 204:
-/* Line 1787 of yacc.c */
-#line 885 "util/configparser.y"
+ case 209:
+/* Line 1792 of yacc.c */
+#line 906 "util/configparser.y"
{
OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
if(strcmp((yyvsp[(3) - (3)].str), "deny")!=0 && strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 &&
@@ -3064,9 +3156,9 @@ yyreduce:
}
break;
- case 205:
-/* Line 1787 of yacc.c */
-#line 902 "util/configparser.y"
+ case 210:
+/* Line 1792 of yacc.c */
+#line 923 "util/configparser.y"
{
OUTYY(("P(server_module_conf:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->module_conf);
@@ -3074,9 +3166,9 @@ yyreduce:
}
break;
- case 206:
-/* Line 1787 of yacc.c */
-#line 909 "util/configparser.y"
+ case 211:
+/* Line 1792 of yacc.c */
+#line 930 "util/configparser.y"
{
OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[(2) - (2)].str)));
if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
@@ -3095,9 +3187,9 @@ yyreduce:
}
break;
- case 207:
-/* Line 1787 of yacc.c */
-#line 927 "util/configparser.y"
+ case 212:
+/* Line 1792 of yacc.c */
+#line 948 "util/configparser.y"
{
OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[(2) - (2)].str)));
if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
@@ -3111,9 +3203,9 @@ yyreduce:
}
break;
- case 208:
-/* Line 1787 of yacc.c */
-#line 940 "util/configparser.y"
+ case 213:
+/* Line 1792 of yacc.c */
+#line 961 "util/configparser.y"
{
OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[(2) - (2)].str)));
if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
@@ -3127,9 +3219,9 @@ yyreduce:
}
break;
- case 209:
-/* Line 1787 of yacc.c */
-#line 953 "util/configparser.y"
+ case 214:
+/* Line 1792 of yacc.c */
+#line 974 "util/configparser.y"
{
OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3139,9 +3231,9 @@ yyreduce:
}
break;
- case 210:
-/* Line 1787 of yacc.c */
-#line 962 "util/configparser.y"
+ case 215:
+/* Line 1792 of yacc.c */
+#line 983 "util/configparser.y"
{
OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3151,9 +3243,9 @@ yyreduce:
}
break;
- case 211:
-/* Line 1787 of yacc.c */
-#line 971 "util/configparser.y"
+ case 216:
+/* Line 1792 of yacc.c */
+#line 992 "util/configparser.y"
{
OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3163,9 +3255,9 @@ yyreduce:
}
break;
- case 212:
-/* Line 1787 of yacc.c */
-#line 980 "util/configparser.y"
+ case 217:
+/* Line 1792 of yacc.c */
+#line 1001 "util/configparser.y"
{
OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3176,9 +3268,9 @@ yyreduce:
}
break;
- case 213:
-/* Line 1787 of yacc.c */
-#line 990 "util/configparser.y"
+ case 218:
+/* Line 1792 of yacc.c */
+#line 1011 "util/configparser.y"
{
OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3189,9 +3281,9 @@ yyreduce:
}
break;
- case 214:
-/* Line 1787 of yacc.c */
-#line 1000 "util/configparser.y"
+ case 219:
+/* Line 1792 of yacc.c */
+#line 1021 "util/configparser.y"
{
OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3201,9 +3293,9 @@ yyreduce:
}
break;
- case 215:
-/* Line 1787 of yacc.c */
-#line 1009 "util/configparser.y"
+ case 220:
+/* Line 1792 of yacc.c */
+#line 1030 "util/configparser.y"
{
OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3213,9 +3305,9 @@ yyreduce:
}
break;
- case 216:
-/* Line 1787 of yacc.c */
-#line 1018 "util/configparser.y"
+ case 221:
+/* Line 1792 of yacc.c */
+#line 1039 "util/configparser.y"
{
OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->val_nsec3_key_iterations);
@@ -3223,9 +3315,9 @@ yyreduce:
}
break;
- case 217:
-/* Line 1787 of yacc.c */
-#line 1025 "util/configparser.y"
+ case 222:
+/* Line 1792 of yacc.c */
+#line 1046 "util/configparser.y"
{
OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3235,9 +3327,9 @@ yyreduce:
}
break;
- case 218:
-/* Line 1787 of yacc.c */
-#line 1034 "util/configparser.y"
+ case 223:
+/* Line 1792 of yacc.c */
+#line 1055 "util/configparser.y"
{
OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3247,9 +3339,9 @@ yyreduce:
}
break;
- case 219:
-/* Line 1787 of yacc.c */
-#line 1043 "util/configparser.y"
+ case 224:
+/* Line 1792 of yacc.c */
+#line 1064 "util/configparser.y"
{
OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3259,9 +3351,9 @@ yyreduce:
}
break;
- case 220:
-/* Line 1787 of yacc.c */
-#line 1052 "util/configparser.y"
+ case 225:
+/* Line 1792 of yacc.c */
+#line 1073 "util/configparser.y"
{
OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->key_cache_size))
@@ -3270,9 +3362,9 @@ yyreduce:
}
break;
- case 221:
-/* Line 1787 of yacc.c */
-#line 1060 "util/configparser.y"
+ case 226:
+/* Line 1792 of yacc.c */
+#line 1081 "util/configparser.y"
{
OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -3286,9 +3378,9 @@ yyreduce:
}
break;
- case 222:
-/* Line 1787 of yacc.c */
-#line 1073 "util/configparser.y"
+ case 227:
+/* Line 1792 of yacc.c */
+#line 1094 "util/configparser.y"
{
OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->neg_cache_size))
@@ -3297,9 +3389,9 @@ yyreduce:
}
break;
- case 223:
-/* Line 1787 of yacc.c */
-#line 1081 "util/configparser.y"
+ case 228:
+/* Line 1792 of yacc.c */
+#line 1102 "util/configparser.y"
{
OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
if(strcmp((yyvsp[(3) - (3)].str), "static")!=0 && strcmp((yyvsp[(3) - (3)].str), "deny")!=0 &&
@@ -3322,9 +3414,9 @@ yyreduce:
}
break;
- case 224:
-/* Line 1787 of yacc.c */
-#line 1103 "util/configparser.y"
+ case 229:
+/* Line 1792 of yacc.c */
+#line 1124 "util/configparser.y"
{
OUTYY(("P(server_local_data:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[(2) - (2)].str)))
@@ -3332,9 +3424,9 @@ yyreduce:
}
break;
- case 225:
-/* Line 1787 of yacc.c */
-#line 1110 "util/configparser.y"
+ case 230:
+/* Line 1792 of yacc.c */
+#line 1131 "util/configparser.y"
{
char* ptr;
OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str)));
@@ -3350,9 +3442,9 @@ yyreduce:
}
break;
- case 226:
-/* Line 1787 of yacc.c */
-#line 1125 "util/configparser.y"
+ case 231:
+/* Line 1792 of yacc.c */
+#line 1146 "util/configparser.y"
{
OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3363,9 +3455,9 @@ yyreduce:
}
break;
- case 227:
-/* Line 1787 of yacc.c */
-#line 1135 "util/configparser.y"
+ case 232:
+/* Line 1792 of yacc.c */
+#line 1156 "util/configparser.y"
{
OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3376,9 +3468,9 @@ yyreduce:
}
break;
- case 228:
-/* Line 1787 of yacc.c */
-#line 1145 "util/configparser.y"
+ case 233:
+/* Line 1792 of yacc.c */
+#line 1166 "util/configparser.y"
{
OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[(2) - (2)].str)));
cfg_parser->cfg->max_udp_size = atoi((yyvsp[(2) - (2)].str));
@@ -3386,9 +3478,31 @@ yyreduce:
}
break;
- case 229:
-/* Line 1787 of yacc.c */
-#line 1152 "util/configparser.y"
+ case 234:
+/* Line 1792 of yacc.c */
+#line 1173 "util/configparser.y"
+ {
+ OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[(2) - (2)].str)));
+ free(cfg_parser->cfg->dns64_prefix);
+ cfg_parser->cfg->dns64_prefix = (yyvsp[(2) - (2)].str);
+ }
+ break;
+
+ case 235:
+/* Line 1792 of yacc.c */
+#line 1180 "util/configparser.y"
+ {
+ OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
+ }
+ break;
+
+ case 236:
+/* Line 1792 of yacc.c */
+#line 1189 "util/configparser.y"
{
OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->stubs->name)
@@ -3399,9 +3513,9 @@ yyreduce:
}
break;
- case 230:
-/* Line 1787 of yacc.c */
-#line 1162 "util/configparser.y"
+ case 237:
+/* Line 1792 of yacc.c */
+#line 1199 "util/configparser.y"
{
OUTYY(("P(stub-host:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[(2) - (2)].str)))
@@ -3409,9 +3523,9 @@ yyreduce:
}
break;
- case 231:
-/* Line 1787 of yacc.c */
-#line 1169 "util/configparser.y"
+ case 238:
+/* Line 1792 of yacc.c */
+#line 1206 "util/configparser.y"
{
OUTYY(("P(stub-addr:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[(2) - (2)].str)))
@@ -3419,9 +3533,9 @@ yyreduce:
}
break;
- case 232:
-/* Line 1787 of yacc.c */
-#line 1176 "util/configparser.y"
+ case 239:
+/* Line 1792 of yacc.c */
+#line 1213 "util/configparser.y"
{
OUTYY(("P(stub-first:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3431,9 +3545,9 @@ yyreduce:
}
break;
- case 233:
-/* Line 1787 of yacc.c */
-#line 1185 "util/configparser.y"
+ case 240:
+/* Line 1792 of yacc.c */
+#line 1222 "util/configparser.y"
{
OUTYY(("P(stub-prime:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3444,9 +3558,9 @@ yyreduce:
}
break;
- case 234:
-/* Line 1787 of yacc.c */
-#line 1195 "util/configparser.y"
+ case 241:
+/* Line 1792 of yacc.c */
+#line 1232 "util/configparser.y"
{
OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->forwards->name)
@@ -3457,9 +3571,9 @@ yyreduce:
}
break;
- case 235:
-/* Line 1787 of yacc.c */
-#line 1205 "util/configparser.y"
+ case 242:
+/* Line 1792 of yacc.c */
+#line 1242 "util/configparser.y"
{
OUTYY(("P(forward-host:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[(2) - (2)].str)))
@@ -3467,9 +3581,9 @@ yyreduce:
}
break;
- case 236:
-/* Line 1787 of yacc.c */
-#line 1212 "util/configparser.y"
+ case 243:
+/* Line 1792 of yacc.c */
+#line 1249 "util/configparser.y"
{
OUTYY(("P(forward-addr:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[(2) - (2)].str)))
@@ -3477,9 +3591,9 @@ yyreduce:
}
break;
- case 237:
-/* Line 1787 of yacc.c */
-#line 1219 "util/configparser.y"
+ case 244:
+/* Line 1792 of yacc.c */
+#line 1256 "util/configparser.y"
{
OUTYY(("P(forward-first:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3489,17 +3603,17 @@ yyreduce:
}
break;
- case 238:
-/* Line 1787 of yacc.c */
-#line 1228 "util/configparser.y"
+ case 245:
+/* Line 1792 of yacc.c */
+#line 1265 "util/configparser.y"
{
OUTYY(("\nP(remote-control:)\n"));
}
break;
- case 248:
-/* Line 1787 of yacc.c */
-#line 1239 "util/configparser.y"
+ case 255:
+/* Line 1792 of yacc.c */
+#line 1276 "util/configparser.y"
{
OUTYY(("P(control_enable:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3510,9 +3624,9 @@ yyreduce:
}
break;
- case 249:
-/* Line 1787 of yacc.c */
-#line 1249 "util/configparser.y"
+ case 256:
+/* Line 1792 of yacc.c */
+#line 1286 "util/configparser.y"
{
OUTYY(("P(control_port:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -3522,9 +3636,9 @@ yyreduce:
}
break;
- case 250:
-/* Line 1787 of yacc.c */
-#line 1258 "util/configparser.y"
+ case 257:
+/* Line 1792 of yacc.c */
+#line 1295 "util/configparser.y"
{
OUTYY(("P(control_interface:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->control_ifs, (yyvsp[(2) - (2)].str)))
@@ -3532,9 +3646,9 @@ yyreduce:
}
break;
- case 251:
-/* Line 1787 of yacc.c */
-#line 1265 "util/configparser.y"
+ case 258:
+/* Line 1792 of yacc.c */
+#line 1302 "util/configparser.y"
{
OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->server_key_file);
@@ -3542,9 +3656,9 @@ yyreduce:
}
break;
- case 252:
-/* Line 1787 of yacc.c */
-#line 1272 "util/configparser.y"
+ case 259:
+/* Line 1792 of yacc.c */
+#line 1309 "util/configparser.y"
{
OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->server_cert_file);
@@ -3552,9 +3666,9 @@ yyreduce:
}
break;
- case 253:
-/* Line 1787 of yacc.c */
-#line 1279 "util/configparser.y"
+ case 260:
+/* Line 1792 of yacc.c */
+#line 1316 "util/configparser.y"
{
OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->control_key_file);
@@ -3562,9 +3676,9 @@ yyreduce:
}
break;
- case 254:
-/* Line 1787 of yacc.c */
-#line 1286 "util/configparser.y"
+ case 261:
+/* Line 1792 of yacc.c */
+#line 1323 "util/configparser.y"
{
OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->control_cert_file);
@@ -3572,17 +3686,160 @@ yyreduce:
}
break;
- case 255:
-/* Line 1787 of yacc.c */
-#line 1293 "util/configparser.y"
+ case 262:
+/* Line 1792 of yacc.c */
+#line 1330 "util/configparser.y"
+ {
+ OUTYY(("\nP(dnstap:)\n"));
+ }
+ break;
+
+ case 277:
+/* Line 1792 of yacc.c */
+#line 1347 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 278:
+/* Line 1792 of yacc.c */
+#line 1355 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[(2) - (2)].str)));
+ free(cfg_parser->cfg->dnstap_socket_path);
+ cfg_parser->cfg->dnstap_socket_path = (yyvsp[(2) - (2)].str);
+ }
+ break;
+
+ case 279:
+/* Line 1792 of yacc.c */
+#line 1362 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 280:
+/* Line 1792 of yacc.c */
+#line 1370 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 281:
+/* Line 1792 of yacc.c */
+#line 1378 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[(2) - (2)].str)));
+ free(cfg_parser->cfg->dnstap_identity);
+ cfg_parser->cfg->dnstap_identity = (yyvsp[(2) - (2)].str);
+ }
+ break;
+
+ case 282:
+/* Line 1792 of yacc.c */
+#line 1385 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[(2) - (2)].str)));
+ free(cfg_parser->cfg->dnstap_version);
+ cfg_parser->cfg->dnstap_version = (yyvsp[(2) - (2)].str);
+ }
+ break;
+
+ case 283:
+/* Line 1792 of yacc.c */
+#line 1392 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_log_resolver_query_messages =
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 284:
+/* Line 1792 of yacc.c */
+#line 1401 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_log_resolver_response_messages =
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 285:
+/* Line 1792 of yacc.c */
+#line 1410 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_log_client_query_messages =
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 286:
+/* Line 1792 of yacc.c */
+#line 1419 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_log_client_response_messages =
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 287:
+/* Line 1792 of yacc.c */
+#line 1428 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_log_forwarder_query_messages =
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 288:
+/* Line 1792 of yacc.c */
+#line 1437 "util/configparser.y"
+ {
+ OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->dnstap_log_forwarder_response_messages =
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ }
+ break;
+
+ case 289:
+/* Line 1792 of yacc.c */
+#line 1446 "util/configparser.y"
{
OUTYY(("\nP(python:)\n"));
}
break;
- case 259:
-/* Line 1787 of yacc.c */
-#line 1302 "util/configparser.y"
+ case 293:
+/* Line 1792 of yacc.c */
+#line 1455 "util/configparser.y"
{
OUTYY(("P(python-script:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->python_script);
@@ -3591,8 +3848,8 @@ yyreduce:
break;
-/* Line 1787 of yacc.c */
-#line 3596 "util/configparser.c"
+/* Line 1792 of yacc.c */
+#line 3853 "util/configparser.c"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -3755,7 +4012,9 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
/* Shift the error token. */
@@ -3821,9 +4080,8 @@ yyreturn:
}
-/* Line 2048 of yacc.c */
-#line 1307 "util/configparser.y"
+/* Line 2055 of yacc.c */
+#line 1460 "util/configparser.y"
/* parse helper routines could be here */
-
OpenPOWER on IntegriCloud