From bbab9202d39bf4067344787e0529d1e0e7778a5e Mon Sep 17 00:00:00 2001 From: des Date: Sun, 22 Sep 2013 19:09:43 +0000 Subject: Due to a missing command-line argument, yacc regenerated the parser but not its header file, resulting in a mismatch between the lexer and parser and strange errors when reading the configuration file. Approved by: re (blanket) --- contrib/unbound/freebsd-configure.sh | 2 +- contrib/unbound/util/configparser.h | 472 ++++++++++------------------------- 2 files changed, 135 insertions(+), 339 deletions(-) diff --git a/contrib/unbound/freebsd-configure.sh b/contrib/unbound/freebsd-configure.sh index 8ad7b33..f3070d2 100755 --- a/contrib/unbound/freebsd-configure.sh +++ b/contrib/unbound/freebsd-configure.sh @@ -39,4 +39,4 @@ EOF /usr/bin/flex -L -t util/configlexer.lex } >util/configlexer.c -/usr/bin/yacc -o util/configparser.c util/configparser.y +/usr/bin/yacc -d -o util/configparser.c util/configparser.y diff --git a/contrib/unbound/util/configparser.h b/contrib/unbound/util/configparser.h index 8d9c3c4..7bf4235 100644 --- a/contrib/unbound/util/configparser.h +++ b/contrib/unbound/util/configparser.h @@ -1,342 +1,138 @@ -/* A Bison parser, made by GNU Bison 2.6.1. */ - -/* Bison interface 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 . */ - -/* 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. */ - -#ifndef YY_UTIL_CONFIGPARSER_H -# define YY_UTIL_CONFIGPARSER_H -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 +#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 +#ifdef YYSTYPE +#undef YYSTYPE_IS_DECLARED +#define YYSTYPE_IS_DECLARED 1 #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 2049 of yacc.c */ -#line 64 "util/configparser.y" - +#ifndef YYSTYPE_IS_DECLARED +#define YYSTYPE_IS_DECLARED 1 +typedef union { char* str; - - -/* Line 2049 of yacc.c */ -#line 320 "util/configparser.h" } YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1 -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -#endif - +#endif /* !YYSTYPE_IS_DECLARED */ extern YYSTYPE yylval; - -#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 */ -- cgit v1.1