ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_parser.h
Revision: 1228
Committed: Mon Sep 19 09:38:38 2011 UTC (13 years, 11 months ago) by michael
Content type: text/x-chdr
Original Path: ircd-hybrid-8/src/ircd_parser.h
File size: 14242 byte(s)
Log Message:
- add 'restart'/'module' operator flags which allows better fine tuning
  whether or not an operator may have access to RESTART/MOD* commands
- ircd_parser.y: (oper{}): ensure yy_aconf->port is set to zero, before
  setting any privilege bits. Fixes odd behaviour with multiple 'flags'
  entries.
  Also removed ability to negate operator flags with a tilde '~'. Pretty
  useless since all operator privilege flags are set to zero by default.

File Contents

# Content
1 /* A Bison parser, made by GNU Bison 2.5. */
2
3 /* Bison interface for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2011 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
34 /* Tokens. */
35 #ifndef YYTOKENTYPE
36 # define YYTOKENTYPE
37 /* Put the tokens into the symbol table, so that GDB and other debuggers
38 know about them. */
39 enum yytokentype {
40 ACCEPT_PASSWORD = 258,
41 ACTION = 259,
42 ADMIN = 260,
43 AFTYPE = 261,
44 T_ALLOW = 262,
45 ANTI_NICK_FLOOD = 263,
46 ANTI_SPAM_EXIT_MESSAGE_TIME = 264,
47 AUTOCONN = 265,
48 T_BLOCK = 266,
49 BURST_AWAY = 267,
50 BURST_TOPICWHO = 268,
51 BYTES = 269,
52 KBYTES = 270,
53 MBYTES = 271,
54 GBYTES = 272,
55 TBYTES = 273,
56 CALLER_ID_WAIT = 274,
57 CAN_FLOOD = 275,
58 CHANNEL = 276,
59 CIDR_BITLEN_IPV4 = 277,
60 CIDR_BITLEN_IPV6 = 278,
61 CIPHER_PREFERENCE = 279,
62 CLASS = 280,
63 COMPRESSED = 281,
64 COMPRESSION_LEVEL = 282,
65 CONNECT = 283,
66 CONNECTFREQ = 284,
67 CRYPTLINK = 285,
68 DEFAULT_CIPHER_PREFERENCE = 286,
69 DEFAULT_FLOODCOUNT = 287,
70 DEFAULT_SPLIT_SERVER_COUNT = 288,
71 DEFAULT_SPLIT_USER_COUNT = 289,
72 DENY = 290,
73 DESCRIPTION = 291,
74 DIE = 292,
75 DISABLE_AUTH = 293,
76 DISABLE_FAKE_CHANNELS = 294,
77 DISABLE_HIDDEN = 295,
78 DISABLE_LOCAL_CHANNELS = 296,
79 DISABLE_REMOTE_COMMANDS = 297,
80 DOTS_IN_IDENT = 298,
81 DURATION = 299,
82 EGDPOOL_PATH = 300,
83 EMAIL = 301,
84 ENABLE = 302,
85 ENCRYPTED = 303,
86 EXCEED_LIMIT = 304,
87 EXEMPT = 305,
88 FAILED_OPER_NOTICE = 306,
89 IRCD_FLAGS = 307,
90 FLATTEN_LINKS = 308,
91 FFAILED_OPERLOG = 309,
92 FKILLLOG = 310,
93 FKLINELOG = 311,
94 FGLINELOG = 312,
95 FIOERRLOG = 313,
96 FOPERLOG = 314,
97 FOPERSPYLOG = 315,
98 FUSERLOG = 316,
99 GECOS = 317,
100 GENERAL = 318,
101 GLINE = 319,
102 GLINES = 320,
103 GLINE_EXEMPT = 321,
104 GLINE_LOG = 322,
105 GLINE_TIME = 323,
106 GLINE_MIN_CIDR = 324,
107 GLINE_MIN_CIDR6 = 325,
108 GLOBAL_KILL = 326,
109 IRCD_AUTH = 327,
110 NEED_IDENT = 328,
111 HAVENT_READ_CONF = 329,
112 HIDDEN = 330,
113 HIDDEN_ADMIN = 331,
114 HIDDEN_NAME = 332,
115 HIDDEN_OPER = 333,
116 HIDE_SERVER_IPS = 334,
117 HIDE_SERVERS = 335,
118 HIDE_SPOOF_IPS = 336,
119 HOST = 337,
120 HUB = 338,
121 HUB_MASK = 339,
122 IGNORE_BOGUS_TS = 340,
123 INVISIBLE_ON_CONNECT = 341,
124 IP = 342,
125 KILL = 343,
126 KILL_CHASE_TIME_LIMIT = 344,
127 KLINE = 345,
128 KLINE_EXEMPT = 346,
129 KLINE_REASON = 347,
130 KLINE_WITH_REASON = 348,
131 KNOCK_DELAY = 349,
132 KNOCK_DELAY_CHANNEL = 350,
133 LEAF_MASK = 351,
134 LINKS_DELAY = 352,
135 LISTEN = 353,
136 T_LOG = 354,
137 LOGGING = 355,
138 LOG_LEVEL = 356,
139 MAX_ACCEPT = 357,
140 MAX_BANS = 358,
141 MAX_CHANS_PER_USER = 359,
142 MAX_GLOBAL = 360,
143 MAX_IDENT = 361,
144 MAX_LOCAL = 362,
145 MAX_NICK_CHANGES = 363,
146 MAX_NICK_TIME = 364,
147 MAX_NUMBER = 365,
148 MAX_TARGETS = 366,
149 MAX_WATCH = 367,
150 MESSAGE_LOCALE = 368,
151 MIN_NONWILDCARD = 369,
152 MIN_NONWILDCARD_SIMPLE = 370,
153 MODULE = 371,
154 MODULES = 372,
155 NAME = 373,
156 NEED_PASSWORD = 374,
157 NETWORK_DESC = 375,
158 NETWORK_NAME = 376,
159 NICK = 377,
160 NICK_CHANGES = 378,
161 NO_CREATE_ON_SPLIT = 379,
162 NO_JOIN_ON_SPLIT = 380,
163 NO_OPER_FLOOD = 381,
164 NO_TILDE = 382,
165 NUMBER = 383,
166 NUMBER_PER_IDENT = 384,
167 NUMBER_PER_CIDR = 385,
168 NUMBER_PER_IP = 386,
169 NUMBER_PER_IP_GLOBAL = 387,
170 OPERATOR = 388,
171 OPERS_BYPASS_CALLERID = 389,
172 OPER_LOG = 390,
173 OPER_ONLY_UMODES = 391,
174 OPER_PASS_RESV = 392,
175 OPER_SPY_T = 393,
176 OPER_UMODES = 394,
177 JOIN_FLOOD_COUNT = 395,
178 JOIN_FLOOD_TIME = 396,
179 PACE_WAIT = 397,
180 PACE_WAIT_SIMPLE = 398,
181 PASSWORD = 399,
182 PATH = 400,
183 PING_COOKIE = 401,
184 PING_TIME = 402,
185 PING_WARNING = 403,
186 PORT = 404,
187 QSTRING = 405,
188 QUIET_ON_BAN = 406,
189 REASON = 407,
190 REDIRPORT = 408,
191 REDIRSERV = 409,
192 REGEX_T = 410,
193 REHASH = 411,
194 TREJECT_HOLD_TIME = 412,
195 REMOTE = 413,
196 REMOTEBAN = 414,
197 RESTRICT_CHANNELS = 415,
198 RESTRICTED = 416,
199 RSA_PRIVATE_KEY_FILE = 417,
200 RSA_PUBLIC_KEY_FILE = 418,
201 SSL_CERTIFICATE_FILE = 419,
202 T_SSL_CONNECTION_METHOD = 420,
203 T_SSLV3 = 421,
204 T_TLSV1 = 422,
205 RESV = 423,
206 RESV_EXEMPT = 424,
207 SECONDS = 425,
208 MINUTES = 426,
209 HOURS = 427,
210 DAYS = 428,
211 WEEKS = 429,
212 SENDQ = 430,
213 SEND_PASSWORD = 431,
214 SERVERHIDE = 432,
215 SERVERINFO = 433,
216 SERVLINK_PATH = 434,
217 IRCD_SID = 435,
218 TKLINE_EXPIRE_NOTICES = 436,
219 T_SHARED = 437,
220 T_CLUSTER = 438,
221 TYPE = 439,
222 SHORT_MOTD = 440,
223 SILENT = 441,
224 SPOOF = 442,
225 SPOOF_NOTICE = 443,
226 STATS_E_DISABLED = 444,
227 STATS_I_OPER_ONLY = 445,
228 STATS_K_OPER_ONLY = 446,
229 STATS_O_OPER_ONLY = 447,
230 STATS_P_OPER_ONLY = 448,
231 TBOOL = 449,
232 TMASKED = 450,
233 T_REJECT = 451,
234 TS_MAX_DELTA = 452,
235 TS_WARN_DELTA = 453,
236 TWODOTS = 454,
237 T_ALL = 455,
238 T_BOTS = 456,
239 T_SOFTCALLERID = 457,
240 T_CALLERID = 458,
241 T_CCONN = 459,
242 T_CCONN_FULL = 460,
243 T_CLIENT_FLOOD = 461,
244 T_DEAF = 462,
245 T_DEBUG = 463,
246 T_DRONE = 464,
247 T_EXTERNAL = 465,
248 T_FULL = 466,
249 T_INVISIBLE = 467,
250 T_IPV4 = 468,
251 T_IPV6 = 469,
252 T_LOCOPS = 470,
253 T_LOGPATH = 471,
254 T_L_CRIT = 472,
255 T_L_DEBUG = 473,
256 T_L_ERROR = 474,
257 T_L_INFO = 475,
258 T_L_NOTICE = 476,
259 T_L_TRACE = 477,
260 T_L_WARN = 478,
261 T_MAX_CLIENTS = 479,
262 T_NCHANGE = 480,
263 T_OPERWALL = 481,
264 T_REJ = 482,
265 T_SERVER = 483,
266 T_SERVNOTICE = 484,
267 T_SKILL = 485,
268 T_SPY = 486,
269 T_SSL = 487,
270 T_UMODES = 488,
271 T_UNAUTH = 489,
272 T_UNRESV = 490,
273 T_UNXLINE = 491,
274 T_GLOBOPS = 492,
275 T_WALLOP = 493,
276 T_RESTART = 494,
277 T_SERVICE = 495,
278 T_SERVICES_NAME = 496,
279 THROTTLE_TIME = 497,
280 TOPICBURST = 498,
281 TRUE_NO_OPER_FLOOD = 499,
282 TKLINE = 500,
283 TXLINE = 501,
284 TRESV = 502,
285 UNKLINE = 503,
286 USER = 504,
287 USE_EGD = 505,
288 USE_EXCEPT = 506,
289 USE_INVEX = 507,
290 USE_KNOCK = 508,
291 USE_LOGGING = 509,
292 USE_WHOIS_ACTUALLY = 510,
293 VHOST = 511,
294 VHOST6 = 512,
295 XLINE = 513,
296 WARN = 514,
297 WARN_NO_NLINE = 515
298 };
299 #endif
300 /* Tokens. */
301 #define ACCEPT_PASSWORD 258
302 #define ACTION 259
303 #define ADMIN 260
304 #define AFTYPE 261
305 #define T_ALLOW 262
306 #define ANTI_NICK_FLOOD 263
307 #define ANTI_SPAM_EXIT_MESSAGE_TIME 264
308 #define AUTOCONN 265
309 #define T_BLOCK 266
310 #define BURST_AWAY 267
311 #define BURST_TOPICWHO 268
312 #define BYTES 269
313 #define KBYTES 270
314 #define MBYTES 271
315 #define GBYTES 272
316 #define TBYTES 273
317 #define CALLER_ID_WAIT 274
318 #define CAN_FLOOD 275
319 #define CHANNEL 276
320 #define CIDR_BITLEN_IPV4 277
321 #define CIDR_BITLEN_IPV6 278
322 #define CIPHER_PREFERENCE 279
323 #define CLASS 280
324 #define COMPRESSED 281
325 #define COMPRESSION_LEVEL 282
326 #define CONNECT 283
327 #define CONNECTFREQ 284
328 #define CRYPTLINK 285
329 #define DEFAULT_CIPHER_PREFERENCE 286
330 #define DEFAULT_FLOODCOUNT 287
331 #define DEFAULT_SPLIT_SERVER_COUNT 288
332 #define DEFAULT_SPLIT_USER_COUNT 289
333 #define DENY 290
334 #define DESCRIPTION 291
335 #define DIE 292
336 #define DISABLE_AUTH 293
337 #define DISABLE_FAKE_CHANNELS 294
338 #define DISABLE_HIDDEN 295
339 #define DISABLE_LOCAL_CHANNELS 296
340 #define DISABLE_REMOTE_COMMANDS 297
341 #define DOTS_IN_IDENT 298
342 #define DURATION 299
343 #define EGDPOOL_PATH 300
344 #define EMAIL 301
345 #define ENABLE 302
346 #define ENCRYPTED 303
347 #define EXCEED_LIMIT 304
348 #define EXEMPT 305
349 #define FAILED_OPER_NOTICE 306
350 #define IRCD_FLAGS 307
351 #define FLATTEN_LINKS 308
352 #define FFAILED_OPERLOG 309
353 #define FKILLLOG 310
354 #define FKLINELOG 311
355 #define FGLINELOG 312
356 #define FIOERRLOG 313
357 #define FOPERLOG 314
358 #define FOPERSPYLOG 315
359 #define FUSERLOG 316
360 #define GECOS 317
361 #define GENERAL 318
362 #define GLINE 319
363 #define GLINES 320
364 #define GLINE_EXEMPT 321
365 #define GLINE_LOG 322
366 #define GLINE_TIME 323
367 #define GLINE_MIN_CIDR 324
368 #define GLINE_MIN_CIDR6 325
369 #define GLOBAL_KILL 326
370 #define IRCD_AUTH 327
371 #define NEED_IDENT 328
372 #define HAVENT_READ_CONF 329
373 #define HIDDEN 330
374 #define HIDDEN_ADMIN 331
375 #define HIDDEN_NAME 332
376 #define HIDDEN_OPER 333
377 #define HIDE_SERVER_IPS 334
378 #define HIDE_SERVERS 335
379 #define HIDE_SPOOF_IPS 336
380 #define HOST 337
381 #define HUB 338
382 #define HUB_MASK 339
383 #define IGNORE_BOGUS_TS 340
384 #define INVISIBLE_ON_CONNECT 341
385 #define IP 342
386 #define KILL 343
387 #define KILL_CHASE_TIME_LIMIT 344
388 #define KLINE 345
389 #define KLINE_EXEMPT 346
390 #define KLINE_REASON 347
391 #define KLINE_WITH_REASON 348
392 #define KNOCK_DELAY 349
393 #define KNOCK_DELAY_CHANNEL 350
394 #define LEAF_MASK 351
395 #define LINKS_DELAY 352
396 #define LISTEN 353
397 #define T_LOG 354
398 #define LOGGING 355
399 #define LOG_LEVEL 356
400 #define MAX_ACCEPT 357
401 #define MAX_BANS 358
402 #define MAX_CHANS_PER_USER 359
403 #define MAX_GLOBAL 360
404 #define MAX_IDENT 361
405 #define MAX_LOCAL 362
406 #define MAX_NICK_CHANGES 363
407 #define MAX_NICK_TIME 364
408 #define MAX_NUMBER 365
409 #define MAX_TARGETS 366
410 #define MAX_WATCH 367
411 #define MESSAGE_LOCALE 368
412 #define MIN_NONWILDCARD 369
413 #define MIN_NONWILDCARD_SIMPLE 370
414 #define MODULE 371
415 #define MODULES 372
416 #define NAME 373
417 #define NEED_PASSWORD 374
418 #define NETWORK_DESC 375
419 #define NETWORK_NAME 376
420 #define NICK 377
421 #define NICK_CHANGES 378
422 #define NO_CREATE_ON_SPLIT 379
423 #define NO_JOIN_ON_SPLIT 380
424 #define NO_OPER_FLOOD 381
425 #define NO_TILDE 382
426 #define NUMBER 383
427 #define NUMBER_PER_IDENT 384
428 #define NUMBER_PER_CIDR 385
429 #define NUMBER_PER_IP 386
430 #define NUMBER_PER_IP_GLOBAL 387
431 #define OPERATOR 388
432 #define OPERS_BYPASS_CALLERID 389
433 #define OPER_LOG 390
434 #define OPER_ONLY_UMODES 391
435 #define OPER_PASS_RESV 392
436 #define OPER_SPY_T 393
437 #define OPER_UMODES 394
438 #define JOIN_FLOOD_COUNT 395
439 #define JOIN_FLOOD_TIME 396
440 #define PACE_WAIT 397
441 #define PACE_WAIT_SIMPLE 398
442 #define PASSWORD 399
443 #define PATH 400
444 #define PING_COOKIE 401
445 #define PING_TIME 402
446 #define PING_WARNING 403
447 #define PORT 404
448 #define QSTRING 405
449 #define QUIET_ON_BAN 406
450 #define REASON 407
451 #define REDIRPORT 408
452 #define REDIRSERV 409
453 #define REGEX_T 410
454 #define REHASH 411
455 #define TREJECT_HOLD_TIME 412
456 #define REMOTE 413
457 #define REMOTEBAN 414
458 #define RESTRICT_CHANNELS 415
459 #define RESTRICTED 416
460 #define RSA_PRIVATE_KEY_FILE 417
461 #define RSA_PUBLIC_KEY_FILE 418
462 #define SSL_CERTIFICATE_FILE 419
463 #define T_SSL_CONNECTION_METHOD 420
464 #define T_SSLV3 421
465 #define T_TLSV1 422
466 #define RESV 423
467 #define RESV_EXEMPT 424
468 #define SECONDS 425
469 #define MINUTES 426
470 #define HOURS 427
471 #define DAYS 428
472 #define WEEKS 429
473 #define SENDQ 430
474 #define SEND_PASSWORD 431
475 #define SERVERHIDE 432
476 #define SERVERINFO 433
477 #define SERVLINK_PATH 434
478 #define IRCD_SID 435
479 #define TKLINE_EXPIRE_NOTICES 436
480 #define T_SHARED 437
481 #define T_CLUSTER 438
482 #define TYPE 439
483 #define SHORT_MOTD 440
484 #define SILENT 441
485 #define SPOOF 442
486 #define SPOOF_NOTICE 443
487 #define STATS_E_DISABLED 444
488 #define STATS_I_OPER_ONLY 445
489 #define STATS_K_OPER_ONLY 446
490 #define STATS_O_OPER_ONLY 447
491 #define STATS_P_OPER_ONLY 448
492 #define TBOOL 449
493 #define TMASKED 450
494 #define T_REJECT 451
495 #define TS_MAX_DELTA 452
496 #define TS_WARN_DELTA 453
497 #define TWODOTS 454
498 #define T_ALL 455
499 #define T_BOTS 456
500 #define T_SOFTCALLERID 457
501 #define T_CALLERID 458
502 #define T_CCONN 459
503 #define T_CCONN_FULL 460
504 #define T_CLIENT_FLOOD 461
505 #define T_DEAF 462
506 #define T_DEBUG 463
507 #define T_DRONE 464
508 #define T_EXTERNAL 465
509 #define T_FULL 466
510 #define T_INVISIBLE 467
511 #define T_IPV4 468
512 #define T_IPV6 469
513 #define T_LOCOPS 470
514 #define T_LOGPATH 471
515 #define T_L_CRIT 472
516 #define T_L_DEBUG 473
517 #define T_L_ERROR 474
518 #define T_L_INFO 475
519 #define T_L_NOTICE 476
520 #define T_L_TRACE 477
521 #define T_L_WARN 478
522 #define T_MAX_CLIENTS 479
523 #define T_NCHANGE 480
524 #define T_OPERWALL 481
525 #define T_REJ 482
526 #define T_SERVER 483
527 #define T_SERVNOTICE 484
528 #define T_SKILL 485
529 #define T_SPY 486
530 #define T_SSL 487
531 #define T_UMODES 488
532 #define T_UNAUTH 489
533 #define T_UNRESV 490
534 #define T_UNXLINE 491
535 #define T_GLOBOPS 492
536 #define T_WALLOP 493
537 #define T_RESTART 494
538 #define T_SERVICE 495
539 #define T_SERVICES_NAME 496
540 #define THROTTLE_TIME 497
541 #define TOPICBURST 498
542 #define TRUE_NO_OPER_FLOOD 499
543 #define TKLINE 500
544 #define TXLINE 501
545 #define TRESV 502
546 #define UNKLINE 503
547 #define USER 504
548 #define USE_EGD 505
549 #define USE_EXCEPT 506
550 #define USE_INVEX 507
551 #define USE_KNOCK 508
552 #define USE_LOGGING 509
553 #define USE_WHOIS_ACTUALLY 510
554 #define VHOST 511
555 #define VHOST6 512
556 #define XLINE 513
557 #define WARN 514
558 #define WARN_NO_NLINE 515
559
560
561
562
563 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
564 typedef union YYSTYPE
565 {
566
567 /* Line 2068 of yacc.c */
568 #line 130 "ircd_parser.y"
569
570 int number;
571 char *string;
572
573
574
575 /* Line 2068 of yacc.c */
576 #line 577 "ircd_parser.h"
577 } YYSTYPE;
578 # define YYSTYPE_IS_TRIVIAL 1
579 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
580 # define YYSTYPE_IS_DECLARED 1
581 #endif
582
583 extern YYSTYPE yylval;
584
585

Properties

Name Value
svn:eol-style native