summaryrefslogtreecommitdiffstats
path: root/contrib/unbound/util/configparser.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/unbound/util/configparser.c')
-rw-r--r--contrib/unbound/util/configparser.c4928
1 files changed, 1740 insertions, 3188 deletions
diff --git a/contrib/unbound/util/configparser.c b/contrib/unbound/util/configparser.c
index 70de0cc..1f89d57 100644
--- a/contrib/unbound/util/configparser.c
+++ b/contrib/unbound/util/configparser.c
@@ -1,70 +1,21 @@
-/* A Bison parser, made by GNU Bison 2.6.1. */
-
-/* Bison implementation for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* As a special exception, you may create a larger work that contains
- part or all of the Bison parser skeleton and distribute that work
- under terms of your choice, so long as that work isn't itself a
- parser generator using the skeleton or a modified version thereof
- as a parser skeleton. Alternatively, if you modify or redistribute
- the parser skeleton itself, you may (at your option) remove this
- special exception, which will cause the skeleton and the resulting
- Bison output files to be licensed under the GNU General Public
- License without this special exception.
-
- This special exception was added by the Free Software Foundation in
- version 2.2 of Bison. */
-
-/* C LALR(1) parser skeleton written by Richard Stallman, by
- simplifying the original so-called "semantic" parser. */
-
-/* All symbols defined below should begin with yy or YY, to avoid
- infringing on user name space. This should be done even for local
- variables, as they might otherwise be expanded by user macros.
- There are some unavoidable exceptions within include files to
- define necessary library symbols; they are noted "INFRINGES ON
- USER NAME SPACE" below. */
+#ifndef lint
+static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
+#endif
-/* Identify Bison output. */
-#define YYBISON 1
+#define YYBYACC 1
+#define YYMAJOR 1
+#define YYMINOR 9
-/* Bison version. */
-#define YYBISON_VERSION "2.6.1"
+#define YYEMPTY (-1)
+#define yyclearin (yychar = YYEMPTY)
+#define yyerrok (yyerrflag = 0)
+#define YYRECOVERING() (yyerrflag != 0)
-/* Skeleton name. */
-#define YYSKELETON_NAME "yacc.c"
+#define YYPREFIX "yy"
-/* Pure parsers. */
#define YYPURE 0
-/* Push parsers. */
-#define YYPUSH 0
-
-/* Pull parsers. */
-#define YYPULL 1
-
-
-
-
-/* Copy the first part of user declarations. */
-/* Line 336 of yacc.c */
-#line 38 "util/configparser.y"
-
+#line 39 "util/configparser.y"
#include "config.h"
#include <stdarg.h>
@@ -89,2010 +40,1023 @@ extern struct config_parser_state* cfg_parser;
#define OUTYY(s)
#endif
-
-/* Line 336 of yacc.c */
-#line 95 "util/configparser.c"
-
-# ifndef YY_NULL
-# if defined __cplusplus && 201103L <= __cplusplus
-# define YY_NULL nullptr
-# else
-# define YY_NULL 0
-# endif
-# endif
-
-/* Enabling verbose error messages. */
-#ifdef YYERROR_VERBOSE
-# undef YYERROR_VERBOSE
-# define YYERROR_VERBOSE 1
-#else
-# define YYERROR_VERBOSE 0
-#endif
-
-/* 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
-/* Enabling traces. */
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-#if YYDEBUG
-extern int yydebug;
-#endif
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- SPACE = 258,
- LETTER = 259,
- NEWLINE = 260,
- COMMENT = 261,
- COLON = 262,
- ANY = 263,
- ZONESTR = 264,
- STRING_ARG = 265,
- VAR_SERVER = 266,
- VAR_VERBOSITY = 267,
- VAR_NUM_THREADS = 268,
- VAR_PORT = 269,
- VAR_OUTGOING_RANGE = 270,
- VAR_INTERFACE = 271,
- VAR_DO_IP4 = 272,
- VAR_DO_IP6 = 273,
- VAR_DO_UDP = 274,
- VAR_DO_TCP = 275,
- VAR_CHROOT = 276,
- VAR_USERNAME = 277,
- VAR_DIRECTORY = 278,
- VAR_LOGFILE = 279,
- VAR_PIDFILE = 280,
- VAR_MSG_CACHE_SIZE = 281,
- VAR_MSG_CACHE_SLABS = 282,
- VAR_NUM_QUERIES_PER_THREAD = 283,
- VAR_RRSET_CACHE_SIZE = 284,
- VAR_RRSET_CACHE_SLABS = 285,
- VAR_OUTGOING_NUM_TCP = 286,
- VAR_INFRA_HOST_TTL = 287,
- VAR_INFRA_LAME_TTL = 288,
- VAR_INFRA_CACHE_SLABS = 289,
- VAR_INFRA_CACHE_NUMHOSTS = 290,
- VAR_INFRA_CACHE_LAME_SIZE = 291,
- VAR_NAME = 292,
- VAR_STUB_ZONE = 293,
- VAR_STUB_HOST = 294,
- VAR_STUB_ADDR = 295,
- VAR_TARGET_FETCH_POLICY = 296,
- VAR_HARDEN_SHORT_BUFSIZE = 297,
- VAR_HARDEN_LARGE_QUERIES = 298,
- VAR_FORWARD_ZONE = 299,
- VAR_FORWARD_HOST = 300,
- VAR_FORWARD_ADDR = 301,
- VAR_DO_NOT_QUERY_ADDRESS = 302,
- VAR_HIDE_IDENTITY = 303,
- VAR_HIDE_VERSION = 304,
- VAR_IDENTITY = 305,
- VAR_VERSION = 306,
- VAR_HARDEN_GLUE = 307,
- VAR_MODULE_CONF = 308,
- VAR_TRUST_ANCHOR_FILE = 309,
- VAR_TRUST_ANCHOR = 310,
- VAR_VAL_OVERRIDE_DATE = 311,
- VAR_BOGUS_TTL = 312,
- VAR_VAL_CLEAN_ADDITIONAL = 313,
- VAR_VAL_PERMISSIVE_MODE = 314,
- VAR_INCOMING_NUM_TCP = 315,
- VAR_MSG_BUFFER_SIZE = 316,
- VAR_KEY_CACHE_SIZE = 317,
- VAR_KEY_CACHE_SLABS = 318,
- VAR_TRUSTED_KEYS_FILE = 319,
- VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 320,
- VAR_USE_SYSLOG = 321,
- VAR_OUTGOING_INTERFACE = 322,
- VAR_ROOT_HINTS = 323,
- VAR_DO_NOT_QUERY_LOCALHOST = 324,
- VAR_CACHE_MAX_TTL = 325,
- VAR_HARDEN_DNSSEC_STRIPPED = 326,
- VAR_ACCESS_CONTROL = 327,
- VAR_LOCAL_ZONE = 328,
- VAR_LOCAL_DATA = 329,
- VAR_INTERFACE_AUTOMATIC = 330,
- VAR_STATISTICS_INTERVAL = 331,
- VAR_DO_DAEMONIZE = 332,
- VAR_USE_CAPS_FOR_ID = 333,
- VAR_STATISTICS_CUMULATIVE = 334,
- VAR_OUTGOING_PORT_PERMIT = 335,
- VAR_OUTGOING_PORT_AVOID = 336,
- VAR_DLV_ANCHOR_FILE = 337,
- VAR_DLV_ANCHOR = 338,
- VAR_NEG_CACHE_SIZE = 339,
- VAR_HARDEN_REFERRAL_PATH = 340,
- VAR_PRIVATE_ADDRESS = 341,
- VAR_PRIVATE_DOMAIN = 342,
- VAR_REMOTE_CONTROL = 343,
- VAR_CONTROL_ENABLE = 344,
- VAR_CONTROL_INTERFACE = 345,
- VAR_CONTROL_PORT = 346,
- VAR_SERVER_KEY_FILE = 347,
- VAR_SERVER_CERT_FILE = 348,
- VAR_CONTROL_KEY_FILE = 349,
- VAR_CONTROL_CERT_FILE = 350,
- VAR_EXTENDED_STATISTICS = 351,
- VAR_LOCAL_DATA_PTR = 352,
- VAR_JOSTLE_TIMEOUT = 353,
- VAR_STUB_PRIME = 354,
- VAR_UNWANTED_REPLY_THRESHOLD = 355,
- VAR_LOG_TIME_ASCII = 356,
- VAR_DOMAIN_INSECURE = 357,
- VAR_PYTHON = 358,
- VAR_PYTHON_SCRIPT = 359,
- VAR_VAL_SIG_SKEW_MIN = 360,
- VAR_VAL_SIG_SKEW_MAX = 361,
- VAR_CACHE_MIN_TTL = 362,
- VAR_VAL_LOG_LEVEL = 363,
- VAR_AUTO_TRUST_ANCHOR_FILE = 364,
- VAR_KEEP_MISSING = 365,
- VAR_ADD_HOLDDOWN = 366,
- VAR_DEL_HOLDDOWN = 367,
- VAR_SO_RCVBUF = 368,
- VAR_EDNS_BUFFER_SIZE = 369,
- VAR_PREFETCH = 370,
- VAR_PREFETCH_KEY = 371,
- VAR_SO_SNDBUF = 372,
- VAR_HARDEN_BELOW_NXDOMAIN = 373,
- VAR_IGNORE_CD_FLAG = 374,
- VAR_LOG_QUERIES = 375,
- VAR_TCP_UPSTREAM = 376,
- VAR_SSL_UPSTREAM = 377,
- VAR_SSL_SERVICE_KEY = 378,
- VAR_SSL_SERVICE_PEM = 379,
- VAR_SSL_PORT = 380,
- VAR_FORWARD_FIRST = 381,
- VAR_STUB_FIRST = 382,
- VAR_MINIMAL_RESPONSES = 383,
- VAR_RRSET_ROUNDROBIN = 384
- };
-#endif
-/* Tokens. */
-#define SPACE 258
-#define LETTER 259
-#define NEWLINE 260
-#define COMMENT 261
-#define COLON 262
-#define ANY 263
-#define ZONESTR 264
-#define STRING_ARG 265
-#define VAR_SERVER 266
-#define VAR_VERBOSITY 267
-#define VAR_NUM_THREADS 268
-#define VAR_PORT 269
-#define VAR_OUTGOING_RANGE 270
-#define VAR_INTERFACE 271
-#define VAR_DO_IP4 272
-#define VAR_DO_IP6 273
-#define VAR_DO_UDP 274
-#define VAR_DO_TCP 275
-#define VAR_CHROOT 276
-#define VAR_USERNAME 277
-#define VAR_DIRECTORY 278
-#define VAR_LOGFILE 279
-#define VAR_PIDFILE 280
-#define VAR_MSG_CACHE_SIZE 281
-#define VAR_MSG_CACHE_SLABS 282
-#define VAR_NUM_QUERIES_PER_THREAD 283
-#define VAR_RRSET_CACHE_SIZE 284
-#define VAR_RRSET_CACHE_SLABS 285
-#define VAR_OUTGOING_NUM_TCP 286
-#define VAR_INFRA_HOST_TTL 287
-#define VAR_INFRA_LAME_TTL 288
-#define VAR_INFRA_CACHE_SLABS 289
-#define VAR_INFRA_CACHE_NUMHOSTS 290
-#define VAR_INFRA_CACHE_LAME_SIZE 291
-#define VAR_NAME 292
-#define VAR_STUB_ZONE 293
-#define VAR_STUB_HOST 294
-#define VAR_STUB_ADDR 295
-#define VAR_TARGET_FETCH_POLICY 296
-#define VAR_HARDEN_SHORT_BUFSIZE 297
-#define VAR_HARDEN_LARGE_QUERIES 298
-#define VAR_FORWARD_ZONE 299
-#define VAR_FORWARD_HOST 300
-#define VAR_FORWARD_ADDR 301
-#define VAR_DO_NOT_QUERY_ADDRESS 302
-#define VAR_HIDE_IDENTITY 303
-#define VAR_HIDE_VERSION 304
-#define VAR_IDENTITY 305
-#define VAR_VERSION 306
-#define VAR_HARDEN_GLUE 307
-#define VAR_MODULE_CONF 308
-#define VAR_TRUST_ANCHOR_FILE 309
-#define VAR_TRUST_ANCHOR 310
-#define VAR_VAL_OVERRIDE_DATE 311
-#define VAR_BOGUS_TTL 312
-#define VAR_VAL_CLEAN_ADDITIONAL 313
-#define VAR_VAL_PERMISSIVE_MODE 314
-#define VAR_INCOMING_NUM_TCP 315
-#define VAR_MSG_BUFFER_SIZE 316
-#define VAR_KEY_CACHE_SIZE 317
-#define VAR_KEY_CACHE_SLABS 318
-#define VAR_TRUSTED_KEYS_FILE 319
-#define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 320
-#define VAR_USE_SYSLOG 321
-#define VAR_OUTGOING_INTERFACE 322
-#define VAR_ROOT_HINTS 323
-#define VAR_DO_NOT_QUERY_LOCALHOST 324
-#define VAR_CACHE_MAX_TTL 325
-#define VAR_HARDEN_DNSSEC_STRIPPED 326
-#define VAR_ACCESS_CONTROL 327
-#define VAR_LOCAL_ZONE 328
-#define VAR_LOCAL_DATA 329
-#define VAR_INTERFACE_AUTOMATIC 330
-#define VAR_STATISTICS_INTERVAL 331
-#define VAR_DO_DAEMONIZE 332
-#define VAR_USE_CAPS_FOR_ID 333
-#define VAR_STATISTICS_CUMULATIVE 334
-#define VAR_OUTGOING_PORT_PERMIT 335
-#define VAR_OUTGOING_PORT_AVOID 336
-#define VAR_DLV_ANCHOR_FILE 337
-#define VAR_DLV_ANCHOR 338
-#define VAR_NEG_CACHE_SIZE 339
-#define VAR_HARDEN_REFERRAL_PATH 340
-#define VAR_PRIVATE_ADDRESS 341
-#define VAR_PRIVATE_DOMAIN 342
-#define VAR_REMOTE_CONTROL 343
-#define VAR_CONTROL_ENABLE 344
-#define VAR_CONTROL_INTERFACE 345
-#define VAR_CONTROL_PORT 346
-#define VAR_SERVER_KEY_FILE 347
-#define VAR_SERVER_CERT_FILE 348
-#define VAR_CONTROL_KEY_FILE 349
-#define VAR_CONTROL_CERT_FILE 350
-#define VAR_EXTENDED_STATISTICS 351
-#define VAR_LOCAL_DATA_PTR 352
-#define VAR_JOSTLE_TIMEOUT 353
-#define VAR_STUB_PRIME 354
-#define VAR_UNWANTED_REPLY_THRESHOLD 355
-#define VAR_LOG_TIME_ASCII 356
-#define VAR_DOMAIN_INSECURE 357
-#define VAR_PYTHON 358
-#define VAR_PYTHON_SCRIPT 359
-#define VAR_VAL_SIG_SKEW_MIN 360
-#define VAR_VAL_SIG_SKEW_MAX 361
-#define VAR_CACHE_MIN_TTL 362
-#define VAR_VAL_LOG_LEVEL 363
-#define VAR_AUTO_TRUST_ANCHOR_FILE 364
-#define VAR_KEEP_MISSING 365
-#define VAR_ADD_HOLDDOWN 366
-#define VAR_DEL_HOLDDOWN 367
-#define VAR_SO_RCVBUF 368
-#define VAR_EDNS_BUFFER_SIZE 369
-#define VAR_PREFETCH 370
-#define VAR_PREFETCH_KEY 371
-#define VAR_SO_SNDBUF 372
-#define VAR_HARDEN_BELOW_NXDOMAIN 373
-#define VAR_IGNORE_CD_FLAG 374
-#define VAR_LOG_QUERIES 375
-#define VAR_TCP_UPSTREAM 376
-#define VAR_SSL_UPSTREAM 377
-#define VAR_SSL_SERVICE_KEY 378
-#define VAR_SSL_SERVICE_PEM 379
-#define VAR_SSL_PORT 380
-#define VAR_FORWARD_FIRST 381
-#define VAR_STUB_FIRST 382
-#define VAR_MINIMAL_RESPONSES 383
-#define VAR_RRSET_ROUNDROBIN 384
-
-
-
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
-{
-/* Line 350 of yacc.c */
#line 64 "util/configparser.y"
-
+#ifdef YYSTYPE
+#undef YYSTYPE_IS_DECLARED
+#define YYSTYPE_IS_DECLARED 1
+#endif
+#ifndef YYSTYPE_IS_DECLARED
+#define YYSTYPE_IS_DECLARED 1
+typedef union {
char* str;
-
-
-/* Line 350 of yacc.c */
-#line 401 "util/configparser.c"
} YYSTYPE;
-# define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-#endif
-
-extern YYSTYPE yylval;
+#endif /* !YYSTYPE_IS_DECLARED */
+#line 54 "util/configparser.c"
+/* compatibility with bison */
#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void *YYPARSE_PARAM);
-#else
-int yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
-
-#endif /* !YY_UTIL_CONFIGPARSER_H */
-
-/* Copy the second part of user declarations. */
-
-/* Line 353 of yacc.c */
-#line 429 "util/configparser.c"
-
-#ifdef short
-# undef short
-#endif
-
-#ifdef YYTYPE_UINT8
-typedef YYTYPE_UINT8 yytype_uint8;
-#else
-typedef unsigned char yytype_uint8;
-#endif
-
-#ifdef YYTYPE_INT8
-typedef YYTYPE_INT8 yytype_int8;
-#elif (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-typedef signed char yytype_int8;
-#else
-typedef short int yytype_int8;
-#endif
-
-#ifdef YYTYPE_UINT16
-typedef YYTYPE_UINT16 yytype_uint16;
-#else
-typedef unsigned short int yytype_uint16;
-#endif
-
-#ifdef YYTYPE_INT16
-typedef YYTYPE_INT16 yytype_int16;
-#else
-typedef short int yytype_int16;
-#endif
-
-#ifndef YYSIZE_T
-# ifdef __SIZE_TYPE__
-# define YYSIZE_T __SIZE_TYPE__
-# elif defined size_t
-# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
+/* compatibility with FreeBSD */
+# ifdef YYPARSE_PARAM_TYPE
+# define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM)
# else
-# define YYSIZE_T unsigned int
+# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM)
# endif
-#endif
-
-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
-
-#ifndef YY_
-# if defined YYENABLE_NLS && YYENABLE_NLS
-# if ENABLE_NLS
-# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-# define YY_(msgid) dgettext ("bison-runtime", msgid)
-# endif
-# endif
-# ifndef YY_
-# define YY_(msgid) msgid
-# endif
-#endif
-
-/* Suppress unused-variable warnings by "using" E. */
-#if ! defined lint || defined __GNUC__
-# define YYUSE(e) ((void) (e))
#else
-# define YYUSE(e) /* empty */
+# define YYPARSE_DECL() yyparse(void)
#endif
-/* Identity function, used to suppress warnings about constant conditions. */
-#ifndef lint
-# define YYID(n) (n)
-#else
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static int
-YYID (int yyi)
+/* Parameters sent to lex. */
+#ifdef YYLEX_PARAM
+# define YYLEX_DECL() yylex(void *YYLEX_PARAM)
+# define YYLEX yylex(YYLEX_PARAM)
#else
-static int
-YYID (yyi)
- int yyi;
-#endif
-{
- return yyi;
-}
+# define YYLEX_DECL() yylex(void)
+# define YYLEX yylex()
#endif
-#if ! defined yyoverflow || YYERROR_VERBOSE
-
-/* The parser invokes alloca or malloc; define the necessary symbols. */
-
-# ifdef YYSTACK_USE_ALLOCA
-# if YYSTACK_USE_ALLOCA
-# ifdef __GNUC__
-# define YYSTACK_ALLOC __builtin_alloca
-# elif defined __BUILTIN_VA_ARG_INCR
-# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
-# elif defined _AIX
-# define YYSTACK_ALLOC __alloca
-# elif defined _MSC_VER
-# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
-# define alloca _alloca
-# else
-# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
- /* Use EXIT_SUCCESS as a witness for stdlib.h. */
-# ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
-# endif
-# endif
-# endif
-# endif
-# endif
-
-# ifdef YYSTACK_ALLOC
- /* Pacify GCC's `empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
-# ifndef YYSTACK_ALLOC_MAXIMUM
- /* The OS might guarantee only one guard page at the bottom of the stack,
- and a page size can be as small as 4096 bytes. So we cannot safely
- invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
- to allow for a few compiler-allocated temporary stack slots. */
-# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
-# endif
-# else
-# define YYSTACK_ALLOC YYMALLOC
-# define YYSTACK_FREE YYFREE
-# ifndef YYSTACK_ALLOC_MAXIMUM
-# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
-# endif
-# if (defined __cplusplus && ! defined EXIT_SUCCESS \
- && ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
-# endif
-# endif
-# ifndef YYMALLOC
-# define YYMALLOC malloc
-# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# ifndef YYFREE
-# define YYFREE free
-# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-void free (void *); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# endif
-#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
-
-
-#if (! defined yyoverflow \
- && (! defined __cplusplus \
- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member. */
-union yyalloc
-{
- yytype_int16 yyss_alloc;
- YYSTYPE yyvs_alloc;
-};
-
-/* The size of the maximum gap between one aligned stack and the next. */
-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
- N elements. */
-# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
- + YYSTACK_GAP_MAXIMUM)
-
-# define YYCOPY_NEEDED 1
-
-/* Relocate STACK from its old location to the new one. The
- local variables YYSIZE and YYSTACKSIZE give the old and new number of
- elements in the stack, and YYPTR gives the new location of the
- stack. Advance YYPTR to a properly aligned location for the next
- stack. */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
- Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (YYID (0))
-
+/* Parameters sent to yyerror. */
+#ifndef YYERROR_DECL
+#define YYERROR_DECL() yyerror(const char *s)
#endif
-
-#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
-/* Copy COUNT objects from SRC to DST. The source and destination do
- not overlap. */
-# ifndef YYCOPY
-# if defined __GNUC__ && 1 < __GNUC__
-# define YYCOPY(Dst, Src, Count) \
- __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
-# else
-# define YYCOPY(Dst, Src, Count) \
- do \
- { \
- YYSIZE_T yyi; \
- for (yyi = 0; yyi < (Count); yyi++) \
- (Dst)[yyi] = (Src)[yyi]; \
- } \
- while (YYID (0))
-# endif
-# endif
-#endif /* !YYCOPY_NEEDED */
-
-/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 2
-/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 237
-
-/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 130
-/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 133
-/* YYNRULES -- Number of rules. */
-#define YYNRULES 253
-/* YYNRULES -- Number of states. */
-#define YYNSTATES 371
-
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
-#define YYUNDEFTOK 2
-#define YYMAXUTOK 384
-
-#define YYTRANSLATE(YYX) \
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
-static const yytype_uint8 yytranslate[] =
-{
- 0, 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, 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, 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, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 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, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 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, 88, 89, 90, 91, 92, 93, 94,
- 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
-};
-
-#if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
- YYRHS. */
-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, 229, 230, 232, 234, 236, 238, 240, 242,
- 245, 246, 248, 250, 252, 254, 257, 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,
- 480, 483, 486, 489, 492, 495, 498, 501, 504, 507,
- 510, 513, 516, 519, 522, 525, 528, 531, 534, 538,
- 541, 544, 547, 550, 553, 556, 559, 562, 565, 568,
- 571, 574, 577, 579, 582, 583, 585, 587, 589, 591,
- 593, 595, 597, 600, 603, 606, 609, 612, 615, 618,
- 620, 623, 624, 626
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const yytype_int16 yyrhs[] =
-{
- 131, 0, -1, -1, 131, 132, -1, 133, 134, -1,
- 136, 137, -1, 139, 140, -1, 259, 260, -1, 249,
- 250, -1, 11, -1, 134, 135, -1, -1, 142, -1,
- 143, -1, 147, -1, 150, -1, 156, -1, 157, -1,
- 158, -1, 159, -1, 148, -1, 169, -1, 170, -1,
- 171, -1, 172, -1, 173, -1, 190, -1, 191, -1,
- 192, -1, 194, -1, 195, -1, 153, -1, 196, -1,
- 197, -1, 200, -1, 198, -1, 199, -1, 201, -1,
- 202, -1, 203, -1, 214, -1, 182, -1, 183, -1,
- 184, -1, 185, -1, 204, -1, 217, -1, 178, -1,
- 180, -1, 218, -1, 223, -1, 224, -1, 225, -1,
- 154, -1, 189, -1, 232, -1, 233, -1, 179, -1,
- 228, -1, 166, -1, 149, -1, 174, -1, 215, -1,
- 221, -1, 205, -1, 216, -1, 235, -1, 236, -1,
- 155, -1, 144, -1, 165, -1, 208, -1, 145, -1,
- 151, -1, 152, -1, 175, -1, 176, -1, 234, -1,
- 207, -1, 209, -1, 210, -1, 146, -1, 237, -1,
- 193, -1, 213, -1, 167, -1, 181, -1, 219, -1,
- 220, -1, 222, -1, 227, -1, 177, -1, 229, -1,
- 230, -1, 231, -1, 186, -1, 188, -1, 211, -1,
- 212, -1, 187, -1, 206, -1, 226, -1, 168, -1,
- 160, -1, 161, -1, 162, -1, 163, -1, 164, -1,
- 238, -1, 239, -1, 38, -1, 137, 138, -1, -1,
- 240, -1, 241, -1, 242, -1, 244, -1, 243, -1,
- 44, -1, 140, 141, -1, -1, 245, -1, 246, -1,
- 247, -1, 248, -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, 121, 10,
- -1, 122, 10, -1, 123, 10, -1, 124, 10, -1,
- 125, 10, -1, 77, 10, -1, 66, 10, -1, 101,
- 10, -1, 120, 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, 114, 10, -1, 61, 10, -1, 26, 10,
- -1, 27, 10, -1, 28, 10, -1, 98, 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, 118, 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, 119, 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, 128, 10, -1, 129, 10, -1,
- 37, 10, -1, 39, 10, -1, 40, 10, -1, 127,
- 10, -1, 99, 10, -1, 37, 10, -1, 45, 10,
- -1, 46, 10, -1, 126, 10, -1, 88, -1, 250,
- 251, -1, -1, 252, -1, 254, -1, 253, -1, 255,
- -1, 256, -1, 257, -1, 258, -1, 89, 10, -1,
- 91, 10, -1, 90, 10, -1, 92, 10, -1, 93,
- 10, -1, 94, 10, -1, 95, 10, -1, 103, -1,
- 260, 261, -1, -1, 262, -1, 104, 10, -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const yytype_uint16 yyrline[] =
-{
- 0, 110, 110, 110, 111, 111, 112, 112, 113, 117,
- 122, 123, 124, 124, 124, 125, 125, 126, 126, 126,
- 127, 127, 127, 128, 128, 128, 129, 129, 130, 130,
- 131, 131, 132, 132, 133, 133, 134, 134, 135, 135,
- 136, 136, 137, 137, 137, 138, 138, 138, 139, 139,
- 139, 140, 140, 141, 141, 142, 142, 143, 143, 144,
- 144, 144, 145, 145, 146, 146, 147, 147, 147, 148,
- 148, 149, 149, 150, 150, 151, 151, 151, 152, 152,
- 153, 153, 154, 154, 155, 155, 156, 156, 157, 157,
- 157, 158, 158, 159, 159, 159, 160, 160, 160, 161,
- 161, 161, 162, 162, 162, 163, 163, 163, 164, 164,
- 166, 178, 179, 180, 180, 180, 180, 180, 182, 194,
- 195, 196, 196, 196, 196, 198, 207, 216, 227, 236,
- 245, 254, 267, 282, 291, 300, 309, 318, 327, 336,
- 345, 354, 363, 372, 381, 390, 397, 404, 413, 422,
- 436, 445, 454, 461, 468, 475, 483, 490, 497, 504,
- 511, 519, 527, 535, 542, 549, 558, 567, 574, 581,
- 589, 597, 610, 621, 629, 642, 651, 660, 668, 681,
- 690, 698, 707, 715, 728, 735, 745, 755, 765, 775,
- 785, 795, 805, 812, 819, 828, 837, 846, 853, 863,
- 877, 884, 902, 915, 928, 937, 946, 955, 965, 975,
- 984, 993, 1000, 1009, 1018, 1027, 1035, 1048, 1056, 1078,
- 1085, 1100, 1110, 1120, 1130, 1137, 1144, 1153, 1163, 1173,
- 1180, 1187, 1196, 1201, 1202, 1203, 1203, 1203, 1204, 1204,
- 1204, 1205, 1207, 1217, 1226, 1233, 1240, 1247, 1254, 1261,
- 1266, 1267, 1268, 1270
-};
+#ifndef YYERROR_CALL
+#define YYERROR_CALL(msg) yyerror(msg)
#endif
-#if YYDEBUG || YYERROR_VERBOSE || 0
-/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at YYNTOKENS, nonterminals. */
-static const char *const yytname[] =
-{
- "$end", "error", "$undefined", "SPACE", "LETTER", "NEWLINE", "COMMENT",
- "COLON", "ANY", "ZONESTR", "STRING_ARG", "VAR_SERVER", "VAR_VERBOSITY",
- "VAR_NUM_THREADS", "VAR_PORT", "VAR_OUTGOING_RANGE", "VAR_INTERFACE",
- "VAR_DO_IP4", "VAR_DO_IP6", "VAR_DO_UDP", "VAR_DO_TCP", "VAR_CHROOT",
- "VAR_USERNAME", "VAR_DIRECTORY", "VAR_LOGFILE", "VAR_PIDFILE",
- "VAR_MSG_CACHE_SIZE", "VAR_MSG_CACHE_SLABS",
- "VAR_NUM_QUERIES_PER_THREAD", "VAR_RRSET_CACHE_SIZE",
- "VAR_RRSET_CACHE_SLABS", "VAR_OUTGOING_NUM_TCP", "VAR_INFRA_HOST_TTL",
- "VAR_INFRA_LAME_TTL", "VAR_INFRA_CACHE_SLABS",
- "VAR_INFRA_CACHE_NUMHOSTS", "VAR_INFRA_CACHE_LAME_SIZE", "VAR_NAME",
- "VAR_STUB_ZONE", "VAR_STUB_HOST", "VAR_STUB_ADDR",
- "VAR_TARGET_FETCH_POLICY", "VAR_HARDEN_SHORT_BUFSIZE",
- "VAR_HARDEN_LARGE_QUERIES", "VAR_FORWARD_ZONE", "VAR_FORWARD_HOST",
- "VAR_FORWARD_ADDR", "VAR_DO_NOT_QUERY_ADDRESS", "VAR_HIDE_IDENTITY",
- "VAR_HIDE_VERSION", "VAR_IDENTITY", "VAR_VERSION", "VAR_HARDEN_GLUE",
- "VAR_MODULE_CONF", "VAR_TRUST_ANCHOR_FILE", "VAR_TRUST_ANCHOR",
- "VAR_VAL_OVERRIDE_DATE", "VAR_BOGUS_TTL", "VAR_VAL_CLEAN_ADDITIONAL",
- "VAR_VAL_PERMISSIVE_MODE", "VAR_INCOMING_NUM_TCP", "VAR_MSG_BUFFER_SIZE",
- "VAR_KEY_CACHE_SIZE", "VAR_KEY_CACHE_SLABS", "VAR_TRUSTED_KEYS_FILE",
- "VAR_VAL_NSEC3_KEYSIZE_ITERATIONS", "VAR_USE_SYSLOG",
- "VAR_OUTGOING_INTERFACE", "VAR_ROOT_HINTS", "VAR_DO_NOT_QUERY_LOCALHOST",
- "VAR_CACHE_MAX_TTL", "VAR_HARDEN_DNSSEC_STRIPPED", "VAR_ACCESS_CONTROL",
- "VAR_LOCAL_ZONE", "VAR_LOCAL_DATA", "VAR_INTERFACE_AUTOMATIC",
- "VAR_STATISTICS_INTERVAL", "VAR_DO_DAEMONIZE", "VAR_USE_CAPS_FOR_ID",
- "VAR_STATISTICS_CUMULATIVE", "VAR_OUTGOING_PORT_PERMIT",
- "VAR_OUTGOING_PORT_AVOID", "VAR_DLV_ANCHOR_FILE", "VAR_DLV_ANCHOR",
- "VAR_NEG_CACHE_SIZE", "VAR_HARDEN_REFERRAL_PATH", "VAR_PRIVATE_ADDRESS",
- "VAR_PRIVATE_DOMAIN", "VAR_REMOTE_CONTROL", "VAR_CONTROL_ENABLE",
- "VAR_CONTROL_INTERFACE", "VAR_CONTROL_PORT", "VAR_SERVER_KEY_FILE",
- "VAR_SERVER_CERT_FILE", "VAR_CONTROL_KEY_FILE", "VAR_CONTROL_CERT_FILE",
- "VAR_EXTENDED_STATISTICS", "VAR_LOCAL_DATA_PTR", "VAR_JOSTLE_TIMEOUT",
- "VAR_STUB_PRIME", "VAR_UNWANTED_REPLY_THRESHOLD", "VAR_LOG_TIME_ASCII",
- "VAR_DOMAIN_INSECURE", "VAR_PYTHON", "VAR_PYTHON_SCRIPT",
- "VAR_VAL_SIG_SKEW_MIN", "VAR_VAL_SIG_SKEW_MAX", "VAR_CACHE_MIN_TTL",
- "VAR_VAL_LOG_LEVEL", "VAR_AUTO_TRUST_ANCHOR_FILE", "VAR_KEEP_MISSING",
- "VAR_ADD_HOLDDOWN", "VAR_DEL_HOLDDOWN", "VAR_SO_RCVBUF",
- "VAR_EDNS_BUFFER_SIZE", "VAR_PREFETCH", "VAR_PREFETCH_KEY",
- "VAR_SO_SNDBUF", "VAR_HARDEN_BELOW_NXDOMAIN", "VAR_IGNORE_CD_FLAG",
- "VAR_LOG_QUERIES", "VAR_TCP_UPSTREAM", "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", "$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",
- "server_chroot", "server_username", "server_directory", "server_logfile",
- "server_pidfile", "server_root_hints", "server_dlv_anchor_file",
- "server_dlv_anchor", "server_auto_trust_anchor_file",
- "server_trust_anchor_file", "server_trusted_keys_file",
- "server_trust_anchor", "server_domain_insecure", "server_hide_identity",
- "server_hide_version", "server_identity", "server_version",
- "server_so_rcvbuf", "server_so_sndbuf", "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_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", "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", "contents_py", "content_py",
- "py_script", YY_NULL
+extern int YYPARSE_DECL();
+
+#define SPACE 257
+#define LETTER 258
+#define NEWLINE 259
+#define COMMENT 260
+#define COLON 261
+#define ANY 262
+#define ZONESTR 263
+#define STRING_ARG 264
+#define VAR_SERVER 265
+#define VAR_VERBOSITY 266
+#define VAR_NUM_THREADS 267
+#define VAR_PORT 268
+#define VAR_OUTGOING_RANGE 269
+#define VAR_INTERFACE 270
+#define VAR_DO_IP4 271
+#define VAR_DO_IP6 272
+#define VAR_DO_UDP 273
+#define VAR_DO_TCP 274
+#define VAR_CHROOT 275
+#define VAR_USERNAME 276
+#define VAR_DIRECTORY 277
+#define VAR_LOGFILE 278
+#define VAR_PIDFILE 279
+#define VAR_MSG_CACHE_SIZE 280
+#define VAR_MSG_CACHE_SLABS 281
+#define VAR_NUM_QUERIES_PER_THREAD 282
+#define VAR_RRSET_CACHE_SIZE 283
+#define VAR_RRSET_CACHE_SLABS 284
+#define VAR_OUTGOING_NUM_TCP 285
+#define VAR_INFRA_HOST_TTL 286
+#define VAR_INFRA_LAME_TTL 287
+#define VAR_INFRA_CACHE_SLABS 288
+#define VAR_INFRA_CACHE_NUMHOSTS 289
+#define VAR_INFRA_CACHE_LAME_SIZE 290
+#define VAR_NAME 291
+#define VAR_STUB_ZONE 292
+#define VAR_STUB_HOST 293
+#define VAR_STUB_ADDR 294
+#define VAR_TARGET_FETCH_POLICY 295
+#define VAR_HARDEN_SHORT_BUFSIZE 296
+#define VAR_HARDEN_LARGE_QUERIES 297
+#define VAR_FORWARD_ZONE 298
+#define VAR_FORWARD_HOST 299
+#define VAR_FORWARD_ADDR 300
+#define VAR_DO_NOT_QUERY_ADDRESS 301
+#define VAR_HIDE_IDENTITY 302
+#define VAR_HIDE_VERSION 303
+#define VAR_IDENTITY 304
+#define VAR_VERSION 305
+#define VAR_HARDEN_GLUE 306
+#define VAR_MODULE_CONF 307
+#define VAR_TRUST_ANCHOR_FILE 308
+#define VAR_TRUST_ANCHOR 309
+#define VAR_VAL_OVERRIDE_DATE 310
+#define VAR_BOGUS_TTL 311
+#define VAR_VAL_CLEAN_ADDITIONAL 312
+#define VAR_VAL_PERMISSIVE_MODE 313
+#define VAR_INCOMING_NUM_TCP 314
+#define VAR_MSG_BUFFER_SIZE 315
+#define VAR_KEY_CACHE_SIZE 316
+#define VAR_KEY_CACHE_SLABS 317
+#define VAR_TRUSTED_KEYS_FILE 318
+#define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 319
+#define VAR_USE_SYSLOG 320
+#define VAR_OUTGOING_INTERFACE 321
+#define VAR_ROOT_HINTS 322
+#define VAR_DO_NOT_QUERY_LOCALHOST 323
+#define VAR_CACHE_MAX_TTL 324
+#define VAR_HARDEN_DNSSEC_STRIPPED 325
+#define VAR_ACCESS_CONTROL 326
+#define VAR_LOCAL_ZONE 327
+#define VAR_LOCAL_DATA 328
+#define VAR_INTERFACE_AUTOMATIC 329
+#define VAR_STATISTICS_INTERVAL 330
+#define VAR_DO_DAEMONIZE 331
+#define VAR_USE_CAPS_FOR_ID 332
+#define VAR_STATISTICS_CUMULATIVE 333
+#define VAR_OUTGOING_PORT_PERMIT 334
+#define VAR_OUTGOING_PORT_AVOID 335
+#define VAR_DLV_ANCHOR_FILE 336
+#define VAR_DLV_ANCHOR 337
+#define VAR_NEG_CACHE_SIZE 338
+#define VAR_HARDEN_REFERRAL_PATH 339
+#define VAR_PRIVATE_ADDRESS 340
+#define VAR_PRIVATE_DOMAIN 341
+#define VAR_REMOTE_CONTROL 342
+#define VAR_CONTROL_ENABLE 343
+#define VAR_CONTROL_INTERFACE 344
+#define VAR_CONTROL_PORT 345
+#define VAR_SERVER_KEY_FILE 346
+#define VAR_SERVER_CERT_FILE 347
+#define VAR_CONTROL_KEY_FILE 348
+#define VAR_CONTROL_CERT_FILE 349
+#define VAR_EXTENDED_STATISTICS 350
+#define VAR_LOCAL_DATA_PTR 351
+#define VAR_JOSTLE_TIMEOUT 352
+#define VAR_STUB_PRIME 353
+#define VAR_UNWANTED_REPLY_THRESHOLD 354
+#define VAR_LOG_TIME_ASCII 355
+#define VAR_DOMAIN_INSECURE 356
+#define VAR_PYTHON 357
+#define VAR_PYTHON_SCRIPT 358
+#define VAR_VAL_SIG_SKEW_MIN 359
+#define VAR_VAL_SIG_SKEW_MAX 360
+#define VAR_CACHE_MIN_TTL 361
+#define VAR_VAL_LOG_LEVEL 362
+#define VAR_AUTO_TRUST_ANCHOR_FILE 363
+#define VAR_KEEP_MISSING 364
+#define VAR_ADD_HOLDDOWN 365
+#define VAR_DEL_HOLDDOWN 366
+#define VAR_SO_RCVBUF 367
+#define VAR_EDNS_BUFFER_SIZE 368
+#define VAR_PREFETCH 369
+#define VAR_PREFETCH_KEY 370
+#define VAR_SO_SNDBUF 371
+#define VAR_HARDEN_BELOW_NXDOMAIN 372
+#define VAR_IGNORE_CD_FLAG 373
+#define VAR_LOG_QUERIES 374
+#define VAR_TCP_UPSTREAM 375
+#define VAR_SSL_UPSTREAM 376
+#define VAR_SSL_SERVICE_KEY 377
+#define VAR_SSL_SERVICE_PEM 378
+#define VAR_SSL_PORT 379
+#define VAR_FORWARD_FIRST 380
+#define VAR_STUB_FIRST 381
+#define VAR_MINIMAL_RESPONSES 382
+#define VAR_RRSET_ROUNDROBIN 383
+#define YYERRCODE 256
+static const short yylhs[] = { -1,
+ 0, 0, 1, 1, 1, 1, 1, 2, 3, 3,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12, 4, 5,
+ 5, 111, 111, 111, 111, 111, 6, 7, 7, 117,
+ 117, 117, 117, 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, 97,
+ 55, 27, 28, 29, 84, 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, 112, 113, 114, 116, 115, 118, 119, 120, 121,
+ 10, 11, 11, 122, 122, 122, 122, 122, 122, 122,
+ 123, 125, 124, 126, 127, 128, 129, 8, 9, 9,
+ 130, 131,
};
-#endif
-
-# ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
- token YYLEX-NUM. */
-static const yytype_uint16 yytoknum[] =
-{
- 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 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, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 352, 353, 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, 380, 381, 382, 383, 384
+static const short yylen[] = { 2,
+ 0, 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, 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, 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, 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, 2, 2, 2, 2, 3, 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,
};
-# endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint16 yyr1[] =
-{
- 0, 130, 131, 131, 132, 132, 132, 132, 132, 133,
- 134, 134, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 136, 137, 137, 138, 138, 138, 138, 138, 139, 140,
- 140, 141, 141, 141, 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, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 250, 251, 251, 251, 251, 251,
- 251, 251, 252, 253, 254, 255, 256, 257, 258, 259,
- 260, 260, 261, 262
+static const short yydefred[] = { 1,
+ 0, 8, 109, 117, 231, 248, 2, 10, 111, 119,
+ 250, 233, 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,
+ 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, 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, 9, 11, 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, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 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, 88, 89, 90, 91, 92, 93, 94,
+ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 0, 0, 0, 0, 0, 110,
+ 112, 113, 114, 115, 116, 0, 0, 0, 0, 118,
+ 120, 121, 122, 123, 0, 249, 251, 0, 0, 0,
+ 0, 0, 0, 0, 232, 234, 235, 236, 237, 238,
+ 239, 240, 125, 124, 129, 132, 130, 138, 139, 140,
+ 141, 151, 152, 153, 154, 155, 172, 173, 174, 176,
+ 177, 135, 178, 179, 182, 180, 181, 183, 184, 185,
+ 196, 164, 165, 166, 167, 186, 199, 160, 162, 200,
+ 205, 206, 207, 136, 171, 214, 215, 161, 210, 148,
+ 131, 156, 197, 203, 187, 0, 0, 218, 137, 126,
+ 147, 190, 127, 133, 134, 157, 158, 216, 189, 191,
+ 192, 128, 219, 175, 195, 149, 163, 201, 202, 204,
+ 209, 159, 213, 211, 212, 168, 170, 193, 194, 169,
+ 188, 208, 150, 142, 143, 144, 145, 146, 220, 221,
+ 222, 223, 224, 226, 225, 227, 228, 229, 230, 252,
+ 241, 243, 242, 244, 245, 246, 247, 198, 217,
};
-
-/* 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,
- 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, 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, 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, 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, 2, 2, 2, 2, 3, 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
+static const short yydgoto[] = { 1,
+ 7, 8, 13, 9, 14, 10, 15, 11, 16, 12,
+ 17, 116, 117, 118, 119, 120, 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,
+ 220, 221, 222, 223, 224, 225, 230, 231, 232, 233,
+ 234, 245, 246, 247, 248, 249, 250, 251, 252, 236,
+ 237,
};
-
-/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
- Performed when YYTABLE doesn't specify something else to do. Zero
- means the default is an error. */
-static const yytype_uint8 yydefact[] =
-{
- 2, 0, 1, 9, 110, 118, 232, 249, 3, 11,
- 112, 120, 234, 251, 4, 5, 6, 8, 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, 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, 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, 96, 54, 26, 27, 28, 83,
- 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, 0, 0, 0, 0,
- 0, 111, 113, 114, 115, 117, 116, 0, 0, 0,
- 0, 119, 121, 122, 123, 124, 0, 0, 0, 0,
- 0, 0, 0, 233, 235, 237, 236, 238, 239, 240,
- 241, 0, 250, 252, 126, 125, 130, 133, 131, 139,
- 140, 141, 142, 152, 153, 154, 155, 156, 173, 174,
- 175, 177, 178, 136, 179, 180, 183, 181, 182, 184,
- 185, 186, 197, 165, 166, 167, 168, 187, 200, 161,
- 163, 201, 206, 207, 208, 137, 172, 215, 216, 162,
- 211, 149, 132, 157, 198, 204, 188, 0, 0, 219,
- 138, 127, 148, 191, 128, 134, 135, 158, 159, 217,
- 190, 192, 193, 129, 220, 176, 196, 150, 164, 202,
- 203, 205, 210, 160, 214, 212, 213, 169, 171, 194,
- 195, 170, 189, 209, 151, 143, 144, 145, 146, 147,
- 221, 222, 223, 224, 225, 227, 226, 228, 229, 230,
- 231, 242, 244, 243, 245, 246, 247, 248, 253, 199,
- 218
+static const short yysindex[] = { 0,
+ -172, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -260, -209, -202, -358, -216, -233, -232, -231,
+ -230, -226, -225, -224, -181, -178, -177, -176, -143, -140,
+ -139, -130, -129, -128, -127, -126, -125, -124, -123, -122,
+ -121, -119, -118, -117, -116, -115, -114, -113, -112, -111,
+ -110, -109, -108, -107, -106, -105, -104, -103, -102, -101,
+ -100, -99, -98, -97, -96, -95, -93, -91, -90, -89,
+ -88, -87, -85, -84, -83, -82, -81, -80, -78, -77,
+ -76, -75, -74, -73, -72, -71, -70, -69, -68, -67,
+ -66, -65, -64, -63, -62, -61, -60, -59, -58, -57,
+ -56, -55, -54, -53, -52, -51, -50, -49, -48, -47,
+ -46, -45, -44, -43, -42, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -41, -40, -39, -38, -37, 0,
+ 0, 0, 0, 0, 0, -36, -35, -34, -33, 0,
+ 0, 0, 0, 0, -32, 0, 0, -31, -30, -29,
+ -28, -27, -26, -25, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, -24, -23, 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, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
-
-/* YYDEFGOTO[NTERM-NUM]. */
-static const yytype_int16 yydefgoto[] =
-{
- -1, 1, 8, 9, 14, 117, 10, 15, 221, 11,
- 16, 231, 118, 119, 120, 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,
- 222, 223, 224, 225, 226, 232, 233, 234, 235, 12,
- 17, 243, 244, 245, 246, 247, 248, 249, 250, 13,
- 18, 252, 253
+static const short yyrindex[] = { 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 2, 3, 4, 5, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
-
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-#define YYPACT_NINF -80
-static const yytype_int16 yypact[] =
-{
- -80, 76, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -12, 40, 46, 32, -79, 16,
- 17, 18, 22, 23, 24, 68, 71, 72, 105, 108,
- 109, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 155, 156, 158, 159,
- 160, 161, 163, 164, 165, 166, 167, 168, 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, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, 209, 210, 211, 212,
- 213, -80, -80, -80, -80, -80, -80, 214, 215, 216,
- 217, -80, -80, -80, -80, -80, 218, 219, 220, 221,
- 222, 223, 224, -80, -80, -80, -80, -80, -80, -80,
- -80, 225, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, 226, 227, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80
+static const short yygindex[] = { 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, 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, 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, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
};
-
-/* 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
+#define YYTABLESIZE 362
+static const short yytable[] = { 235,
+ 3, 4, 5, 6, 7, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 253, 254, 255, 256, 43, 44, 45, 257, 258, 259,
+ 46, 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, 215, 260, 216, 217, 261, 262, 263, 226, 87,
+ 88, 89, 2, 90, 91, 92, 227, 228, 93, 94,
+ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 3,
+ 264, 114, 115, 265, 266, 4, 238, 239, 240, 241,
+ 242, 243, 244, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 218, 277, 278, 279, 280, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 5,
+ 302, 219, 303, 304, 305, 306, 307, 229, 308, 309,
+ 310, 311, 312, 313, 6, 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, 340, 341, 342, 343, 344, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
+ 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
+ 369, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3, 4, 5, 6, 7,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3, 4, 5, 6, 7, 0, 3, 4,
+ 5, 6, 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, 0, 3, 4, 5, 6, 7, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 4, 5,
+ 6, 7,
};
-
-/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
- positive, shift that token. If negative, reduce the rule which
- number is the opposite. If YYTABLE_NINF, syntax error. */
-#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, 251, 254, 255, 256, 44,
- 45, 46, 257, 258, 259, 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, 2, 216, 260, 217,
- 218, 261, 262, 227, 88, 89, 90, 3, 91, 92,
- 93, 228, 229, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 4, 263, 115, 116, 264, 265,
- 5, 236, 237, 238, 239, 240, 241, 242, 266, 267,
- 268, 269, 270, 271, 272, 273, 274, 275, 276, 219,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 6, 301, 302, 220, 303, 304,
- 305, 306, 230, 307, 308, 309, 310, 311, 312, 7,
- 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, 340, 341, 342,
- 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 367, 368, 369, 370
+static const short yycheck[] = { 358,
+ 0, 0, 0, 0, 0, 266, 267, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 264, 264, 264, 264, 295, 296, 297, 264, 264, 264,
+ 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 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, 340,
+ 341, 291, 264, 293, 294, 264, 264, 264, 291, 350,
+ 351, 352, 265, 354, 355, 356, 299, 300, 359, 360,
+ 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 292,
+ 264, 382, 383, 264, 264, 298, 343, 344, 345, 346,
+ 347, 348, 349, 264, 264, 264, 264, 264, 264, 264,
+ 264, 264, 264, 353, 264, 264, 264, 264, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 264, 342,
+ 264, 381, 264, 264, 264, 264, 264, 380, 264, 264,
+ 264, 264, 264, 264, 357, 264, 264, 264, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
+ 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
+ 264, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 265, 265, 265, 265, 265,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 292, 292, 292, 292, 292, -1, 298, 298,
+ 298, 298, 298, -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,
+ -1, -1, 342, 342, 342, 342, 342, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 357, 357, 357,
+ 357, 357,
};
-
-#define yypact_value_is_default(yystate) \
- ((yystate) == (-80))
-
-#define yytable_value_is_error(yytable_value) \
- YYID (0)
-
-static const yytype_uint8 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, 0, 37, 10, 39,
- 40, 10, 10, 37, 96, 97, 98, 11, 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, 38, 10, 128, 129, 10, 10,
- 44, 89, 90, 91, 92, 93, 94, 95, 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, 10,
- 10, 10, 10, 10, 88, 10, 10, 127, 10, 10,
- 10, 10, 126, 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, 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 YYFINAL 1
+#ifndef YYDEBUG
+#define YYDEBUG 0
+#endif
+#define YYMAXTOKEN 383
+#if YYDEBUG
+static const char *yyname[] = {
+
+"end-of-file",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,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,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,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,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,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,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,"SPACE","LETTER","NEWLINE",
+"COMMENT","COLON","ANY","ZONESTR","STRING_ARG","VAR_SERVER","VAR_VERBOSITY",
+"VAR_NUM_THREADS","VAR_PORT","VAR_OUTGOING_RANGE","VAR_INTERFACE","VAR_DO_IP4",
+"VAR_DO_IP6","VAR_DO_UDP","VAR_DO_TCP","VAR_CHROOT","VAR_USERNAME",
+"VAR_DIRECTORY","VAR_LOGFILE","VAR_PIDFILE","VAR_MSG_CACHE_SIZE",
+"VAR_MSG_CACHE_SLABS","VAR_NUM_QUERIES_PER_THREAD","VAR_RRSET_CACHE_SIZE",
+"VAR_RRSET_CACHE_SLABS","VAR_OUTGOING_NUM_TCP","VAR_INFRA_HOST_TTL",
+"VAR_INFRA_LAME_TTL","VAR_INFRA_CACHE_SLABS","VAR_INFRA_CACHE_NUMHOSTS",
+"VAR_INFRA_CACHE_LAME_SIZE","VAR_NAME","VAR_STUB_ZONE","VAR_STUB_HOST",
+"VAR_STUB_ADDR","VAR_TARGET_FETCH_POLICY","VAR_HARDEN_SHORT_BUFSIZE",
+"VAR_HARDEN_LARGE_QUERIES","VAR_FORWARD_ZONE","VAR_FORWARD_HOST",
+"VAR_FORWARD_ADDR","VAR_DO_NOT_QUERY_ADDRESS","VAR_HIDE_IDENTITY",
+"VAR_HIDE_VERSION","VAR_IDENTITY","VAR_VERSION","VAR_HARDEN_GLUE",
+"VAR_MODULE_CONF","VAR_TRUST_ANCHOR_FILE","VAR_TRUST_ANCHOR",
+"VAR_VAL_OVERRIDE_DATE","VAR_BOGUS_TTL","VAR_VAL_CLEAN_ADDITIONAL",
+"VAR_VAL_PERMISSIVE_MODE","VAR_INCOMING_NUM_TCP","VAR_MSG_BUFFER_SIZE",
+"VAR_KEY_CACHE_SIZE","VAR_KEY_CACHE_SLABS","VAR_TRUSTED_KEYS_FILE",
+"VAR_VAL_NSEC3_KEYSIZE_ITERATIONS","VAR_USE_SYSLOG","VAR_OUTGOING_INTERFACE",
+"VAR_ROOT_HINTS","VAR_DO_NOT_QUERY_LOCALHOST","VAR_CACHE_MAX_TTL",
+"VAR_HARDEN_DNSSEC_STRIPPED","VAR_ACCESS_CONTROL","VAR_LOCAL_ZONE",
+"VAR_LOCAL_DATA","VAR_INTERFACE_AUTOMATIC","VAR_STATISTICS_INTERVAL",
+"VAR_DO_DAEMONIZE","VAR_USE_CAPS_FOR_ID","VAR_STATISTICS_CUMULATIVE",
+"VAR_OUTGOING_PORT_PERMIT","VAR_OUTGOING_PORT_AVOID","VAR_DLV_ANCHOR_FILE",
+"VAR_DLV_ANCHOR","VAR_NEG_CACHE_SIZE","VAR_HARDEN_REFERRAL_PATH",
+"VAR_PRIVATE_ADDRESS","VAR_PRIVATE_DOMAIN","VAR_REMOTE_CONTROL",
+"VAR_CONTROL_ENABLE","VAR_CONTROL_INTERFACE","VAR_CONTROL_PORT",
+"VAR_SERVER_KEY_FILE","VAR_SERVER_CERT_FILE","VAR_CONTROL_KEY_FILE",
+"VAR_CONTROL_CERT_FILE","VAR_EXTENDED_STATISTICS","VAR_LOCAL_DATA_PTR",
+"VAR_JOSTLE_TIMEOUT","VAR_STUB_PRIME","VAR_UNWANTED_REPLY_THRESHOLD",
+"VAR_LOG_TIME_ASCII","VAR_DOMAIN_INSECURE","VAR_PYTHON","VAR_PYTHON_SCRIPT",
+"VAR_VAL_SIG_SKEW_MIN","VAR_VAL_SIG_SKEW_MAX","VAR_CACHE_MIN_TTL",
+"VAR_VAL_LOG_LEVEL","VAR_AUTO_TRUST_ANCHOR_FILE","VAR_KEEP_MISSING",
+"VAR_ADD_HOLDDOWN","VAR_DEL_HOLDDOWN","VAR_SO_RCVBUF","VAR_EDNS_BUFFER_SIZE",
+"VAR_PREFETCH","VAR_PREFETCH_KEY","VAR_SO_SNDBUF","VAR_HARDEN_BELOW_NXDOMAIN",
+"VAR_IGNORE_CD_FLAG","VAR_LOG_QUERIES","VAR_TCP_UPSTREAM","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",
};
+static const char *yyrule[] = {
+"$accept : toplevelvars",
+"toplevelvars :",
+"toplevelvars : toplevelvars toplevelvar",
+"toplevelvar : serverstart contents_server",
+"toplevelvar : stubstart contents_stub",
+"toplevelvar : forwardstart contents_forward",
+"toplevelvar : pythonstart contents_py",
+"toplevelvar : rcstart contents_rc",
+"serverstart : VAR_SERVER",
+"contents_server : contents_server content_server",
+"contents_server :",
+"content_server : server_num_threads",
+"content_server : server_verbosity",
+"content_server : server_port",
+"content_server : server_outgoing_range",
+"content_server : server_do_ip4",
+"content_server : server_do_ip6",
+"content_server : server_do_udp",
+"content_server : server_do_tcp",
+"content_server : server_interface",
+"content_server : server_chroot",
+"content_server : server_username",
+"content_server : server_directory",
+"content_server : server_logfile",
+"content_server : server_pidfile",
+"content_server : server_msg_cache_size",
+"content_server : server_msg_cache_slabs",
+"content_server : server_num_queries_per_thread",
+"content_server : server_rrset_cache_size",
+"content_server : server_rrset_cache_slabs",
+"content_server : server_outgoing_num_tcp",
+"content_server : server_infra_host_ttl",
+"content_server : server_infra_lame_ttl",
+"content_server : server_infra_cache_slabs",
+"content_server : server_infra_cache_numhosts",
+"content_server : server_infra_cache_lame_size",
+"content_server : server_target_fetch_policy",
+"content_server : server_harden_short_bufsize",
+"content_server : server_harden_large_queries",
+"content_server : server_do_not_query_address",
+"content_server : server_hide_identity",
+"content_server : server_hide_version",
+"content_server : server_identity",
+"content_server : server_version",
+"content_server : server_harden_glue",
+"content_server : server_module_conf",
+"content_server : server_trust_anchor_file",
+"content_server : server_trust_anchor",
+"content_server : server_val_override_date",
+"content_server : server_bogus_ttl",
+"content_server : server_val_clean_additional",
+"content_server : server_val_permissive_mode",
+"content_server : server_incoming_num_tcp",
+"content_server : server_msg_buffer_size",
+"content_server : server_key_cache_size",
+"content_server : server_key_cache_slabs",
+"content_server : server_trusted_keys_file",
+"content_server : server_val_nsec3_keysize_iterations",
+"content_server : server_use_syslog",
+"content_server : server_outgoing_interface",
+"content_server : server_root_hints",
+"content_server : server_do_not_query_localhost",
+"content_server : server_cache_max_ttl",
+"content_server : server_harden_dnssec_stripped",
+"content_server : server_access_control",
+"content_server : server_local_zone",
+"content_server : server_local_data",
+"content_server : server_interface_automatic",
+"content_server : server_statistics_interval",
+"content_server : server_do_daemonize",
+"content_server : server_use_caps_for_id",
+"content_server : server_statistics_cumulative",
+"content_server : server_outgoing_port_permit",
+"content_server : server_outgoing_port_avoid",
+"content_server : server_dlv_anchor_file",
+"content_server : server_dlv_anchor",
+"content_server : server_neg_cache_size",
+"content_server : server_harden_referral_path",
+"content_server : server_private_address",
+"content_server : server_private_domain",
+"content_server : server_extended_statistics",
+"content_server : server_local_data_ptr",
+"content_server : server_jostle_timeout",
+"content_server : server_unwanted_reply_threshold",
+"content_server : server_log_time_ascii",
+"content_server : server_domain_insecure",
+"content_server : server_val_sig_skew_min",
+"content_server : server_val_sig_skew_max",
+"content_server : server_cache_min_ttl",
+"content_server : server_val_log_level",
+"content_server : server_auto_trust_anchor_file",
+"content_server : server_add_holddown",
+"content_server : server_del_holddown",
+"content_server : server_keep_missing",
+"content_server : server_so_rcvbuf",
+"content_server : server_edns_buffer_size",
+"content_server : server_prefetch",
+"content_server : server_prefetch_key",
+"content_server : server_so_sndbuf",
+"content_server : server_harden_below_nxdomain",
+"content_server : server_ignore_cd_flag",
+"content_server : server_log_queries",
+"content_server : server_tcp_upstream",
+"content_server : server_ssl_upstream",
+"content_server : server_ssl_service_key",
+"content_server : server_ssl_service_pem",
+"content_server : server_ssl_port",
+"content_server : server_minimal_responses",
+"content_server : server_rrset_roundrobin",
+"stubstart : VAR_STUB_ZONE",
+"contents_stub : contents_stub content_stub",
+"contents_stub :",
+"content_stub : stub_name",
+"content_stub : stub_host",
+"content_stub : stub_addr",
+"content_stub : stub_prime",
+"content_stub : stub_first",
+"forwardstart : VAR_FORWARD_ZONE",
+"contents_forward : contents_forward content_forward",
+"contents_forward :",
+"content_forward : forward_name",
+"content_forward : forward_host",
+"content_forward : forward_addr",
+"content_forward : forward_first",
+"server_num_threads : VAR_NUM_THREADS STRING_ARG",
+"server_verbosity : VAR_VERBOSITY STRING_ARG",
+"server_statistics_interval : VAR_STATISTICS_INTERVAL STRING_ARG",
+"server_statistics_cumulative : VAR_STATISTICS_CUMULATIVE STRING_ARG",
+"server_extended_statistics : VAR_EXTENDED_STATISTICS STRING_ARG",
+"server_port : VAR_PORT STRING_ARG",
+"server_interface : VAR_INTERFACE STRING_ARG",
+"server_outgoing_interface : VAR_OUTGOING_INTERFACE STRING_ARG",
+"server_outgoing_range : VAR_OUTGOING_RANGE STRING_ARG",
+"server_outgoing_port_permit : VAR_OUTGOING_PORT_PERMIT STRING_ARG",
+"server_outgoing_port_avoid : VAR_OUTGOING_PORT_AVOID STRING_ARG",
+"server_outgoing_num_tcp : VAR_OUTGOING_NUM_TCP STRING_ARG",
+"server_incoming_num_tcp : VAR_INCOMING_NUM_TCP STRING_ARG",
+"server_interface_automatic : VAR_INTERFACE_AUTOMATIC STRING_ARG",
+"server_do_ip4 : VAR_DO_IP4 STRING_ARG",
+"server_do_ip6 : VAR_DO_IP6 STRING_ARG",
+"server_do_udp : VAR_DO_UDP STRING_ARG",
+"server_do_tcp : VAR_DO_TCP STRING_ARG",
+"server_tcp_upstream : VAR_TCP_UPSTREAM STRING_ARG",
+"server_ssl_upstream : VAR_SSL_UPSTREAM STRING_ARG",
+"server_ssl_service_key : VAR_SSL_SERVICE_KEY STRING_ARG",
+"server_ssl_service_pem : VAR_SSL_SERVICE_PEM STRING_ARG",
+"server_ssl_port : VAR_SSL_PORT STRING_ARG",
+"server_do_daemonize : VAR_DO_DAEMONIZE STRING_ARG",
+"server_use_syslog : VAR_USE_SYSLOG STRING_ARG",
+"server_log_time_ascii : VAR_LOG_TIME_ASCII STRING_ARG",
+"server_log_queries : VAR_LOG_QUERIES STRING_ARG",
+"server_chroot : VAR_CHROOT STRING_ARG",
+"server_username : VAR_USERNAME STRING_ARG",
+"server_directory : VAR_DIRECTORY STRING_ARG",
+"server_logfile : VAR_LOGFILE STRING_ARG",
+"server_pidfile : VAR_PIDFILE STRING_ARG",
+"server_root_hints : VAR_ROOT_HINTS STRING_ARG",
+"server_dlv_anchor_file : VAR_DLV_ANCHOR_FILE STRING_ARG",
+"server_dlv_anchor : VAR_DLV_ANCHOR STRING_ARG",
+"server_auto_trust_anchor_file : VAR_AUTO_TRUST_ANCHOR_FILE STRING_ARG",
+"server_trust_anchor_file : VAR_TRUST_ANCHOR_FILE STRING_ARG",
+"server_trusted_keys_file : VAR_TRUSTED_KEYS_FILE STRING_ARG",
+"server_trust_anchor : VAR_TRUST_ANCHOR STRING_ARG",
+"server_domain_insecure : VAR_DOMAIN_INSECURE STRING_ARG",
+"server_hide_identity : VAR_HIDE_IDENTITY STRING_ARG",
+"server_hide_version : VAR_HIDE_VERSION STRING_ARG",
+"server_identity : VAR_IDENTITY STRING_ARG",
+"server_version : VAR_VERSION STRING_ARG",
+"server_so_rcvbuf : VAR_SO_RCVBUF STRING_ARG",
+"server_so_sndbuf : VAR_SO_SNDBUF STRING_ARG",
+"server_edns_buffer_size : VAR_EDNS_BUFFER_SIZE STRING_ARG",
+"server_msg_buffer_size : VAR_MSG_BUFFER_SIZE STRING_ARG",
+"server_msg_cache_size : VAR_MSG_CACHE_SIZE STRING_ARG",
+"server_msg_cache_slabs : VAR_MSG_CACHE_SLABS STRING_ARG",
+"server_num_queries_per_thread : VAR_NUM_QUERIES_PER_THREAD STRING_ARG",
+"server_jostle_timeout : VAR_JOSTLE_TIMEOUT STRING_ARG",
+"server_rrset_cache_size : VAR_RRSET_CACHE_SIZE STRING_ARG",
+"server_rrset_cache_slabs : VAR_RRSET_CACHE_SLABS STRING_ARG",
+"server_infra_host_ttl : VAR_INFRA_HOST_TTL STRING_ARG",
+"server_infra_lame_ttl : VAR_INFRA_LAME_TTL STRING_ARG",
+"server_infra_cache_numhosts : VAR_INFRA_CACHE_NUMHOSTS STRING_ARG",
+"server_infra_cache_lame_size : VAR_INFRA_CACHE_LAME_SIZE STRING_ARG",
+"server_infra_cache_slabs : VAR_INFRA_CACHE_SLABS STRING_ARG",
+"server_target_fetch_policy : VAR_TARGET_FETCH_POLICY STRING_ARG",
+"server_harden_short_bufsize : VAR_HARDEN_SHORT_BUFSIZE STRING_ARG",
+"server_harden_large_queries : VAR_HARDEN_LARGE_QUERIES STRING_ARG",
+"server_harden_glue : VAR_HARDEN_GLUE STRING_ARG",
+"server_harden_dnssec_stripped : VAR_HARDEN_DNSSEC_STRIPPED STRING_ARG",
+"server_harden_below_nxdomain : VAR_HARDEN_BELOW_NXDOMAIN STRING_ARG",
+"server_harden_referral_path : VAR_HARDEN_REFERRAL_PATH STRING_ARG",
+"server_use_caps_for_id : VAR_USE_CAPS_FOR_ID STRING_ARG",
+"server_private_address : VAR_PRIVATE_ADDRESS STRING_ARG",
+"server_private_domain : VAR_PRIVATE_DOMAIN STRING_ARG",
+"server_prefetch : VAR_PREFETCH STRING_ARG",
+"server_prefetch_key : VAR_PREFETCH_KEY STRING_ARG",
+"server_unwanted_reply_threshold : VAR_UNWANTED_REPLY_THRESHOLD STRING_ARG",
+"server_do_not_query_address : VAR_DO_NOT_QUERY_ADDRESS STRING_ARG",
+"server_do_not_query_localhost : VAR_DO_NOT_QUERY_LOCALHOST STRING_ARG",
+"server_access_control : VAR_ACCESS_CONTROL STRING_ARG STRING_ARG",
+"server_module_conf : VAR_MODULE_CONF STRING_ARG",
+"server_val_override_date : VAR_VAL_OVERRIDE_DATE STRING_ARG",
+"server_val_sig_skew_min : VAR_VAL_SIG_SKEW_MIN STRING_ARG",
+"server_val_sig_skew_max : VAR_VAL_SIG_SKEW_MAX STRING_ARG",
+"server_cache_max_ttl : VAR_CACHE_MAX_TTL STRING_ARG",
+"server_cache_min_ttl : VAR_CACHE_MIN_TTL STRING_ARG",
+"server_bogus_ttl : VAR_BOGUS_TTL STRING_ARG",
+"server_val_clean_additional : VAR_VAL_CLEAN_ADDITIONAL STRING_ARG",
+"server_val_permissive_mode : VAR_VAL_PERMISSIVE_MODE STRING_ARG",
+"server_ignore_cd_flag : VAR_IGNORE_CD_FLAG STRING_ARG",
+"server_val_log_level : VAR_VAL_LOG_LEVEL STRING_ARG",
+"server_val_nsec3_keysize_iterations : VAR_VAL_NSEC3_KEYSIZE_ITERATIONS STRING_ARG",
+"server_add_holddown : VAR_ADD_HOLDDOWN STRING_ARG",
+"server_del_holddown : VAR_DEL_HOLDDOWN STRING_ARG",
+"server_keep_missing : VAR_KEEP_MISSING STRING_ARG",
+"server_key_cache_size : VAR_KEY_CACHE_SIZE STRING_ARG",
+"server_key_cache_slabs : VAR_KEY_CACHE_SLABS STRING_ARG",
+"server_neg_cache_size : VAR_NEG_CACHE_SIZE STRING_ARG",
+"server_local_zone : VAR_LOCAL_ZONE STRING_ARG STRING_ARG",
+"server_local_data : VAR_LOCAL_DATA STRING_ARG",
+"server_local_data_ptr : VAR_LOCAL_DATA_PTR STRING_ARG",
+"server_minimal_responses : VAR_MINIMAL_RESPONSES STRING_ARG",
+"server_rrset_roundrobin : VAR_RRSET_ROUNDROBIN STRING_ARG",
+"stub_name : VAR_NAME STRING_ARG",
+"stub_host : VAR_STUB_HOST STRING_ARG",
+"stub_addr : VAR_STUB_ADDR STRING_ARG",
+"stub_first : VAR_STUB_FIRST STRING_ARG",
+"stub_prime : VAR_STUB_PRIME STRING_ARG",
+"forward_name : VAR_NAME STRING_ARG",
+"forward_host : VAR_FORWARD_HOST STRING_ARG",
+"forward_addr : VAR_FORWARD_ADDR STRING_ARG",
+"forward_first : VAR_FORWARD_FIRST STRING_ARG",
+"rcstart : VAR_REMOTE_CONTROL",
+"contents_rc : contents_rc content_rc",
+"contents_rc :",
+"content_rc : rc_control_enable",
+"content_rc : rc_control_interface",
+"content_rc : rc_control_port",
+"content_rc : rc_server_key_file",
+"content_rc : rc_server_cert_file",
+"content_rc : rc_control_key_file",
+"content_rc : rc_control_cert_file",
+"rc_control_enable : VAR_CONTROL_ENABLE STRING_ARG",
+"rc_control_port : VAR_CONTROL_PORT STRING_ARG",
+"rc_control_interface : VAR_CONTROL_INTERFACE STRING_ARG",
+"rc_server_key_file : VAR_SERVER_KEY_FILE STRING_ARG",
+"rc_server_cert_file : VAR_SERVER_CERT_FILE STRING_ARG",
+"rc_control_key_file : VAR_CONTROL_KEY_FILE STRING_ARG",
+"rc_control_cert_file : VAR_CONTROL_CERT_FILE STRING_ARG",
+"pythonstart : VAR_PYTHON",
+"contents_py : contents_py content_py",
+"contents_py :",
+"content_py : py_script",
+"py_script : VAR_PYTHON_SCRIPT STRING_ARG",
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
-static const yytype_uint16 yystos[] =
-{
- 0, 131, 0, 11, 38, 44, 88, 103, 132, 133,
- 136, 139, 249, 259, 134, 137, 140, 250, 260, 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, 128, 129, 135, 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, 231, 232, 233,
- 234, 235, 236, 237, 238, 239, 37, 39, 40, 99,
- 127, 138, 240, 241, 242, 243, 244, 37, 45, 46,
- 126, 141, 245, 246, 247, 248, 89, 90, 91, 92,
- 93, 94, 95, 251, 252, 253, 254, 255, 256, 257,
- 258, 104, 261, 262, 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, 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, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10
};
-
-#define yyerrok (yyerrstatus = 0)
-#define yyclearin (yychar = YYEMPTY)
-#define YYEMPTY (-2)
-#define YYEOF 0
-
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
-
-
-/* Like YYERROR except do call yyerror. This remains here temporarily
- to ease the transition to the new meaning of YYERROR, for GCC.
- Once GCC version 2 has supplanted version 1, this can go. However,
- YYFAIL appears to be in use. Nevertheless, it is formally deprecated
- in Bison 2.4.2's NEWS entry, where a plan to phase it out is
- discussed. */
-
-#define YYFAIL goto yyerrlab
-#if defined YYFAIL
- /* This is here to suppress warnings from the GCC cpp's
- -Wunused-macros. Normally we don't worry about that warning, but
- some users do, and we want to make it easy for users to remove
- YYFAIL uses, which will produce warnings from Bison 2.5. */
#endif
-#define YYRECOVERING() (!!yyerrstatus)
-
-#define YYBACKUP(Token, Value) \
-do \
- if (yychar == YYEMPTY) \
- { \
- yychar = (Token); \
- yylval = (Value); \
- YYPOPSTACK (yylen); \
- yystate = *yyssp; \
- goto yybackup; \
- } \
- else \
- { \
- yyerror (YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (YYID (0))
-
+int yydebug;
+int yynerrs;
-#define YYTERROR 1
-#define YYERRCODE 256
+int yyerrflag;
+int yychar;
+YYSTYPE yyval;
+YYSTYPE yylval;
-/* 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))
+/* define the initial stack-sizes */
+#ifdef YYSTACKSIZE
+#undef YYMAXDEPTH
+#define YYMAXDEPTH YYSTACKSIZE
+#else
+#ifdef YYMAXDEPTH
+#define YYSTACKSIZE YYMAXDEPTH
+#else
+#define YYSTACKSIZE 500
+#define YYMAXDEPTH 500
#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
+#define YYINITSTACKSIZE 500
-/* YYLEX -- calling `yylex' with the right arguments. */
+typedef struct {
+ unsigned stacksize;
+ short *s_base;
+ short *s_mark;
+ short *s_last;
+ YYSTYPE *l_base;
+ YYSTYPE *l_mark;
+} YYSTACKDATA;
+/* variables for the parser stack */
+static YYSTACKDATA yystack;
+#line 1277 "util/configparser.y"
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (YYLEX_PARAM)
-#else
-# define YYLEX yylex ()
-#endif
+/* parse helper routines could be here */
+#line 845 "util/configparser.c"
-/* Enable debugging if requested. */
#if YYDEBUG
-
-# ifndef YYFPRINTF
-# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-# define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args) \
-do { \
- if (yydebug) \
- YYFPRINTF Args; \
-} while (YYID (0))
-
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, \
- Type, Value); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (YYID (0))
-
-
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
-
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-#else
-static void
-yy_symbol_value_print (yyoutput, yytype, yyvaluep)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
+#include <stdio.h> /* needed for printf */
#endif
-{
- FILE *yyo = yyoutput;
- YYUSE (yyo);
- if (!yyvaluep)
- return;
-# ifdef YYPRINT
- if (yytype < YYNTOKENS)
- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# else
- YYUSE (yyoutput);
-# endif
- switch (yytype)
- {
- default:
- break;
- }
-}
+#include <stdlib.h> /* needed for malloc, etc */
+#include <string.h> /* needed for memset */
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
-
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-#else
-static void
-yy_symbol_print (yyoutput, yytype, yyvaluep)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
-#endif
+/* allocate initial stack or double stack size, up to YYMAXDEPTH */
+static int yygrowstack(YYSTACKDATA *data)
{
- if (yytype < YYNTOKENS)
- YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
- else
- YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
-
- yy_symbol_value_print (yyoutput, yytype, yyvaluep);
- YYFPRINTF (yyoutput, ")");
+ int i;
+ unsigned newsize;
+ short *newss;
+ YYSTYPE *newvs;
+
+ if ((newsize = data->stacksize) == 0)
+ newsize = YYINITSTACKSIZE;
+ else if (newsize >= YYMAXDEPTH)
+ return -1;
+ else if ((newsize *= 2) > YYMAXDEPTH)
+ newsize = YYMAXDEPTH;
+
+ i = (int) (data->s_mark - data->s_base);
+ newss = (short *)realloc(data->s_base, newsize * sizeof(*newss));
+ if (newss == 0)
+ return -1;
+
+ data->s_base = newss;
+ data->s_mark = newss + i;
+
+ newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs));
+ if (newvs == 0)
+ return -1;
+
+ data->l_base = newvs;
+ data->l_mark = newvs + i;
+
+ data->stacksize = newsize;
+ data->s_last = data->s_base + newsize - 1;
+ return 0;
}
-/*------------------------------------------------------------------.
-| yy_stack_print -- Print the state stack from its BOTTOM up to its |
-| TOP (included). |
-`------------------------------------------------------------------*/
-
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
-#else
-static void
-yy_stack_print (yybottom, yytop)
- yytype_int16 *yybottom;
- yytype_int16 *yytop;
-#endif
+#if YYPURE || defined(YY_NO_LEAKS)
+static void yyfreestack(YYSTACKDATA *data)
{
- YYFPRINTF (stderr, "Stack now");
- for (; yybottom <= yytop; yybottom++)
- {
- int yybot = *yybottom;
- YYFPRINTF (stderr, " %d", yybot);
- }
- YYFPRINTF (stderr, "\n");
+ free(data->s_base);
+ free(data->l_base);
+ memset(data, 0, sizeof(*data));
}
-
-# define YY_STACK_PRINT(Bottom, Top) \
-do { \
- if (yydebug) \
- yy_stack_print ((Bottom), (Top)); \
-} while (YYID (0))
-
-
-/*------------------------------------------------.
-| Report that the YYRULE is going to be reduced. |
-`------------------------------------------------*/
-
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
#else
-static void
-yy_reduce_print (yyvsp, yyrule)
- YYSTYPE *yyvsp;
- int yyrule;
+#define yyfreestack(data) /* nothing */
#endif
-{
- int yynrhs = yyr2[yyrule];
- int yyi;
- unsigned long int yylno = yyrline[yyrule];
- YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
- yyrule - 1, yylno);
- /* The symbols being reduced. */
- for (yyi = 0; yyi < yynrhs; yyi++)
- {
- YYFPRINTF (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
- &(yyvsp[(yyi + 1) - (yynrhs)])
- );
- YYFPRINTF (stderr, "\n");
- }
-}
-
-# define YY_REDUCE_PRINT(Rule) \
-do { \
- if (yydebug) \
- yy_reduce_print (yyvsp, Rule); \
-} while (YYID (0))
-/* Nonzero means print parse trace. It is left uninitialized so that
- multiple parsers can coexist. */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
-# define YY_STACK_PRINT(Bottom, Top)
-# define YY_REDUCE_PRINT(Rule)
-#endif /* !YYDEBUG */
+#define YYABORT goto yyabort
+#define YYREJECT goto yyabort
+#define YYACCEPT goto yyaccept
+#define YYERROR goto yyerrlab
-
-/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
- if the built-in stack extension method is used).
-
- Do not make this value too large; the results are undefined if
- YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
- evaluated with infinite-precision integer arithmetic. */
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-
-
-#if YYERROR_VERBOSE
-
-# ifndef yystrlen
-# if defined __GLIBC__ && defined _STRING_H
-# define yystrlen strlen
-# else
-/* Return the length of YYSTR. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static YYSIZE_T
-yystrlen (const char *yystr)
-#else
-static YYSIZE_T
-yystrlen (yystr)
- const char *yystr;
-#endif
-{
- YYSIZE_T yylen;
- for (yylen = 0; yystr[yylen]; yylen++)
- continue;
- return yylen;
-}
-# endif
-# endif
-
-# ifndef yystpcpy
-# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
-# define yystpcpy stpcpy
-# else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
- YYDEST. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static char *
-yystpcpy (char *yydest, const char *yysrc)
-#else
-static char *
-yystpcpy (yydest, yysrc)
- char *yydest;
- const char *yysrc;
-#endif
+int
+YYPARSE_DECL()
{
- char *yyd = yydest;
- const char *yys = yysrc;
-
- while ((*yyd++ = *yys++) != '\0')
- continue;
-
- return yyd - 1;
-}
-# endif
-# endif
+ int yym, yyn, yystate;
+#if YYDEBUG
+ const char *yys;
-# ifndef yytnamerr
-/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
- quotes and backslashes, so that it's suitable for yyerror. The
- heuristic is that double-quoting is unnecessary unless the string
- contains an apostrophe, a comma, or backslash (other than
- backslash-backslash). YYSTR is taken from yytname. If YYRES is
- null, do not copy; instead, return the length of what the result
- would have been. */
-static YYSIZE_T
-yytnamerr (char *yyres, const char *yystr)
-{
- if (*yystr == '"')
+ if ((yys = getenv("YYDEBUG")) != 0)
{
- YYSIZE_T yyn = 0;
- char const *yyp = yystr;
-
- for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
-
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
- do_not_strip_quotes: ;
+ yyn = *yys;
+ if (yyn >= '0' && yyn <= '9')
+ yydebug = yyn - '0';
}
+#endif
- if (! yyres)
- return yystrlen (yystr);
-
- return yystpcpy (yyres, yystr) - yyres;
-}
-# endif
+ yynerrs = 0;
+ yyerrflag = 0;
+ yychar = YYEMPTY;
+ yystate = 0;
-/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
- about the unexpected token YYTOKEN for the state stack whose top is
- YYSSP.
+#if YYPURE
+ memset(&yystack, 0, sizeof(yystack));
+#endif
- Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
- not large enough to hold the message. In that case, also set
- *YYMSG_ALLOC to the required number of bytes. Return 2 if the
- required number of bytes is too large to store. */
-static int
-yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
- yytype_int16 *yyssp, int yytoken)
-{
- 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;
- /* Arguments of yyformat. */
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- /* Number of reported tokens (one for the "unexpected", one per
- "expected"). */
- int yycount = 0;
+ if (yystack.s_base == NULL && yygrowstack(&yystack)) goto yyoverflow;
+ yystack.s_mark = yystack.s_base;
+ yystack.l_mark = yystack.l_base;
+ yystate = 0;
+ *yystack.s_mark = 0;
- /* There are many possibilities here to consider:
- - Assume YYFAIL is not used. It's too flawed to consider. See
- <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
- for details. YYERROR is fine as it does not invoke this
- function.
- - If this state is a consistent state with a default action, then
- the only way this function was invoked is if the default action
- is an error action. In that case, don't check for expected
- tokens because there are none.
- - The only way there can be no lookahead present (in yychar) is if
- this state is a consistent state with a default action. Thus,
- detecting the absence of a lookahead is sufficient to determine
- that there is no unexpected or expected token to report. In that
- case, just report a simple "syntax error".
- - Don't assume there isn't a lookahead just because this state is a
- consistent state with a default action. There might have been a
- previous inconsistent state, consistent state with a non-default
- action, or user semantic action that manipulated yychar.
- - Of course, the expected token list depends on states to have
- correct lookahead information, and it depends on the parser not
- to perform extra reductions after fetching a lookahead from the
- scanner and before detecting a syntax error. Thus, state merging
- (from LALR or IELR) and default reductions corrupt the expected
- token list. However, the list is correct for canonical LR with
- one exception: it will still contain any token that will not be
- accepted due to an error action in a later state.
- */
- if (yytoken != YYEMPTY)
+yyloop:
+ if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
+ if (yychar < 0)
{
- int yyn = yypact[*yyssp];
- yyarg[yycount++] = yytname[yytoken];
- if (!yypact_value_is_default (yyn))
+ if ((yychar = YYLEX) < 0) yychar = 0;
+#if YYDEBUG
+ if (yydebug)
{
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. In other words, skip the first -YYN actions for
- this state because they are default actions. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = YYLAST - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
- int yyx;
-
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
- && !yytable_value_is_error (yytable[yyx + yyn]))
- {
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- yysize = yysize0;
- break;
- }
- yyarg[yycount++] = yytname[yyx];
- yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
- if (! (yysize <= yysize1
- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
- }
+ yys = 0;
+ if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+ if (!yys) yys = "illegal-symbol";
+ printf("%sdebug: state %d, reading %d (%s)\n",
+ YYPREFIX, yystate, yychar, yys);
}
+#endif
}
-
- switch (yycount)
- {
-# define YYCASE_(N, S) \
- case N: \
- yyformat = S; \
- break
- YYCASE_(0, YY_("syntax error"));
- YYCASE_(1, YY_("syntax error, unexpected %s"));
- YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
- YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
- YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
- YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
-# undef YYCASE_
- }
-
- yysize1 = yysize + yystrlen (yyformat);
- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
-
- if (*yymsg_alloc < yysize)
+ if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
{
- *yymsg_alloc = 2 * yysize;
- if (! (yysize <= *yymsg_alloc
- && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
- *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
- return 1;
- }
-
- /* Avoid sprintf, as that infringes on the user's name space.
- Don't have undefined behavior even if the translation
- produced a string with the wrong number of "%s"s. */
- {
- char *yyp = *yymsg;
- int yyi = 0;
- while ((*yyp = *yyformat) != '\0')
- if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
- {
- yyp += yytnamerr (yyp, yyarg[yyi++]);
- yyformat += 2;
- }
- else
+#if YYDEBUG
+ if (yydebug)
+ printf("%sdebug: state %d, shifting to state %d\n",
+ YYPREFIX, yystate, yytable[yyn]);
+#endif
+ if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack))
{
- yyp++;
- yyformat++;
+ goto yyoverflow;
}
- }
- return 0;
-}
-#endif /* YYERROR_VERBOSE */
-
-/*-----------------------------------------------.
-| Release the memory associated to this symbol. |
-`-----------------------------------------------*/
-
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
-#else
-static void
-yydestruct (yymsg, yytype, yyvaluep)
- const char *yymsg;
- int yytype;
- YYSTYPE *yyvaluep;
-#endif
-{
- YYUSE (yyvaluep);
-
- if (!yymsg)
- yymsg = "Deleting";
- YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
-
- switch (yytype)
- {
-
- default:
- break;
+ yystate = yytable[yyn];
+ *++yystack.s_mark = yytable[yyn];
+ *++yystack.l_mark = yylval;
+ yychar = YYEMPTY;
+ if (yyerrflag > 0) --yyerrflag;
+ goto yyloop;
}
-}
-
-
-
-
-/* The lookahead symbol. */
-int yychar;
-
-/* The semantic value of the lookahead symbol. */
-YYSTYPE yylval;
-
-/* Number of syntax errors so far. */
-int yynerrs;
-
-
-/*----------.
-| yyparse. |
-`----------*/
-
-#ifdef YYPARSE_PARAM
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void *YYPARSE_PARAM)
-#else
-int
-yyparse (YYPARSE_PARAM)
- void *YYPARSE_PARAM;
-#endif
-#else /* ! YYPARSE_PARAM */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void)
-#else
-int
-yyparse ()
-
-#endif
-#endif
-{
- int yystate;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
-
- /* The stacks and their tools:
- `yyss': related to states.
- `yyvs': related to semantic values.
-
- Refer to the stacks through separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
-
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss;
- yytype_int16 *yyssp;
-
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs;
- YYSTYPE *yyvsp;
-
- YYSIZE_T yystacksize;
-
- int yyn;
- int yyresult;
- /* Lookahead token as an internal (translated) token number. */
- int yytoken;
- /* The variables used to return semantic value and location from the
- action routines. */
- YYSTYPE yyval;
-
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
-
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
-
- /* The number of symbols on the RHS of the reduced rule.
- Keep to zero when no symbol should be popped. */
- int yylen = 0;
-
- yytoken = 0;
- yyss = yyssa;
- yyvs = yyvsa;
- yystacksize = YYINITDEPTH;
-
- YYDPRINTF ((stderr, "Starting parse\n"));
-
- yystate = 0;
- 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;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate. |
-`------------------------------------------------------------*/
- yynewstate:
- /* In all cases, when you get here, the value and location stacks
- have just been pushed. So pushing a state here evens the stacks. */
- yyssp++;
-
- yysetstate:
- *yyssp = yystate;
-
- if (yyss + yystacksize - 1 <= yyssp)
+ if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
{
- /* Get the current used size of the three stacks, in elements. */
- YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
- {
- /* Give user a chance to reallocate the stack. Use copies of
- these so that the &'s don't force the real ones into
- memory. */
- YYSTYPE *yyvs1 = yyvs;
- yytype_int16 *yyss1 = yyss;
-
- /* Each stack pointer address is followed by the size of the
- data in use in that stack, in bytes. This used to be a
- conditional around just the two extra args, but that might
- be undefined if yyoverflow is a macro. */
- yyoverflow (YY_("memory exhausted"),
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
- &yystacksize);
-
- yyss = yyss1;
- yyvs = yyvs1;
- }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
- goto yyexhaustedlab;
-# else
- /* Extend the stack our own way. */
- if (YYMAXDEPTH <= yystacksize)
- goto yyexhaustedlab;
- yystacksize *= 2;
- if (YYMAXDEPTH < yystacksize)
- yystacksize = YYMAXDEPTH;
-
- {
- yytype_int16 *yyss1 = yyss;
- union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
- if (! yyptr)
- goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);
-# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
- }
-# endif
-#endif /* no yyoverflow */
-
- yyssp = yyss + yysize - 1;
- yyvsp = yyvs + yysize - 1;
-
- YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
-
- if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
+ yyn = yytable[yyn];
+ goto yyreduce;
}
+ if (yyerrflag) goto yyinrecovery;
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
- if (yystate == YYFINAL)
- YYACCEPT;
+ yyerror("syntax error");
- goto yybackup;
-
-/*-----------.
-| yybackup. |
-`-----------*/
-yybackup:
-
- /* Do appropriate processing given the current state. Read a
- lookahead token if we need one and don't already have one. */
-
- /* First try to decide what to do without reference to lookahead token. */
- yyn = yypact[yystate];
- if (yypact_value_is_default (yyn))
- goto yydefault;
-
- /* Not known => get a lookahead token if don't already have one. */
+ goto yyerrlab;
- /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
- if (yychar == YYEMPTY)
- {
- YYDPRINTF ((stderr, "Reading a token: "));
- yychar = YYLEX;
- }
+yyerrlab:
+ ++yynerrs;
- if (yychar <= YYEOF)
+yyinrecovery:
+ if (yyerrflag < 3)
{
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+ yyerrflag = 3;
+ for (;;)
+ {
+ if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
+ {
+#if YYDEBUG
+ if (yydebug)
+ printf("%sdebug: state %d, error recovery shifting\
+ to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]);
+#endif
+ if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack))
+ {
+ goto yyoverflow;
+ }
+ yystate = yytable[yyn];
+ *++yystack.s_mark = yytable[yyn];
+ *++yystack.l_mark = yylval;
+ goto yyloop;
+ }
+ else
+ {
+#if YYDEBUG
+ if (yydebug)
+ printf("%sdebug: error recovery discarding state %d\n",
+ YYPREFIX, *yystack.s_mark);
+#endif
+ if (yystack.s_mark <= yystack.s_base) goto yyabort;
+ --yystack.s_mark;
+ --yystack.l_mark;
+ }
+ }
}
-
- /* If the proper action on seeing token YYTOKEN is to reduce or to
- detect an error, take that action. */
- yyn += yytoken;
- if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
- goto yydefault;
- yyn = yytable[yyn];
- if (yyn <= 0)
+ else
{
- if (yytable_value_is_error (yyn))
- goto yyerrlab;
- yyn = -yyn;
- goto yyreduce;
+ if (yychar == 0) goto yyabort;
+#if YYDEBUG
+ if (yydebug)
+ {
+ yys = 0;
+ if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+ if (!yys) yys = "illegal-symbol";
+ printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
+ YYPREFIX, yystate, yychar, yys);
+ }
+#endif
+ yychar = YYEMPTY;
+ goto yyloop;
}
- /* Count tokens shifted since error; after three, turn off error
- status. */
- if (yyerrstatus)
- yyerrstatus--;
-
- /* Shift the lookahead token. */
- YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
-
- /* Discard the shifted token. */
- yychar = YYEMPTY;
-
- yystate = yyn;
- *++yyvsp = yylval;
-
- goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state. |
-`-----------------------------------------------------------*/
-yydefault:
- yyn = yydefact[yystate];
- if (yyn == 0)
- goto yyerrlab;
- goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction. |
-`-----------------------------*/
yyreduce:
- /* yyn is the number of a rule to reduce with. */
- yylen = yyr2[yyn];
-
- /* If YYLEN is nonzero, implement the default value of the action:
- `$$ = $1'.
-
- Otherwise, the following line sets YYVAL to garbage.
- This behavior is undocumented and Bison
- users should not rely upon it. Assigning to YYVAL
- unconditionally makes the parser a bit smaller, and it avoids a
- GCC warning that YYVAL may be used uninitialized. */
- yyval = yyvsp[1-yylen];
-
-
- YY_REDUCE_PRINT (yyn);
- switch (yyn)
- {
- case 9:
-/* Line 1787 of yacc.c */
+#if YYDEBUG
+ if (yydebug)
+ printf("%sdebug: state %d, reducing by rule %d (%s)\n",
+ YYPREFIX, yystate, yyn, yyrule[yyn]);
+#endif
+ yym = yylen[yyn];
+ if (yym)
+ yyval = yystack.l_mark[1-yym];
+ else
+ memset(&yyval, 0, sizeof yyval);
+ switch (yyn)
+ {
+case 8:
#line 118 "util/configparser.y"
- {
+ {
OUTYY(("\nP(server:)\n"));
}
- break;
-
- case 110:
-/* Line 1787 of yacc.c */
+break;
+case 109:
#line 167 "util/configparser.y"
- {
+ {
struct config_stub* s;
OUTYY(("\nP(stub_zone:)\n"));
s = (struct config_stub*)calloc(1, sizeof(struct config_stub));
@@ -2102,12 +1066,10 @@ yyreduce:
} else
yyerror("out of memory");
}
- break;
-
- case 118:
-/* Line 1787 of yacc.c */
+break;
+case 117:
#line 183 "util/configparser.y"
- {
+ {
struct config_stub* s;
OUTYY(("\nP(forward_zone:)\n"));
s = (struct config_stub*)calloc(1, sizeof(struct config_stub));
@@ -2117,87 +1079,73 @@ yyreduce:
} else
yyerror("out of memory");
}
- break;
-
- case 125:
-/* Line 1787 of yacc.c */
+break;
+case 124:
#line 199 "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)
+ {
+ OUTYY(("P(server_num_threads:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->num_threads = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->num_threads = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 126:
-/* Line 1787 of yacc.c */
+break;
+case 125:
#line 208 "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)
+ {
+ OUTYY(("P(server_verbosity:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->verbosity = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->verbosity = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 127:
-/* Line 1787 of yacc.c */
+break;
+case 126:
#line 217 "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)
+ {
+ OUTYY(("P(server_statistics_interval:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "") == 0 || strcmp(yystack.l_mark[0].str, "0") == 0)
cfg_parser->cfg->stat_interval = 0;
- else if(atoi((yyvsp[(2) - (2)].str)) == 0)
+ else if(atoi(yystack.l_mark[0].str) == 0)
yyerror("number expected");
- else cfg_parser->cfg->stat_interval = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->stat_interval = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 128:
-/* Line 1787 of yacc.c */
+break;
+case 127:
#line 228 "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)
+ {
+ OUTYY(("P(server_statistics_cumulative:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->stat_cumulative = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->stat_cumulative = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 129:
-/* Line 1787 of yacc.c */
+break;
+case 128:
#line 237 "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)
+ {
+ OUTYY(("P(server_extended_statistics:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->stat_extended = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->stat_extended = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 130:
-/* Line 1787 of yacc.c */
+break;
+case 129:
#line 246 "util/configparser.y"
- {
- OUTYY(("P(server_port:%s)\n", (yyvsp[(2) - (2)].str)));
- if(atoi((yyvsp[(2) - (2)].str)) == 0)
+ {
+ OUTYY(("P(server_port:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0)
yyerror("port number expected");
- else cfg_parser->cfg->port = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->port = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 131:
-/* Line 1787 of yacc.c */
+break;
+case 130:
#line 255 "util/configparser.y"
- {
- OUTYY(("P(server_interface:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_interface:%s)\n", yystack.l_mark[0].str));
if(cfg_parser->cfg->num_ifs == 0)
cfg_parser->cfg->ifs = calloc(1, sizeof(char*));
else cfg_parser->cfg->ifs = realloc(cfg_parser->cfg->ifs,
@@ -2205,15 +1153,13 @@ yyreduce:
if(!cfg_parser->cfg->ifs)
yyerror("out of memory");
else
- cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = yystack.l_mark[0].str;
}
- break;
-
- case 132:
-/* Line 1787 of yacc.c */
+break;
+case 131:
#line 268 "util/configparser.y"
- {
- OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_outgoing_interface:%s)\n", yystack.l_mark[0].str));
if(cfg_parser->cfg->num_out_ifs == 0)
cfg_parser->cfg->out_ifs = calloc(1, sizeof(char*));
else cfg_parser->cfg->out_ifs = realloc(
@@ -2223,1082 +1169,906 @@ yyreduce:
yyerror("out of memory");
else
cfg_parser->cfg->out_ifs[
- cfg_parser->cfg->num_out_ifs++] = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->num_out_ifs++] = yystack.l_mark[0].str;
}
- break;
-
- case 133:
-/* Line 1787 of yacc.c */
+break;
+case 132:
#line 283 "util/configparser.y"
- {
- OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[(2) - (2)].str)));
- if(atoi((yyvsp[(2) - (2)].str)) == 0)
+ {
+ OUTYY(("P(server_outgoing_range:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0)
yyerror("number expected");
- else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->outgoing_num_ports = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 134:
-/* Line 1787 of yacc.c */
+break;
+case 133:
#line 292 "util/configparser.y"
- {
- OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[(2) - (2)].str)));
- if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 1,
+ {
+ OUTYY(("P(server_outgoing_port_permit:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_mark_ports(yystack.l_mark[0].str, 1,
cfg_parser->cfg->outgoing_avail_ports, 65536))
yyerror("port number or range (\"low-high\") expected");
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 135:
-/* Line 1787 of yacc.c */
+break;
+case 134:
#line 301 "util/configparser.y"
- {
- OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[(2) - (2)].str)));
- if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 0,
+ {
+ OUTYY(("P(server_outgoing_port_avoid:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_mark_ports(yystack.l_mark[0].str, 0,
cfg_parser->cfg->outgoing_avail_ports, 65536))
yyerror("port number or range (\"low-high\") expected");
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 136:
-/* Line 1787 of yacc.c */
+break;
+case 135:
#line 310 "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)
+ {
+ OUTYY(("P(server_outgoing_num_tcp:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->outgoing_num_tcp = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 137:
-/* Line 1787 of yacc.c */
+break;
+case 136:
#line 319 "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)
+ {
+ OUTYY(("P(server_incoming_num_tcp:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->incoming_num_tcp = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 138:
-/* Line 1787 of yacc.c */
+break;
+case 137:
#line 328 "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)
+ {
+ OUTYY(("P(server_interface_automatic:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->if_automatic = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->if_automatic = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 139:
-/* Line 1787 of yacc.c */
+break;
+case 138:
#line 337 "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)
+ {
+ OUTYY(("P(server_do_ip4:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->do_ip4 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->do_ip4 = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 140:
-/* Line 1787 of yacc.c */
+break;
+case 139:
#line 346 "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)
+ {
+ OUTYY(("P(server_do_ip6:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->do_ip6 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->do_ip6 = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 141:
-/* Line 1787 of yacc.c */
+break;
+case 140:
#line 355 "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)
+ {
+ OUTYY(("P(server_do_udp:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->do_udp = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->do_udp = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 142:
-/* Line 1787 of yacc.c */
+break;
+case 141:
#line 364 "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)
+ {
+ OUTYY(("P(server_do_tcp:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->do_tcp = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->do_tcp = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 143:
-/* Line 1787 of yacc.c */
+break;
+case 142:
#line 373 "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)
+ {
+ OUTYY(("P(server_tcp_upstream:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->tcp_upstream = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->tcp_upstream = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 144:
-/* Line 1787 of yacc.c */
+break;
+case 143:
#line 382 "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)
+ {
+ OUTYY(("P(server_ssl_upstream:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->ssl_upstream = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->ssl_upstream = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 145:
-/* Line 1787 of yacc.c */
+break;
+case 144:
#line 391 "util/configparser.y"
- {
- OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_ssl_service_key:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->ssl_service_key);
- cfg_parser->cfg->ssl_service_key = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->ssl_service_key = yystack.l_mark[0].str;
}
- break;
-
- case 146:
-/* Line 1787 of yacc.c */
+break;
+case 145:
#line 398 "util/configparser.y"
- {
- OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_ssl_service_pem:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->ssl_service_pem);
- cfg_parser->cfg->ssl_service_pem = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->ssl_service_pem = yystack.l_mark[0].str;
}
- break;
-
- case 147:
-/* Line 1787 of yacc.c */
+break;
+case 146:
#line 405 "util/configparser.y"
- {
- OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[(2) - (2)].str)));
- if(atoi((yyvsp[(2) - (2)].str)) == 0)
+ {
+ OUTYY(("P(server_ssl_port:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0)
yyerror("port number expected");
- else cfg_parser->cfg->ssl_port = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->ssl_port = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 148:
-/* Line 1787 of yacc.c */
+break;
+case 147:
#line 414 "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)
+ {
+ OUTYY(("P(server_do_daemonize:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->do_daemonize = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->do_daemonize = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 149:
-/* Line 1787 of yacc.c */
+break;
+case 148:
#line 423 "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)
+ {
+ OUTYY(("P(server_use_syslog:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->use_syslog = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ else cfg_parser->cfg->use_syslog = (strcmp(yystack.l_mark[0].str, "yes")==0);
#if !defined(HAVE_SYSLOG_H) && !defined(UB_ON_WINDOWS)
- if(strcmp((yyvsp[(2) - (2)].str), "yes") == 0)
+ if(strcmp(yystack.l_mark[0].str, "yes") == 0)
yyerror("no syslog services are available. "
"(reconfigure and compile to add)");
#endif
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 150:
-/* Line 1787 of yacc.c */
+break;
+case 149:
#line 437 "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)
+ {
+ OUTYY(("P(server_log_time_ascii:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->log_time_ascii = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->log_time_ascii = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 151:
-/* Line 1787 of yacc.c */
+break;
+case 150:
#line 446 "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)
+ {
+ OUTYY(("P(server_log_queries:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->log_queries = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->log_queries = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 152:
-/* Line 1787 of yacc.c */
+break;
+case 151:
#line 455 "util/configparser.y"
- {
- OUTYY(("P(server_chroot:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_chroot:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->chrootdir);
- cfg_parser->cfg->chrootdir = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->chrootdir = yystack.l_mark[0].str;
}
- break;
-
- case 153:
-/* Line 1787 of yacc.c */
+break;
+case 152:
#line 462 "util/configparser.y"
- {
- OUTYY(("P(server_username:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_username:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->username);
- cfg_parser->cfg->username = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->username = yystack.l_mark[0].str;
}
- break;
-
- case 154:
-/* Line 1787 of yacc.c */
+break;
+case 153:
#line 469 "util/configparser.y"
- {
- OUTYY(("P(server_directory:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_directory:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->directory);
- cfg_parser->cfg->directory = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->directory = yystack.l_mark[0].str;
}
- break;
-
- case 155:
-/* Line 1787 of yacc.c */
+break;
+case 154:
#line 476 "util/configparser.y"
- {
- OUTYY(("P(server_logfile:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_logfile:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->logfile);
- cfg_parser->cfg->logfile = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->logfile = yystack.l_mark[0].str;
cfg_parser->cfg->use_syslog = 0;
}
- break;
-
- case 156:
-/* Line 1787 of yacc.c */
+break;
+case 155:
#line 484 "util/configparser.y"
- {
- OUTYY(("P(server_pidfile:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_pidfile:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->pidfile);
- cfg_parser->cfg->pidfile = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->pidfile = yystack.l_mark[0].str;
}
- break;
-
- case 157:
-/* Line 1787 of yacc.c */
+break;
+case 156:
#line 491 "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)))
+ {
+ OUTYY(("P(server_root_hints:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, yystack.l_mark[0].str))
yyerror("out of memory");
}
- break;
-
- case 158:
-/* Line 1787 of yacc.c */
+break;
+case 157:
#line 498 "util/configparser.y"
- {
- OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_dlv_anchor_file:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->dlv_anchor_file);
- cfg_parser->cfg->dlv_anchor_file = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->dlv_anchor_file = yystack.l_mark[0].str;
}
- break;
-
- case 159:
-/* Line 1787 of yacc.c */
+break;
+case 158:
#line 505 "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)))
+ {
+ OUTYY(("P(server_dlv_anchor:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->dlv_anchor_list, yystack.l_mark[0].str))
yyerror("out of memory");
}
- break;
-
- case 160:
-/* Line 1787 of yacc.c */
+break;
+case 159:
#line 512 "util/configparser.y"
- {
- OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_auto_trust_anchor_file:%s)\n", yystack.l_mark[0].str));
if(!cfg_strlist_insert(&cfg_parser->cfg->
- auto_trust_anchor_file_list, (yyvsp[(2) - (2)].str)))
+ auto_trust_anchor_file_list, yystack.l_mark[0].str))
yyerror("out of memory");
}
- break;
-
- case 161:
-/* Line 1787 of yacc.c */
+break;
+case 160:
#line 520 "util/configparser.y"
- {
- OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_trust_anchor_file:%s)\n", yystack.l_mark[0].str));
if(!cfg_strlist_insert(&cfg_parser->cfg->
- trust_anchor_file_list, (yyvsp[(2) - (2)].str)))
+ trust_anchor_file_list, yystack.l_mark[0].str))
yyerror("out of memory");
}
- break;
-
- case 162:
-/* Line 1787 of yacc.c */
+break;
+case 161:
#line 528 "util/configparser.y"
- {
- OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_trusted_keys_file:%s)\n", yystack.l_mark[0].str));
if(!cfg_strlist_insert(&cfg_parser->cfg->
- trusted_keys_file_list, (yyvsp[(2) - (2)].str)))
+ trusted_keys_file_list, yystack.l_mark[0].str))
yyerror("out of memory");
}
- break;
-
- case 163:
-/* Line 1787 of yacc.c */
+break;
+case 162:
#line 536 "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)))
+ {
+ OUTYY(("P(server_trust_anchor:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, yystack.l_mark[0].str))
yyerror("out of memory");
}
- break;
-
- case 164:
-/* Line 1787 of yacc.c */
+break;
+case 163:
#line 543 "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)))
+ {
+ OUTYY(("P(server_domain_insecure:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, yystack.l_mark[0].str))
yyerror("out of memory");
}
- break;
-
- case 165:
-/* Line 1787 of yacc.c */
+break;
+case 164:
#line 550 "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)
+ {
+ OUTYY(("P(server_hide_identity:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->hide_identity = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->hide_identity = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 166:
-/* Line 1787 of yacc.c */
+break;
+case 165:
#line 559 "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)
+ {
+ OUTYY(("P(server_hide_version:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->hide_version = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->hide_version = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 167:
-/* Line 1787 of yacc.c */
+break;
+case 166:
#line 568 "util/configparser.y"
- {
- OUTYY(("P(server_identity:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_identity:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->identity);
- cfg_parser->cfg->identity = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->identity = yystack.l_mark[0].str;
}
- break;
-
- case 168:
-/* Line 1787 of yacc.c */
+break;
+case 167:
#line 575 "util/configparser.y"
- {
- OUTYY(("P(server_version:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_version:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->version);
- cfg_parser->cfg->version = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->version = yystack.l_mark[0].str;
}
- break;
-
- case 169:
-/* Line 1787 of yacc.c */
+break;
+case 168:
#line 582 "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))
+ {
+ OUTYY(("P(server_so_rcvbuf:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->so_rcvbuf))
yyerror("buffer size expected");
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 170:
-/* Line 1787 of yacc.c */
+break;
+case 169:
#line 590 "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))
+ {
+ OUTYY(("P(server_so_sndbuf:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->so_sndbuf))
yyerror("buffer size expected");
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 171:
-/* Line 1787 of yacc.c */
+break;
+case 170:
#line 598 "util/configparser.y"
- {
- OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
- if(atoi((yyvsp[(2) - (2)].str)) == 0)
+ {
+ OUTYY(("P(server_edns_buffer_size:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0)
yyerror("number expected");
- else if (atoi((yyvsp[(2) - (2)].str)) < 12)
+ else if (atoi(yystack.l_mark[0].str) < 12)
yyerror("edns buffer size too small");
- else if (atoi((yyvsp[(2) - (2)].str)) > 65535)
+ else if (atoi(yystack.l_mark[0].str) > 65535)
cfg_parser->cfg->edns_buffer_size = 65535;
- else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->edns_buffer_size = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 172:
-/* Line 1787 of yacc.c */
+break;
+case 171:
#line 611 "util/configparser.y"
- {
- OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
- if(atoi((yyvsp[(2) - (2)].str)) == 0)
+ {
+ OUTYY(("P(server_msg_buffer_size:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0)
yyerror("number expected");
- else if (atoi((yyvsp[(2) - (2)].str)) < 4096)
+ else if (atoi(yystack.l_mark[0].str) < 4096)
yyerror("message buffer size too small (use 4096)");
- else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->msg_buffer_size = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 173:
-/* Line 1787 of yacc.c */
+break;
+case 172:
#line 622 "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))
+ {
+ OUTYY(("P(server_msg_cache_size:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->msg_cache_size))
yyerror("memory size expected");
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 174:
-/* Line 1787 of yacc.c */
+break;
+case 173:
#line 630 "util/configparser.y"
- {
- OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
- if(atoi((yyvsp[(2) - (2)].str)) == 0)
+ {
+ OUTYY(("P(server_msg_cache_slabs:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0)
yyerror("number expected");
else {
- cfg_parser->cfg->msg_cache_slabs = atoi((yyvsp[(2) - (2)].str));
+ cfg_parser->cfg->msg_cache_slabs = atoi(yystack.l_mark[0].str);
if(!is_pow2(cfg_parser->cfg->msg_cache_slabs))
yyerror("must be a power of 2");
}
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 175:
-/* Line 1787 of yacc.c */
+break;
+case 174:
#line 643 "util/configparser.y"
- {
- OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[(2) - (2)].str)));
- if(atoi((yyvsp[(2) - (2)].str)) == 0)
+ {
+ OUTYY(("P(server_num_queries_per_thread:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0)
yyerror("number expected");
- else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->num_queries_per_thread = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 176:
-/* Line 1787 of yacc.c */
+break;
+case 175:
#line 652 "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)
+ {
+ OUTYY(("P(server_jostle_timeout:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->jostle_time = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->jostle_time = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 177:
-/* Line 1787 of yacc.c */
+break;
+case 176:
#line 661 "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))
+ {
+ OUTYY(("P(server_rrset_cache_size:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->rrset_cache_size))
yyerror("memory size expected");
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 178:
-/* Line 1787 of yacc.c */
+break;
+case 177:
#line 669 "util/configparser.y"
- {
- OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
- if(atoi((yyvsp[(2) - (2)].str)) == 0)
+ {
+ OUTYY(("P(server_rrset_cache_slabs:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0)
yyerror("number expected");
else {
- cfg_parser->cfg->rrset_cache_slabs = atoi((yyvsp[(2) - (2)].str));
+ cfg_parser->cfg->rrset_cache_slabs = atoi(yystack.l_mark[0].str);
if(!is_pow2(cfg_parser->cfg->rrset_cache_slabs))
yyerror("must be a power of 2");
}
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 179:
-/* Line 1787 of yacc.c */
+break;
+case 178:
#line 682 "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)
+ {
+ OUTYY(("P(server_infra_host_ttl:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->host_ttl = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->host_ttl = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 180:
-/* Line 1787 of yacc.c */
+break;
+case 179:
#line 691 "util/configparser.y"
- {
- OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_infra_lame_ttl:%s)\n", yystack.l_mark[0].str));
verbose(VERB_DETAIL, "ignored infra-lame-ttl: %s (option "
- "removed, use infra-host-ttl)", (yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ "removed, use infra-host-ttl)", yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 181:
-/* Line 1787 of yacc.c */
+break;
+case 180:
#line 699 "util/configparser.y"
- {
- OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[(2) - (2)].str)));
- if(atoi((yyvsp[(2) - (2)].str)) == 0)
+ {
+ OUTYY(("P(server_infra_cache_numhosts:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0)
yyerror("number expected");
- else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->infra_cache_numhosts = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 182:
-/* Line 1787 of yacc.c */
+break;
+case 181:
#line 708 "util/configparser.y"
- {
- OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_infra_cache_lame_size:%s)\n", yystack.l_mark[0].str));
verbose(VERB_DETAIL, "ignored infra-cache-lame-size: %s "
- "(option removed, use infra-cache-numhosts)", (yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ "(option removed, use infra-cache-numhosts)", yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 183:
-/* Line 1787 of yacc.c */
+break;
+case 182:
#line 716 "util/configparser.y"
- {
- OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
- if(atoi((yyvsp[(2) - (2)].str)) == 0)
+ {
+ OUTYY(("P(server_infra_cache_slabs:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0)
yyerror("number expected");
else {
- cfg_parser->cfg->infra_cache_slabs = atoi((yyvsp[(2) - (2)].str));
+ cfg_parser->cfg->infra_cache_slabs = atoi(yystack.l_mark[0].str);
if(!is_pow2(cfg_parser->cfg->infra_cache_slabs))
yyerror("must be a power of 2");
}
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 184:
-/* Line 1787 of yacc.c */
+break;
+case 183:
#line 729 "util/configparser.y"
- {
- OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_target_fetch_policy:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->target_fetch_policy);
- cfg_parser->cfg->target_fetch_policy = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->target_fetch_policy = yystack.l_mark[0].str;
}
- break;
-
- case 185:
-/* Line 1787 of yacc.c */
+break;
+case 184:
#line 736 "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)
+ {
+ OUTYY(("P(server_harden_short_bufsize:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->harden_short_bufsize =
- (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 186:
-/* Line 1787 of yacc.c */
+break;
+case 185:
#line 746 "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)
+ {
+ OUTYY(("P(server_harden_large_queries:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->harden_large_queries =
- (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 187:
-/* Line 1787 of yacc.c */
+break;
+case 186:
#line 756 "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)
+ {
+ OUTYY(("P(server_harden_glue:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->harden_glue =
- (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 188:
-/* Line 1787 of yacc.c */
+break;
+case 187:
#line 766 "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)
+ {
+ OUTYY(("P(server_harden_dnssec_stripped:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->harden_dnssec_stripped =
- (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 189:
-/* Line 1787 of yacc.c */
+break;
+case 188:
#line 776 "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)
+ {
+ OUTYY(("P(server_harden_below_nxdomain:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->harden_below_nxdomain =
- (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 190:
-/* Line 1787 of yacc.c */
+break;
+case 189:
#line 786 "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)
+ {
+ OUTYY(("P(server_harden_referral_path:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->harden_referral_path =
- (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 191:
-/* Line 1787 of yacc.c */
+break;
+case 190:
#line 796 "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)
+ {
+ OUTYY(("P(server_use_caps_for_id:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->use_caps_bits_for_id =
- (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 192:
-/* Line 1787 of yacc.c */
+break;
+case 191:
#line 806 "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)))
+ {
+ OUTYY(("P(server_private_address:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, yystack.l_mark[0].str))
yyerror("out of memory");
}
- break;
-
- case 193:
-/* Line 1787 of yacc.c */
+break;
+case 192:
#line 813 "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)))
+ {
+ OUTYY(("P(server_private_domain:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, yystack.l_mark[0].str))
yyerror("out of memory");
}
- break;
-
- case 194:
-/* Line 1787 of yacc.c */
+break;
+case 193:
#line 820 "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)
+ {
+ OUTYY(("P(server_prefetch:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->prefetch = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->prefetch = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 195:
-/* Line 1787 of yacc.c */
+break;
+case 194:
#line 829 "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)
+ {
+ OUTYY(("P(server_prefetch_key:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->prefetch_key = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->prefetch_key = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 196:
-/* Line 1787 of yacc.c */
+break;
+case 195:
#line 838 "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)
+ {
+ OUTYY(("P(server_unwanted_reply_threshold:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->unwanted_threshold = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 197:
-/* Line 1787 of yacc.c */
+break;
+case 196:
#line 847 "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)))
+ {
+ OUTYY(("P(server_do_not_query_address:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, yystack.l_mark[0].str))
yyerror("out of memory");
}
- break;
-
- case 198:
-/* Line 1787 of yacc.c */
+break;
+case 197:
#line 854 "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)
+ {
+ OUTYY(("P(server_do_not_query_localhost:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->donotquery_localhost =
- (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 199:
-/* Line 1787 of yacc.c */
+break;
+case 198:
#line 864 "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 &&
- strcmp((yyvsp[(3) - (3)].str), "allow")!=0 &&
- strcmp((yyvsp[(3) - (3)].str), "allow_snoop")!=0) {
+ {
+ OUTYY(("P(server_access_control:%s %s)\n", yystack.l_mark[-1].str, yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "deny")!=0 && strcmp(yystack.l_mark[0].str, "refuse")!=0 &&
+ strcmp(yystack.l_mark[0].str, "allow")!=0 &&
+ strcmp(yystack.l_mark[0].str, "allow_snoop")!=0) {
yyerror("expected deny, refuse, allow or allow_snoop "
"in access control action");
} else {
- if(!cfg_str2list_insert(&cfg_parser->cfg->acls, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
+ if(!cfg_str2list_insert(&cfg_parser->cfg->acls, yystack.l_mark[-1].str, yystack.l_mark[0].str))
fatal_exit("out of memory adding acl");
}
}
- break;
-
- case 200:
-/* Line 1787 of yacc.c */
+break;
+case 199:
#line 878 "util/configparser.y"
- {
- OUTYY(("P(server_module_conf:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_module_conf:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->module_conf);
- cfg_parser->cfg->module_conf = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->module_conf = yystack.l_mark[0].str;
}
- break;
-
- case 201:
-/* Line 1787 of yacc.c */
+break;
+case 200:
#line 885 "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) {
+ {
+ OUTYY(("P(server_val_override_date:%s)\n", yystack.l_mark[0].str));
+ if(strlen(yystack.l_mark[0].str) == 0 || strcmp(yystack.l_mark[0].str, "0") == 0) {
cfg_parser->cfg->val_date_override = 0;
- } else if(strlen((yyvsp[(2) - (2)].str)) == 14) {
+ } else if(strlen(yystack.l_mark[0].str) == 14) {
cfg_parser->cfg->val_date_override =
- cfg_convert_timeval((yyvsp[(2) - (2)].str));
+ cfg_convert_timeval(yystack.l_mark[0].str);
if(!cfg_parser->cfg->val_date_override)
yyerror("bad date/time specification");
} else {
- if(atoi((yyvsp[(2) - (2)].str)) == 0)
+ if(atoi(yystack.l_mark[0].str) == 0)
yyerror("number expected");
- cfg_parser->cfg->val_date_override = atoi((yyvsp[(2) - (2)].str));
+ cfg_parser->cfg->val_date_override = atoi(yystack.l_mark[0].str);
}
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 202:
-/* Line 1787 of yacc.c */
+break;
+case 201:
#line 903 "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) {
+ {
+ OUTYY(("P(server_val_sig_skew_min:%s)\n", yystack.l_mark[0].str));
+ if(strlen(yystack.l_mark[0].str) == 0 || strcmp(yystack.l_mark[0].str, "0") == 0) {
cfg_parser->cfg->val_sig_skew_min = 0;
} else {
- cfg_parser->cfg->val_sig_skew_min = atoi((yyvsp[(2) - (2)].str));
+ cfg_parser->cfg->val_sig_skew_min = atoi(yystack.l_mark[0].str);
if(!cfg_parser->cfg->val_sig_skew_min)
yyerror("number expected");
}
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 203:
-/* Line 1787 of yacc.c */
+break;
+case 202:
#line 916 "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) {
+ {
+ OUTYY(("P(server_val_sig_skew_max:%s)\n", yystack.l_mark[0].str));
+ if(strlen(yystack.l_mark[0].str) == 0 || strcmp(yystack.l_mark[0].str, "0") == 0) {
cfg_parser->cfg->val_sig_skew_max = 0;
} else {
- cfg_parser->cfg->val_sig_skew_max = atoi((yyvsp[(2) - (2)].str));
+ cfg_parser->cfg->val_sig_skew_max = atoi(yystack.l_mark[0].str);
if(!cfg_parser->cfg->val_sig_skew_max)
yyerror("number expected");
}
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 204:
-/* Line 1787 of yacc.c */
+break;
+case 203:
#line 929 "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)
+ {
+ OUTYY(("P(server_cache_max_ttl:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->max_ttl = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->max_ttl = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 205:
-/* Line 1787 of yacc.c */
+break;
+case 204:
#line 938 "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)
+ {
+ OUTYY(("P(server_cache_min_ttl:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->min_ttl = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->min_ttl = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 206:
-/* Line 1787 of yacc.c */
+break;
+case 205:
#line 947 "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)
+ {
+ OUTYY(("P(server_bogus_ttl:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->bogus_ttl = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 207:
-/* Line 1787 of yacc.c */
+break;
+case 206:
#line 956 "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)
+ {
+ OUTYY(("P(server_val_clean_additional:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->val_clean_additional =
- (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 208:
-/* Line 1787 of yacc.c */
+break;
+case 207:
#line 966 "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)
+ {
+ OUTYY(("P(server_val_permissive_mode:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->val_permissive_mode =
- (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 209:
-/* Line 1787 of yacc.c */
+break;
+case 208:
#line 976 "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)
+ {
+ OUTYY(("P(server_ignore_cd_flag:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->ignore_cd = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->ignore_cd = (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 210:
-/* Line 1787 of yacc.c */
+break;
+case 209:
#line 985 "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)
+ {
+ OUTYY(("P(server_val_log_level:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->val_log_level = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->val_log_level = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 211:
-/* Line 1787 of yacc.c */
+break;
+case 210:
#line 994 "util/configparser.y"
- {
- OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->val_nsec3_key_iterations);
- cfg_parser->cfg->val_nsec3_key_iterations = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->val_nsec3_key_iterations = yystack.l_mark[0].str;
}
- break;
-
- case 212:
-/* Line 1787 of yacc.c */
+break;
+case 211:
#line 1001 "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)
+ {
+ OUTYY(("P(server_add_holddown:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->add_holddown = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->add_holddown = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 213:
-/* Line 1787 of yacc.c */
+break;
+case 212:
#line 1010 "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)
+ {
+ OUTYY(("P(server_del_holddown:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->del_holddown = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->del_holddown = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 214:
-/* Line 1787 of yacc.c */
+break;
+case 213:
#line 1019 "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)
+ {
+ OUTYY(("P(server_keep_missing:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
yyerror("number expected");
- else cfg_parser->cfg->keep_missing = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->keep_missing = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 215:
-/* Line 1787 of yacc.c */
+break;
+case 214:
#line 1028 "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))
+ {
+ OUTYY(("P(server_key_cache_size:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->key_cache_size))
yyerror("memory size expected");
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 216:
-/* Line 1787 of yacc.c */
+break;
+case 215:
#line 1036 "util/configparser.y"
- {
- OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
- if(atoi((yyvsp[(2) - (2)].str)) == 0)
+ {
+ OUTYY(("P(server_key_cache_slabs:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0)
yyerror("number expected");
else {
- cfg_parser->cfg->key_cache_slabs = atoi((yyvsp[(2) - (2)].str));
+ cfg_parser->cfg->key_cache_slabs = atoi(yystack.l_mark[0].str);
if(!is_pow2(cfg_parser->cfg->key_cache_slabs))
yyerror("must be a power of 2");
}
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 217:
-/* Line 1787 of yacc.c */
+break;
+case 216:
#line 1049 "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))
+ {
+ OUTYY(("P(server_neg_cache_size:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->neg_cache_size))
yyerror("memory size expected");
- free((yyvsp[(2) - (2)].str));
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 218:
-/* Line 1787 of yacc.c */
+break;
+case 217:
#line 1057 "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 &&
- strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 && strcmp((yyvsp[(3) - (3)].str), "redirect")!=0 &&
- strcmp((yyvsp[(3) - (3)].str), "transparent")!=0 && strcmp((yyvsp[(3) - (3)].str), "nodefault")!=0
- && strcmp((yyvsp[(3) - (3)].str), "typetransparent")!=0)
+ {
+ OUTYY(("P(server_local_zone:%s %s)\n", yystack.l_mark[-1].str, yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "static")!=0 && strcmp(yystack.l_mark[0].str, "deny")!=0 &&
+ strcmp(yystack.l_mark[0].str, "refuse")!=0 && strcmp(yystack.l_mark[0].str, "redirect")!=0 &&
+ strcmp(yystack.l_mark[0].str, "transparent")!=0 && strcmp(yystack.l_mark[0].str, "nodefault")!=0
+ && strcmp(yystack.l_mark[0].str, "typetransparent")!=0)
yyerror("local-zone type: expected static, deny, "
"refuse, redirect, transparent, "
"typetransparent or nodefault");
- else if(strcmp((yyvsp[(3) - (3)].str), "nodefault")==0) {
+ else if(strcmp(yystack.l_mark[0].str, "nodefault")==0) {
if(!cfg_strlist_insert(&cfg_parser->cfg->
- local_zones_nodefault, (yyvsp[(2) - (3)].str)))
+ local_zones_nodefault, yystack.l_mark[-1].str))
fatal_exit("out of memory adding local-zone");
- free((yyvsp[(3) - (3)].str));
+ free(yystack.l_mark[0].str);
} else {
if(!cfg_str2list_insert(&cfg_parser->cfg->local_zones,
- (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
+ yystack.l_mark[-1].str, yystack.l_mark[0].str))
fatal_exit("out of memory adding local-zone");
}
}
- break;
-
- case 219:
-/* Line 1787 of yacc.c */
+break;
+case 218:
#line 1079 "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)))
+ {
+ OUTYY(("P(server_local_data:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, yystack.l_mark[0].str))
fatal_exit("out of memory adding local-data");
}
- break;
-
- case 220:
-/* Line 1787 of yacc.c */
+break;
+case 219:
#line 1086 "util/configparser.y"
- {
+ {
char* ptr;
- OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str)));
- ptr = cfg_ptr_reverse((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ OUTYY(("P(server_local_data_ptr:%s)\n", yystack.l_mark[0].str));
+ ptr = cfg_ptr_reverse(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
if(ptr) {
if(!cfg_strlist_insert(&cfg_parser->cfg->
local_data, ptr))
@@ -3307,472 +2077,254 @@ yyreduce:
yyerror("local-data-ptr could not be reversed");
}
}
- break;
-
- case 221:
-/* Line 1787 of yacc.c */
+break;
+case 220:
#line 1101 "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)
+ {
+ OUTYY(("P(server_minimal_responses:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->minimal_responses =
- (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 222:
-/* Line 1787 of yacc.c */
+break;
+case 221:
#line 1111 "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)
+ {
+ OUTYY(("P(server_rrset_roundrobin:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->rrset_roundrobin =
- (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 223:
-/* Line 1787 of yacc.c */
+break;
+case 222:
#line 1121 "util/configparser.y"
- {
- OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(name:%s)\n", yystack.l_mark[0].str));
if(cfg_parser->cfg->stubs->name)
yyerror("stub name override, there must be one name "
"for one stub-zone");
free(cfg_parser->cfg->stubs->name);
- cfg_parser->cfg->stubs->name = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->stubs->name = yystack.l_mark[0].str;
}
- break;
-
- case 224:
-/* Line 1787 of yacc.c */
+break;
+case 223:
#line 1131 "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)))
+ {
+ OUTYY(("P(stub-host:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, yystack.l_mark[0].str))
yyerror("out of memory");
}
- break;
-
- case 225:
-/* Line 1787 of yacc.c */
+break;
+case 224:
#line 1138 "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)))
+ {
+ OUTYY(("P(stub-addr:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, yystack.l_mark[0].str))
yyerror("out of memory");
}
- break;
-
- case 226:
-/* Line 1787 of yacc.c */
+break;
+case 225:
#line 1145 "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)
+ {
+ OUTYY(("P(stub-first:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->stubs->isfirst=(strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 227:
-/* Line 1787 of yacc.c */
+break;
+case 226:
#line 1154 "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)
+ {
+ OUTYY(("P(stub-prime:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->stubs->isprime =
- (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 228:
-/* Line 1787 of yacc.c */
+break;
+case 227:
#line 1164 "util/configparser.y"
- {
- OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(name:%s)\n", yystack.l_mark[0].str));
if(cfg_parser->cfg->forwards->name)
yyerror("forward name override, there must be one "
"name for one forward-zone");
free(cfg_parser->cfg->forwards->name);
- cfg_parser->cfg->forwards->name = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->forwards->name = yystack.l_mark[0].str;
}
- break;
-
- case 229:
-/* Line 1787 of yacc.c */
+break;
+case 228:
#line 1174 "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)))
+ {
+ OUTYY(("P(forward-host:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, yystack.l_mark[0].str))
yyerror("out of memory");
}
- break;
-
- case 230:
-/* Line 1787 of yacc.c */
+break;
+case 229:
#line 1181 "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)))
+ {
+ OUTYY(("P(forward-addr:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, yystack.l_mark[0].str))
yyerror("out of memory");
}
- break;
-
- case 231:
-/* Line 1787 of yacc.c */
+break;
+case 230:
#line 1188 "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)
+ {
+ OUTYY(("P(forward-first:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
- else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->forwards->isfirst=(strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 232:
-/* Line 1787 of yacc.c */
+break;
+case 231:
#line 1197 "util/configparser.y"
- {
+ {
OUTYY(("\nP(remote-control:)\n"));
}
- break;
-
- case 242:
-/* Line 1787 of yacc.c */
+break;
+case 241:
#line 1208 "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)
+ {
+ OUTYY(("P(control_enable:%s)\n", yystack.l_mark[0].str));
+ if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
yyerror("expected yes or no.");
else cfg_parser->cfg->remote_control_enable =
- (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
- free((yyvsp[(2) - (2)].str));
+ (strcmp(yystack.l_mark[0].str, "yes")==0);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 243:
-/* Line 1787 of yacc.c */
+break;
+case 242:
#line 1218 "util/configparser.y"
- {
- OUTYY(("P(control_port:%s)\n", (yyvsp[(2) - (2)].str)));
- if(atoi((yyvsp[(2) - (2)].str)) == 0)
+ {
+ OUTYY(("P(control_port:%s)\n", yystack.l_mark[0].str));
+ if(atoi(yystack.l_mark[0].str) == 0)
yyerror("control port number expected");
- else cfg_parser->cfg->control_port = atoi((yyvsp[(2) - (2)].str));
- free((yyvsp[(2) - (2)].str));
+ else cfg_parser->cfg->control_port = atoi(yystack.l_mark[0].str);
+ free(yystack.l_mark[0].str);
}
- break;
-
- case 244:
-/* Line 1787 of yacc.c */
+break;
+case 243:
#line 1227 "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)))
+ {
+ OUTYY(("P(control_interface:%s)\n", yystack.l_mark[0].str));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->control_ifs, yystack.l_mark[0].str))
yyerror("out of memory");
}
- break;
-
- case 245:
-/* Line 1787 of yacc.c */
+break;
+case 244:
#line 1234 "util/configparser.y"
- {
- OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(rc_server_key_file:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->server_key_file);
- cfg_parser->cfg->server_key_file = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->server_key_file = yystack.l_mark[0].str;
}
- break;
-
- case 246:
-/* Line 1787 of yacc.c */
+break;
+case 245:
#line 1241 "util/configparser.y"
- {
- OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(rc_server_cert_file:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->server_cert_file);
- cfg_parser->cfg->server_cert_file = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->server_cert_file = yystack.l_mark[0].str;
}
- break;
-
- case 247:
-/* Line 1787 of yacc.c */
+break;
+case 246:
#line 1248 "util/configparser.y"
- {
- OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(rc_control_key_file:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->control_key_file);
- cfg_parser->cfg->control_key_file = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->control_key_file = yystack.l_mark[0].str;
}
- break;
-
- case 248:
-/* Line 1787 of yacc.c */
+break;
+case 247:
#line 1255 "util/configparser.y"
- {
- OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(rc_control_cert_file:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->control_cert_file);
- cfg_parser->cfg->control_cert_file = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->control_cert_file = yystack.l_mark[0].str;
}
- break;
-
- case 249:
-/* Line 1787 of yacc.c */
+break;
+case 248:
#line 1262 "util/configparser.y"
- {
+ {
OUTYY(("\nP(python:)\n"));
}
- break;
-
- case 253:
-/* Line 1787 of yacc.c */
+break;
+case 252:
#line 1271 "util/configparser.y"
- {
- OUTYY(("P(python-script:%s)\n", (yyvsp[(2) - (2)].str)));
+ {
+ OUTYY(("P(python-script:%s)\n", yystack.l_mark[0].str));
free(cfg_parser->cfg->python_script);
- cfg_parser->cfg->python_script = (yyvsp[(2) - (2)].str);
+ cfg_parser->cfg->python_script = yystack.l_mark[0].str;
}
- break;
-
-
-/* Line 1787 of yacc.c */
-#line 3545 "util/configparser.c"
- default: break;
+break;
+#line 2269 "util/configparser.c"
}
- /* User semantic actions sometimes alter yychar, and that requires
- that yytoken be updated with the new translation. We take the
- approach of translating immediately before every use of yytoken.
- One alternative is translating here after every semantic action,
- but that translation would be missed if the semantic action invokes
- YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
- if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
- incorrect destructor might then be invoked immediately. In the
- case of YYERROR or YYBACKUP, subsequent parser actions might lead
- to an incorrect destructor call or verbose syntax error message
- before the lookahead is translated. */
- YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
-
- YYPOPSTACK (yylen);
- yylen = 0;
- YY_STACK_PRINT (yyss, yyssp);
-
- *++yyvsp = yyval;
-
- /* Now `shift' the result of the reduction. Determine what state
- that goes to, based on the state we popped back to and the rule
- number reduced by. */
-
- yyn = yyr1[yyn];
-
- yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
- if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
- yystate = yytable[yystate];
- else
- yystate = yydefgoto[yyn - YYNTOKENS];
-
- goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
- /* Make sure we have latest lookahead translation. See comments at
- user semantic actions for why this is necessary. */
- yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
-
- /* If not already recovering from an error, report this error. */
- if (!yyerrstatus)
+ yystack.s_mark -= yym;
+ yystate = *yystack.s_mark;
+ yystack.l_mark -= yym;
+ yym = yylhs[yyn];
+ if (yystate == 0 && yym == 0)
{
- ++yynerrs;
-#if ! YYERROR_VERBOSE
- yyerror (YY_("syntax error"));
-#else
-# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
- yyssp, yytoken)
- {
- char const *yymsgp = YY_("syntax error");
- int yysyntax_error_status;
- yysyntax_error_status = YYSYNTAX_ERROR;
- if (yysyntax_error_status == 0)
- yymsgp = yymsg;
- else if (yysyntax_error_status == 1)
- {
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
- yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
- if (!yymsg)
- {
- yymsg = yymsgbuf;
- yymsg_alloc = sizeof yymsgbuf;
- yysyntax_error_status = 2;
- }
- else
- {
- yysyntax_error_status = YYSYNTAX_ERROR;
- yymsgp = yymsg;
- }
- }
- yyerror (yymsgp);
- if (yysyntax_error_status == 2)
- goto yyexhaustedlab;
- }
-# undef YYSYNTAX_ERROR
+#if YYDEBUG
+ if (yydebug)
+ printf("%sdebug: after reduction, shifting from state 0 to\
+ state %d\n", YYPREFIX, YYFINAL);
#endif
- }
-
-
-
- if (yyerrstatus == 3)
- {
- /* If just tried and failed to reuse lookahead token after an
- error, discard it. */
-
- if (yychar <= YYEOF)
- {
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
- YYABORT;
- }
- else
- {
- yydestruct ("Error: discarding",
- yytoken, &yylval);
- yychar = YYEMPTY;
- }
- }
-
- /* Else will try to reuse lookahead token after shifting the error
- token. */
- goto yyerrlab1;
-
-
-/*---------------------------------------------------.
-| yyerrorlab -- error raised explicitly by YYERROR. |
-`---------------------------------------------------*/
-yyerrorlab:
-
- /* Pacify compilers like GCC when the user code never invokes
- YYERROR and the label yyerrorlab therefore never appears in user
- code. */
- if (/*CONSTCOND*/ 0)
- goto yyerrorlab;
-
- /* Do not reclaim the symbols of the rule which action triggered
- this YYERROR. */
- YYPOPSTACK (yylen);
- yylen = 0;
- YY_STACK_PRINT (yyss, yyssp);
- yystate = *yyssp;
- goto yyerrlab1;
-
-
-/*-------------------------------------------------------------.
-| yyerrlab1 -- common code for both syntax error and YYERROR. |
-`-------------------------------------------------------------*/
-yyerrlab1:
- yyerrstatus = 3; /* Each real token shifted decrements this. */
-
- for (;;)
- {
- yyn = yypact[yystate];
- if (!yypact_value_is_default (yyn))
- {
- yyn += YYTERROR;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
- {
- yyn = yytable[yyn];
- if (0 < yyn)
- break;
- }
- }
-
- /* Pop the current state because it cannot handle the error token. */
- if (yyssp == yyss)
- YYABORT;
-
-
- yydestruct ("Error: popping",
- yystos[yystate], yyvsp);
- YYPOPSTACK (1);
- yystate = *yyssp;
- YY_STACK_PRINT (yyss, yyssp);
- }
-
- *++yyvsp = yylval;
-
-
- /* Shift the error token. */
- YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
-
- yystate = yyn;
- goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here. |
-`-------------------------------------*/
-yyacceptlab:
- yyresult = 0;
- goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here. |
-`-----------------------------------*/
-yyabortlab:
- yyresult = 1;
- goto yyreturn;
-
-#if !defined yyoverflow || YYERROR_VERBOSE
-/*-------------------------------------------------.
-| yyexhaustedlab -- memory exhaustion comes here. |
-`-------------------------------------------------*/
-yyexhaustedlab:
- yyerror (YY_("memory exhausted"));
- yyresult = 2;
- /* Fall through. */
+ yystate = YYFINAL;
+ *++yystack.s_mark = YYFINAL;
+ *++yystack.l_mark = yyval;
+ if (yychar < 0)
+ {
+ if ((yychar = YYLEX) < 0) yychar = 0;
+#if YYDEBUG
+ if (yydebug)
+ {
+ yys = 0;
+ if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+ if (!yys) yys = "illegal-symbol";
+ printf("%sdebug: state %d, reading %d (%s)\n",
+ YYPREFIX, YYFINAL, yychar, yys);
+ }
#endif
-
-yyreturn:
- if (yychar != YYEMPTY)
- {
- /* Make sure we have latest lookahead translation. See comments at
- user semantic actions for why this is necessary. */
- yytoken = YYTRANSLATE (yychar);
- yydestruct ("Cleanup: discarding lookahead",
- yytoken, &yylval);
+ }
+ if (yychar == 0) goto yyaccept;
+ goto yyloop;
}
- /* Do not reclaim the symbols of the rule which action triggered
- this YYABORT or YYACCEPT. */
- YYPOPSTACK (yylen);
- YY_STACK_PRINT (yyss, yyssp);
- while (yyssp != yyss)
+ if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
+ yystate = yytable[yyn];
+ else
+ yystate = yydgoto[yym];
+#if YYDEBUG
+ if (yydebug)
+ printf("%sdebug: after reduction, shifting from state %d \
+to state %d\n", YYPREFIX, *yystack.s_mark, yystate);
+#endif
+ if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack))
{
- yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp);
- YYPOPSTACK (1);
+ goto yyoverflow;
}
-#ifndef yyoverflow
- if (yyss != yyssa)
- YYSTACK_FREE (yyss);
-#endif
-#if YYERROR_VERBOSE
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
-#endif
- /* Make sure YYID is used. */
- return YYID (yyresult);
-}
-
+ *++yystack.s_mark = (short) yystate;
+ *++yystack.l_mark = yyval;
+ goto yyloop;
-/* Line 2048 of yacc.c */
-#line 1276 "util/configparser.y"
+yyoverflow:
+ yyerror("yacc stack overflow");
+yyabort:
+ yyfreestack(&yystack);
+ return (1);
-/* parse helper routines could be here */
-
+yyaccept:
+ yyfreestack(&yystack);
+ return (0);
+}
OpenPOWER on IntegriCloud