1 /* A Bison parser, made by GNU Bison 3.7.6. */ 2 3 /* Bison interface for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, 6 Inc. 7 8 This program is free software: you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation, either version 3 of the License, or 11 (at your option) any later version. 12 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program. If not, see <https://www.gnu.org/licenses/>. */ 20 21 /* As a special exception, you may create a larger work that contains 22 part or all of the Bison parser skeleton and distribute that work 23 under terms of your choice, so long as that work isn't itself a 24 parser generator using the skeleton or a modified version thereof 25 as a parser skeleton. Alternatively, if you modify or redistribute 26 the parser skeleton itself, you may (at your option) remove this 27 special exception, which will cause the skeleton and the resulting 28 Bison output files to be licensed under the GNU General Public 29 License without this special exception. 30 31 This special exception was added by the Free Software Foundation in 32 version 2.2 of Bison. */ 33 34 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, 35 especially those whose name start with YY_ or yy_. They are 36 private implementation details that can be changed or removed. */ 37 38 #ifndef YY_C_CONFIGPARSER_H_INCLUDED 39 # define YY_C_CONFIGPARSER_H_INCLUDED 40 /* Debug traces. */ 41 #ifndef YYDEBUG 42 # define YYDEBUG 0 43 #endif 44 #if YYDEBUG 45 extern int c_debug; 46 #endif 47 48 /* Token kinds. */ 49 #ifndef YYTOKENTYPE 50 # define YYTOKENTYPE 51 enum yytokentype 52 { 53 YYEMPTY = -2, 54 YYEOF = 0, /* "end of file" */ 55 YYerror = 256, /* error */ 56 YYUNDEF = 257, /* "invalid token" */ 57 STRING = 258, /* STRING */ 58 VAR_SERVER = 259, /* VAR_SERVER */ 59 VAR_SERVER_COUNT = 260, /* VAR_SERVER_COUNT */ 60 VAR_IP_ADDRESS = 261, /* VAR_IP_ADDRESS */ 61 VAR_IP_TRANSPARENT = 262, /* VAR_IP_TRANSPARENT */ 62 VAR_IP_FREEBIND = 263, /* VAR_IP_FREEBIND */ 63 VAR_REUSEPORT = 264, /* VAR_REUSEPORT */ 64 VAR_SEND_BUFFER_SIZE = 265, /* VAR_SEND_BUFFER_SIZE */ 65 VAR_RECEIVE_BUFFER_SIZE = 266, /* VAR_RECEIVE_BUFFER_SIZE */ 66 VAR_DEBUG_MODE = 267, /* VAR_DEBUG_MODE */ 67 VAR_IP4_ONLY = 268, /* VAR_IP4_ONLY */ 68 VAR_IP6_ONLY = 269, /* VAR_IP6_ONLY */ 69 VAR_DO_IP4 = 270, /* VAR_DO_IP4 */ 70 VAR_DO_IP6 = 271, /* VAR_DO_IP6 */ 71 VAR_PORT = 272, /* VAR_PORT */ 72 VAR_USE_SYSTEMD = 273, /* VAR_USE_SYSTEMD */ 73 VAR_VERBOSITY = 274, /* VAR_VERBOSITY */ 74 VAR_USERNAME = 275, /* VAR_USERNAME */ 75 VAR_CHROOT = 276, /* VAR_CHROOT */ 76 VAR_ZONESDIR = 277, /* VAR_ZONESDIR */ 77 VAR_ZONELISTFILE = 278, /* VAR_ZONELISTFILE */ 78 VAR_DATABASE = 279, /* VAR_DATABASE */ 79 VAR_LOGFILE = 280, /* VAR_LOGFILE */ 80 VAR_LOG_ONLY_SYSLOG = 281, /* VAR_LOG_ONLY_SYSLOG */ 81 VAR_PIDFILE = 282, /* VAR_PIDFILE */ 82 VAR_DIFFFILE = 283, /* VAR_DIFFFILE */ 83 VAR_XFRDFILE = 284, /* VAR_XFRDFILE */ 84 VAR_XFRDIR = 285, /* VAR_XFRDIR */ 85 VAR_HIDE_VERSION = 286, /* VAR_HIDE_VERSION */ 86 VAR_HIDE_IDENTITY = 287, /* VAR_HIDE_IDENTITY */ 87 VAR_VERSION = 288, /* VAR_VERSION */ 88 VAR_IDENTITY = 289, /* VAR_IDENTITY */ 89 VAR_NSID = 290, /* VAR_NSID */ 90 VAR_TCP_COUNT = 291, /* VAR_TCP_COUNT */ 91 VAR_TCP_REJECT_OVERFLOW = 292, /* VAR_TCP_REJECT_OVERFLOW */ 92 VAR_TCP_QUERY_COUNT = 293, /* VAR_TCP_QUERY_COUNT */ 93 VAR_TCP_TIMEOUT = 294, /* VAR_TCP_TIMEOUT */ 94 VAR_TCP_MSS = 295, /* VAR_TCP_MSS */ 95 VAR_OUTGOING_TCP_MSS = 296, /* VAR_OUTGOING_TCP_MSS */ 96 VAR_IPV4_EDNS_SIZE = 297, /* VAR_IPV4_EDNS_SIZE */ 97 VAR_IPV6_EDNS_SIZE = 298, /* VAR_IPV6_EDNS_SIZE */ 98 VAR_STATISTICS = 299, /* VAR_STATISTICS */ 99 VAR_XFRD_RELOAD_TIMEOUT = 300, /* VAR_XFRD_RELOAD_TIMEOUT */ 100 VAR_LOG_TIME_ASCII = 301, /* VAR_LOG_TIME_ASCII */ 101 VAR_ROUND_ROBIN = 302, /* VAR_ROUND_ROBIN */ 102 VAR_MINIMAL_RESPONSES = 303, /* VAR_MINIMAL_RESPONSES */ 103 VAR_CONFINE_TO_ZONE = 304, /* VAR_CONFINE_TO_ZONE */ 104 VAR_REFUSE_ANY = 305, /* VAR_REFUSE_ANY */ 105 VAR_ZONEFILES_CHECK = 306, /* VAR_ZONEFILES_CHECK */ 106 VAR_ZONEFILES_WRITE = 307, /* VAR_ZONEFILES_WRITE */ 107 VAR_RRL_SIZE = 308, /* VAR_RRL_SIZE */ 108 VAR_RRL_RATELIMIT = 309, /* VAR_RRL_RATELIMIT */ 109 VAR_RRL_SLIP = 310, /* VAR_RRL_SLIP */ 110 VAR_RRL_IPV4_PREFIX_LENGTH = 311, /* VAR_RRL_IPV4_PREFIX_LENGTH */ 111 VAR_RRL_IPV6_PREFIX_LENGTH = 312, /* VAR_RRL_IPV6_PREFIX_LENGTH */ 112 VAR_RRL_WHITELIST_RATELIMIT = 313, /* VAR_RRL_WHITELIST_RATELIMIT */ 113 VAR_TLS_SERVICE_KEY = 314, /* VAR_TLS_SERVICE_KEY */ 114 VAR_TLS_SERVICE_PEM = 315, /* VAR_TLS_SERVICE_PEM */ 115 VAR_TLS_SERVICE_OCSP = 316, /* VAR_TLS_SERVICE_OCSP */ 116 VAR_TLS_PORT = 317, /* VAR_TLS_PORT */ 117 VAR_TLS_CERT_BUNDLE = 318, /* VAR_TLS_CERT_BUNDLE */ 118 VAR_PROXY_PROTOCOL_PORT = 319, /* VAR_PROXY_PROTOCOL_PORT */ 119 VAR_CPU_AFFINITY = 320, /* VAR_CPU_AFFINITY */ 120 VAR_XFRD_CPU_AFFINITY = 321, /* VAR_XFRD_CPU_AFFINITY */ 121 VAR_SERVER_CPU_AFFINITY = 322, /* VAR_SERVER_CPU_AFFINITY */ 122 VAR_DROP_UPDATES = 323, /* VAR_DROP_UPDATES */ 123 VAR_XFRD_TCP_MAX = 324, /* VAR_XFRD_TCP_MAX */ 124 VAR_XFRD_TCP_PIPELINE = 325, /* VAR_XFRD_TCP_PIPELINE */ 125 VAR_DNSTAP = 326, /* VAR_DNSTAP */ 126 VAR_DNSTAP_ENABLE = 327, /* VAR_DNSTAP_ENABLE */ 127 VAR_DNSTAP_SOCKET_PATH = 328, /* VAR_DNSTAP_SOCKET_PATH */ 128 VAR_DNSTAP_IP = 329, /* VAR_DNSTAP_IP */ 129 VAR_DNSTAP_TLS = 330, /* VAR_DNSTAP_TLS */ 130 VAR_DNSTAP_TLS_SERVER_NAME = 331, /* VAR_DNSTAP_TLS_SERVER_NAME */ 131 VAR_DNSTAP_TLS_CERT_BUNDLE = 332, /* VAR_DNSTAP_TLS_CERT_BUNDLE */ 132 VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 333, /* VAR_DNSTAP_TLS_CLIENT_KEY_FILE */ 133 VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 334, /* VAR_DNSTAP_TLS_CLIENT_CERT_FILE */ 134 VAR_DNSTAP_SEND_IDENTITY = 335, /* VAR_DNSTAP_SEND_IDENTITY */ 135 VAR_DNSTAP_SEND_VERSION = 336, /* VAR_DNSTAP_SEND_VERSION */ 136 VAR_DNSTAP_IDENTITY = 337, /* VAR_DNSTAP_IDENTITY */ 137 VAR_DNSTAP_VERSION = 338, /* VAR_DNSTAP_VERSION */ 138 VAR_DNSTAP_LOG_AUTH_QUERY_MESSAGES = 339, /* VAR_DNSTAP_LOG_AUTH_QUERY_MESSAGES */ 139 VAR_DNSTAP_LOG_AUTH_RESPONSE_MESSAGES = 340, /* VAR_DNSTAP_LOG_AUTH_RESPONSE_MESSAGES */ 140 VAR_REMOTE_CONTROL = 341, /* VAR_REMOTE_CONTROL */ 141 VAR_CONTROL_ENABLE = 342, /* VAR_CONTROL_ENABLE */ 142 VAR_CONTROL_INTERFACE = 343, /* VAR_CONTROL_INTERFACE */ 143 VAR_CONTROL_PORT = 344, /* VAR_CONTROL_PORT */ 144 VAR_SERVER_KEY_FILE = 345, /* VAR_SERVER_KEY_FILE */ 145 VAR_SERVER_CERT_FILE = 346, /* VAR_SERVER_CERT_FILE */ 146 VAR_CONTROL_KEY_FILE = 347, /* VAR_CONTROL_KEY_FILE */ 147 VAR_CONTROL_CERT_FILE = 348, /* VAR_CONTROL_CERT_FILE */ 148 VAR_KEY = 349, /* VAR_KEY */ 149 VAR_ALGORITHM = 350, /* VAR_ALGORITHM */ 150 VAR_SECRET = 351, /* VAR_SECRET */ 151 VAR_TLS_AUTH = 352, /* VAR_TLS_AUTH */ 152 VAR_TLS_AUTH_DOMAIN_NAME = 353, /* VAR_TLS_AUTH_DOMAIN_NAME */ 153 VAR_TLS_AUTH_CLIENT_CERT = 354, /* VAR_TLS_AUTH_CLIENT_CERT */ 154 VAR_TLS_AUTH_CLIENT_KEY = 355, /* VAR_TLS_AUTH_CLIENT_KEY */ 155 VAR_TLS_AUTH_CLIENT_KEY_PW = 356, /* VAR_TLS_AUTH_CLIENT_KEY_PW */ 156 VAR_PATTERN = 357, /* VAR_PATTERN */ 157 VAR_NAME = 358, /* VAR_NAME */ 158 VAR_ZONEFILE = 359, /* VAR_ZONEFILE */ 159 VAR_NOTIFY = 360, /* VAR_NOTIFY */ 160 VAR_PROVIDE_XFR = 361, /* VAR_PROVIDE_XFR */ 161 VAR_ALLOW_QUERY = 362, /* VAR_ALLOW_QUERY */ 162 VAR_AXFR = 363, /* VAR_AXFR */ 163 VAR_UDP = 364, /* VAR_UDP */ 164 VAR_NOTIFY_RETRY = 365, /* VAR_NOTIFY_RETRY */ 165 VAR_ALLOW_NOTIFY = 366, /* VAR_ALLOW_NOTIFY */ 166 VAR_REQUEST_XFR = 367, /* VAR_REQUEST_XFR */ 167 VAR_ALLOW_AXFR_FALLBACK = 368, /* VAR_ALLOW_AXFR_FALLBACK */ 168 VAR_OUTGOING_INTERFACE = 369, /* VAR_OUTGOING_INTERFACE */ 169 VAR_ANSWER_COOKIE = 370, /* VAR_ANSWER_COOKIE */ 170 VAR_COOKIE_SECRET = 371, /* VAR_COOKIE_SECRET */ 171 VAR_COOKIE_SECRET_FILE = 372, /* VAR_COOKIE_SECRET_FILE */ 172 VAR_MAX_REFRESH_TIME = 373, /* VAR_MAX_REFRESH_TIME */ 173 VAR_MIN_REFRESH_TIME = 374, /* VAR_MIN_REFRESH_TIME */ 174 VAR_MAX_RETRY_TIME = 375, /* VAR_MAX_RETRY_TIME */ 175 VAR_MIN_RETRY_TIME = 376, /* VAR_MIN_RETRY_TIME */ 176 VAR_MIN_EXPIRE_TIME = 377, /* VAR_MIN_EXPIRE_TIME */ 177 VAR_MULTI_MASTER_CHECK = 378, /* VAR_MULTI_MASTER_CHECK */ 178 VAR_SIZE_LIMIT_XFR = 379, /* VAR_SIZE_LIMIT_XFR */ 179 VAR_ZONESTATS = 380, /* VAR_ZONESTATS */ 180 VAR_INCLUDE_PATTERN = 381, /* VAR_INCLUDE_PATTERN */ 181 VAR_STORE_IXFR = 382, /* VAR_STORE_IXFR */ 182 VAR_IXFR_SIZE = 383, /* VAR_IXFR_SIZE */ 183 VAR_IXFR_NUMBER = 384, /* VAR_IXFR_NUMBER */ 184 VAR_CREATE_IXFR = 385, /* VAR_CREATE_IXFR */ 185 VAR_ZONE = 386, /* VAR_ZONE */ 186 VAR_RRL_WHITELIST = 387, /* VAR_RRL_WHITELIST */ 187 VAR_SERVERS = 388, /* VAR_SERVERS */ 188 VAR_BINDTODEVICE = 389, /* VAR_BINDTODEVICE */ 189 VAR_SETFIB = 390, /* VAR_SETFIB */ 190 VAR_VERIFY = 391, /* VAR_VERIFY */ 191 VAR_ENABLE = 392, /* VAR_ENABLE */ 192 VAR_VERIFY_ZONE = 393, /* VAR_VERIFY_ZONE */ 193 VAR_VERIFY_ZONES = 394, /* VAR_VERIFY_ZONES */ 194 VAR_VERIFIER = 395, /* VAR_VERIFIER */ 195 VAR_VERIFIER_COUNT = 396, /* VAR_VERIFIER_COUNT */ 196 VAR_VERIFIER_FEED_ZONE = 397, /* VAR_VERIFIER_FEED_ZONE */ 197 VAR_VERIFIER_TIMEOUT = 398 /* VAR_VERIFIER_TIMEOUT */ 198 }; 199 typedef enum yytokentype yytoken_kind_t; 200 #endif 201 /* Token kinds. */ 202 #define YYEMPTY -2 203 #define YYEOF 0 204 #define YYerror 256 205 #define YYUNDEF 257 206 #define STRING 258 207 #define VAR_SERVER 259 208 #define VAR_SERVER_COUNT 260 209 #define VAR_IP_ADDRESS 261 210 #define VAR_IP_TRANSPARENT 262 211 #define VAR_IP_FREEBIND 263 212 #define VAR_REUSEPORT 264 213 #define VAR_SEND_BUFFER_SIZE 265 214 #define VAR_RECEIVE_BUFFER_SIZE 266 215 #define VAR_DEBUG_MODE 267 216 #define VAR_IP4_ONLY 268 217 #define VAR_IP6_ONLY 269 218 #define VAR_DO_IP4 270 219 #define VAR_DO_IP6 271 220 #define VAR_PORT 272 221 #define VAR_USE_SYSTEMD 273 222 #define VAR_VERBOSITY 274 223 #define VAR_USERNAME 275 224 #define VAR_CHROOT 276 225 #define VAR_ZONESDIR 277 226 #define VAR_ZONELISTFILE 278 227 #define VAR_DATABASE 279 228 #define VAR_LOGFILE 280 229 #define VAR_LOG_ONLY_SYSLOG 281 230 #define VAR_PIDFILE 282 231 #define VAR_DIFFFILE 283 232 #define VAR_XFRDFILE 284 233 #define VAR_XFRDIR 285 234 #define VAR_HIDE_VERSION 286 235 #define VAR_HIDE_IDENTITY 287 236 #define VAR_VERSION 288 237 #define VAR_IDENTITY 289 238 #define VAR_NSID 290 239 #define VAR_TCP_COUNT 291 240 #define VAR_TCP_REJECT_OVERFLOW 292 241 #define VAR_TCP_QUERY_COUNT 293 242 #define VAR_TCP_TIMEOUT 294 243 #define VAR_TCP_MSS 295 244 #define VAR_OUTGOING_TCP_MSS 296 245 #define VAR_IPV4_EDNS_SIZE 297 246 #define VAR_IPV6_EDNS_SIZE 298 247 #define VAR_STATISTICS 299 248 #define VAR_XFRD_RELOAD_TIMEOUT 300 249 #define VAR_LOG_TIME_ASCII 301 250 #define VAR_ROUND_ROBIN 302 251 #define VAR_MINIMAL_RESPONSES 303 252 #define VAR_CONFINE_TO_ZONE 304 253 #define VAR_REFUSE_ANY 305 254 #define VAR_ZONEFILES_CHECK 306 255 #define VAR_ZONEFILES_WRITE 307 256 #define VAR_RRL_SIZE 308 257 #define VAR_RRL_RATELIMIT 309 258 #define VAR_RRL_SLIP 310 259 #define VAR_RRL_IPV4_PREFIX_LENGTH 311 260 #define VAR_RRL_IPV6_PREFIX_LENGTH 312 261 #define VAR_RRL_WHITELIST_RATELIMIT 313 262 #define VAR_TLS_SERVICE_KEY 314 263 #define VAR_TLS_SERVICE_PEM 315 264 #define VAR_TLS_SERVICE_OCSP 316 265 #define VAR_TLS_PORT 317 266 #define VAR_TLS_CERT_BUNDLE 318 267 #define VAR_PROXY_PROTOCOL_PORT 319 268 #define VAR_CPU_AFFINITY 320 269 #define VAR_XFRD_CPU_AFFINITY 321 270 #define VAR_SERVER_CPU_AFFINITY 322 271 #define VAR_DROP_UPDATES 323 272 #define VAR_XFRD_TCP_MAX 324 273 #define VAR_XFRD_TCP_PIPELINE 325 274 #define VAR_DNSTAP 326 275 #define VAR_DNSTAP_ENABLE 327 276 #define VAR_DNSTAP_SOCKET_PATH 328 277 #define VAR_DNSTAP_IP 329 278 #define VAR_DNSTAP_TLS 330 279 #define VAR_DNSTAP_TLS_SERVER_NAME 331 280 #define VAR_DNSTAP_TLS_CERT_BUNDLE 332 281 #define VAR_DNSTAP_TLS_CLIENT_KEY_FILE 333 282 #define VAR_DNSTAP_TLS_CLIENT_CERT_FILE 334 283 #define VAR_DNSTAP_SEND_IDENTITY 335 284 #define VAR_DNSTAP_SEND_VERSION 336 285 #define VAR_DNSTAP_IDENTITY 337 286 #define VAR_DNSTAP_VERSION 338 287 #define VAR_DNSTAP_LOG_AUTH_QUERY_MESSAGES 339 288 #define VAR_DNSTAP_LOG_AUTH_RESPONSE_MESSAGES 340 289 #define VAR_REMOTE_CONTROL 341 290 #define VAR_CONTROL_ENABLE 342 291 #define VAR_CONTROL_INTERFACE 343 292 #define VAR_CONTROL_PORT 344 293 #define VAR_SERVER_KEY_FILE 345 294 #define VAR_SERVER_CERT_FILE 346 295 #define VAR_CONTROL_KEY_FILE 347 296 #define VAR_CONTROL_CERT_FILE 348 297 #define VAR_KEY 349 298 #define VAR_ALGORITHM 350 299 #define VAR_SECRET 351 300 #define VAR_TLS_AUTH 352 301 #define VAR_TLS_AUTH_DOMAIN_NAME 353 302 #define VAR_TLS_AUTH_CLIENT_CERT 354 303 #define VAR_TLS_AUTH_CLIENT_KEY 355 304 #define VAR_TLS_AUTH_CLIENT_KEY_PW 356 305 #define VAR_PATTERN 357 306 #define VAR_NAME 358 307 #define VAR_ZONEFILE 359 308 #define VAR_NOTIFY 360 309 #define VAR_PROVIDE_XFR 361 310 #define VAR_ALLOW_QUERY 362 311 #define VAR_AXFR 363 312 #define VAR_UDP 364 313 #define VAR_NOTIFY_RETRY 365 314 #define VAR_ALLOW_NOTIFY 366 315 #define VAR_REQUEST_XFR 367 316 #define VAR_ALLOW_AXFR_FALLBACK 368 317 #define VAR_OUTGOING_INTERFACE 369 318 #define VAR_ANSWER_COOKIE 370 319 #define VAR_COOKIE_SECRET 371 320 #define VAR_COOKIE_SECRET_FILE 372 321 #define VAR_MAX_REFRESH_TIME 373 322 #define VAR_MIN_REFRESH_TIME 374 323 #define VAR_MAX_RETRY_TIME 375 324 #define VAR_MIN_RETRY_TIME 376 325 #define VAR_MIN_EXPIRE_TIME 377 326 #define VAR_MULTI_MASTER_CHECK 378 327 #define VAR_SIZE_LIMIT_XFR 379 328 #define VAR_ZONESTATS 380 329 #define VAR_INCLUDE_PATTERN 381 330 #define VAR_STORE_IXFR 382 331 #define VAR_IXFR_SIZE 383 332 #define VAR_IXFR_NUMBER 384 333 #define VAR_CREATE_IXFR 385 334 #define VAR_ZONE 386 335 #define VAR_RRL_WHITELIST 387 336 #define VAR_SERVERS 388 337 #define VAR_BINDTODEVICE 389 338 #define VAR_SETFIB 390 339 #define VAR_VERIFY 391 340 #define VAR_ENABLE 392 341 #define VAR_VERIFY_ZONE 393 342 #define VAR_VERIFY_ZONES 394 343 #define VAR_VERIFIER 395 344 #define VAR_VERIFIER_COUNT 396 345 #define VAR_VERIFIER_FEED_ZONE 397 346 #define VAR_VERIFIER_TIMEOUT 398 347 348 /* Value type. */ 349 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 350 union YYSTYPE 351 { 352 #line 47 "configparser.y" 353 354 char *str; 355 long long llng; 356 int bln; 357 struct ip_address_option *ip; 358 struct range_option *range; 359 struct cpu_option *cpu; 360 char **strv; 361 struct component *comp; 362 363 #line 364 "configparser.h" 364 365 }; 366 typedef union YYSTYPE YYSTYPE; 367 # define YYSTYPE_IS_TRIVIAL 1 368 # define YYSTYPE_IS_DECLARED 1 369 #endif 370 371 372 extern YYSTYPE c_lval; 373 374 int c_parse (void); 375 376 #endif /* !YY_C_CONFIGPARSER_H_INCLUDED */ 377