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_CPU_AFFINITY = 319, /* VAR_CPU_AFFINITY */ 119 VAR_XFRD_CPU_AFFINITY = 320, /* VAR_XFRD_CPU_AFFINITY */ 120 VAR_SERVER_CPU_AFFINITY = 321, /* VAR_SERVER_CPU_AFFINITY */ 121 VAR_DROP_UPDATES = 322, /* VAR_DROP_UPDATES */ 122 VAR_XFRD_TCP_MAX = 323, /* VAR_XFRD_TCP_MAX */ 123 VAR_XFRD_TCP_PIPELINE = 324, /* VAR_XFRD_TCP_PIPELINE */ 124 VAR_DNSTAP = 325, /* VAR_DNSTAP */ 125 VAR_DNSTAP_ENABLE = 326, /* VAR_DNSTAP_ENABLE */ 126 VAR_DNSTAP_SOCKET_PATH = 327, /* VAR_DNSTAP_SOCKET_PATH */ 127 VAR_DNSTAP_SEND_IDENTITY = 328, /* VAR_DNSTAP_SEND_IDENTITY */ 128 VAR_DNSTAP_SEND_VERSION = 329, /* VAR_DNSTAP_SEND_VERSION */ 129 VAR_DNSTAP_IDENTITY = 330, /* VAR_DNSTAP_IDENTITY */ 130 VAR_DNSTAP_VERSION = 331, /* VAR_DNSTAP_VERSION */ 131 VAR_DNSTAP_LOG_AUTH_QUERY_MESSAGES = 332, /* VAR_DNSTAP_LOG_AUTH_QUERY_MESSAGES */ 132 VAR_DNSTAP_LOG_AUTH_RESPONSE_MESSAGES = 333, /* VAR_DNSTAP_LOG_AUTH_RESPONSE_MESSAGES */ 133 VAR_REMOTE_CONTROL = 334, /* VAR_REMOTE_CONTROL */ 134 VAR_CONTROL_ENABLE = 335, /* VAR_CONTROL_ENABLE */ 135 VAR_CONTROL_INTERFACE = 336, /* VAR_CONTROL_INTERFACE */ 136 VAR_CONTROL_PORT = 337, /* VAR_CONTROL_PORT */ 137 VAR_SERVER_KEY_FILE = 338, /* VAR_SERVER_KEY_FILE */ 138 VAR_SERVER_CERT_FILE = 339, /* VAR_SERVER_CERT_FILE */ 139 VAR_CONTROL_KEY_FILE = 340, /* VAR_CONTROL_KEY_FILE */ 140 VAR_CONTROL_CERT_FILE = 341, /* VAR_CONTROL_CERT_FILE */ 141 VAR_KEY = 342, /* VAR_KEY */ 142 VAR_ALGORITHM = 343, /* VAR_ALGORITHM */ 143 VAR_SECRET = 344, /* VAR_SECRET */ 144 VAR_TLS_AUTH = 345, /* VAR_TLS_AUTH */ 145 VAR_TLS_AUTH_DOMAIN_NAME = 346, /* VAR_TLS_AUTH_DOMAIN_NAME */ 146 VAR_TLS_AUTH_CLIENT_CERT = 347, /* VAR_TLS_AUTH_CLIENT_CERT */ 147 VAR_TLS_AUTH_CLIENT_KEY = 348, /* VAR_TLS_AUTH_CLIENT_KEY */ 148 VAR_TLS_AUTH_CLIENT_KEY_PW = 349, /* VAR_TLS_AUTH_CLIENT_KEY_PW */ 149 VAR_PATTERN = 350, /* VAR_PATTERN */ 150 VAR_NAME = 351, /* VAR_NAME */ 151 VAR_ZONEFILE = 352, /* VAR_ZONEFILE */ 152 VAR_NOTIFY = 353, /* VAR_NOTIFY */ 153 VAR_PROVIDE_XFR = 354, /* VAR_PROVIDE_XFR */ 154 VAR_ALLOW_QUERY = 355, /* VAR_ALLOW_QUERY */ 155 VAR_AXFR = 356, /* VAR_AXFR */ 156 VAR_UDP = 357, /* VAR_UDP */ 157 VAR_NOTIFY_RETRY = 358, /* VAR_NOTIFY_RETRY */ 158 VAR_ALLOW_NOTIFY = 359, /* VAR_ALLOW_NOTIFY */ 159 VAR_REQUEST_XFR = 360, /* VAR_REQUEST_XFR */ 160 VAR_ALLOW_AXFR_FALLBACK = 361, /* VAR_ALLOW_AXFR_FALLBACK */ 161 VAR_OUTGOING_INTERFACE = 362, /* VAR_OUTGOING_INTERFACE */ 162 VAR_ANSWER_COOKIE = 363, /* VAR_ANSWER_COOKIE */ 163 VAR_COOKIE_SECRET = 364, /* VAR_COOKIE_SECRET */ 164 VAR_COOKIE_SECRET_FILE = 365, /* VAR_COOKIE_SECRET_FILE */ 165 VAR_MAX_REFRESH_TIME = 366, /* VAR_MAX_REFRESH_TIME */ 166 VAR_MIN_REFRESH_TIME = 367, /* VAR_MIN_REFRESH_TIME */ 167 VAR_MAX_RETRY_TIME = 368, /* VAR_MAX_RETRY_TIME */ 168 VAR_MIN_RETRY_TIME = 369, /* VAR_MIN_RETRY_TIME */ 169 VAR_MIN_EXPIRE_TIME = 370, /* VAR_MIN_EXPIRE_TIME */ 170 VAR_MULTI_MASTER_CHECK = 371, /* VAR_MULTI_MASTER_CHECK */ 171 VAR_SIZE_LIMIT_XFR = 372, /* VAR_SIZE_LIMIT_XFR */ 172 VAR_ZONESTATS = 373, /* VAR_ZONESTATS */ 173 VAR_INCLUDE_PATTERN = 374, /* VAR_INCLUDE_PATTERN */ 174 VAR_STORE_IXFR = 375, /* VAR_STORE_IXFR */ 175 VAR_IXFR_SIZE = 376, /* VAR_IXFR_SIZE */ 176 VAR_IXFR_NUMBER = 377, /* VAR_IXFR_NUMBER */ 177 VAR_CREATE_IXFR = 378, /* VAR_CREATE_IXFR */ 178 VAR_ZONE = 379, /* VAR_ZONE */ 179 VAR_RRL_WHITELIST = 380, /* VAR_RRL_WHITELIST */ 180 VAR_SERVERS = 381, /* VAR_SERVERS */ 181 VAR_BINDTODEVICE = 382, /* VAR_BINDTODEVICE */ 182 VAR_SETFIB = 383, /* VAR_SETFIB */ 183 VAR_VERIFY = 384, /* VAR_VERIFY */ 184 VAR_ENABLE = 385, /* VAR_ENABLE */ 185 VAR_VERIFY_ZONE = 386, /* VAR_VERIFY_ZONE */ 186 VAR_VERIFY_ZONES = 387, /* VAR_VERIFY_ZONES */ 187 VAR_VERIFIER = 388, /* VAR_VERIFIER */ 188 VAR_VERIFIER_COUNT = 389, /* VAR_VERIFIER_COUNT */ 189 VAR_VERIFIER_FEED_ZONE = 390, /* VAR_VERIFIER_FEED_ZONE */ 190 VAR_VERIFIER_TIMEOUT = 391 /* VAR_VERIFIER_TIMEOUT */ 191 }; 192 typedef enum yytokentype yytoken_kind_t; 193 #endif 194 /* Token kinds. */ 195 #define YYEMPTY -2 196 #define YYEOF 0 197 #define YYerror 256 198 #define YYUNDEF 257 199 #define STRING 258 200 #define VAR_SERVER 259 201 #define VAR_SERVER_COUNT 260 202 #define VAR_IP_ADDRESS 261 203 #define VAR_IP_TRANSPARENT 262 204 #define VAR_IP_FREEBIND 263 205 #define VAR_REUSEPORT 264 206 #define VAR_SEND_BUFFER_SIZE 265 207 #define VAR_RECEIVE_BUFFER_SIZE 266 208 #define VAR_DEBUG_MODE 267 209 #define VAR_IP4_ONLY 268 210 #define VAR_IP6_ONLY 269 211 #define VAR_DO_IP4 270 212 #define VAR_DO_IP6 271 213 #define VAR_PORT 272 214 #define VAR_USE_SYSTEMD 273 215 #define VAR_VERBOSITY 274 216 #define VAR_USERNAME 275 217 #define VAR_CHROOT 276 218 #define VAR_ZONESDIR 277 219 #define VAR_ZONELISTFILE 278 220 #define VAR_DATABASE 279 221 #define VAR_LOGFILE 280 222 #define VAR_LOG_ONLY_SYSLOG 281 223 #define VAR_PIDFILE 282 224 #define VAR_DIFFFILE 283 225 #define VAR_XFRDFILE 284 226 #define VAR_XFRDIR 285 227 #define VAR_HIDE_VERSION 286 228 #define VAR_HIDE_IDENTITY 287 229 #define VAR_VERSION 288 230 #define VAR_IDENTITY 289 231 #define VAR_NSID 290 232 #define VAR_TCP_COUNT 291 233 #define VAR_TCP_REJECT_OVERFLOW 292 234 #define VAR_TCP_QUERY_COUNT 293 235 #define VAR_TCP_TIMEOUT 294 236 #define VAR_TCP_MSS 295 237 #define VAR_OUTGOING_TCP_MSS 296 238 #define VAR_IPV4_EDNS_SIZE 297 239 #define VAR_IPV6_EDNS_SIZE 298 240 #define VAR_STATISTICS 299 241 #define VAR_XFRD_RELOAD_TIMEOUT 300 242 #define VAR_LOG_TIME_ASCII 301 243 #define VAR_ROUND_ROBIN 302 244 #define VAR_MINIMAL_RESPONSES 303 245 #define VAR_CONFINE_TO_ZONE 304 246 #define VAR_REFUSE_ANY 305 247 #define VAR_ZONEFILES_CHECK 306 248 #define VAR_ZONEFILES_WRITE 307 249 #define VAR_RRL_SIZE 308 250 #define VAR_RRL_RATELIMIT 309 251 #define VAR_RRL_SLIP 310 252 #define VAR_RRL_IPV4_PREFIX_LENGTH 311 253 #define VAR_RRL_IPV6_PREFIX_LENGTH 312 254 #define VAR_RRL_WHITELIST_RATELIMIT 313 255 #define VAR_TLS_SERVICE_KEY 314 256 #define VAR_TLS_SERVICE_PEM 315 257 #define VAR_TLS_SERVICE_OCSP 316 258 #define VAR_TLS_PORT 317 259 #define VAR_TLS_CERT_BUNDLE 318 260 #define VAR_CPU_AFFINITY 319 261 #define VAR_XFRD_CPU_AFFINITY 320 262 #define VAR_SERVER_CPU_AFFINITY 321 263 #define VAR_DROP_UPDATES 322 264 #define VAR_XFRD_TCP_MAX 323 265 #define VAR_XFRD_TCP_PIPELINE 324 266 #define VAR_DNSTAP 325 267 #define VAR_DNSTAP_ENABLE 326 268 #define VAR_DNSTAP_SOCKET_PATH 327 269 #define VAR_DNSTAP_SEND_IDENTITY 328 270 #define VAR_DNSTAP_SEND_VERSION 329 271 #define VAR_DNSTAP_IDENTITY 330 272 #define VAR_DNSTAP_VERSION 331 273 #define VAR_DNSTAP_LOG_AUTH_QUERY_MESSAGES 332 274 #define VAR_DNSTAP_LOG_AUTH_RESPONSE_MESSAGES 333 275 #define VAR_REMOTE_CONTROL 334 276 #define VAR_CONTROL_ENABLE 335 277 #define VAR_CONTROL_INTERFACE 336 278 #define VAR_CONTROL_PORT 337 279 #define VAR_SERVER_KEY_FILE 338 280 #define VAR_SERVER_CERT_FILE 339 281 #define VAR_CONTROL_KEY_FILE 340 282 #define VAR_CONTROL_CERT_FILE 341 283 #define VAR_KEY 342 284 #define VAR_ALGORITHM 343 285 #define VAR_SECRET 344 286 #define VAR_TLS_AUTH 345 287 #define VAR_TLS_AUTH_DOMAIN_NAME 346 288 #define VAR_TLS_AUTH_CLIENT_CERT 347 289 #define VAR_TLS_AUTH_CLIENT_KEY 348 290 #define VAR_TLS_AUTH_CLIENT_KEY_PW 349 291 #define VAR_PATTERN 350 292 #define VAR_NAME 351 293 #define VAR_ZONEFILE 352 294 #define VAR_NOTIFY 353 295 #define VAR_PROVIDE_XFR 354 296 #define VAR_ALLOW_QUERY 355 297 #define VAR_AXFR 356 298 #define VAR_UDP 357 299 #define VAR_NOTIFY_RETRY 358 300 #define VAR_ALLOW_NOTIFY 359 301 #define VAR_REQUEST_XFR 360 302 #define VAR_ALLOW_AXFR_FALLBACK 361 303 #define VAR_OUTGOING_INTERFACE 362 304 #define VAR_ANSWER_COOKIE 363 305 #define VAR_COOKIE_SECRET 364 306 #define VAR_COOKIE_SECRET_FILE 365 307 #define VAR_MAX_REFRESH_TIME 366 308 #define VAR_MIN_REFRESH_TIME 367 309 #define VAR_MAX_RETRY_TIME 368 310 #define VAR_MIN_RETRY_TIME 369 311 #define VAR_MIN_EXPIRE_TIME 370 312 #define VAR_MULTI_MASTER_CHECK 371 313 #define VAR_SIZE_LIMIT_XFR 372 314 #define VAR_ZONESTATS 373 315 #define VAR_INCLUDE_PATTERN 374 316 #define VAR_STORE_IXFR 375 317 #define VAR_IXFR_SIZE 376 318 #define VAR_IXFR_NUMBER 377 319 #define VAR_CREATE_IXFR 378 320 #define VAR_ZONE 379 321 #define VAR_RRL_WHITELIST 380 322 #define VAR_SERVERS 381 323 #define VAR_BINDTODEVICE 382 324 #define VAR_SETFIB 383 325 #define VAR_VERIFY 384 326 #define VAR_ENABLE 385 327 #define VAR_VERIFY_ZONE 386 328 #define VAR_VERIFY_ZONES 387 329 #define VAR_VERIFIER 388 330 #define VAR_VERIFIER_COUNT 389 331 #define VAR_VERIFIER_FEED_ZONE 390 332 #define VAR_VERIFIER_TIMEOUT 391 333 334 /* Value type. */ 335 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 336 union YYSTYPE 337 { 338 #line 47 "configparser.y" 339 340 char *str; 341 long long llng; 342 int bln; 343 struct ip_address_option *ip; 344 struct range_option *range; 345 struct cpu_option *cpu; 346 char **strv; 347 struct component *comp; 348 349 #line 350 "configparser.h" 350 351 }; 352 typedef union YYSTYPE YYSTYPE; 353 # define YYSTYPE_IS_TRIVIAL 1 354 # define YYSTYPE_IS_DECLARED 1 355 #endif 356 357 358 extern YYSTYPE c_lval; 359 360 int c_parse (void); 361 362 #endif /* !YY_C_CONFIGPARSER_H_INCLUDED */ 363