xref: /netbsd-src/external/bsd/nsd/dist/configparser.h (revision d16b7486a53dcb8072b60ec6fcb4373a2d0c27b7)
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