1 /* A Bison parser, made by GNU Bison 3.0.4. */ 2 3 /* Bison interface for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. 6 7 This program is free software: you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation, either version 3 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19 20 /* As a special exception, you may create a larger work that contains 21 part or all of the Bison parser skeleton and distribute that work 22 under terms of your choice, so long as that work isn't itself a 23 parser generator using the skeleton or a modified version thereof 24 as a parser skeleton. Alternatively, if you modify or redistribute 25 the parser skeleton itself, you may (at your option) remove this 26 special exception, which will cause the skeleton and the resulting 27 Bison output files to be licensed under the GNU General Public 28 License without this special exception. 29 30 This special exception was added by the Free Software Foundation in 31 version 2.2 of Bison. */ 32 33 #ifndef YY_YY_UTIL_CONFIGPARSER_H_INCLUDED 34 # define YY_YY_UTIL_CONFIGPARSER_H_INCLUDED 35 /* Debug traces. */ 36 #ifndef YYDEBUG 37 # define YYDEBUG 0 38 #endif 39 #if YYDEBUG 40 extern int yydebug; 41 #endif 42 43 /* Token type. */ 44 #ifndef YYTOKENTYPE 45 # define YYTOKENTYPE 46 enum yytokentype 47 { 48 SPACE = 258, 49 LETTER = 259, 50 NEWLINE = 260, 51 COMMENT = 261, 52 COLON = 262, 53 ANY = 263, 54 ZONESTR = 264, 55 STRING_ARG = 265, 56 VAR_SERVER = 266, 57 VAR_VERBOSITY = 267, 58 VAR_NUM_THREADS = 268, 59 VAR_PORT = 269, 60 VAR_OUTGOING_RANGE = 270, 61 VAR_INTERFACE = 271, 62 VAR_DO_IP4 = 272, 63 VAR_DO_IP6 = 273, 64 VAR_DO_UDP = 274, 65 VAR_DO_TCP = 275, 66 VAR_TCP_MSS = 276, 67 VAR_OUTGOING_TCP_MSS = 277, 68 VAR_CHROOT = 278, 69 VAR_USERNAME = 279, 70 VAR_DIRECTORY = 280, 71 VAR_LOGFILE = 281, 72 VAR_PIDFILE = 282, 73 VAR_MSG_CACHE_SIZE = 283, 74 VAR_MSG_CACHE_SLABS = 284, 75 VAR_NUM_QUERIES_PER_THREAD = 285, 76 VAR_RRSET_CACHE_SIZE = 286, 77 VAR_RRSET_CACHE_SLABS = 287, 78 VAR_OUTGOING_NUM_TCP = 288, 79 VAR_INFRA_HOST_TTL = 289, 80 VAR_INFRA_LAME_TTL = 290, 81 VAR_INFRA_CACHE_SLABS = 291, 82 VAR_INFRA_CACHE_NUMHOSTS = 292, 83 VAR_INFRA_CACHE_LAME_SIZE = 293, 84 VAR_NAME = 294, 85 VAR_STUB_ZONE = 295, 86 VAR_STUB_HOST = 296, 87 VAR_STUB_ADDR = 297, 88 VAR_TARGET_FETCH_POLICY = 298, 89 VAR_HARDEN_SHORT_BUFSIZE = 299, 90 VAR_HARDEN_LARGE_QUERIES = 300, 91 VAR_FORWARD_ZONE = 301, 92 VAR_FORWARD_HOST = 302, 93 VAR_FORWARD_ADDR = 303, 94 VAR_DO_NOT_QUERY_ADDRESS = 304, 95 VAR_HIDE_IDENTITY = 305, 96 VAR_HIDE_VERSION = 306, 97 VAR_IDENTITY = 307, 98 VAR_VERSION = 308, 99 VAR_HARDEN_GLUE = 309, 100 VAR_MODULE_CONF = 310, 101 VAR_TRUST_ANCHOR_FILE = 311, 102 VAR_TRUST_ANCHOR = 312, 103 VAR_VAL_OVERRIDE_DATE = 313, 104 VAR_BOGUS_TTL = 314, 105 VAR_VAL_CLEAN_ADDITIONAL = 315, 106 VAR_VAL_PERMISSIVE_MODE = 316, 107 VAR_INCOMING_NUM_TCP = 317, 108 VAR_MSG_BUFFER_SIZE = 318, 109 VAR_KEY_CACHE_SIZE = 319, 110 VAR_KEY_CACHE_SLABS = 320, 111 VAR_TRUSTED_KEYS_FILE = 321, 112 VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 322, 113 VAR_USE_SYSLOG = 323, 114 VAR_OUTGOING_INTERFACE = 324, 115 VAR_ROOT_HINTS = 325, 116 VAR_DO_NOT_QUERY_LOCALHOST = 326, 117 VAR_CACHE_MAX_TTL = 327, 118 VAR_HARDEN_DNSSEC_STRIPPED = 328, 119 VAR_ACCESS_CONTROL = 329, 120 VAR_LOCAL_ZONE = 330, 121 VAR_LOCAL_DATA = 331, 122 VAR_INTERFACE_AUTOMATIC = 332, 123 VAR_STATISTICS_INTERVAL = 333, 124 VAR_DO_DAEMONIZE = 334, 125 VAR_USE_CAPS_FOR_ID = 335, 126 VAR_STATISTICS_CUMULATIVE = 336, 127 VAR_OUTGOING_PORT_PERMIT = 337, 128 VAR_OUTGOING_PORT_AVOID = 338, 129 VAR_DLV_ANCHOR_FILE = 339, 130 VAR_DLV_ANCHOR = 340, 131 VAR_NEG_CACHE_SIZE = 341, 132 VAR_HARDEN_REFERRAL_PATH = 342, 133 VAR_PRIVATE_ADDRESS = 343, 134 VAR_PRIVATE_DOMAIN = 344, 135 VAR_REMOTE_CONTROL = 345, 136 VAR_CONTROL_ENABLE = 346, 137 VAR_CONTROL_INTERFACE = 347, 138 VAR_CONTROL_PORT = 348, 139 VAR_SERVER_KEY_FILE = 349, 140 VAR_SERVER_CERT_FILE = 350, 141 VAR_CONTROL_KEY_FILE = 351, 142 VAR_CONTROL_CERT_FILE = 352, 143 VAR_CONTROL_USE_CERT = 353, 144 VAR_EXTENDED_STATISTICS = 354, 145 VAR_LOCAL_DATA_PTR = 355, 146 VAR_JOSTLE_TIMEOUT = 356, 147 VAR_STUB_PRIME = 357, 148 VAR_UNWANTED_REPLY_THRESHOLD = 358, 149 VAR_LOG_TIME_ASCII = 359, 150 VAR_DOMAIN_INSECURE = 360, 151 VAR_PYTHON = 361, 152 VAR_PYTHON_SCRIPT = 362, 153 VAR_VAL_SIG_SKEW_MIN = 363, 154 VAR_VAL_SIG_SKEW_MAX = 364, 155 VAR_CACHE_MIN_TTL = 365, 156 VAR_VAL_LOG_LEVEL = 366, 157 VAR_AUTO_TRUST_ANCHOR_FILE = 367, 158 VAR_KEEP_MISSING = 368, 159 VAR_ADD_HOLDDOWN = 369, 160 VAR_DEL_HOLDDOWN = 370, 161 VAR_SO_RCVBUF = 371, 162 VAR_EDNS_BUFFER_SIZE = 372, 163 VAR_PREFETCH = 373, 164 VAR_PREFETCH_KEY = 374, 165 VAR_SO_SNDBUF = 375, 166 VAR_SO_REUSEPORT = 376, 167 VAR_HARDEN_BELOW_NXDOMAIN = 377, 168 VAR_IGNORE_CD_FLAG = 378, 169 VAR_LOG_QUERIES = 379, 170 VAR_TCP_UPSTREAM = 380, 171 VAR_SSL_UPSTREAM = 381, 172 VAR_SSL_SERVICE_KEY = 382, 173 VAR_SSL_SERVICE_PEM = 383, 174 VAR_SSL_PORT = 384, 175 VAR_FORWARD_FIRST = 385, 176 VAR_STUB_FIRST = 386, 177 VAR_MINIMAL_RESPONSES = 387, 178 VAR_RRSET_ROUNDROBIN = 388, 179 VAR_MAX_UDP_SIZE = 389, 180 VAR_DELAY_CLOSE = 390, 181 VAR_UNBLOCK_LAN_ZONES = 391, 182 VAR_INSECURE_LAN_ZONES = 392, 183 VAR_INFRA_CACHE_MIN_RTT = 393, 184 VAR_DNS64_PREFIX = 394, 185 VAR_DNS64_SYNTHALL = 395, 186 VAR_DNSTAP = 396, 187 VAR_DNSTAP_ENABLE = 397, 188 VAR_DNSTAP_SOCKET_PATH = 398, 189 VAR_DNSTAP_SEND_IDENTITY = 399, 190 VAR_DNSTAP_SEND_VERSION = 400, 191 VAR_DNSTAP_IDENTITY = 401, 192 VAR_DNSTAP_VERSION = 402, 193 VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 403, 194 VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 404, 195 VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 405, 196 VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 406, 197 VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 407, 198 VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 408, 199 VAR_HARDEN_ALGO_DOWNGRADE = 409, 200 VAR_IP_TRANSPARENT = 410, 201 VAR_DISABLE_DNSSEC_LAME_CHECK = 411, 202 VAR_RATELIMIT = 412, 203 VAR_RATELIMIT_SLABS = 413, 204 VAR_RATELIMIT_SIZE = 414, 205 VAR_RATELIMIT_FOR_DOMAIN = 415, 206 VAR_RATELIMIT_BELOW_DOMAIN = 416, 207 VAR_RATELIMIT_FACTOR = 417, 208 VAR_CAPS_WHITELIST = 418, 209 VAR_CACHE_MAX_NEGATIVE_TTL = 419, 210 VAR_PERMIT_SMALL_HOLDDOWN = 420, 211 VAR_QNAME_MINIMISATION = 421, 212 VAR_IP_FREEBIND = 422, 213 VAR_DEFINE_TAG = 423, 214 VAR_LOCAL_ZONE_TAG = 424 215 }; 216 #endif 217 /* Tokens. */ 218 #define SPACE 258 219 #define LETTER 259 220 #define NEWLINE 260 221 #define COMMENT 261 222 #define COLON 262 223 #define ANY 263 224 #define ZONESTR 264 225 #define STRING_ARG 265 226 #define VAR_SERVER 266 227 #define VAR_VERBOSITY 267 228 #define VAR_NUM_THREADS 268 229 #define VAR_PORT 269 230 #define VAR_OUTGOING_RANGE 270 231 #define VAR_INTERFACE 271 232 #define VAR_DO_IP4 272 233 #define VAR_DO_IP6 273 234 #define VAR_DO_UDP 274 235 #define VAR_DO_TCP 275 236 #define VAR_TCP_MSS 276 237 #define VAR_OUTGOING_TCP_MSS 277 238 #define VAR_CHROOT 278 239 #define VAR_USERNAME 279 240 #define VAR_DIRECTORY 280 241 #define VAR_LOGFILE 281 242 #define VAR_PIDFILE 282 243 #define VAR_MSG_CACHE_SIZE 283 244 #define VAR_MSG_CACHE_SLABS 284 245 #define VAR_NUM_QUERIES_PER_THREAD 285 246 #define VAR_RRSET_CACHE_SIZE 286 247 #define VAR_RRSET_CACHE_SLABS 287 248 #define VAR_OUTGOING_NUM_TCP 288 249 #define VAR_INFRA_HOST_TTL 289 250 #define VAR_INFRA_LAME_TTL 290 251 #define VAR_INFRA_CACHE_SLABS 291 252 #define VAR_INFRA_CACHE_NUMHOSTS 292 253 #define VAR_INFRA_CACHE_LAME_SIZE 293 254 #define VAR_NAME 294 255 #define VAR_STUB_ZONE 295 256 #define VAR_STUB_HOST 296 257 #define VAR_STUB_ADDR 297 258 #define VAR_TARGET_FETCH_POLICY 298 259 #define VAR_HARDEN_SHORT_BUFSIZE 299 260 #define VAR_HARDEN_LARGE_QUERIES 300 261 #define VAR_FORWARD_ZONE 301 262 #define VAR_FORWARD_HOST 302 263 #define VAR_FORWARD_ADDR 303 264 #define VAR_DO_NOT_QUERY_ADDRESS 304 265 #define VAR_HIDE_IDENTITY 305 266 #define VAR_HIDE_VERSION 306 267 #define VAR_IDENTITY 307 268 #define VAR_VERSION 308 269 #define VAR_HARDEN_GLUE 309 270 #define VAR_MODULE_CONF 310 271 #define VAR_TRUST_ANCHOR_FILE 311 272 #define VAR_TRUST_ANCHOR 312 273 #define VAR_VAL_OVERRIDE_DATE 313 274 #define VAR_BOGUS_TTL 314 275 #define VAR_VAL_CLEAN_ADDITIONAL 315 276 #define VAR_VAL_PERMISSIVE_MODE 316 277 #define VAR_INCOMING_NUM_TCP 317 278 #define VAR_MSG_BUFFER_SIZE 318 279 #define VAR_KEY_CACHE_SIZE 319 280 #define VAR_KEY_CACHE_SLABS 320 281 #define VAR_TRUSTED_KEYS_FILE 321 282 #define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 322 283 #define VAR_USE_SYSLOG 323 284 #define VAR_OUTGOING_INTERFACE 324 285 #define VAR_ROOT_HINTS 325 286 #define VAR_DO_NOT_QUERY_LOCALHOST 326 287 #define VAR_CACHE_MAX_TTL 327 288 #define VAR_HARDEN_DNSSEC_STRIPPED 328 289 #define VAR_ACCESS_CONTROL 329 290 #define VAR_LOCAL_ZONE 330 291 #define VAR_LOCAL_DATA 331 292 #define VAR_INTERFACE_AUTOMATIC 332 293 #define VAR_STATISTICS_INTERVAL 333 294 #define VAR_DO_DAEMONIZE 334 295 #define VAR_USE_CAPS_FOR_ID 335 296 #define VAR_STATISTICS_CUMULATIVE 336 297 #define VAR_OUTGOING_PORT_PERMIT 337 298 #define VAR_OUTGOING_PORT_AVOID 338 299 #define VAR_DLV_ANCHOR_FILE 339 300 #define VAR_DLV_ANCHOR 340 301 #define VAR_NEG_CACHE_SIZE 341 302 #define VAR_HARDEN_REFERRAL_PATH 342 303 #define VAR_PRIVATE_ADDRESS 343 304 #define VAR_PRIVATE_DOMAIN 344 305 #define VAR_REMOTE_CONTROL 345 306 #define VAR_CONTROL_ENABLE 346 307 #define VAR_CONTROL_INTERFACE 347 308 #define VAR_CONTROL_PORT 348 309 #define VAR_SERVER_KEY_FILE 349 310 #define VAR_SERVER_CERT_FILE 350 311 #define VAR_CONTROL_KEY_FILE 351 312 #define VAR_CONTROL_CERT_FILE 352 313 #define VAR_CONTROL_USE_CERT 353 314 #define VAR_EXTENDED_STATISTICS 354 315 #define VAR_LOCAL_DATA_PTR 355 316 #define VAR_JOSTLE_TIMEOUT 356 317 #define VAR_STUB_PRIME 357 318 #define VAR_UNWANTED_REPLY_THRESHOLD 358 319 #define VAR_LOG_TIME_ASCII 359 320 #define VAR_DOMAIN_INSECURE 360 321 #define VAR_PYTHON 361 322 #define VAR_PYTHON_SCRIPT 362 323 #define VAR_VAL_SIG_SKEW_MIN 363 324 #define VAR_VAL_SIG_SKEW_MAX 364 325 #define VAR_CACHE_MIN_TTL 365 326 #define VAR_VAL_LOG_LEVEL 366 327 #define VAR_AUTO_TRUST_ANCHOR_FILE 367 328 #define VAR_KEEP_MISSING 368 329 #define VAR_ADD_HOLDDOWN 369 330 #define VAR_DEL_HOLDDOWN 370 331 #define VAR_SO_RCVBUF 371 332 #define VAR_EDNS_BUFFER_SIZE 372 333 #define VAR_PREFETCH 373 334 #define VAR_PREFETCH_KEY 374 335 #define VAR_SO_SNDBUF 375 336 #define VAR_SO_REUSEPORT 376 337 #define VAR_HARDEN_BELOW_NXDOMAIN 377 338 #define VAR_IGNORE_CD_FLAG 378 339 #define VAR_LOG_QUERIES 379 340 #define VAR_TCP_UPSTREAM 380 341 #define VAR_SSL_UPSTREAM 381 342 #define VAR_SSL_SERVICE_KEY 382 343 #define VAR_SSL_SERVICE_PEM 383 344 #define VAR_SSL_PORT 384 345 #define VAR_FORWARD_FIRST 385 346 #define VAR_STUB_FIRST 386 347 #define VAR_MINIMAL_RESPONSES 387 348 #define VAR_RRSET_ROUNDROBIN 388 349 #define VAR_MAX_UDP_SIZE 389 350 #define VAR_DELAY_CLOSE 390 351 #define VAR_UNBLOCK_LAN_ZONES 391 352 #define VAR_INSECURE_LAN_ZONES 392 353 #define VAR_INFRA_CACHE_MIN_RTT 393 354 #define VAR_DNS64_PREFIX 394 355 #define VAR_DNS64_SYNTHALL 395 356 #define VAR_DNSTAP 396 357 #define VAR_DNSTAP_ENABLE 397 358 #define VAR_DNSTAP_SOCKET_PATH 398 359 #define VAR_DNSTAP_SEND_IDENTITY 399 360 #define VAR_DNSTAP_SEND_VERSION 400 361 #define VAR_DNSTAP_IDENTITY 401 362 #define VAR_DNSTAP_VERSION 402 363 #define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 403 364 #define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 404 365 #define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 405 366 #define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 406 367 #define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 407 368 #define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 408 369 #define VAR_HARDEN_ALGO_DOWNGRADE 409 370 #define VAR_IP_TRANSPARENT 410 371 #define VAR_DISABLE_DNSSEC_LAME_CHECK 411 372 #define VAR_RATELIMIT 412 373 #define VAR_RATELIMIT_SLABS 413 374 #define VAR_RATELIMIT_SIZE 414 375 #define VAR_RATELIMIT_FOR_DOMAIN 415 376 #define VAR_RATELIMIT_BELOW_DOMAIN 416 377 #define VAR_RATELIMIT_FACTOR 417 378 #define VAR_CAPS_WHITELIST 418 379 #define VAR_CACHE_MAX_NEGATIVE_TTL 419 380 #define VAR_PERMIT_SMALL_HOLDDOWN 420 381 #define VAR_QNAME_MINIMISATION 421 382 #define VAR_IP_FREEBIND 422 383 #define VAR_DEFINE_TAG 423 384 #define VAR_LOCAL_ZONE_TAG 424 385 386 /* Value type. */ 387 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 388 389 union YYSTYPE 390 { 391 #line 64 "util/configparser.y" /* yacc.c:1909 */ 392 393 char* str; 394 395 #line 396 "util/configparser.h" /* yacc.c:1909 */ 396 }; 397 398 typedef union YYSTYPE YYSTYPE; 399 # define YYSTYPE_IS_TRIVIAL 1 400 # define YYSTYPE_IS_DECLARED 1 401 #endif 402 403 404 extern YYSTYPE yylval; 405 406 int yyparse (void); 407 408 #endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED */ 409