diff options
-rw-r--r-- | src/conf_lexer.c | 806 | ||||
-rw-r--r-- | src/conf_lexer.l | 493 | ||||
-rw-r--r-- | src/conf_parser.c | 2382 | ||||
-rw-r--r-- | src/conf_parser.h | 712 | ||||
-rw-r--r-- | src/conf_parser.y | 260 |
5 files changed, 2324 insertions, 2329 deletions
diff --git a/src/conf_lexer.c b/src/conf_lexer.c index 319802e..c33e6c9 100644 --- a/src/conf_lexer.c +++ b/src/conf_lexer.c @@ -383,171 +383,171 @@ static yyconst flex_int16_t yy_accept[1575] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 71, 0, 241, 0, 0, 0, 0, 0, 0, - 0, 246, 0, 0, 0, 0, 0, 0, 0, 102, + 0, 81, 0, 241, 0, 0, 0, 0, 0, 0, + 0, 246, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, - 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, - 0, 0, 0, 0, 0, 0, 147, 0, 0, 150, - 0, 0, 0, 0, 211, 0, 132, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, + 0, 0, 0, 0, 0, 0, 172, 0, 0, 175, + 0, 0, 0, 0, 181, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, - 0, 0, 0, 0, 0, 13, 0, 201, 236, 0, - 0, 0, 0, 0, 0, 0, 0, 227, 204, 0, - 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 42, 0, 0, 206, 0, 0, - - 0, 0, 0, 0, 0, 66, 230, 0, 0, 0, - 72, 73, 0, 0, 76, 0, 0, 0, 0, 0, - 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, - 97, 0, 0, 0, 101, 0, 0, 0, 0, 0, - 0, 110, 0, 0, 195, 0, 117, 0, 0, 0, - 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, - 0, 0, 151, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, - 0, 0, 0, 0, 165, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, + 0, 0, 0, 0, 0, 15, 0, 17, 236, 0, + 0, 0, 0, 0, 0, 0, 0, 227, 30, 0, + 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 0, 0, 54, 0, 0, + + 0, 0, 0, 0, 0, 75, 230, 0, 0, 0, + 82, 83, 0, 0, 86, 0, 0, 0, 0, 0, + 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, + 120, 0, 0, 0, 126, 0, 0, 0, 0, 0, + 0, 134, 0, 0, 145, 0, 148, 0, 0, 0, + 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, + 0, 0, 176, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 201, 0, 0, 0, + 0, 0, 0, 0, 211, 0, 0, 0, 0, 0, 226, 0, 222, 0, 0, 9, 0, 0, 0, 235, - 0, 0, 202, 0, 0, 21, 0, 0, 205, 0, - 0, 0, 34, 0, 0, 37, 0, 0, 0, 0, - 0, 0, 43, 0, 45, 0, 47, 0, 0, 0, + 0, 0, 21, 0, 0, 26, 0, 0, 31, 0, + 0, 0, 41, 0, 0, 44, 0, 0, 0, 0, + 0, 0, 52, 0, 55, 0, 57, 0, 0, 0, 0, 0, 0, 229, 0, 0, 0, 0, 240, 0, - 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, - 0, 141, 0, 0, 0, 0, 0, 0, 207, 0, + 0, 0, 0, 152, 0, 0, 0, 0, 0, 0, + 0, 165, 0, 0, 0, 0, 0, 0, 177, 0, - 152, 154, 138, 0, 0, 0, 0, 0, 0, 139, + 179, 182, 189, 0, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 0, 0, 0, 225, 169, 221, 0, + 0, 0, 212, 0, 0, 0, 225, 218, 221, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 59, 0, 0, 0, 0, 0, 0, 239, 0, - 0, 0, 0, 0, 0, 81, 220, 84, 0, 0, + 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 68, 0, 0, 0, 0, 0, 0, 239, 0, + 0, 0, 0, 0, 0, 94, 95, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 244, 0, 232, 0, 0, 194, 223, 0, 0, 0, + 244, 0, 232, 0, 0, 118, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, - 120, 0, 0, 124, 125, 0, 0, 0, 0, 234, - 0, 142, 0, 0, 148, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, - 210, 0, 0, 0, 198, 0, 0, 0, 167, 216, - 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 18, 0, 22, 23, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, - 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, + 151, 0, 0, 155, 157, 0, 0, 0, 0, 234, + 0, 166, 0, 0, 173, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, + 203, 0, 0, 0, 207, 0, 0, 0, 213, 214, + 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 23, 0, 27, 28, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, + 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 231, 0, 0, 193, 208, 0, + 0, 0, 0, 0, 231, 0, 0, 119, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 127, 0, 0, 0, 233, 0, 0, - 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 159, 0, 0, 0, 233, 0, 0, + 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 160, 159, 0, 197, 162, 0, 217, 0, 0, - 0, 0, 0, 0, 14, 218, 0, 0, 0, 0, + 0, 204, 205, 0, 208, 209, 0, 215, 0, 0, + 0, 0, 0, 0, 16, 19, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 0, 0, 0, 0, 238, - 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, - 87, 0, 0, 0, 0, 0, 0, 243, 88, 0, - 0, 0, 0, 107, 0, 0, 0, 106, 0, 112, - 0, 213, 0, 0, 0, 0, 114, 0, 0, 0, + 0, 0, 0, 0, 77, 0, 0, 0, 0, 238, + 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, + 106, 0, 0, 0, 0, 0, 0, 243, 115, 0, + 0, 0, 0, 131, 0, 0, 0, 130, 0, 138, + 0, 140, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, + 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 215, 0, 0, 237, 0, 0, 80, 0, 0, - 0, 0, 0, 86, 89, 0, 0, 0, 0, 94, + 0, 79, 0, 0, 237, 0, 0, 92, 0, 0, + 0, 0, 0, 105, 107, 0, 0, 0, 0, 114, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 188, 0, 116, 0, 0, 122, - 123, 126, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 141, 0, 147, 0, 0, 153, + 154, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 161, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 206, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, - 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, - 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 172, 0, 0, 90, 0, - 0, 0, 91, 0, 0, 0, 57, 0, 0, 0, + 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, + 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 99, 0, 0, 104, 0, + 0, 0, 111, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 118, 0, 0, 0, 0, 0, 143, 144, 0, 214, - 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 149, 0, 0, 0, 0, 0, 167, 168, 0, 171, + 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 24, 0, 0, 29, + 0, 0, 0, 0, 0, 0, 29, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 55, 0, 60, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 190, 181, 0, 85, 0, - 0, 0, 196, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 200, 0, 115, 119, 129, + 0, 0, 0, 64, 0, 69, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 90, 93, 0, 103, 0, + 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 137, 0, 146, 150, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 163, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 31, 0, 0, 0, 36, 39, 0, 0, 0, - 48, 49, 0, 0, 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, - 0, 0, 0, 0, 99, 100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, - 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 179, 0, 0, 0, 10, 0, - 0, 0, 0, 0, 0, 0, 0, 35, 0, 44, - 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, - - 98, 0, 0, 105, 0, 109, 0, 0, 0, 0, - 0, 0, 140, 146, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 164, 0, 0, 180, 182, 0, - 0, 0, 16, 0, 0, 0, 0, 0, 0, 50, - 52, 0, 0, 0, 0, 65, 0, 0, 0, 0, + 0, 210, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 38, 0, 0, 0, 43, 46, 0, 0, 0, + 59, 60, 0, 0, 0, 0, 72, 0, 0, 0, + 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, + 0, 0, 0, 0, 124, 125, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, + 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 199, 0, 0, 0, 10, 0, + 0, 0, 0, 0, 0, 0, 0, 42, 0, 53, + 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, + + 123, 0, 0, 129, 0, 133, 0, 0, 0, 0, + 0, 0, 164, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 195, 0, 0, 200, 216, 0, + 0, 0, 18, 0, 0, 0, 0, 0, 0, 58, + 61, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 8, 177, - 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, - 0, 0, 62, 69, 0, 0, 75, 0, 0, 0, - - 0, 0, 92, 0, 95, 0, 0, 108, 0, 0, - 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 19, 20, 0, 0, - 0, 0, 0, 0, 0, 58, 0, 0, 74, 0, - 0, 0, 0, 173, 93, 0, 0, 104, 0, 199, - 189, 0, 0, 0, 0, 0, 0, 183, 0, 0, + 0, 0, 136, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 8, 13, + 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, + 0, 0, 71, 78, 0, 0, 85, 0, 0, 0, + + 0, 0, 109, 0, 116, 0, 0, 132, 0, 0, + 0, 0, 0, 0, 185, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 24, 25, 0, 0, + 0, 0, 0, 0, 0, 67, 0, 0, 84, 0, + 0, 0, 0, 108, 113, 0, 0, 128, 0, 135, + 142, 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 134, 136, 135, 186, 185, 184, - 187, 0, 0, 0, 25, 0, 0, 0, 0, 171, - - 0, 0, 0, 0, 0, 174, 175, 0, 103, 0, - 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 191, 0, 0, 0, 131, 0, - 0, 0, 0, 0, 0, 0, 0, 61, 70, 0, - 0, 0, 130, 133, 0, 0, 0, 0, 32, 0, - 0, 77, 0, 17, 155, 0, 0, 0, 0, 51, - 96, 0, 0, 0, 33, 0, 0, 27, 0, 0, - 0, 26, 178, 0 + 0, 0, 0, 0, 186, 187, 188, 191, 192, 193, + 194, 0, 0, 0, 32, 0, 0, 0, 0, 49, + + 0, 0, 0, 0, 0, 101, 102, 0, 127, 0, + 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 91, 0, 0, 0, 163, 0, + 0, 0, 0, 0, 0, 0, 0, 70, 80, 0, + 0, 0, 162, 184, 0, 0, 0, 0, 39, 0, + 0, 87, 0, 139, 196, 0, 0, 0, 0, 63, + 117, 0, 0, 0, 40, 0, 0, 34, 0, 0, + 0, 33, 14, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -2088,1190 +2088,1190 @@ YY_RULE_SETUP case 13: YY_RULE_SETUP #line 139 "conf_lexer.l" -{ return IRCD_AUTH; } +{ return ANTI_NICK_FLOOD; } YY_BREAK case 14: YY_RULE_SETUP #line 140 "conf_lexer.l" -{ return AUTOCONN; } +{ return ANTI_SPAM_EXIT_MESSAGE_TIME; } YY_BREAK case 15: YY_RULE_SETUP #line 141 "conf_lexer.l" -{ return CAN_FLOOD; } +{ return IRCD_AUTH; } YY_BREAK case 16: YY_RULE_SETUP #line 142 "conf_lexer.l" -{ return CALLER_ID_WAIT; } +{ return AUTOCONN; } YY_BREAK case 17: YY_RULE_SETUP #line 143 "conf_lexer.l" -{ return OPERS_BYPASS_CALLERID; } +{ return T_BOTS; } YY_BREAK case 18: YY_RULE_SETUP #line 144 "conf_lexer.l" -{ return CHANNEL; } +{ return CALLER_ID_WAIT; } YY_BREAK case 19: YY_RULE_SETUP #line 145 "conf_lexer.l" -{ return CIDR_BITLEN_IPV4; } +{ return T_CALLERID; } YY_BREAK case 20: YY_RULE_SETUP #line 146 "conf_lexer.l" -{ return CIDR_BITLEN_IPV6; } +{ return CAN_FLOOD; } YY_BREAK case 21: YY_RULE_SETUP #line 147 "conf_lexer.l" -{ return CLASS; } +{ return T_CCONN; } YY_BREAK case 22: YY_RULE_SETUP #line 148 "conf_lexer.l" -{ return T_CLUSTER; } +{ return T_CCONN_FULL; } YY_BREAK case 23: YY_RULE_SETUP #line 149 "conf_lexer.l" -{ return CONNECT; } +{ return CHANNEL; } YY_BREAK case 24: YY_RULE_SETUP #line 150 "conf_lexer.l" -{ return CONNECTFREQ; } +{ return CIDR_BITLEN_IPV4; } YY_BREAK case 25: YY_RULE_SETUP #line 151 "conf_lexer.l" -{ return DEFAULT_FLOODCOUNT; } +{ return CIDR_BITLEN_IPV6; } YY_BREAK case 26: YY_RULE_SETUP #line 152 "conf_lexer.l" -{ return DEFAULT_SPLIT_SERVER_COUNT; } +{ return CLASS; } YY_BREAK case 27: YY_RULE_SETUP #line 153 "conf_lexer.l" -{ return DEFAULT_SPLIT_USER_COUNT; } +{ return T_CLUSTER; } YY_BREAK case 28: YY_RULE_SETUP #line 154 "conf_lexer.l" -{ return DENY; } +{ return CONNECT; } YY_BREAK case 29: YY_RULE_SETUP #line 155 "conf_lexer.l" -{ return DESCRIPTION; } +{ return CONNECTFREQ; } YY_BREAK case 30: YY_RULE_SETUP #line 156 "conf_lexer.l" -{ return DIE; } +{ return T_DEAF; } YY_BREAK case 31: YY_RULE_SETUP #line 157 "conf_lexer.l" -{ return DISABLE_AUTH; } +{ return T_DEBUG; } YY_BREAK case 32: YY_RULE_SETUP #line 158 "conf_lexer.l" -{ return DISABLE_FAKE_CHANNELS; } +{ return DEFAULT_FLOODCOUNT; } YY_BREAK case 33: YY_RULE_SETUP #line 159 "conf_lexer.l" -{ return DISABLE_REMOTE_COMMANDS; } +{ return DEFAULT_SPLIT_SERVER_COUNT; } YY_BREAK case 34: YY_RULE_SETUP #line 160 "conf_lexer.l" -{ return T_DLINE; } +{ return DEFAULT_SPLIT_USER_COUNT; } YY_BREAK case 35: YY_RULE_SETUP #line 161 "conf_lexer.l" -{ return DOTS_IN_IDENT; } +{ return DENY; } YY_BREAK case 36: YY_RULE_SETUP #line 162 "conf_lexer.l" -{ return EGDPOOL_PATH; } +{ return DESCRIPTION; } YY_BREAK case 37: YY_RULE_SETUP #line 163 "conf_lexer.l" -{ return EMAIL; } +{ return DIE; } YY_BREAK case 38: YY_RULE_SETUP #line 164 "conf_lexer.l" -{ return ENCRYPTED; } +{ return DISABLE_AUTH; } YY_BREAK case 39: YY_RULE_SETUP #line 165 "conf_lexer.l" -{ return EXCEED_LIMIT; } +{ return DISABLE_FAKE_CHANNELS; } YY_BREAK case 40: YY_RULE_SETUP #line 166 "conf_lexer.l" -{ return EXEMPT; } +{ return DISABLE_REMOTE_COMMANDS; } YY_BREAK case 41: YY_RULE_SETUP #line 167 "conf_lexer.l" -{ return T_FARCONNECT; } +{ return T_DLINE; } YY_BREAK case 42: YY_RULE_SETUP #line 168 "conf_lexer.l" -{ return T_FILE; } +{ return DOTS_IN_IDENT; } YY_BREAK case 43: YY_RULE_SETUP #line 169 "conf_lexer.l" -{ return IRCD_FLAGS; } +{ return EGDPOOL_PATH; } YY_BREAK case 44: YY_RULE_SETUP #line 170 "conf_lexer.l" -{ return FLATTEN_LINKS; } +{ return EMAIL; } YY_BREAK case 45: YY_RULE_SETUP #line 171 "conf_lexer.l" -{ return GECOS; } +{ return ENCRYPTED; } YY_BREAK case 46: YY_RULE_SETUP #line 172 "conf_lexer.l" -{ return GENERAL; } +{ return EXCEED_LIMIT; } YY_BREAK case 47: YY_RULE_SETUP #line 173 "conf_lexer.l" -{ return GLINE; } +{ return EXEMPT; } YY_BREAK case 48: YY_RULE_SETUP #line 174 "conf_lexer.l" -{ return GLINE_ENABLE; } +{ return T_EXTERNAL; } YY_BREAK case 49: YY_RULE_SETUP #line 175 "conf_lexer.l" -{ return GLINE_EXEMPT; } +{ return FAILED_OPER_NOTICE; } YY_BREAK case 50: YY_RULE_SETUP #line 176 "conf_lexer.l" -{ return GLINE_DURATION; } +{ return T_FARCONNECT; } YY_BREAK case 51: YY_RULE_SETUP #line 177 "conf_lexer.l" -{ return GLINE_REQUEST_DURATION; } +{ return T_FILE; } YY_BREAK case 52: YY_RULE_SETUP #line 178 "conf_lexer.l" -{ return GLINE_MIN_CIDR; } +{ return IRCD_FLAGS; } YY_BREAK case 53: YY_RULE_SETUP #line 179 "conf_lexer.l" -{ return GLINE_MIN_CIDR6; } +{ return FLATTEN_LINKS; } YY_BREAK case 54: YY_RULE_SETUP #line 180 "conf_lexer.l" -{ return T_GLOBOPS; } +{ return T_FULL; } YY_BREAK case 55: YY_RULE_SETUP #line 181 "conf_lexer.l" -{ return GLOBAL_KILL; } +{ return GECOS; } YY_BREAK case 56: YY_RULE_SETUP #line 182 "conf_lexer.l" -{ return NEED_IDENT; } +{ return GENERAL; } YY_BREAK case 57: YY_RULE_SETUP #line 183 "conf_lexer.l" -{ return NEED_IDENT; } +{ return GLINE; } YY_BREAK case 58: YY_RULE_SETUP #line 184 "conf_lexer.l" -{ return HAVENT_READ_CONF; } +{ return GLINE_DURATION; } YY_BREAK case 59: YY_RULE_SETUP #line 185 "conf_lexer.l" -{ return HIDDEN; } +{ return GLINE_ENABLE; } YY_BREAK case 60: YY_RULE_SETUP #line 186 "conf_lexer.l" -{ return HIDDEN_NAME; } +{ return GLINE_EXEMPT; } YY_BREAK case 61: YY_RULE_SETUP #line 187 "conf_lexer.l" -{ return HIDE_IDLE_FROM_OPERS; } +{ return GLINE_MIN_CIDR; } YY_BREAK case 62: YY_RULE_SETUP #line 188 "conf_lexer.l" -{ return HIDE_SERVER_IPS; } +{ return GLINE_MIN_CIDR6; } YY_BREAK case 63: YY_RULE_SETUP #line 189 "conf_lexer.l" -{ return HIDE_SERVERS; } +{ return GLINE_REQUEST_DURATION; } YY_BREAK case 64: YY_RULE_SETUP #line 190 "conf_lexer.l" -{ return HIDE_SERVICES; } +{ return GLOBAL_KILL; } YY_BREAK case 65: YY_RULE_SETUP #line 191 "conf_lexer.l" -{ return HIDE_SPOOF_IPS; } +{ return T_GLOBOPS; } YY_BREAK case 66: YY_RULE_SETUP #line 192 "conf_lexer.l" -{ return HOST; } +{ return NEED_IDENT; } YY_BREAK case 67: YY_RULE_SETUP #line 193 "conf_lexer.l" -{ return HUB; } +{ return HAVENT_READ_CONF; } YY_BREAK case 68: YY_RULE_SETUP #line 194 "conf_lexer.l" -{ return HUB_MASK; } +{ return HIDDEN; } YY_BREAK case 69: YY_RULE_SETUP #line 195 "conf_lexer.l" -{ return IGNORE_BOGUS_TS; } +{ return HIDDEN_NAME; } YY_BREAK case 70: YY_RULE_SETUP #line 196 "conf_lexer.l" -{ return INVISIBLE_ON_CONNECT; } +{ return HIDE_IDLE_FROM_OPERS; } YY_BREAK case 71: YY_RULE_SETUP #line 197 "conf_lexer.l" -{ return IP; } +{ return HIDE_SERVER_IPS; } YY_BREAK case 72: YY_RULE_SETUP #line 198 "conf_lexer.l" -{ return T_IPV4; } +{ return HIDE_SERVERS; } YY_BREAK case 73: YY_RULE_SETUP #line 199 "conf_lexer.l" -{ return T_IPV6; } +{ return HIDE_SERVICES; } YY_BREAK case 74: YY_RULE_SETUP #line 200 "conf_lexer.l" -{ return JOIN_FLOOD_COUNT; } +{ return HIDE_SPOOF_IPS; } YY_BREAK case 75: YY_RULE_SETUP #line 201 "conf_lexer.l" -{ return JOIN_FLOOD_TIME; } +{ return HOST; } YY_BREAK case 76: YY_RULE_SETUP #line 202 "conf_lexer.l" -{ return KILL; } +{ return HUB; } YY_BREAK case 77: YY_RULE_SETUP #line 203 "conf_lexer.l" -{ return KILL_CHASE_TIME_LIMIT; } +{ return HUB_MASK; } YY_BREAK case 78: YY_RULE_SETUP #line 204 "conf_lexer.l" -{ return KLINE; } +{ return IGNORE_BOGUS_TS; } YY_BREAK case 79: YY_RULE_SETUP #line 205 "conf_lexer.l" -{ return KLINE_EXEMPT; } +{ return T_INVISIBLE; } YY_BREAK case 80: YY_RULE_SETUP #line 206 "conf_lexer.l" -{ return LEAF_MASK; } +{ return INVISIBLE_ON_CONNECT; } YY_BREAK case 81: YY_RULE_SETUP #line 207 "conf_lexer.l" -{ return LISTEN; } +{ return IP; } YY_BREAK case 82: YY_RULE_SETUP #line 208 "conf_lexer.l" -{ return T_LOG; } +{ return T_IPV4; } YY_BREAK case 83: YY_RULE_SETUP #line 209 "conf_lexer.l" -{ return MASK; } +{ return T_IPV6; } YY_BREAK case 84: YY_RULE_SETUP #line 210 "conf_lexer.l" -{ return TMASKED; } +{ return JOIN_FLOOD_COUNT; } YY_BREAK case 85: YY_RULE_SETUP #line 211 "conf_lexer.l" -{ return T_MAX_CLIENTS; } +{ return JOIN_FLOOD_TIME; } YY_BREAK case 86: YY_RULE_SETUP #line 212 "conf_lexer.l" -{ return MAX_IDENT; } +{ return KILL; } YY_BREAK case 87: YY_RULE_SETUP #line 213 "conf_lexer.l" -{ return MAX_IDLE; } +{ return KILL_CHASE_TIME_LIMIT; } YY_BREAK case 88: YY_RULE_SETUP #line 214 "conf_lexer.l" -{ return MIN_IDLE; } +{ return KLINE; } YY_BREAK case 89: YY_RULE_SETUP #line 215 "conf_lexer.l" -{ return MAX_LOCAL; } +{ return KLINE_EXEMPT; } YY_BREAK case 90: YY_RULE_SETUP #line 216 "conf_lexer.l" -{ return MAX_GLOBAL; } +{ return KNOCK_DELAY; } YY_BREAK case 91: YY_RULE_SETUP #line 217 "conf_lexer.l" -{ return MAX_NUMBER; } +{ return KNOCK_DELAY_CHANNEL; } YY_BREAK case 92: YY_RULE_SETUP #line 218 "conf_lexer.l" -{ return MAX_NICK_LENGTH; } +{ return LEAF_MASK; } YY_BREAK case 93: YY_RULE_SETUP #line 219 "conf_lexer.l" -{ return MAX_TOPIC_LENGTH; } +{ return LINKS_DELAY; } YY_BREAK case 94: YY_RULE_SETUP #line 220 "conf_lexer.l" -{ return MAX_WATCH; } +{ return LISTEN; } YY_BREAK case 95: YY_RULE_SETUP #line 221 "conf_lexer.l" -{ return MIN_NONWILDCARD; } +{ return T_LOCOPS; } YY_BREAK case 96: YY_RULE_SETUP #line 222 "conf_lexer.l" -{ return MIN_NONWILDCARD_SIMPLE; } +{ return T_LOG; } YY_BREAK case 97: YY_RULE_SETUP #line 223 "conf_lexer.l" -{ return NAME; } +{ return MASK; } YY_BREAK case 98: YY_RULE_SETUP #line 224 "conf_lexer.l" -{ return NEED_PASSWORD; } +{ return TMASKED; } YY_BREAK case 99: YY_RULE_SETUP #line 225 "conf_lexer.l" -{ return NETWORK_DESC; } +{ return MAX_ACCEPT; } YY_BREAK case 100: YY_RULE_SETUP #line 226 "conf_lexer.l" -{ return NETWORK_NAME; } +{ return MAX_BANS; } YY_BREAK case 101: YY_RULE_SETUP #line 227 "conf_lexer.l" -{ return NICK; } +{ return MAX_CHANS_PER_OPER; } YY_BREAK case 102: YY_RULE_SETUP #line 228 "conf_lexer.l" -{ yylval.number = 0; return TBOOL; } +{ return MAX_CHANS_PER_USER; } YY_BREAK case 103: YY_RULE_SETUP #line 229 "conf_lexer.l" -{ return NO_CREATE_ON_SPLIT; } +{ return T_MAX_CLIENTS; } YY_BREAK case 104: YY_RULE_SETUP #line 230 "conf_lexer.l" -{ return NO_JOIN_ON_SPLIT; } +{ return MAX_GLOBAL; } YY_BREAK case 105: YY_RULE_SETUP #line 231 "conf_lexer.l" -{ return NO_OPER_FLOOD; } +{ return MAX_IDENT; } YY_BREAK case 106: YY_RULE_SETUP #line 232 "conf_lexer.l" -{ return NO_TILDE; } +{ return MAX_IDLE; } YY_BREAK case 107: YY_RULE_SETUP #line 233 "conf_lexer.l" -{ return T_NONONREG; } +{ return MAX_LOCAL; } YY_BREAK case 108: YY_RULE_SETUP #line 234 "conf_lexer.l" -{ return NUMBER_PER_CIDR; } +{ return MAX_NICK_CHANGES; } YY_BREAK case 109: YY_RULE_SETUP #line 235 "conf_lexer.l" -{ return NUMBER_PER_IP; } +{ return MAX_NICK_LENGTH; } YY_BREAK case 110: YY_RULE_SETUP #line 236 "conf_lexer.l" -{ return OPERATOR; } +{ return MAX_NICK_TIME; } YY_BREAK case 111: YY_RULE_SETUP #line 237 "conf_lexer.l" -{ return OPER_PASS_RESV; } +{ return MAX_NUMBER; } YY_BREAK case 112: YY_RULE_SETUP #line 238 "conf_lexer.l" -{ return OPERATOR; } +{ return MAX_TARGETS; } YY_BREAK case 113: YY_RULE_SETUP #line 239 "conf_lexer.l" -{ return PASSWORD; } +{ return MAX_TOPIC_LENGTH; } YY_BREAK case 114: YY_RULE_SETUP #line 240 "conf_lexer.l" -{ return PASSWORD; } +{ return MAX_WATCH; } YY_BREAK case 115: YY_RULE_SETUP #line 241 "conf_lexer.l" -{ return PING_COOKIE; } +{ return MIN_IDLE; } YY_BREAK case 116: YY_RULE_SETUP #line 242 "conf_lexer.l" -{ return PING_TIME; } +{ return MIN_NONWILDCARD; } YY_BREAK case 117: YY_RULE_SETUP #line 243 "conf_lexer.l" -{ return PORT; } +{ return MIN_NONWILDCARD_SIMPLE; } YY_BREAK case 118: YY_RULE_SETUP #line 244 "conf_lexer.l" -{ return RESV; } +{ return MODULE; } YY_BREAK case 119: YY_RULE_SETUP #line 245 "conf_lexer.l" -{ return RANDOM_IDLE; } +{ return MODULES; } YY_BREAK case 120: YY_RULE_SETUP #line 246 "conf_lexer.l" -{ return REASON; } +{ return NAME; } YY_BREAK case 121: YY_RULE_SETUP #line 247 "conf_lexer.l" -{ return T_RECVQ; } +{ return T_NCHANGE; } YY_BREAK case 122: YY_RULE_SETUP #line 248 "conf_lexer.l" -{ return REDIRPORT; } +{ return NEED_IDENT; } YY_BREAK case 123: YY_RULE_SETUP #line 249 "conf_lexer.l" -{ return REDIRSERV; } +{ return NEED_PASSWORD; } YY_BREAK case 124: YY_RULE_SETUP #line 250 "conf_lexer.l" -{ return REHASH; } +{ return NETWORK_DESC; } YY_BREAK case 125: YY_RULE_SETUP #line 251 "conf_lexer.l" -{ return REMOTE; } +{ return NETWORK_NAME; } YY_BREAK case 126: YY_RULE_SETUP #line 252 "conf_lexer.l" -{ return REMOTEBAN; } +{ return NICK; } YY_BREAK case 127: YY_RULE_SETUP #line 253 "conf_lexer.l" -{ return T_RESTART; } +{ return NO_CREATE_ON_SPLIT; } YY_BREAK case 128: YY_RULE_SETUP #line 254 "conf_lexer.l" -{ return RESV; } +{ return NO_JOIN_ON_SPLIT; } YY_BREAK case 129: YY_RULE_SETUP #line 255 "conf_lexer.l" -{ return RESV_EXEMPT; } +{ return NO_OPER_FLOOD; } YY_BREAK case 130: YY_RULE_SETUP #line 256 "conf_lexer.l" -{ return RSA_PRIVATE_KEY_FILE; } +{ return NO_TILDE; } YY_BREAK case 131: YY_RULE_SETUP #line 257 "conf_lexer.l" -{ return RSA_PUBLIC_KEY_FILE; } +{ return T_NONONREG; } YY_BREAK case 132: YY_RULE_SETUP #line 258 "conf_lexer.l" -{ return T_SSL; } +{ return NUMBER_PER_CIDR; } YY_BREAK case 133: YY_RULE_SETUP #line 259 "conf_lexer.l" -{ return SSL_CERTIFICATE_FILE; } +{ return NUMBER_PER_IP; } YY_BREAK case 134: YY_RULE_SETUP #line 260 "conf_lexer.l" -{ return T_SSL_CLIENT_METHOD; } +{ return OPERATOR; } YY_BREAK case 135: YY_RULE_SETUP #line 261 "conf_lexer.l" -{ return T_SSL_SERVER_METHOD; } +{ return OPER_ONLY_UMODES; } YY_BREAK case 136: YY_RULE_SETUP #line 262 "conf_lexer.l" -{ return SSL_DH_PARAM_FILE; } +{ return OPER_PASS_RESV; } YY_BREAK case 137: YY_RULE_SETUP #line 263 "conf_lexer.l" -{ return T_SSL_CIPHER_LIST; } +{ return OPER_UMODES; } YY_BREAK case 138: YY_RULE_SETUP #line 264 "conf_lexer.l" -{ return T_SSLV3; } +{ return OPERATOR; } YY_BREAK case 139: YY_RULE_SETUP #line 265 "conf_lexer.l" -{ return T_TLSV1; } +{ return OPERS_BYPASS_CALLERID; } YY_BREAK case 140: YY_RULE_SETUP #line 266 "conf_lexer.l" -{ return SEND_PASSWORD; } +{ return T_OPERWALL; } YY_BREAK case 141: YY_RULE_SETUP #line 267 "conf_lexer.l" -{ return SENDQ; } +{ return PACE_WAIT; } YY_BREAK case 142: YY_RULE_SETUP #line 268 "conf_lexer.l" -{ return T_SERVER; } +{ return PACE_WAIT_SIMPLE; } YY_BREAK case 143: YY_RULE_SETUP #line 269 "conf_lexer.l" -{ return SERVERHIDE; } +{ return PASSWORD; } YY_BREAK case 144: YY_RULE_SETUP #line 270 "conf_lexer.l" -{ return SERVERINFO; } +{ return PASSWORD; } YY_BREAK case 145: YY_RULE_SETUP #line 271 "conf_lexer.l" -{ return T_SERVICE; } +{ return PATH; } YY_BREAK case 146: YY_RULE_SETUP #line 272 "conf_lexer.l" -{ return T_SERVICES_NAME; } +{ return PING_COOKIE; } YY_BREAK case 147: YY_RULE_SETUP #line 273 "conf_lexer.l" -{ return T_SET; } +{ return PING_TIME; } YY_BREAK case 148: YY_RULE_SETUP #line 274 "conf_lexer.l" -{ return T_SHARED; } +{ return PORT; } YY_BREAK case 149: YY_RULE_SETUP #line 275 "conf_lexer.l" -{ return SHORT_MOTD; } +{ return RESV; } YY_BREAK case 150: YY_RULE_SETUP #line 276 "conf_lexer.l" -{ return IRCD_SID; } +{ return RANDOM_IDLE; } YY_BREAK case 151: YY_RULE_SETUP #line 277 "conf_lexer.l" -{ return T_SIZE; } +{ return REASON; } YY_BREAK case 152: YY_RULE_SETUP #line 278 "conf_lexer.l" -{ return SPOOF; } +{ return T_RECVQ; } YY_BREAK case 153: YY_RULE_SETUP #line 279 "conf_lexer.l" -{ return SPOOF_NOTICE; } +{ return REDIRPORT; } YY_BREAK case 154: YY_RULE_SETUP #line 280 "conf_lexer.l" -{ return SQUIT; } +{ return REDIRSERV; } YY_BREAK case 155: YY_RULE_SETUP #line 281 "conf_lexer.l" -{ return TKLINE_EXPIRE_NOTICES; } +{ return REHASH; } YY_BREAK case 156: YY_RULE_SETUP #line 282 "conf_lexer.l" -{ return TYPE; } +{ return T_REJ; } YY_BREAK case 157: YY_RULE_SETUP #line 283 "conf_lexer.l" -{ return TRUE_NO_OPER_FLOOD; } +{ return REMOTE; } YY_BREAK case 158: YY_RULE_SETUP #line 284 "conf_lexer.l" -{ return T_UMODES; } +{ return REMOTEBAN; } YY_BREAK case 159: YY_RULE_SETUP #line 285 "conf_lexer.l" -{ return UNKLINE; } +{ return T_RESTART; } YY_BREAK case 160: YY_RULE_SETUP #line 286 "conf_lexer.l" -{ return T_UNDLINE; } +{ return RESV; } YY_BREAK case 161: YY_RULE_SETUP #line 287 "conf_lexer.l" -{ return T_UNLIMITED; } +{ return RESV_EXEMPT; } YY_BREAK case 162: YY_RULE_SETUP #line 288 "conf_lexer.l" -{ return USE_EGD; } +{ return RSA_PRIVATE_KEY_FILE; } YY_BREAK case 163: YY_RULE_SETUP #line 289 "conf_lexer.l" -{ return USE_LOGGING; } +{ return RSA_PUBLIC_KEY_FILE; } YY_BREAK case 164: YY_RULE_SETUP #line 290 "conf_lexer.l" -{ return THROTTLE_TIME; } +{ return SEND_PASSWORD; } YY_BREAK case 165: YY_RULE_SETUP #line 291 "conf_lexer.l" -{ return USER; } +{ return SENDQ; } YY_BREAK case 166: YY_RULE_SETUP #line 292 "conf_lexer.l" -{ return VHOST; } +{ return T_SERVER; } YY_BREAK case 167: YY_RULE_SETUP #line 293 "conf_lexer.l" -{ return VHOST6; } +{ return SERVERHIDE; } YY_BREAK case 168: YY_RULE_SETUP #line 294 "conf_lexer.l" -{ return T_WEBIRC; } +{ return SERVERINFO; } YY_BREAK case 169: YY_RULE_SETUP #line 295 "conf_lexer.l" -{ return XLINE; } +{ return T_SERVICE; } YY_BREAK case 170: YY_RULE_SETUP #line 296 "conf_lexer.l" -{ yylval.number = 1; return TBOOL; } +{ return T_SERVICES_NAME; } YY_BREAK case 171: YY_RULE_SETUP -#line 298 "conf_lexer.l" -{ return FAILED_OPER_NOTICE; } +#line 297 "conf_lexer.l" +{ return T_SERVNOTICE; } YY_BREAK case 172: YY_RULE_SETUP -#line 299 "conf_lexer.l" -{ return MAX_ACCEPT; } +#line 298 "conf_lexer.l" +{ return T_SET; } YY_BREAK case 173: YY_RULE_SETUP -#line 300 "conf_lexer.l" -{ return MAX_NICK_CHANGES; } +#line 299 "conf_lexer.l" +{ return T_SHARED; } YY_BREAK case 174: YY_RULE_SETUP -#line 301 "conf_lexer.l" -{ return MAX_CHANS_PER_OPER; } +#line 300 "conf_lexer.l" +{ return SHORT_MOTD; } YY_BREAK case 175: YY_RULE_SETUP -#line 302 "conf_lexer.l" -{ return MAX_CHANS_PER_USER; } +#line 301 "conf_lexer.l" +{ return IRCD_SID; } YY_BREAK case 176: YY_RULE_SETUP -#line 303 "conf_lexer.l" -{ return MAX_NICK_TIME; } +#line 302 "conf_lexer.l" +{ return T_SIZE; } YY_BREAK case 177: YY_RULE_SETUP -#line 304 "conf_lexer.l" -{ return ANTI_NICK_FLOOD; } +#line 303 "conf_lexer.l" +{ return T_SKILL; } YY_BREAK case 178: YY_RULE_SETUP -#line 305 "conf_lexer.l" -{ return ANTI_SPAM_EXIT_MESSAGE_TIME; } +#line 304 "conf_lexer.l" +{ return T_SOFTCALLERID; } YY_BREAK case 179: YY_RULE_SETUP -#line 306 "conf_lexer.l" -{ return TS_MAX_DELTA; } +#line 305 "conf_lexer.l" +{ return SPOOF; } YY_BREAK case 180: YY_RULE_SETUP -#line 307 "conf_lexer.l" -{ return TS_WARN_DELTA; } +#line 306 "conf_lexer.l" +{ return SPOOF_NOTICE; } YY_BREAK case 181: YY_RULE_SETUP -#line 308 "conf_lexer.l" -{ return LINKS_DELAY; } +#line 307 "conf_lexer.l" +{ return T_SPY; } YY_BREAK case 182: YY_RULE_SETUP -#line 309 "conf_lexer.l" -{ return WARN_NO_NLINE; } +#line 308 "conf_lexer.l" +{ return SQUIT; } YY_BREAK case 183: YY_RULE_SETUP -#line 311 "conf_lexer.l" -{ return STATS_E_DISABLED; } +#line 309 "conf_lexer.l" +{ return T_SSL; } YY_BREAK case 184: YY_RULE_SETUP -#line 312 "conf_lexer.l" -{ return STATS_O_OPER_ONLY; } +#line 310 "conf_lexer.l" +{ return SSL_CERTIFICATE_FILE; } YY_BREAK case 185: YY_RULE_SETUP -#line 313 "conf_lexer.l" -{ return STATS_K_OPER_ONLY; } +#line 311 "conf_lexer.l" +{ return T_SSL_CIPHER_LIST; } YY_BREAK case 186: YY_RULE_SETUP -#line 314 "conf_lexer.l" -{ return STATS_I_OPER_ONLY; } +#line 312 "conf_lexer.l" +{ return T_SSL_CLIENT_METHOD; } YY_BREAK case 187: YY_RULE_SETUP -#line 315 "conf_lexer.l" -{ return STATS_P_OPER_ONLY; } +#line 313 "conf_lexer.l" +{ return SSL_DH_PARAM_FILE; } YY_BREAK case 188: YY_RULE_SETUP -#line 316 "conf_lexer.l" -{ return PACE_WAIT; } +#line 314 "conf_lexer.l" +{ return T_SSL_SERVER_METHOD; } YY_BREAK case 189: YY_RULE_SETUP -#line 317 "conf_lexer.l" -{ return PACE_WAIT_SIMPLE; } +#line 315 "conf_lexer.l" +{ return T_SSLV3; } YY_BREAK case 190: YY_RULE_SETUP -#line 318 "conf_lexer.l" -{ return KNOCK_DELAY; } +#line 316 "conf_lexer.l" +{ return STATS_E_DISABLED; } YY_BREAK case 191: YY_RULE_SETUP -#line 319 "conf_lexer.l" -{ return KNOCK_DELAY_CHANNEL; } +#line 317 "conf_lexer.l" +{ return STATS_I_OPER_ONLY; } YY_BREAK case 192: YY_RULE_SETUP -#line 320 "conf_lexer.l" -{ return MAX_BANS; } +#line 318 "conf_lexer.l" +{ return STATS_K_OPER_ONLY; } YY_BREAK case 193: YY_RULE_SETUP -#line 321 "conf_lexer.l" -{ return MODULES; } +#line 319 "conf_lexer.l" +{ return STATS_O_OPER_ONLY; } YY_BREAK case 194: YY_RULE_SETUP -#line 322 "conf_lexer.l" -{ return MODULE; } +#line 320 "conf_lexer.l" +{ return STATS_P_OPER_ONLY; } YY_BREAK case 195: YY_RULE_SETUP -#line 323 "conf_lexer.l" -{ return PATH; } +#line 321 "conf_lexer.l" +{ return THROTTLE_TIME; } YY_BREAK case 196: YY_RULE_SETUP -#line 324 "conf_lexer.l" -{ return MAX_TARGETS; } +#line 322 "conf_lexer.l" +{ return TKLINE_EXPIRE_NOTICES; } YY_BREAK case 197: YY_RULE_SETUP -#line 326 "conf_lexer.l" -{ return T_UNXLINE; } +#line 323 "conf_lexer.l" +{ return T_TLSV1; } YY_BREAK case 198: YY_RULE_SETUP -#line 327 "conf_lexer.l" -{ return T_UNRESV; } +#line 324 "conf_lexer.l" +{ return TRUE_NO_OPER_FLOOD; } YY_BREAK case 199: YY_RULE_SETUP -#line 329 "conf_lexer.l" -{ return OPER_ONLY_UMODES; } +#line 325 "conf_lexer.l" +{ return TS_MAX_DELTA; } YY_BREAK case 200: YY_RULE_SETUP -#line 330 "conf_lexer.l" -{ return OPER_UMODES; } +#line 326 "conf_lexer.l" +{ return TS_WARN_DELTA; } YY_BREAK case 201: YY_RULE_SETUP -#line 331 "conf_lexer.l" -{ return T_BOTS; } +#line 327 "conf_lexer.l" +{ return TYPE; } YY_BREAK case 202: YY_RULE_SETUP -#line 332 "conf_lexer.l" -{ return T_CCONN; } +#line 328 "conf_lexer.l" +{ return T_UMODES; } YY_BREAK case 203: YY_RULE_SETUP -#line 333 "conf_lexer.l" -{ return T_CCONN_FULL; } +#line 329 "conf_lexer.l" +{ return T_UNAUTH; } YY_BREAK case 204: YY_RULE_SETUP -#line 334 "conf_lexer.l" -{ return T_DEAF; } +#line 330 "conf_lexer.l" +{ return T_UNDLINE; } YY_BREAK case 205: YY_RULE_SETUP -#line 335 "conf_lexer.l" -{ return T_DEBUG; } +#line 331 "conf_lexer.l" +{ return UNKLINE; } YY_BREAK case 206: YY_RULE_SETUP -#line 336 "conf_lexer.l" -{ return T_FULL; } +#line 332 "conf_lexer.l" +{ return T_UNLIMITED; } YY_BREAK case 207: YY_RULE_SETUP -#line 337 "conf_lexer.l" -{ return T_SKILL; } +#line 333 "conf_lexer.l" +{ return T_UNRESV; } YY_BREAK case 208: YY_RULE_SETUP -#line 338 "conf_lexer.l" -{ return T_NCHANGE; } +#line 334 "conf_lexer.l" +{ return T_UNXLINE; } YY_BREAK case 209: YY_RULE_SETUP -#line 339 "conf_lexer.l" -{ return T_REJ; } +#line 335 "conf_lexer.l" +{ return USE_EGD; } YY_BREAK case 210: YY_RULE_SETUP -#line 340 "conf_lexer.l" -{ return T_UNAUTH; } +#line 336 "conf_lexer.l" +{ return USE_LOGGING; } YY_BREAK case 211: YY_RULE_SETUP -#line 341 "conf_lexer.l" -{ return T_SPY; } +#line 337 "conf_lexer.l" +{ return USER; } YY_BREAK case 212: YY_RULE_SETUP -#line 342 "conf_lexer.l" -{ return T_EXTERNAL; } +#line 338 "conf_lexer.l" +{ return VHOST; } YY_BREAK case 213: YY_RULE_SETUP -#line 343 "conf_lexer.l" -{ return T_OPERWALL; } +#line 339 "conf_lexer.l" +{ return VHOST6; } YY_BREAK case 214: YY_RULE_SETUP -#line 344 "conf_lexer.l" -{ return T_SERVNOTICE; } +#line 340 "conf_lexer.l" +{ return T_WALLOP; } YY_BREAK case 215: YY_RULE_SETUP -#line 345 "conf_lexer.l" -{ return T_INVISIBLE; } +#line 341 "conf_lexer.l" +{ return T_WALLOPS; } YY_BREAK case 216: YY_RULE_SETUP -#line 346 "conf_lexer.l" -{ return T_WALLOP; } +#line 342 "conf_lexer.l" +{ return WARN_NO_NLINE; } YY_BREAK case 217: YY_RULE_SETUP -#line 347 "conf_lexer.l" -{ return T_WALLOPS; } +#line 343 "conf_lexer.l" +{ return T_WEBIRC; } YY_BREAK case 218: YY_RULE_SETUP -#line 348 "conf_lexer.l" -{ return T_CALLERID; } +#line 344 "conf_lexer.l" +{ return XLINE; } YY_BREAK case 219: YY_RULE_SETUP -#line 349 "conf_lexer.l" -{ return T_SOFTCALLERID; } +#line 346 "conf_lexer.l" +{ yylval.number = 1; return TBOOL; } YY_BREAK case 220: YY_RULE_SETUP -#line 350 "conf_lexer.l" -{ return T_LOCOPS; } +#line 347 "conf_lexer.l" +{ yylval.number = 0; return TBOOL; } YY_BREAK case 221: YY_RULE_SETUP -#line 352 "conf_lexer.l" +#line 349 "conf_lexer.l" { return YEARS; } YY_BREAK case 222: YY_RULE_SETUP -#line 353 "conf_lexer.l" +#line 350 "conf_lexer.l" { return YEARS; } YY_BREAK case 223: YY_RULE_SETUP -#line 354 "conf_lexer.l" +#line 351 "conf_lexer.l" { return MONTHS; } YY_BREAK case 224: YY_RULE_SETUP -#line 355 "conf_lexer.l" +#line 352 "conf_lexer.l" { return MONTHS; } YY_BREAK case 225: YY_RULE_SETUP -#line 356 "conf_lexer.l" +#line 353 "conf_lexer.l" { return WEEKS; } YY_BREAK case 226: YY_RULE_SETUP -#line 357 "conf_lexer.l" +#line 354 "conf_lexer.l" { return WEEKS; } YY_BREAK case 227: YY_RULE_SETUP -#line 358 "conf_lexer.l" +#line 355 "conf_lexer.l" { return DAYS; } YY_BREAK case 228: YY_RULE_SETUP -#line 359 "conf_lexer.l" +#line 356 "conf_lexer.l" { return DAYS; } YY_BREAK case 229: YY_RULE_SETUP -#line 360 "conf_lexer.l" +#line 357 "conf_lexer.l" { return HOURS; } YY_BREAK case 230: YY_RULE_SETUP -#line 361 "conf_lexer.l" +#line 358 "conf_lexer.l" { return HOURS; } YY_BREAK case 231: YY_RULE_SETUP -#line 362 "conf_lexer.l" +#line 359 "conf_lexer.l" { return MINUTES; } YY_BREAK case 232: YY_RULE_SETUP -#line 363 "conf_lexer.l" +#line 360 "conf_lexer.l" { return MINUTES; } YY_BREAK case 233: YY_RULE_SETUP -#line 364 "conf_lexer.l" +#line 361 "conf_lexer.l" { return SECONDS; } YY_BREAK case 234: YY_RULE_SETUP -#line 365 "conf_lexer.l" +#line 362 "conf_lexer.l" { return SECONDS; } YY_BREAK case 235: YY_RULE_SETUP -#line 367 "conf_lexer.l" +#line 364 "conf_lexer.l" { return BYTES; } YY_BREAK case 236: YY_RULE_SETUP -#line 368 "conf_lexer.l" +#line 365 "conf_lexer.l" { return BYTES; } YY_BREAK case 237: YY_RULE_SETUP -#line 369 "conf_lexer.l" +#line 366 "conf_lexer.l" { return KBYTES; } YY_BREAK case 238: YY_RULE_SETUP -#line 370 "conf_lexer.l" +#line 367 "conf_lexer.l" { return KBYTES; } YY_BREAK case 239: YY_RULE_SETUP -#line 371 "conf_lexer.l" +#line 368 "conf_lexer.l" { return KBYTES; } YY_BREAK case 240: YY_RULE_SETUP -#line 372 "conf_lexer.l" +#line 369 "conf_lexer.l" { return KBYTES; } YY_BREAK case 241: YY_RULE_SETUP -#line 373 "conf_lexer.l" +#line 370 "conf_lexer.l" { return KBYTES; } YY_BREAK case 242: YY_RULE_SETUP -#line 374 "conf_lexer.l" +#line 371 "conf_lexer.l" { return MBYTES; } YY_BREAK case 243: YY_RULE_SETUP -#line 375 "conf_lexer.l" +#line 372 "conf_lexer.l" { return MBYTES; } YY_BREAK case 244: YY_RULE_SETUP -#line 376 "conf_lexer.l" +#line 373 "conf_lexer.l" { return MBYTES; } YY_BREAK case 245: YY_RULE_SETUP -#line 377 "conf_lexer.l" +#line 374 "conf_lexer.l" { return MBYTES; } YY_BREAK case 246: YY_RULE_SETUP -#line 378 "conf_lexer.l" +#line 375 "conf_lexer.l" { return MBYTES; } YY_BREAK case 247: YY_RULE_SETUP -#line 379 "conf_lexer.l" +#line 376 "conf_lexer.l" { return TWODOTS; } YY_BREAK case 248: YY_RULE_SETUP -#line 381 "conf_lexer.l" +#line 378 "conf_lexer.l" { return yytext[0]; } YY_BREAK case YY_STATE_EOF(INITIAL): -#line 382 "conf_lexer.l" +#line 379 "conf_lexer.l" { if (ieof()) yyterminate(); } YY_BREAK case 249: YY_RULE_SETUP -#line 384 "conf_lexer.l" +#line 381 "conf_lexer.l" ECHO; YY_BREAK #line 3278 "conf_lexer.c" @@ -4230,7 +4230,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 384 "conf_lexer.l" +#line 381 "conf_lexer.l" diff --git a/src/conf_lexer.l b/src/conf_lexer.l index b0e9048..783ce19 100644 --- a/src/conf_lexer.l +++ b/src/conf_lexer.l @@ -131,255 +131,252 @@ include \.include{WS}(\<.*\>|\".*\") } } -accept_password { return ACCEPT_PASSWORD; } -admin { return ADMIN; } -administrator { return ADMIN; } -aftype { return AFTYPE; } -all { return T_ALL; } -auth { return IRCD_AUTH; } -autoconn { return AUTOCONN; } -can_flood { return CAN_FLOOD; } -caller_id_wait { return CALLER_ID_WAIT; } -opers_bypass_callerid { return OPERS_BYPASS_CALLERID; } -channel { return CHANNEL; } -cidr_bitlen_ipv4 { return CIDR_BITLEN_IPV4; } -cidr_bitlen_ipv6 { return CIDR_BITLEN_IPV6; } -class { return CLASS; } -cluster { return T_CLUSTER; } -connect { return CONNECT; } -connectfreq { return CONNECTFREQ; } -default_floodcount { return DEFAULT_FLOODCOUNT; } -default_split_server_count { return DEFAULT_SPLIT_SERVER_COUNT; } -default_split_user_count { return DEFAULT_SPLIT_USER_COUNT; } -deny { return DENY; } -description { return DESCRIPTION; } -die { return DIE; } -disable_auth { return DISABLE_AUTH; } -disable_fake_channels { return DISABLE_FAKE_CHANNELS; } -disable_remote_commands { return DISABLE_REMOTE_COMMANDS; } -dline { return T_DLINE; } -dots_in_ident { return DOTS_IN_IDENT; } -egdpool_path { return EGDPOOL_PATH; } -email { return EMAIL; } -encrypted { return ENCRYPTED; } -exceed_limit { return EXCEED_LIMIT; } -exempt { return EXEMPT; } -farconnect { return T_FARCONNECT; } -file { return T_FILE; } -flags { return IRCD_FLAGS; } -flatten_links { return FLATTEN_LINKS; } -gecos { return GECOS; } -general { return GENERAL; } -gline { return GLINE; } -gline_enable { return GLINE_ENABLE; } -gline_exempt { return GLINE_EXEMPT; } -gline_duration { return GLINE_DURATION; } -gline_request_duration { return GLINE_REQUEST_DURATION; } -gline_min_cidr { return GLINE_MIN_CIDR; } -gline_min_cidr6 { return GLINE_MIN_CIDR6; } -globops { return T_GLOBOPS; } -global_kill { return GLOBAL_KILL; } -have_ident { return NEED_IDENT; } -need_ident { return NEED_IDENT; } -havent_read_conf { return HAVENT_READ_CONF; } -hidden { return HIDDEN; } -hidden_name { return HIDDEN_NAME; } -hide_idle_from_opers { return HIDE_IDLE_FROM_OPERS; } -hide_server_ips { return HIDE_SERVER_IPS; } -hide_servers { return HIDE_SERVERS; } -hide_services { return HIDE_SERVICES; } -hide_spoof_ips { return HIDE_SPOOF_IPS; } -host { return HOST; } -hub { return HUB; } -hub_mask { return HUB_MASK; } -ignore_bogus_ts { return IGNORE_BOGUS_TS; } -invisible_on_connect { return INVISIBLE_ON_CONNECT; } -ip { return IP; } -ipv4 { return T_IPV4; } -ipv6 { return T_IPV6; } -join_flood_count { return JOIN_FLOOD_COUNT; } -join_flood_time { return JOIN_FLOOD_TIME; } -kill { return KILL; } -kill_chase_time_limit { return KILL_CHASE_TIME_LIMIT; } -kline { return KLINE; } -kline_exempt { return KLINE_EXEMPT; } -leaf_mask { return LEAF_MASK; } -listen { return LISTEN; } -log { return T_LOG; } -mask { return MASK; } -masked { return TMASKED; } -max_clients { return T_MAX_CLIENTS; } -max_ident { return MAX_IDENT; } -max_idle { return MAX_IDLE; } -min_idle { return MIN_IDLE; } -max_local { return MAX_LOCAL; } -max_global { return MAX_GLOBAL; } -max_number { return MAX_NUMBER; } -max_nick_length { return MAX_NICK_LENGTH; } -max_topic_length { return MAX_TOPIC_LENGTH; } -max_watch { return MAX_WATCH; } -min_nonwildcard { return MIN_NONWILDCARD; } -min_nonwildcard_simple { return MIN_NONWILDCARD_SIMPLE; } -name { return NAME; } -need_password { return NEED_PASSWORD; } -network_desc { return NETWORK_DESC; } -network_name { return NETWORK_NAME; } -nick { return NICK; } -no { yylval.number = 0; return TBOOL; } -no_create_on_split { return NO_CREATE_ON_SPLIT; } -no_join_on_split { return NO_JOIN_ON_SPLIT; } -no_oper_flood { return NO_OPER_FLOOD; } -no_tilde { return NO_TILDE; } -nononreg { return T_NONONREG; } -number_per_cidr { return NUMBER_PER_CIDR; } -number_per_ip { return NUMBER_PER_IP; } -oper { return OPERATOR; } -oper_pass_resv { return OPER_PASS_RESV; } -operator { return OPERATOR; } -passwd { return PASSWORD; } -password { return PASSWORD; } -ping_cookie { return PING_COOKIE; } -ping_time { return PING_TIME; } -port { return PORT; } -quarantine { return RESV; } -random_idle { return RANDOM_IDLE; } -reason { return REASON; } -recvq { return T_RECVQ; } -redirport { return REDIRPORT; } -redirserv { return REDIRSERV; } -rehash { return REHASH; } -remote { return REMOTE; } -remoteban { return REMOTEBAN; } -restart { return T_RESTART; } -resv { return RESV; } -resv_exempt { return RESV_EXEMPT; } -rsa_private_key_file { return RSA_PRIVATE_KEY_FILE; } -rsa_public_key_file { return RSA_PUBLIC_KEY_FILE; } -ssl { return T_SSL; } -ssl_certificate_file { return SSL_CERTIFICATE_FILE; } -ssl_client_method { return T_SSL_CLIENT_METHOD; } -ssl_server_method { return T_SSL_SERVER_METHOD; } -ssl_dh_param_file { return SSL_DH_PARAM_FILE; } -ssl_cipher_list { return T_SSL_CIPHER_LIST; } -sslv3 { return T_SSLV3; } -tlsv1 { return T_TLSV1; } -send_password { return SEND_PASSWORD; } -sendq { return SENDQ; } -server { return T_SERVER; } -serverhide { return SERVERHIDE; } -serverinfo { return SERVERINFO; } -service { return T_SERVICE; } -services_name { return T_SERVICES_NAME; } -set { return T_SET; } -shared { return T_SHARED; } -short_motd { return SHORT_MOTD; } -sid { return IRCD_SID; } -size { return T_SIZE; } -spoof { return SPOOF; } -spoof_notice { return SPOOF_NOTICE; } -squit { return SQUIT; } -tkline_expire_notices { return TKLINE_EXPIRE_NOTICES; } -type { return TYPE; } -true_no_oper_flood { return TRUE_NO_OPER_FLOOD; } -umodes { return T_UMODES; } -unkline { return UNKLINE; } -undline { return T_UNDLINE; } -unlimited { return T_UNLIMITED; } -use_egd { return USE_EGD; } -use_logging { return USE_LOGGING; } -throttle_time { return THROTTLE_TIME; } -user { return USER; } -vhost { return VHOST; } -vhost6 { return VHOST6; } -webirc { return T_WEBIRC; } -xline { return XLINE; } -yes { yylval.number = 1; return TBOOL; } - -failed_oper_notice { return FAILED_OPER_NOTICE; } -max_accept { return MAX_ACCEPT; } -max_nick_changes { return MAX_NICK_CHANGES; } -max_chans_per_oper { return MAX_CHANS_PER_OPER; } -max_chans_per_user { return MAX_CHANS_PER_USER; } -max_nick_time { return MAX_NICK_TIME; } -anti_nick_flood { return ANTI_NICK_FLOOD; } +accept_password { return ACCEPT_PASSWORD; } +admin { return ADMIN; } +administrator { return ADMIN; } +aftype { return AFTYPE; } +all { return T_ALL; } +anti_nick_flood { return ANTI_NICK_FLOOD; } anti_spam_exit_message_time { return ANTI_SPAM_EXIT_MESSAGE_TIME; } -ts_max_delta { return TS_MAX_DELTA; } -ts_warn_delta { return TS_WARN_DELTA; } -links_delay { return LINKS_DELAY; } -warn_no_nline { return WARN_NO_NLINE; } - -stats_e_disabled { return STATS_E_DISABLED; } -stats_o_oper_only { return STATS_O_OPER_ONLY; } -stats_k_oper_only { return STATS_K_OPER_ONLY; } -stats_i_oper_only { return STATS_I_OPER_ONLY; } -stats_P_oper_only { return STATS_P_OPER_ONLY; } -pace_wait { return PACE_WAIT; } -pace_wait_simple { return PACE_WAIT_SIMPLE; } -knock_delay { return KNOCK_DELAY; } -knock_delay_channel { return KNOCK_DELAY_CHANNEL; } -max_bans { return MAX_BANS; } -modules { return MODULES; } -module { return MODULE; } -path { return PATH; } -max_targets { return MAX_TARGETS; } - -unxline { return T_UNXLINE; } -unresv { return T_UNRESV; } - -oper_only_umodes { return OPER_ONLY_UMODES; } -oper_umodes { return OPER_UMODES; } -bots { return T_BOTS; } -cconn { return T_CCONN; } -cconn_full { return T_CCONN_FULL; } -deaf { return T_DEAF; } -debug { return T_DEBUG; } -full { return T_FULL; } -skill { return T_SKILL; } -nchange { return T_NCHANGE; } -rej { return T_REJ; } -unauth { return T_UNAUTH; } -spy { return T_SPY; } -external { return T_EXTERNAL; } -operwall { return T_OPERWALL; } -servnotice { return T_SERVNOTICE; } -invisible { return T_INVISIBLE; } -wallop { return T_WALLOP; } -wallops { return T_WALLOPS; } -callerid { return T_CALLERID; } -softcallerid { return T_SOFTCALLERID; } -locops { return T_LOCOPS; } - -years { return YEARS; } -year { return YEARS; } -months { return MONTHS; } -month { return MONTHS; } -weeks { return WEEKS; } -week { return WEEKS; } -days { return DAYS; } -day { return DAYS; } -hours { return HOURS; } -hour { return HOURS; } -minutes { return MINUTES; } -minute { return MINUTES; } -seconds { return SECONDS; } -second { return SECONDS; } - -bytes { return BYTES; } -byte { return BYTES; } -kilobytes { return KBYTES; } -kilobyte { return KBYTES; } -kbytes { return KBYTES; } -kbyte { return KBYTES; } -kb { return KBYTES; } -megabytes { return MBYTES; } -megabyte { return MBYTES; } -mbytes { return MBYTES; } -mbyte { return MBYTES; } -mb { return MBYTES; } -\.\. { return TWODOTS; } - -. { return yytext[0]; } -<<EOF>> { if (ieof()) yyterminate(); } +auth { return IRCD_AUTH; } +autoconn { return AUTOCONN; } +bots { return T_BOTS; } +caller_id_wait { return CALLER_ID_WAIT; } +callerid { return T_CALLERID; } +can_flood { return CAN_FLOOD; } +cconn { return T_CCONN; } +cconn_full { return T_CCONN_FULL; } +channel { return CHANNEL; } +cidr_bitlen_ipv4 { return CIDR_BITLEN_IPV4; } +cidr_bitlen_ipv6 { return CIDR_BITLEN_IPV6; } +class { return CLASS; } +cluster { return T_CLUSTER; } +connect { return CONNECT; } +connectfreq { return CONNECTFREQ; } +deaf { return T_DEAF; } +debug { return T_DEBUG; } +default_floodcount { return DEFAULT_FLOODCOUNT; } +default_split_server_count { return DEFAULT_SPLIT_SERVER_COUNT; } +default_split_user_count { return DEFAULT_SPLIT_USER_COUNT; } +deny { return DENY; } +description { return DESCRIPTION; } +die { return DIE; } +disable_auth { return DISABLE_AUTH; } +disable_fake_channels { return DISABLE_FAKE_CHANNELS; } +disable_remote_commands { return DISABLE_REMOTE_COMMANDS; } +dline { return T_DLINE; } +dots_in_ident { return DOTS_IN_IDENT; } +egdpool_path { return EGDPOOL_PATH; } +email { return EMAIL; } +encrypted { return ENCRYPTED; } +exceed_limit { return EXCEED_LIMIT; } +exempt { return EXEMPT; } +external { return T_EXTERNAL; } +failed_oper_notice { return FAILED_OPER_NOTICE; } +farconnect { return T_FARCONNECT; } +file { return T_FILE; } +flags { return IRCD_FLAGS; } +flatten_links { return FLATTEN_LINKS; } +full { return T_FULL; } +gecos { return GECOS; } +general { return GENERAL; } +gline { return GLINE; } +gline_duration { return GLINE_DURATION; } +gline_enable { return GLINE_ENABLE; } +gline_exempt { return GLINE_EXEMPT; } +gline_min_cidr { return GLINE_MIN_CIDR; } +gline_min_cidr6 { return GLINE_MIN_CIDR6; } +gline_request_duration { return GLINE_REQUEST_DURATION; } +global_kill { return GLOBAL_KILL; } +globops { return T_GLOBOPS; } +have_ident { return NEED_IDENT; } +havent_read_conf { return HAVENT_READ_CONF; } +hidden { return HIDDEN; } +hidden_name { return HIDDEN_NAME; } +hide_idle_from_opers { return HIDE_IDLE_FROM_OPERS; } +hide_server_ips { return HIDE_SERVER_IPS; } +hide_servers { return HIDE_SERVERS; } +hide_services { return HIDE_SERVICES; } +hide_spoof_ips { return HIDE_SPOOF_IPS; } +host { return HOST; } +hub { return HUB; } +hub_mask { return HUB_MASK; } +ignore_bogus_ts { return IGNORE_BOGUS_TS; } +invisible { return T_INVISIBLE; } +invisible_on_connect { return INVISIBLE_ON_CONNECT; } +ip { return IP; } +ipv4 { return T_IPV4; } +ipv6 { return T_IPV6; } +join_flood_count { return JOIN_FLOOD_COUNT; } +join_flood_time { return JOIN_FLOOD_TIME; } +kill { return KILL; } +kill_chase_time_limit { return KILL_CHASE_TIME_LIMIT; } +kline { return KLINE; } +kline_exempt { return KLINE_EXEMPT; } +knock_delay { return KNOCK_DELAY; } +knock_delay_channel { return KNOCK_DELAY_CHANNEL; } +leaf_mask { return LEAF_MASK; } +links_delay { return LINKS_DELAY; } +listen { return LISTEN; } +locops { return T_LOCOPS; } +log { return T_LOG; } +mask { return MASK; } +masked { return TMASKED; } +max_accept { return MAX_ACCEPT; } +max_bans { return MAX_BANS; } +max_chans_per_oper { return MAX_CHANS_PER_OPER; } +max_chans_per_user { return MAX_CHANS_PER_USER; } +max_clients { return T_MAX_CLIENTS; } +max_global { return MAX_GLOBAL; } +max_ident { return MAX_IDENT; } +max_idle { return MAX_IDLE; } +max_local { return MAX_LOCAL; } +max_nick_changes { return MAX_NICK_CHANGES; } +max_nick_length { return MAX_NICK_LENGTH; } +max_nick_time { return MAX_NICK_TIME; } +max_number { return MAX_NUMBER; } +max_targets { return MAX_TARGETS; } +max_topic_length { return MAX_TOPIC_LENGTH; } +max_watch { return MAX_WATCH; } +min_idle { return MIN_IDLE; } +min_nonwildcard { return MIN_NONWILDCARD; } +min_nonwildcard_simple { return MIN_NONWILDCARD_SIMPLE; } +module { return MODULE; } +modules { return MODULES; } +name { return NAME; } +nchange { return T_NCHANGE; } +need_ident { return NEED_IDENT; } +need_password { return NEED_PASSWORD; } +network_desc { return NETWORK_DESC; } +network_name { return NETWORK_NAME; } +nick { return NICK; } +no_create_on_split { return NO_CREATE_ON_SPLIT; } +no_join_on_split { return NO_JOIN_ON_SPLIT; } +no_oper_flood { return NO_OPER_FLOOD; } +no_tilde { return NO_TILDE; } +nononreg { return T_NONONREG; } +number_per_cidr { return NUMBER_PER_CIDR; } +number_per_ip { return NUMBER_PER_IP; } +oper { return OPERATOR; } +oper_only_umodes { return OPER_ONLY_UMODES; } +oper_pass_resv { return OPER_PASS_RESV; } +oper_umodes { return OPER_UMODES; } +operator { return OPERATOR; } +opers_bypass_callerid { return OPERS_BYPASS_CALLERID; } +operwall { return T_OPERWALL; } +pace_wait { return PACE_WAIT; } +pace_wait_simple { return PACE_WAIT_SIMPLE; } +passwd { return PASSWORD; } +password { return PASSWORD; } +path { return PATH; } +ping_cookie { return PING_COOKIE; } +ping_time { return PING_TIME; } +port { return PORT; } +quarantine { return RESV; } +random_idle { return RANDOM_IDLE; } +reason { return REASON; } +recvq { return T_RECVQ; } +redirport { return REDIRPORT; } +redirserv { return REDIRSERV; } +rehash { return REHASH; } +rej { return T_REJ; } +remote { return REMOTE; } +remoteban { return REMOTEBAN; } +restart { return T_RESTART; } +resv { return RESV; } +resv_exempt { return RESV_EXEMPT; } +rsa_private_key_file { return RSA_PRIVATE_KEY_FILE; } +rsa_public_key_file { return RSA_PUBLIC_KEY_FILE; } +send_password { return SEND_PASSWORD; } +sendq { return SENDQ; } +server { return T_SERVER; } +serverhide { return SERVERHIDE; } +serverinfo { return SERVERINFO; } +service { return T_SERVICE; } +services_name { return T_SERVICES_NAME; } +servnotice { return T_SERVNOTICE; } +set { return T_SET; } +shared { return T_SHARED; } +short_motd { return SHORT_MOTD; } +sid { return IRCD_SID; } +size { return T_SIZE; } +skill { return T_SKILL; } +softcallerid { return T_SOFTCALLERID; } +spoof { return SPOOF; } +spoof_notice { return SPOOF_NOTICE; } +spy { return T_SPY; } +squit { return SQUIT; } +ssl { return T_SSL; } +ssl_certificate_file { return SSL_CERTIFICATE_FILE; } +ssl_cipher_list { return T_SSL_CIPHER_LIST; } +ssl_client_method { return T_SSL_CLIENT_METHOD; } +ssl_dh_param_file { return SSL_DH_PARAM_FILE; } +ssl_server_method { return T_SSL_SERVER_METHOD; } +sslv3 { return T_SSLV3; } +stats_e_disabled { return STATS_E_DISABLED; } +stats_i_oper_only { return STATS_I_OPER_ONLY; } +stats_k_oper_only { return STATS_K_OPER_ONLY; } +stats_o_oper_only { return STATS_O_OPER_ONLY; } +stats_P_oper_only { return STATS_P_OPER_ONLY; } +throttle_time { return THROTTLE_TIME; } +tkline_expire_notices { return TKLINE_EXPIRE_NOTICES; } +tlsv1 { return T_TLSV1; } +true_no_oper_flood { return TRUE_NO_OPER_FLOOD; } +ts_max_delta { return TS_MAX_DELTA; } +ts_warn_delta { return TS_WARN_DELTA; } +type { return TYPE; } +umodes { return T_UMODES; } +unauth { return T_UNAUTH; } +undline { return T_UNDLINE; } +unkline { return UNKLINE; } +unlimited { return T_UNLIMITED; } +unresv { return T_UNRESV; } +unxline { return T_UNXLINE; } +use_egd { return USE_EGD; } +use_logging { return USE_LOGGING; } +user { return USER; } +vhost { return VHOST; } +vhost6 { return VHOST6; } +wallop { return T_WALLOP; } +wallops { return T_WALLOPS; } +warn_no_nline { return WARN_NO_NLINE; } +webirc { return T_WEBIRC; } +xline { return XLINE; } + +yes { yylval.number = 1; return TBOOL; } +no { yylval.number = 0; return TBOOL; } + +years { return YEARS; } +year { return YEARS; } +months { return MONTHS; } +month { return MONTHS; } +weeks { return WEEKS; } +week { return WEEKS; } +days { return DAYS; } +day { return DAYS; } +hours { return HOURS; } +hour { return HOURS; } +minutes { return MINUTES; } +minute { return MINUTES; } +seconds { return SECONDS; } +second { return SECONDS; } + +bytes { return BYTES; } +byte { return BYTES; } +kilobytes { return KBYTES; } +kilobyte { return KBYTES; } +kbytes { return KBYTES; } +kbyte { return KBYTES; } +kb { return KBYTES; } +megabytes { return MBYTES; } +megabyte { return MBYTES; } +mbytes { return MBYTES; } +mbyte { return MBYTES; } +mb { return MBYTES; } +\.\. { return TWODOTS; } + +. { return yytext[0]; } +<<EOF>> { if (ieof()) yyterminate(); } %% diff --git a/src/conf_parser.c b/src/conf_parser.c index 874516a..fe1fb56 100644 --- a/src/conf_parser.c +++ b/src/conf_parser.c @@ -246,193 +246,193 @@ extern int yydebug; EXCEED_LIMIT = 288, EXEMPT = 289, FAILED_OPER_NOTICE = 290, - IRCD_FLAGS = 291, - FLATTEN_LINKS = 292, - GECOS = 293, - GENERAL = 294, - GLINE = 295, - GLINE_DURATION = 296, - GLINE_ENABLE = 297, - GLINE_EXEMPT = 298, - GLINE_REQUEST_DURATION = 299, - GLINE_MIN_CIDR = 300, - GLINE_MIN_CIDR6 = 301, - GLOBAL_KILL = 302, - IRCD_AUTH = 303, - NEED_IDENT = 304, - HAVENT_READ_CONF = 305, - HIDDEN = 306, - HIDDEN_NAME = 307, - HIDE_SERVER_IPS = 308, - HIDE_SERVERS = 309, - HIDE_SERVICES = 310, - HIDE_SPOOF_IPS = 311, - HOST = 312, - HUB = 313, - HUB_MASK = 314, - IGNORE_BOGUS_TS = 315, - INVISIBLE_ON_CONNECT = 316, - IP = 317, - KILL = 318, - KILL_CHASE_TIME_LIMIT = 319, - KLINE = 320, - KLINE_EXEMPT = 321, - KNOCK_DELAY = 322, - KNOCK_DELAY_CHANNEL = 323, - LEAF_MASK = 324, - LINKS_DELAY = 325, - LISTEN = 326, - T_LOG = 327, - MASK = 328, - MAX_ACCEPT = 329, - MAX_BANS = 330, - MAX_CHANS_PER_OPER = 331, - MAX_CHANS_PER_USER = 332, - MAX_GLOBAL = 333, - MAX_IDENT = 334, - MAX_LOCAL = 335, - MAX_NICK_CHANGES = 336, - MAX_NICK_LENGTH = 337, - MAX_NICK_TIME = 338, - MAX_NUMBER = 339, - MAX_TARGETS = 340, - MAX_TOPIC_LENGTH = 341, - MAX_WATCH = 342, - MIN_NONWILDCARD = 343, - MIN_NONWILDCARD_SIMPLE = 344, - MIN_IDLE = 345, - MAX_IDLE = 346, - RANDOM_IDLE = 347, - HIDE_IDLE_FROM_OPERS = 348, + FLATTEN_LINKS = 291, + GECOS = 292, + GENERAL = 293, + GLINE = 294, + GLINE_DURATION = 295, + GLINE_ENABLE = 296, + GLINE_EXEMPT = 297, + GLINE_MIN_CIDR = 298, + GLINE_MIN_CIDR6 = 299, + GLINE_REQUEST_DURATION = 300, + GLOBAL_KILL = 301, + HAVENT_READ_CONF = 302, + HIDDEN = 303, + HIDDEN_NAME = 304, + HIDE_IDLE_FROM_OPERS = 305, + HIDE_SERVER_IPS = 306, + HIDE_SERVERS = 307, + HIDE_SERVICES = 308, + HIDE_SPOOF_IPS = 309, + HOST = 310, + HUB = 311, + HUB_MASK = 312, + IGNORE_BOGUS_TS = 313, + INVISIBLE_ON_CONNECT = 314, + IP = 315, + IRCD_AUTH = 316, + IRCD_FLAGS = 317, + IRCD_SID = 318, + JOIN_FLOOD_COUNT = 319, + JOIN_FLOOD_TIME = 320, + KILL = 321, + KILL_CHASE_TIME_LIMIT = 322, + KLINE = 323, + KLINE_EXEMPT = 324, + KNOCK_DELAY = 325, + KNOCK_DELAY_CHANNEL = 326, + LEAF_MASK = 327, + LINKS_DELAY = 328, + LISTEN = 329, + MASK = 330, + MAX_ACCEPT = 331, + MAX_BANS = 332, + MAX_CHANS_PER_OPER = 333, + MAX_CHANS_PER_USER = 334, + MAX_GLOBAL = 335, + MAX_IDENT = 336, + MAX_IDLE = 337, + MAX_LOCAL = 338, + MAX_NICK_CHANGES = 339, + MAX_NICK_LENGTH = 340, + MAX_NICK_TIME = 341, + MAX_NUMBER = 342, + MAX_TARGETS = 343, + MAX_TOPIC_LENGTH = 344, + MAX_WATCH = 345, + MIN_IDLE = 346, + MIN_NONWILDCARD = 347, + MIN_NONWILDCARD_SIMPLE = 348, MODULE = 349, MODULES = 350, NAME = 351, - NEED_PASSWORD = 352, - NETWORK_DESC = 353, - NETWORK_NAME = 354, - NICK = 355, - NO_CREATE_ON_SPLIT = 356, - NO_JOIN_ON_SPLIT = 357, - NO_OPER_FLOOD = 358, - NO_TILDE = 359, - NUMBER = 360, - NUMBER_PER_CIDR = 361, - NUMBER_PER_IP = 362, - OPERATOR = 363, - OPERS_BYPASS_CALLERID = 364, - OPER_ONLY_UMODES = 365, - OPER_PASS_RESV = 366, - OPER_UMODES = 367, - JOIN_FLOOD_COUNT = 368, - JOIN_FLOOD_TIME = 369, - PACE_WAIT = 370, - PACE_WAIT_SIMPLE = 371, - PASSWORD = 372, - PATH = 373, - PING_COOKIE = 374, - PING_TIME = 375, - PORT = 376, - QSTRING = 377, + NEED_IDENT = 352, + NEED_PASSWORD = 353, + NETWORK_DESC = 354, + NETWORK_NAME = 355, + NICK = 356, + NO_CREATE_ON_SPLIT = 357, + NO_JOIN_ON_SPLIT = 358, + NO_OPER_FLOOD = 359, + NO_TILDE = 360, + NUMBER = 361, + NUMBER_PER_CIDR = 362, + NUMBER_PER_IP = 363, + OPER_ONLY_UMODES = 364, + OPER_PASS_RESV = 365, + OPER_UMODES = 366, + OPERATOR = 367, + OPERS_BYPASS_CALLERID = 368, + PACE_WAIT = 369, + PACE_WAIT_SIMPLE = 370, + PASSWORD = 371, + PATH = 372, + PING_COOKIE = 373, + PING_TIME = 374, + PORT = 375, + QSTRING = 376, + RANDOM_IDLE = 377, REASON = 378, REDIRPORT = 379, REDIRSERV = 380, REHASH = 381, REMOTE = 382, REMOTEBAN = 383, - RSA_PRIVATE_KEY_FILE = 384, - RSA_PUBLIC_KEY_FILE = 385, - SSL_CERTIFICATE_FILE = 386, - SSL_DH_PARAM_FILE = 387, - T_SSL_CLIENT_METHOD = 388, - T_SSL_SERVER_METHOD = 389, - T_SSLV3 = 390, - T_TLSV1 = 391, - RESV = 392, - RESV_EXEMPT = 393, - SECONDS = 394, - MINUTES = 395, - HOURS = 396, - DAYS = 397, - WEEKS = 398, - MONTHS = 399, - YEARS = 400, - SENDQ = 401, - SEND_PASSWORD = 402, - SERVERHIDE = 403, - SERVERINFO = 404, - SQUIT = 405, - IRCD_SID = 406, - TKLINE_EXPIRE_NOTICES = 407, - T_SHARED = 408, - T_CLUSTER = 409, - TYPE = 410, - SHORT_MOTD = 411, - SPOOF = 412, - SPOOF_NOTICE = 413, - STATS_E_DISABLED = 414, - STATS_I_OPER_ONLY = 415, - STATS_K_OPER_ONLY = 416, - STATS_O_OPER_ONLY = 417, - STATS_P_OPER_ONLY = 418, - TBOOL = 419, - TMASKED = 420, - TS_MAX_DELTA = 421, - TS_WARN_DELTA = 422, - TWODOTS = 423, - T_ALL = 424, - T_BOTS = 425, - T_SOFTCALLERID = 426, - T_CALLERID = 427, - T_CCONN = 428, - T_CCONN_FULL = 429, - T_SSL_CIPHER_LIST = 430, - T_DEAF = 431, - T_DEBUG = 432, - T_DLINE = 433, - T_EXTERNAL = 434, - T_FARCONNECT = 435, - T_FULL = 436, - T_INVISIBLE = 437, - T_IPV4 = 438, - T_IPV6 = 439, - T_LOCOPS = 440, - T_MAX_CLIENTS = 441, - T_NCHANGE = 442, - T_NONONREG = 443, - T_OPERWALL = 444, - T_RECVQ = 445, - T_REJ = 446, - T_SERVER = 447, - T_SERVNOTICE = 448, - T_SET = 449, - T_SKILL = 450, - T_SPY = 451, - T_SSL = 452, - T_UMODES = 453, - T_UNAUTH = 454, - T_UNDLINE = 455, - T_UNLIMITED = 456, - T_UNRESV = 457, - T_UNXLINE = 458, - T_GLOBOPS = 459, - T_WALLOP = 460, - T_WALLOPS = 461, - T_WEBIRC = 462, - T_RESTART = 463, - T_SERVICE = 464, - T_SERVICES_NAME = 465, - THROTTLE_TIME = 466, - TRUE_NO_OPER_FLOOD = 467, - UNKLINE = 468, - USER = 469, - USE_EGD = 470, - USE_LOGGING = 471, - VHOST = 472, - VHOST6 = 473, - XLINE = 474, - WARN_NO_NLINE = 475, - T_SIZE = 476, - T_FILE = 477 + RESV = 384, + RESV_EXEMPT = 385, + RSA_PRIVATE_KEY_FILE = 386, + RSA_PUBLIC_KEY_FILE = 387, + SECONDS = 388, + MINUTES = 389, + HOURS = 390, + DAYS = 391, + WEEKS = 392, + MONTHS = 393, + YEARS = 394, + SEND_PASSWORD = 395, + SENDQ = 396, + SERVERHIDE = 397, + SERVERINFO = 398, + SHORT_MOTD = 399, + SPOOF = 400, + SPOOF_NOTICE = 401, + SQUIT = 402, + SSL_CERTIFICATE_FILE = 403, + SSL_DH_PARAM_FILE = 404, + STATS_E_DISABLED = 405, + STATS_I_OPER_ONLY = 406, + STATS_K_OPER_ONLY = 407, + STATS_O_OPER_ONLY = 408, + STATS_P_OPER_ONLY = 409, + T_ALL = 410, + T_BOTS = 411, + T_CALLERID = 412, + T_CCONN = 413, + T_CCONN_FULL = 414, + T_CLUSTER = 415, + T_DEAF = 416, + T_DEBUG = 417, + T_DLINE = 418, + T_EXTERNAL = 419, + T_FARCONNECT = 420, + T_FILE = 421, + T_FULL = 422, + T_GLOBOPS = 423, + T_INVISIBLE = 424, + T_IPV4 = 425, + T_IPV6 = 426, + T_LOCOPS = 427, + T_LOG = 428, + T_MAX_CLIENTS = 429, + T_NCHANGE = 430, + T_NONONREG = 431, + T_OPERWALL = 432, + T_RECVQ = 433, + T_REJ = 434, + T_RESTART = 435, + T_SERVER = 436, + T_SERVICE = 437, + T_SERVICES_NAME = 438, + T_SERVNOTICE = 439, + T_SET = 440, + T_SHARED = 441, + T_SIZE = 442, + T_SKILL = 443, + T_SOFTCALLERID = 444, + T_SPY = 445, + T_SSL = 446, + T_SSL_CIPHER_LIST = 447, + T_SSL_CLIENT_METHOD = 448, + T_SSL_SERVER_METHOD = 449, + T_SSLV3 = 450, + T_TLSV1 = 451, + T_UMODES = 452, + T_UNAUTH = 453, + T_UNDLINE = 454, + T_UNLIMITED = 455, + T_UNRESV = 456, + T_UNXLINE = 457, + T_WALLOP = 458, + T_WALLOPS = 459, + T_WEBIRC = 460, + TBOOL = 461, + THROTTLE_TIME = 462, + TKLINE_EXPIRE_NOTICES = 463, + TMASKED = 464, + TRUE_NO_OPER_FLOOD = 465, + TS_MAX_DELTA = 466, + TS_WARN_DELTA = 467, + TWODOTS = 468, + TYPE = 469, + UNKLINE = 470, + USE_EGD = 471, + USE_LOGGING = 472, + USER = 473, + VHOST = 474, + VHOST6 = 475, + WARN_NO_NLINE = 476, + XLINE = 477 }; #endif /* Tokens. */ @@ -469,193 +469,193 @@ extern int yydebug; #define EXCEED_LIMIT 288 #define EXEMPT 289 #define FAILED_OPER_NOTICE 290 -#define IRCD_FLAGS 291 -#define FLATTEN_LINKS 292 -#define GECOS 293 -#define GENERAL 294 -#define GLINE 295 -#define GLINE_DURATION 296 -#define GLINE_ENABLE 297 -#define GLINE_EXEMPT 298 -#define GLINE_REQUEST_DURATION 299 -#define GLINE_MIN_CIDR 300 -#define GLINE_MIN_CIDR6 301 -#define GLOBAL_KILL 302 -#define IRCD_AUTH 303 -#define NEED_IDENT 304 -#define HAVENT_READ_CONF 305 -#define HIDDEN 306 -#define HIDDEN_NAME 307 -#define HIDE_SERVER_IPS 308 -#define HIDE_SERVERS 309 -#define HIDE_SERVICES 310 -#define HIDE_SPOOF_IPS 311 -#define HOST 312 -#define HUB 313 -#define HUB_MASK 314 -#define IGNORE_BOGUS_TS 315 -#define INVISIBLE_ON_CONNECT 316 -#define IP 317 -#define KILL 318 -#define KILL_CHASE_TIME_LIMIT 319 -#define KLINE 320 -#define KLINE_EXEMPT 321 -#define KNOCK_DELAY 322 -#define KNOCK_DELAY_CHANNEL 323 -#define LEAF_MASK 324 -#define LINKS_DELAY 325 -#define LISTEN 326 -#define T_LOG 327 -#define MASK 328 -#define MAX_ACCEPT 329 -#define MAX_BANS 330 -#define MAX_CHANS_PER_OPER 331 -#define MAX_CHANS_PER_USER 332 -#define MAX_GLOBAL 333 -#define MAX_IDENT 334 -#define MAX_LOCAL 335 -#define MAX_NICK_CHANGES 336 -#define MAX_NICK_LENGTH 337 -#define MAX_NICK_TIME 338 -#define MAX_NUMBER 339 -#define MAX_TARGETS 340 -#define MAX_TOPIC_LENGTH 341 -#define MAX_WATCH 342 -#define MIN_NONWILDCARD 343 -#define MIN_NONWILDCARD_SIMPLE 344 -#define MIN_IDLE 345 -#define MAX_IDLE 346 -#define RANDOM_IDLE 347 -#define HIDE_IDLE_FROM_OPERS 348 +#define FLATTEN_LINKS 291 +#define GECOS 292 +#define GENERAL 293 +#define GLINE 294 +#define GLINE_DURATION 295 +#define GLINE_ENABLE 296 +#define GLINE_EXEMPT 297 +#define GLINE_MIN_CIDR 298 +#define GLINE_MIN_CIDR6 299 +#define GLINE_REQUEST_DURATION 300 +#define GLOBAL_KILL 301 +#define HAVENT_READ_CONF 302 +#define HIDDEN 303 +#define HIDDEN_NAME 304 +#define HIDE_IDLE_FROM_OPERS 305 +#define HIDE_SERVER_IPS 306 +#define HIDE_SERVERS 307 +#define HIDE_SERVICES 308 +#define HIDE_SPOOF_IPS 309 +#define HOST 310 +#define HUB 311 +#define HUB_MASK 312 +#define IGNORE_BOGUS_TS 313 +#define INVISIBLE_ON_CONNECT 314 +#define IP 315 +#define IRCD_AUTH 316 +#define IRCD_FLAGS 317 +#define IRCD_SID 318 +#define JOIN_FLOOD_COUNT 319 +#define JOIN_FLOOD_TIME 320 +#define KILL 321 +#define KILL_CHASE_TIME_LIMIT 322 +#define KLINE 323 +#define KLINE_EXEMPT 324 +#define KNOCK_DELAY 325 +#define KNOCK_DELAY_CHANNEL 326 +#define LEAF_MASK 327 +#define LINKS_DELAY 328 +#define LISTEN 329 +#define MASK 330 +#define MAX_ACCEPT 331 +#define MAX_BANS 332 +#define MAX_CHANS_PER_OPER 333 +#define MAX_CHANS_PER_USER 334 +#define MAX_GLOBAL 335 +#define MAX_IDENT 336 +#define MAX_IDLE 337 +#define MAX_LOCAL 338 +#define MAX_NICK_CHANGES 339 +#define MAX_NICK_LENGTH 340 +#define MAX_NICK_TIME 341 +#define MAX_NUMBER 342 +#define MAX_TARGETS 343 +#define MAX_TOPIC_LENGTH 344 +#define MAX_WATCH 345 +#define MIN_IDLE 346 +#define MIN_NONWILDCARD 347 +#define MIN_NONWILDCARD_SIMPLE 348 #define MODULE 349 #define MODULES 350 #define NAME 351 -#define NEED_PASSWORD 352 -#define NETWORK_DESC 353 -#define NETWORK_NAME 354 -#define NICK 355 -#define NO_CREATE_ON_SPLIT 356 -#define NO_JOIN_ON_SPLIT 357 -#define NO_OPER_FLOOD 358 -#define NO_TILDE 359 -#define NUMBER 360 -#define NUMBER_PER_CIDR 361 -#define NUMBER_PER_IP 362 -#define OPERATOR 363 -#define OPERS_BYPASS_CALLERID 364 -#define OPER_ONLY_UMODES 365 -#define OPER_PASS_RESV 366 -#define OPER_UMODES 367 -#define JOIN_FLOOD_COUNT 368 -#define JOIN_FLOOD_TIME 369 -#define PACE_WAIT 370 -#define PACE_WAIT_SIMPLE 371 -#define PASSWORD 372 -#define PATH 373 -#define PING_COOKIE 374 -#define PING_TIME 375 -#define PORT 376 -#define QSTRING 377 +#define NEED_IDENT 352 +#define NEED_PASSWORD 353 +#define NETWORK_DESC 354 +#define NETWORK_NAME 355 +#define NICK 356 +#define NO_CREATE_ON_SPLIT 357 +#define NO_JOIN_ON_SPLIT 358 +#define NO_OPER_FLOOD 359 +#define NO_TILDE 360 +#define NUMBER 361 +#define NUMBER_PER_CIDR 362 +#define NUMBER_PER_IP 363 +#define OPER_ONLY_UMODES 364 +#define OPER_PASS_RESV 365 +#define OPER_UMODES 366 +#define OPERATOR 367 +#define OPERS_BYPASS_CALLERID 368 +#define PACE_WAIT 369 +#define PACE_WAIT_SIMPLE 370 +#define PASSWORD 371 +#define PATH 372 +#define PING_COOKIE 373 +#define PING_TIME 374 +#define PORT 375 +#define QSTRING 376 +#define RANDOM_IDLE 377 #define REASON 378 #define REDIRPORT 379 #define REDIRSERV 380 #define REHASH 381 #define REMOTE 382 #define REMOTEBAN 383 -#define RSA_PRIVATE_KEY_FILE 384 -#define RSA_PUBLIC_KEY_FILE 385 -#define SSL_CERTIFICATE_FILE 386 -#define SSL_DH_PARAM_FILE 387 -#define T_SSL_CLIENT_METHOD 388 -#define T_SSL_SERVER_METHOD 389 -#define T_SSLV3 390 -#define T_TLSV1 391 -#define RESV 392 -#define RESV_EXEMPT 393 -#define SECONDS 394 -#define MINUTES 395 -#define HOURS 396 -#define DAYS 397 -#define WEEKS 398 -#define MONTHS 399 -#define YEARS 400 -#define SENDQ 401 -#define SEND_PASSWORD 402 -#define SERVERHIDE 403 -#define SERVERINFO 404 -#define SQUIT 405 -#define IRCD_SID 406 -#define TKLINE_EXPIRE_NOTICES 407 -#define T_SHARED 408 -#define T_CLUSTER 409 -#define TYPE 410 -#define SHORT_MOTD 411 -#define SPOOF 412 -#define SPOOF_NOTICE 413 -#define STATS_E_DISABLED 414 -#define STATS_I_OPER_ONLY 415 -#define STATS_K_OPER_ONLY 416 -#define STATS_O_OPER_ONLY 417 -#define STATS_P_OPER_ONLY 418 -#define TBOOL 419 -#define TMASKED 420 -#define TS_MAX_DELTA 421 -#define TS_WARN_DELTA 422 -#define TWODOTS 423 -#define T_ALL 424 -#define T_BOTS 425 -#define T_SOFTCALLERID 426 -#define T_CALLERID 427 -#define T_CCONN 428 -#define T_CCONN_FULL 429 -#define T_SSL_CIPHER_LIST 430 -#define T_DEAF 431 -#define T_DEBUG 432 -#define T_DLINE 433 -#define T_EXTERNAL 434 -#define T_FARCONNECT 435 -#define T_FULL 436 -#define T_INVISIBLE 437 -#define T_IPV4 438 -#define T_IPV6 439 -#define T_LOCOPS 440 -#define T_MAX_CLIENTS 441 -#define T_NCHANGE 442 -#define T_NONONREG 443 -#define T_OPERWALL 444 -#define T_RECVQ 445 -#define T_REJ 446 -#define T_SERVER 447 -#define T_SERVNOTICE 448 -#define T_SET 449 -#define T_SKILL 450 -#define T_SPY 451 -#define T_SSL 452 -#define T_UMODES 453 -#define T_UNAUTH 454 -#define T_UNDLINE 455 -#define T_UNLIMITED 456 -#define T_UNRESV 457 -#define T_UNXLINE 458 -#define T_GLOBOPS 459 -#define T_WALLOP 460 -#define T_WALLOPS 461 -#define T_WEBIRC 462 -#define T_RESTART 463 -#define T_SERVICE 464 -#define T_SERVICES_NAME 465 -#define THROTTLE_TIME 466 -#define TRUE_NO_OPER_FLOOD 467 -#define UNKLINE 468 -#define USER 469 -#define USE_EGD 470 -#define USE_LOGGING 471 -#define VHOST 472 -#define VHOST6 473 -#define XLINE 474 -#define WARN_NO_NLINE 475 -#define T_SIZE 476 -#define T_FILE 477 +#define RESV 384 +#define RESV_EXEMPT 385 +#define RSA_PRIVATE_KEY_FILE 386 +#define RSA_PUBLIC_KEY_FILE 387 +#define SECONDS 388 +#define MINUTES 389 +#define HOURS 390 +#define DAYS 391 +#define WEEKS 392 +#define MONTHS 393 +#define YEARS 394 +#define SEND_PASSWORD 395 +#define SENDQ 396 +#define SERVERHIDE 397 +#define SERVERINFO 398 +#define SHORT_MOTD 399 +#define SPOOF 400 +#define SPOOF_NOTICE 401 +#define SQUIT 402 +#define SSL_CERTIFICATE_FILE 403 +#define SSL_DH_PARAM_FILE 404 +#define STATS_E_DISABLED 405 +#define STATS_I_OPER_ONLY 406 +#define STATS_K_OPER_ONLY 407 +#define STATS_O_OPER_ONLY 408 +#define STATS_P_OPER_ONLY 409 +#define T_ALL 410 +#define T_BOTS 411 +#define T_CALLERID 412 +#define T_CCONN 413 +#define T_CCONN_FULL 414 +#define T_CLUSTER 415 +#define T_DEAF 416 +#define T_DEBUG 417 +#define T_DLINE 418 +#define T_EXTERNAL 419 +#define T_FARCONNECT 420 +#define T_FILE 421 +#define T_FULL 422 +#define T_GLOBOPS 423 +#define T_INVISIBLE 424 +#define T_IPV4 425 +#define T_IPV6 426 +#define T_LOCOPS 427 +#define T_LOG 428 +#define T_MAX_CLIENTS 429 +#define T_NCHANGE 430 +#define T_NONONREG 431 +#define T_OPERWALL 432 +#define T_RECVQ 433 +#define T_REJ 434 +#define T_RESTART 435 +#define T_SERVER 436 +#define T_SERVICE 437 +#define T_SERVICES_NAME 438 +#define T_SERVNOTICE 439 +#define T_SET 440 +#define T_SHARED 441 +#define T_SIZE 442 +#define T_SKILL 443 +#define T_SOFTCALLERID 444 +#define T_SPY 445 +#define T_SSL 446 +#define T_SSL_CIPHER_LIST 447 +#define T_SSL_CLIENT_METHOD 448 +#define T_SSL_SERVER_METHOD 449 +#define T_SSLV3 450 +#define T_TLSV1 451 +#define T_UMODES 452 +#define T_UNAUTH 453 +#define T_UNDLINE 454 +#define T_UNLIMITED 455 +#define T_UNRESV 456 +#define T_UNXLINE 457 +#define T_WALLOP 458 +#define T_WALLOPS 459 +#define T_WEBIRC 460 +#define TBOOL 461 +#define THROTTLE_TIME 462 +#define TKLINE_EXPIRE_NOTICES 463 +#define TMASKED 464 +#define TRUE_NO_OPER_FLOOD 465 +#define TS_MAX_DELTA 466 +#define TS_WARN_DELTA 467 +#define TWODOTS 468 +#define TYPE 469 +#define UNKLINE 470 +#define USE_EGD 471 +#define USE_LOGGING 472 +#define USER 473 +#define VHOST 474 +#define VHOST6 475 +#define WARN_NO_NLINE 476 +#define XLINE 477 @@ -927,7 +927,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1213 +#define YYLAST 1204 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 229 @@ -1077,133 +1077,133 @@ static const yytype_int16 yyrhs[] = -1, 241, -1, 499, -1, 355, -1, 362, -1, 366, -1, 376, -1, 385, -1, 405, -1, 411, -1, 417, -1, 427, -1, 421, -1, 236, -1, 1, 223, -1, - 1, 224, -1, -1, 233, -1, 105, 232, -1, 105, - 139, 232, -1, 105, 140, 232, -1, 105, 141, 232, - -1, 105, 142, 232, -1, 105, 143, 232, -1, 105, - 144, 232, -1, 105, 145, 232, -1, -1, 235, -1, - 105, 234, -1, 105, 9, 234, -1, 105, 10, 234, - -1, 105, 11, 234, -1, 95, 225, 237, 224, 223, + 1, 224, -1, -1, 233, -1, 106, 232, -1, 106, + 133, 232, -1, 106, 134, 232, -1, 106, 135, 232, + -1, 106, 136, 232, -1, 106, 137, 232, -1, 106, + 138, 232, -1, 106, 139, 232, -1, -1, 235, -1, + 106, 234, -1, 106, 9, 234, -1, 106, 10, 234, + -1, 106, 11, 234, -1, 95, 225, 237, 224, 223, -1, 237, 238, -1, 238, -1, 239, -1, 240, -1, - 1, 223, -1, 94, 226, 122, 223, -1, 118, 226, - 122, 223, -1, 149, 225, 242, 224, 223, -1, 242, + 1, 223, -1, 94, 226, 121, 223, -1, 117, 226, + 121, 223, -1, 143, 225, 242, 224, 223, -1, 242, 243, -1, 243, -1, 254, -1, 259, -1, 264, -1, 256, -1, 257, -1, 258, -1, 261, -1, 262, -1, 263, -1, 252, -1, 251, -1, 260, -1, 255, -1, 250, -1, 244, -1, 245, -1, 253, -1, 1, 223, - -1, 133, 226, 246, 223, -1, 134, 226, 248, 223, - -1, 246, 227, 247, -1, 247, -1, 135, -1, 136, - -1, 248, 227, 249, -1, 249, -1, 135, -1, 136, - -1, 131, 226, 122, 223, -1, 129, 226, 122, 223, - -1, 132, 226, 122, 223, -1, 175, 226, 122, 223, - -1, 96, 226, 122, 223, -1, 151, 226, 122, 223, - -1, 24, 226, 122, 223, -1, 99, 226, 122, 223, - -1, 98, 226, 122, 223, -1, 217, 226, 122, 223, - -1, 218, 226, 122, 223, -1, 186, 226, 105, 223, - -1, 82, 226, 105, 223, -1, 86, 226, 105, 223, - -1, 58, 226, 164, 223, -1, 4, 225, 266, 224, + -1, 193, 226, 246, 223, -1, 194, 226, 248, 223, + -1, 246, 227, 247, -1, 247, -1, 195, -1, 196, + -1, 248, 227, 249, -1, 249, -1, 195, -1, 196, + -1, 148, 226, 121, 223, -1, 131, 226, 121, 223, + -1, 149, 226, 121, 223, -1, 192, 226, 121, 223, + -1, 96, 226, 121, 223, -1, 63, 226, 121, 223, + -1, 24, 226, 121, 223, -1, 100, 226, 121, 223, + -1, 99, 226, 121, 223, -1, 219, 226, 121, 223, + -1, 220, 226, 121, 223, -1, 174, 226, 106, 223, + -1, 85, 226, 106, 223, -1, 89, 226, 106, 223, + -1, 56, 226, 206, 223, -1, 4, 225, 266, 224, 223, -1, 266, 267, -1, 267, -1, 268, -1, 270, - -1, 269, -1, 1, 223, -1, 96, 226, 122, 223, - -1, 31, 226, 122, 223, -1, 24, 226, 122, 223, - -1, 72, 225, 272, 224, 223, -1, 272, 273, -1, - 273, -1, 274, -1, 275, -1, 1, 223, -1, 216, - 226, 164, 223, -1, -1, 276, 222, 225, 277, 224, + -1, 269, -1, 1, 223, -1, 96, 226, 121, 223, + -1, 31, 226, 121, 223, -1, 24, 226, 121, 223, + -1, 173, 225, 272, 224, 223, -1, 272, 273, -1, + 273, -1, 274, -1, 275, -1, 1, 223, -1, 217, + 226, 206, 223, -1, -1, 276, 166, 225, 277, 224, 223, -1, 277, 278, -1, 278, -1, 279, -1, 281, - -1, 280, -1, 1, 223, -1, 96, 226, 122, 223, - -1, 221, 226, 235, 223, -1, 221, 226, 201, 223, - -1, -1, 155, 282, 226, 283, 223, -1, 283, 227, - 284, -1, 284, -1, 214, -1, 108, -1, 40, -1, - 178, -1, 65, -1, 63, -1, 177, -1, -1, 108, + -1, 280, -1, 1, 223, -1, 96, 226, 121, 223, + -1, 187, 226, 235, 223, -1, 187, 226, 200, 223, + -1, -1, 214, 282, 226, 283, 223, -1, 283, 227, + 284, -1, 284, -1, 218, -1, 112, -1, 39, -1, + 163, -1, 68, -1, 66, -1, 162, -1, -1, 112, 286, 225, 287, 224, 223, -1, 287, 288, -1, 288, -1, 289, -1, 290, -1, 291, -1, 295, -1, 294, -1, 292, -1, 293, -1, 299, -1, 1, 223, -1, - 96, 226, 122, 223, -1, 214, 226, 122, 223, -1, - 117, 226, 122, 223, -1, 32, 226, 164, 223, -1, - 130, 226, 122, 223, -1, 17, 226, 122, 223, -1, - -1, 198, 296, 226, 297, 223, -1, 297, 227, 298, - -1, 298, -1, 170, -1, 173, -1, 174, -1, 176, - -1, 177, -1, 181, -1, 51, -1, 195, -1, 187, - -1, 191, -1, 199, -1, 196, -1, 179, -1, 189, - -1, 193, -1, 182, -1, 205, -1, 171, -1, 172, - -1, 185, -1, 188, -1, 180, -1, -1, 36, 300, + 96, 226, 121, 223, -1, 218, 226, 121, 223, -1, + 116, 226, 121, 223, -1, 32, 226, 206, 223, -1, + 132, 226, 121, 223, -1, 17, 226, 121, 223, -1, + -1, 197, 296, 226, 297, 223, -1, 297, 227, 298, + -1, 298, -1, 156, -1, 158, -1, 159, -1, 161, + -1, 162, -1, 167, -1, 48, -1, 188, -1, 175, + -1, 179, -1, 198, -1, 190, -1, 164, -1, 177, + -1, 184, -1, 169, -1, 203, -1, 189, -1, 157, + -1, 172, -1, 176, -1, 165, -1, -1, 62, 300, 226, 301, 223, -1, 301, 227, 302, -1, 302, -1, - 63, 228, 127, -1, 63, -1, 18, 228, 127, -1, - 18, -1, 150, 228, 127, -1, 150, -1, 65, -1, - 213, -1, 178, -1, 200, -1, 219, -1, 40, -1, - 25, -1, 208, -1, 126, -1, 4, -1, 189, -1, - 204, -1, 206, -1, 185, -1, 128, -1, 194, -1, + 66, 228, 127, -1, 66, -1, 18, 228, 127, -1, + 18, -1, 147, 228, 127, -1, 147, -1, 68, -1, + 215, -1, 163, -1, 199, -1, 222, -1, 39, -1, + 25, -1, 180, -1, 126, -1, 4, -1, 177, -1, + 168, -1, 204, -1, 172, -1, 128, -1, 185, -1, 94, -1, -1, 17, 304, 225, 305, 224, 223, -1, 305, 306, -1, 306, -1, 307, -1, 317, -1, 318, -1, 308, -1, 319, -1, 309, -1, 310, -1, 311, -1, 312, -1, 313, -1, 314, -1, 315, -1, 316, -1, 320, -1, 321, -1, 322, -1, 1, 223, -1, - 96, 226, 122, 223, -1, 120, 226, 233, 223, -1, - 107, 226, 105, 223, -1, 19, 226, 233, 223, -1, - 84, 226, 105, 223, -1, 78, 226, 105, 223, -1, - 80, 226, 105, 223, -1, 79, 226, 105, 223, -1, - 146, 226, 235, 223, -1, 190, 226, 235, 223, -1, - 15, 226, 105, 223, -1, 16, 226, 105, 223, -1, - 106, 226, 105, 223, -1, 90, 226, 233, 223, -1, - 91, 226, 233, 223, -1, -1, 36, 323, 226, 324, - 223, -1, 324, 227, 325, -1, 325, -1, 92, -1, - 93, -1, -1, 71, 327, 225, 332, 224, 223, -1, - -1, 36, 329, 226, 330, 223, -1, 330, 227, 331, - -1, 331, -1, 197, -1, 51, -1, 192, -1, 332, + 96, 226, 121, 223, -1, 119, 226, 233, 223, -1, + 108, 226, 106, 223, -1, 19, 226, 233, 223, -1, + 87, 226, 106, 223, -1, 80, 226, 106, 223, -1, + 83, 226, 106, 223, -1, 81, 226, 106, 223, -1, + 141, 226, 235, 223, -1, 178, 226, 235, 223, -1, + 15, 226, 106, 223, -1, 16, 226, 106, 223, -1, + 107, 226, 106, 223, -1, 91, 226, 233, 223, -1, + 82, 226, 233, 223, -1, -1, 62, 323, 226, 324, + 223, -1, 324, 227, 325, -1, 325, -1, 122, -1, + 50, -1, -1, 74, 327, 225, 332, 224, 223, -1, + -1, 62, 329, 226, 330, 223, -1, 330, 227, 331, + -1, 331, -1, 191, -1, 48, -1, 181, -1, 332, 333, -1, 333, -1, 334, -1, 328, -1, 338, -1, - 339, -1, 1, 223, -1, -1, 121, 226, 336, 335, - 223, -1, 336, 227, 337, -1, 337, -1, 105, -1, - 105, 168, 105, -1, 62, 226, 122, 223, -1, 57, - 226, 122, 223, -1, -1, 48, 341, 225, 342, 224, + 339, -1, 1, 223, -1, -1, 120, 226, 336, 335, + 223, -1, 336, 227, 337, -1, 337, -1, 106, -1, + 106, 213, 106, -1, 60, 226, 121, 223, -1, 55, + 226, 121, 223, -1, -1, 61, 341, 225, 342, 224, 223, -1, 342, 343, -1, 343, -1, 344, -1, 345, -1, 346, -1, 348, -1, 352, -1, 353, -1, 354, - -1, 347, -1, 1, 223, -1, 214, 226, 122, 223, - -1, 117, 226, 122, 223, -1, 17, 226, 122, 223, - -1, 32, 226, 164, 223, -1, -1, 36, 349, 226, - 350, 223, -1, 350, 227, 351, -1, 351, -1, 158, - -1, 33, -1, 66, -1, 49, -1, 13, -1, 104, - -1, 43, -1, 138, -1, 207, -1, 97, -1, 157, - 226, 122, 223, -1, 125, 226, 122, 223, -1, 124, - 226, 105, 223, -1, -1, 137, 356, 225, 357, 224, + -1, 347, -1, 1, 223, -1, 218, 226, 121, 223, + -1, 116, 226, 121, 223, -1, 17, 226, 121, 223, + -1, 32, 226, 206, 223, -1, -1, 62, 349, 226, + 350, 223, -1, 350, 227, 351, -1, 351, -1, 146, + -1, 33, -1, 69, -1, 97, -1, 13, -1, 105, + -1, 42, -1, 130, -1, 205, -1, 98, -1, 145, + 226, 121, 223, -1, 125, 226, 121, 223, -1, 124, + 226, 106, 223, -1, -1, 129, 356, 225, 357, 224, 223, -1, 357, 358, -1, 358, -1, 359, -1, 360, - -1, 361, -1, 1, 223, -1, 73, 226, 122, 223, - -1, 123, 226, 122, 223, -1, 34, 226, 122, 223, - -1, 209, 225, 363, 224, 223, -1, 363, 364, -1, - 364, -1, 365, -1, 1, -1, 96, 226, 122, 223, - -1, -1, 153, 367, 225, 368, 224, 223, -1, 368, + -1, 361, -1, 1, 223, -1, 75, 226, 121, 223, + -1, 123, 226, 121, 223, -1, 34, 226, 121, 223, + -1, 182, 225, 363, 224, 223, -1, 363, 364, -1, + 364, -1, 365, -1, 1, -1, 96, 226, 121, 223, + -1, -1, 186, 367, 225, 368, 224, 223, -1, 368, 369, -1, 369, -1, 370, -1, 371, -1, 372, -1, - 1, 223, -1, 96, 226, 122, 223, -1, 214, 226, - 122, 223, -1, -1, 155, 373, 226, 374, 223, -1, - 374, 227, 375, -1, 375, -1, 65, -1, 213, -1, - 178, -1, 200, -1, 219, -1, 203, -1, 137, -1, - 202, -1, 185, -1, 169, -1, -1, 154, 377, 225, + 1, 223, -1, 96, 226, 121, 223, -1, 218, 226, + 121, 223, -1, -1, 214, 373, 226, 374, 223, -1, + 374, 227, 375, -1, 375, -1, 68, -1, 215, -1, + 163, -1, 199, -1, 222, -1, 202, -1, 129, -1, + 201, -1, 172, -1, 155, -1, -1, 160, 377, 225, 378, 224, 223, -1, 378, 379, -1, 379, -1, 380, - -1, 381, -1, 1, 223, -1, 96, 226, 122, 223, - -1, -1, 155, 382, 226, 383, 223, -1, 383, 227, - 384, -1, 384, -1, 65, -1, 213, -1, 178, -1, - 200, -1, 219, -1, 203, -1, 137, -1, 202, -1, - 185, -1, 169, -1, -1, 18, 386, 225, 387, 224, + -1, 381, -1, 1, 223, -1, 96, 226, 121, 223, + -1, -1, 214, 382, 226, 383, 223, -1, 383, 227, + 384, -1, 384, -1, 68, -1, 215, -1, 163, -1, + 199, -1, 222, -1, 202, -1, 129, -1, 201, -1, + 172, -1, 155, -1, -1, 18, 386, 225, 387, 224, 223, -1, 387, 388, -1, 388, -1, 389, -1, 390, -1, 391, -1, 392, -1, 393, -1, 395, -1, 394, -1, 404, -1, 396, -1, 401, -1, 402, -1, 403, - -1, 400, -1, 1, 223, -1, 96, 226, 122, 223, - -1, 57, 226, 122, 223, -1, 217, 226, 122, 223, - -1, 147, 226, 122, 223, -1, 3, 226, 122, 223, - -1, 121, 226, 105, 223, -1, 5, 226, 183, 223, - -1, 5, 226, 184, 223, -1, -1, 36, 397, 226, + -1, 400, -1, 1, 223, -1, 96, 226, 121, 223, + -1, 55, 226, 121, 223, -1, 219, 226, 121, 223, + -1, 140, 226, 121, 223, -1, 3, 226, 121, 223, + -1, 120, 226, 106, 223, -1, 5, 226, 170, 223, + -1, 5, 226, 171, 223, -1, -1, 62, 397, 226, 398, 223, -1, 398, 227, 399, -1, 399, -1, 8, - -1, 197, -1, 32, 226, 164, 223, -1, 59, 226, - 122, 223, -1, 69, 226, 122, 223, -1, 17, 226, - 122, 223, -1, 175, 226, 122, 223, -1, -1, 63, + -1, 191, -1, 32, 226, 206, 223, -1, 57, 226, + 121, 223, -1, 72, 226, 121, 223, -1, 17, 226, + 121, 223, -1, 192, 226, 121, 223, -1, -1, 66, 406, 225, 407, 224, 223, -1, 407, 408, -1, 408, - -1, 409, -1, 410, -1, 1, -1, 214, 226, 122, - 223, -1, 123, 226, 122, 223, -1, -1, 23, 412, + -1, 409, -1, 410, -1, 1, -1, 218, 226, 121, + 223, -1, 123, 226, 121, 223, -1, -1, 23, 412, 225, 413, 224, 223, -1, 413, 414, -1, 414, -1, - 415, -1, 416, -1, 1, -1, 62, 226, 122, 223, - -1, 123, 226, 122, 223, -1, 34, 225, 418, 224, + 415, -1, 416, -1, 1, -1, 60, 226, 121, 223, + -1, 123, 226, 121, 223, -1, 34, 225, 418, 224, 223, -1, 418, 419, -1, 419, -1, 420, -1, 1, - -1, 62, 226, 122, 223, -1, -1, 38, 422, 225, + -1, 60, 226, 121, 223, -1, -1, 37, 422, 225, 423, 224, 223, -1, 423, 424, -1, 424, -1, 425, - -1, 426, -1, 1, -1, 96, 226, 122, 223, -1, - 123, 226, 122, 223, -1, 39, 225, 428, 224, 223, + -1, 426, -1, 1, -1, 96, 226, 121, 223, -1, + 123, 226, 121, 223, -1, 38, 225, 428, 224, 223, -1, 428, 429, -1, 429, -1, 438, -1, 439, -1, 441, -1, 442, -1, 443, -1, 444, -1, 445, -1, 446, -1, 447, -1, 448, -1, 437, -1, 450, -1, @@ -1214,58 +1214,58 @@ static const yytype_int16 yyrhs[] = 481, -1, 482, -1, 440, -1, 472, -1, 449, -1, 470, -1, 471, -1, 436, -1, 431, -1, 432, -1, 433, -1, 434, -1, 435, -1, 452, -1, 430, -1, - 469, -1, 1, -1, 87, 226, 105, 223, -1, 42, - 226, 164, 223, -1, 41, 226, 233, 223, -1, 44, - 226, 233, 223, -1, 45, 226, 105, 223, -1, 46, - 226, 105, 223, -1, 152, 226, 164, 223, -1, 64, - 226, 233, 223, -1, 56, 226, 164, 223, -1, 60, - 226, 164, 223, -1, 28, 226, 164, 223, -1, 35, - 226, 164, 223, -1, 6, 226, 164, 223, -1, 83, - 226, 233, 223, -1, 81, 226, 105, 223, -1, 74, - 226, 105, 223, -1, 7, 226, 233, 223, -1, 167, - 226, 233, 223, -1, 166, 226, 233, 223, -1, 50, - 226, 105, 223, -1, 61, 226, 164, 223, -1, 220, - 226, 164, 223, -1, 159, 226, 164, 223, -1, 162, - 226, 164, 223, -1, 163, 226, 164, 223, -1, 161, - 226, 164, 223, -1, 161, 226, 165, 223, -1, 160, - 226, 164, 223, -1, 160, 226, 165, 223, -1, 115, - 226, 233, 223, -1, 12, 226, 233, 223, -1, 109, - 226, 164, 223, -1, 116, 226, 233, 223, -1, 156, - 226, 164, 223, -1, 103, 226, 164, 223, -1, 212, - 226, 164, 223, -1, 111, 226, 164, 223, -1, 29, - 226, 105, 223, -1, 85, 226, 105, 223, -1, 215, - 226, 164, 223, -1, 30, 226, 122, 223, -1, 210, - 226, 122, 223, -1, 119, 226, 164, 223, -1, 26, - 226, 164, 223, -1, 211, 226, 233, 223, -1, -1, - 112, 474, 226, 475, 223, -1, 475, 227, 476, -1, - 476, -1, 170, -1, 173, -1, 174, -1, 176, -1, - 177, -1, 181, -1, 51, -1, 195, -1, 187, -1, - 191, -1, 199, -1, 196, -1, 179, -1, 189, -1, - 193, -1, 182, -1, 205, -1, 171, -1, 172, -1, - 185, -1, 188, -1, 180, -1, -1, 110, 478, 226, - 479, 223, -1, 479, 227, 480, -1, 480, -1, 170, - -1, 173, -1, 174, -1, 176, -1, 177, -1, 181, - -1, 195, -1, 51, -1, 187, -1, 191, -1, 199, - -1, 196, -1, 179, -1, 189, -1, 193, -1, 182, - -1, 205, -1, 171, -1, 172, -1, 185, -1, 188, - -1, 180, -1, 88, 226, 105, 223, -1, 89, 226, - 105, 223, -1, 20, 226, 105, 223, -1, 14, 225, + 469, -1, 1, -1, 90, 226, 106, 223, -1, 41, + 226, 206, 223, -1, 40, 226, 233, 223, -1, 45, + 226, 233, 223, -1, 43, 226, 106, 223, -1, 44, + 226, 106, 223, -1, 208, 226, 206, 223, -1, 67, + 226, 233, 223, -1, 54, 226, 206, 223, -1, 58, + 226, 206, 223, -1, 28, 226, 206, 223, -1, 35, + 226, 206, 223, -1, 6, 226, 206, 223, -1, 86, + 226, 233, 223, -1, 84, 226, 106, 223, -1, 76, + 226, 106, 223, -1, 7, 226, 233, 223, -1, 212, + 226, 233, 223, -1, 211, 226, 233, 223, -1, 47, + 226, 106, 223, -1, 59, 226, 206, 223, -1, 221, + 226, 206, 223, -1, 150, 226, 206, 223, -1, 153, + 226, 206, 223, -1, 154, 226, 206, 223, -1, 152, + 226, 206, 223, -1, 152, 226, 209, 223, -1, 151, + 226, 206, 223, -1, 151, 226, 209, 223, -1, 114, + 226, 233, 223, -1, 12, 226, 233, 223, -1, 113, + 226, 206, 223, -1, 115, 226, 233, 223, -1, 144, + 226, 206, 223, -1, 104, 226, 206, 223, -1, 210, + 226, 206, 223, -1, 110, 226, 206, 223, -1, 29, + 226, 106, 223, -1, 88, 226, 106, 223, -1, 216, + 226, 206, 223, -1, 30, 226, 121, 223, -1, 183, + 226, 121, 223, -1, 118, 226, 206, 223, -1, 26, + 226, 206, 223, -1, 207, 226, 233, 223, -1, -1, + 111, 474, 226, 475, 223, -1, 475, 227, 476, -1, + 476, -1, 156, -1, 158, -1, 159, -1, 161, -1, + 162, -1, 167, -1, 48, -1, 188, -1, 175, -1, + 179, -1, 198, -1, 190, -1, 164, -1, 177, -1, + 184, -1, 169, -1, 203, -1, 189, -1, 157, -1, + 172, -1, 176, -1, 165, -1, -1, 109, 478, 226, + 479, 223, -1, 479, 227, 480, -1, 480, -1, 156, + -1, 158, -1, 159, -1, 161, -1, 162, -1, 167, + -1, 188, -1, 48, -1, 175, -1, 179, -1, 198, + -1, 190, -1, 164, -1, 177, -1, 184, -1, 169, + -1, 203, -1, 189, -1, 157, -1, 172, -1, 176, + -1, 165, -1, 92, 226, 106, 223, -1, 93, 226, + 106, 223, -1, 20, 226, 106, 223, -1, 14, 225, 485, 224, 223, -1, 485, 486, -1, 486, -1, 492, -1, 488, -1, 489, -1, 490, -1, 491, -1, 493, -1, 494, -1, 495, -1, 496, -1, 497, -1, 498, - -1, 487, -1, 1, -1, 27, 226, 164, 223, -1, - 67, 226, 233, 223, -1, 68, 226, 233, 223, -1, - 77, 226, 105, 223, -1, 76, 226, 105, 223, -1, - 75, 226, 105, 223, -1, 22, 226, 105, 223, -1, - 21, 226, 105, 223, -1, 101, 226, 164, 223, -1, - 102, 226, 164, 223, -1, 113, 226, 105, 223, -1, - 114, 226, 233, 223, -1, 148, 225, 500, 224, 223, + -1, 487, -1, 1, -1, 27, 226, 206, 223, -1, + 70, 226, 233, 223, -1, 71, 226, 233, 223, -1, + 79, 226, 106, 223, -1, 78, 226, 106, 223, -1, + 77, 226, 106, 223, -1, 22, 226, 106, 223, -1, + 21, 226, 106, 223, -1, 102, 226, 206, 223, -1, + 103, 226, 206, 223, -1, 64, 226, 106, 223, -1, + 65, 226, 233, 223, -1, 142, 225, 500, 224, 223, -1, 500, 501, -1, 501, -1, 502, -1, 503, -1, 504, -1, 506, -1, 507, -1, 505, -1, 508, -1, - 1, -1, 37, 226, 164, 223, -1, 54, 226, 164, - 223, -1, 55, 226, 164, 223, -1, 52, 226, 122, - 223, -1, 70, 226, 233, 223, -1, 51, 226, 164, - 223, -1, 53, 226, 164, 223, -1 + 1, -1, 36, 226, 206, 223, -1, 52, 226, 206, + 223, -1, 53, 226, 206, 223, -1, 49, 226, 121, + 223, -1, 73, 226, 233, 223, -1, 48, 226, 206, + 223, -1, 51, 226, 206, 223, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -1351,50 +1351,50 @@ static const char *const yytname[] = "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", - "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL", - "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT", - "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6", - "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN", - "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES", - "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", - "INVISIBLE_ON_CONNECT", "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", + "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE", + "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR", + "GLINE_MIN_CIDR6", "GLINE_REQUEST_DURATION", "GLOBAL_KILL", + "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_IDLE_FROM_OPERS", + "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES", "HIDE_SPOOF_IPS", + "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", + "IP", "IRCD_AUTH", "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT", + "JOIN_FLOOD_TIME", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", - "LINKS_DELAY", "LISTEN", "T_LOG", "MASK", "MAX_ACCEPT", "MAX_BANS", + "LINKS_DELAY", "LISTEN", "MASK", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", - "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH", "MAX_NICK_TIME", - "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH", "MAX_WATCH", - "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MIN_IDLE", "MAX_IDLE", - "RANDOM_IDLE", "HIDE_IDLE_FROM_OPERS", "MODULE", "MODULES", "NAME", - "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK", - "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE", - "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPERATOR", - "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV", - "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", + "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH", + "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH", + "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", + "MODULE", "MODULES", "NAME", "NEED_IDENT", "NEED_PASSWORD", + "NETWORK_DESC", "NETWORK_NAME", "NICK", "NO_CREATE_ON_SPLIT", + "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE", "NUMBER", + "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES", "OPER_PASS_RESV", + "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID", "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", - "PORT", "QSTRING", "REASON", "REDIRPORT", "REDIRSERV", "REHASH", - "REMOTE", "REMOTEBAN", "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", - "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD", - "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", - "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", - "SENDQ", "SEND_PASSWORD", "SERVERHIDE", "SERVERINFO", "SQUIT", - "IRCD_SID", "TKLINE_EXPIRE_NOTICES", "T_SHARED", "T_CLUSTER", "TYPE", - "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE", "STATS_E_DISABLED", + "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT", "REDIRSERV", + "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT", + "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SECONDS", "MINUTES", + "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ", + "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE", + "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", - "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "TS_MAX_DELTA", "TS_WARN_DELTA", - "TWODOTS", "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", - "T_CCONN_FULL", "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", - "T_EXTERNAL", "T_FARCONNECT", "T_FULL", "T_INVISIBLE", "T_IPV4", - "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS", "T_NCHANGE", "T_NONONREG", - "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SET", - "T_SKILL", "T_SPY", "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNDLINE", - "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_GLOBOPS", "T_WALLOP", - "T_WALLOPS", "T_WEBIRC", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME", - "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE", "USER", "USE_EGD", - "USE_LOGGING", "VHOST", "VHOST6", "XLINE", "WARN_NO_NLINE", "T_SIZE", - "T_FILE", "';'", "'}'", "'{'", "'='", "','", "':'", "$accept", "conf", - "conf_item", "timespec_", "timespec", "sizespec_", "sizespec", - "modules_entry", "modules_items", "modules_item", "modules_module", - "modules_path", "serverinfo_entry", "serverinfo_items", + "STATS_P_OPER_ONLY", "T_ALL", "T_BOTS", "T_CALLERID", "T_CCONN", + "T_CCONN_FULL", "T_CLUSTER", "T_DEAF", "T_DEBUG", "T_DLINE", + "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS", + "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS", + "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_RESTART", + "T_SERVER", "T_SERVICE", "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET", + "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL", + "T_SSL_CIPHER_LIST", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", + "T_SSLV3", "T_TLSV1", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", + "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL", + "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED", + "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "TYPE", + "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", "VHOST6", + "WARN_NO_NLINE", "XLINE", "';'", "'}'", "'{'", "'='", "','", "':'", + "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_", + "sizespec", "modules_entry", "modules_items", "modules_item", + "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items", "serverinfo_item", "serverinfo_ssl_client_method", "serverinfo_ssl_server_method", "client_method_types", "client_method_type_item", "server_method_types", @@ -1657,8 +1657,8 @@ static const yytype_uint8 yyr2[] = static const yytype_uint16 yydefact[] = { 2, 0, 1, 0, 0, 0, 207, 370, 416, 0, - 431, 0, 273, 407, 249, 0, 0, 135, 307, 0, - 0, 324, 348, 0, 3, 23, 11, 4, 5, 6, + 431, 0, 273, 407, 249, 0, 135, 307, 0, 0, + 348, 0, 0, 324, 3, 23, 11, 4, 5, 6, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20, 22, 21, 7, 12, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1670,28 +1670,28 @@ static const yytype_uint16 yydefact[] = 428, 0, 491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 563, 0, 537, 0, 0, 0, 0, 0, 0, + 563, 0, 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 442, 489, 483, 484, 485, 486, 487, 482, 453, 443, 444, 477, 445, 446, 447, 448, 449, 450, 451, 452, 479, 454, 455, 488, 457, 462, 458, 460, 459, 472, 473, 461, 463, 464, 465, 466, 456, 468, 469, 470, 490, 480, 481, 478, 471, 467, 475, 476, - 474, 0, 0, 0, 0, 0, 0, 108, 109, 110, - 0, 0, 0, 0, 0, 44, 45, 46, 0, 0, - 630, 0, 0, 0, 0, 0, 0, 0, 0, 622, - 623, 624, 625, 628, 626, 627, 629, 0, 0, 0, + 474, 0, 0, 0, 0, 0, 0, 0, 44, 45, + 46, 0, 0, 630, 0, 0, 0, 0, 0, 0, + 0, 0, 622, 623, 624, 625, 628, 626, 627, 629, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 52, 67, 68, 66, - 63, 62, 69, 53, 65, 56, 57, 58, 54, 64, - 59, 60, 61, 55, 0, 0, 322, 0, 0, 320, - 321, 102, 0, 0, 0, 0, 97, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, + 67, 68, 66, 63, 62, 69, 53, 65, 56, 57, + 58, 54, 64, 59, 60, 61, 55, 0, 0, 0, + 0, 108, 109, 110, 0, 322, 0, 0, 320, 321, + 0, 102, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 211, 214, 216, 217, 218, 219, 220, 221, 222, 223, 212, 213, 215, 224, 225, 226, 0, 0, 0, 0, - 0, 396, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 396, 0, 0, 0, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 380, 379, 382, 386, 383, 384, 385, 381, 422, 0, 0, 0, 419, 420, 421, 0, 0, 426, 437, 0, 0, 0, 434, @@ -1702,18 +1702,18 @@ static const yytype_uint16 yydefact[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 441, 0, 0, 0, 290, 0, 0, 0, 0, 0, 0, 276, 277, 278, 279, 284, 280, 281, 282, - 283, 413, 0, 0, 0, 410, 411, 412, 0, 251, - 0, 0, 0, 261, 0, 259, 260, 262, 263, 111, - 0, 0, 107, 0, 47, 0, 0, 0, 43, 0, - 0, 0, 180, 0, 0, 0, 154, 0, 0, 138, - 139, 140, 141, 144, 145, 143, 142, 146, 0, 0, - 0, 0, 0, 310, 311, 312, 313, 0, 0, 0, - 0, 0, 0, 0, 0, 621, 70, 0, 0, 0, + 283, 413, 0, 0, 0, 410, 411, 412, 0, 0, + 0, 251, 0, 261, 0, 259, 260, 262, 263, 47, + 0, 0, 0, 43, 0, 0, 0, 180, 0, 0, + 0, 154, 0, 0, 138, 139, 140, 141, 144, 145, + 143, 142, 146, 0, 0, 0, 0, 0, 310, 311, + 312, 313, 0, 0, 0, 0, 0, 0, 0, 0, + 621, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 0, 0, 334, 0, - 0, 327, 328, 329, 330, 0, 0, 356, 0, 351, - 352, 353, 0, 0, 319, 0, 0, 0, 96, 0, - 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, + 51, 0, 0, 356, 0, 351, 352, 353, 111, 0, + 0, 107, 0, 0, 0, 319, 0, 0, 334, 0, + 0, 327, 328, 329, 330, 0, 0, 0, 96, 0, + 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 592, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, 387, 0, 0, 0, 0, 0, 0, 0, @@ -1726,259 +1726,259 @@ static const yytype_uint16 yydefact[] = 0, 0, 0, 0, 0, 0, 0, 0, 440, 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0, 409, 264, 0, 0, 0, 0, 0, - 258, 0, 106, 0, 0, 0, 42, 147, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 137, 314, 0, - 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, - 0, 620, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 0, 0, 42, 147, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 137, 314, 0, 0, 0, 0, + 309, 0, 0, 0, 0, 0, 0, 0, 620, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 0, 74, 79, 80, 0, 78, - 0, 0, 0, 0, 0, 50, 331, 0, 0, 0, - 0, 326, 354, 0, 0, 0, 350, 0, 318, 105, - 104, 103, 615, 614, 608, 26, 26, 26, 26, 26, - 26, 26, 28, 27, 609, 610, 613, 612, 611, 616, - 617, 618, 619, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 50, 354, 0, 0, 0, 350, 0, 106, + 0, 0, 318, 331, 0, 0, 0, 0, 326, 105, + 104, 103, 615, 614, 608, 618, 26, 26, 26, 26, + 26, 26, 26, 28, 27, 619, 609, 610, 613, 612, + 611, 616, 617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 0, 0, 417, 430, 0, 0, 432, 504, 508, 522, 591, 535, 502, 529, - 532, 503, 494, 493, 495, 496, 497, 511, 500, 501, + 532, 503, 494, 493, 496, 497, 495, 511, 500, 501, 512, 499, 507, 506, 505, 530, 492, 589, 590, 526, - 523, 574, 567, 584, 585, 568, 569, 570, 571, 579, - 588, 572, 582, 586, 575, 587, 580, 576, 581, 573, - 578, 577, 583, 0, 566, 528, 547, 541, 558, 559, - 542, 543, 544, 545, 553, 562, 546, 556, 560, 549, - 561, 554, 550, 555, 548, 552, 551, 557, 0, 540, - 521, 524, 534, 498, 525, 514, 519, 520, 517, 518, - 515, 516, 510, 509, 533, 536, 527, 531, 513, 0, + 574, 567, 585, 568, 569, 570, 571, 579, 588, 572, + 582, 586, 575, 587, 580, 576, 581, 573, 584, 578, + 577, 583, 0, 566, 528, 547, 541, 559, 542, 543, + 544, 545, 553, 562, 546, 556, 560, 549, 561, 554, + 550, 555, 548, 558, 552, 551, 557, 0, 540, 523, + 521, 524, 534, 525, 514, 519, 520, 517, 518, 515, + 516, 533, 536, 498, 527, 510, 509, 531, 513, 0, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, - 408, 0, 0, 0, 269, 265, 268, 250, 112, 0, - 0, 124, 0, 0, 116, 117, 119, 118, 48, 49, + 408, 0, 0, 0, 269, 265, 268, 250, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 136, 0, 0, 0, 308, 631, 636, 634, 637, 632, 633, 635, - 87, 95, 93, 94, 85, 89, 88, 82, 81, 83, - 71, 0, 72, 0, 86, 84, 92, 90, 91, 0, - 0, 0, 325, 0, 0, 349, 323, 29, 30, 31, - 32, 33, 34, 35, 238, 239, 231, 247, 248, 0, - 246, 233, 235, 234, 232, 241, 242, 228, 240, 230, + 87, 95, 86, 93, 94, 85, 89, 88, 82, 81, + 83, 92, 84, 71, 0, 72, 0, 90, 91, 0, + 0, 349, 112, 0, 0, 0, 124, 0, 116, 117, + 119, 118, 323, 0, 0, 0, 325, 29, 30, 31, + 32, 33, 34, 35, 238, 239, 231, 248, 247, 0, + 246, 233, 235, 242, 234, 232, 241, 228, 240, 230, 229, 36, 36, 36, 38, 37, 236, 237, 392, 394, - 395, 405, 402, 400, 401, 0, 399, 389, 403, 404, + 395, 405, 402, 389, 403, 400, 401, 0, 399, 404, 388, 393, 391, 406, 390, 423, 424, 438, 439, 564, - 0, 538, 0, 288, 289, 298, 295, 300, 297, 296, + 0, 538, 0, 288, 289, 298, 295, 300, 296, 297, 303, 299, 301, 294, 302, 0, 293, 287, 306, 305, - 304, 286, 415, 414, 256, 257, 255, 0, 254, 272, - 271, 0, 0, 0, 120, 0, 0, 0, 0, 115, - 153, 151, 199, 187, 196, 195, 185, 190, 206, 198, - 204, 189, 192, 203, 200, 205, 193, 201, 202, 197, - 191, 194, 0, 183, 148, 150, 152, 164, 158, 175, - 176, 159, 160, 161, 162, 170, 179, 163, 173, 177, - 166, 178, 171, 167, 172, 165, 169, 168, 174, 0, - 157, 149, 317, 315, 316, 73, 77, 332, 338, 344, - 347, 340, 346, 341, 345, 343, 339, 342, 0, 337, - 333, 355, 360, 366, 369, 362, 368, 363, 367, 365, - 361, 364, 0, 359, 244, 0, 39, 40, 41, 397, + 304, 286, 415, 414, 272, 271, 256, 257, 255, 0, + 254, 0, 0, 0, 153, 151, 199, 187, 196, 195, + 185, 190, 206, 198, 204, 189, 192, 201, 203, 200, + 197, 205, 193, 202, 191, 194, 0, 183, 148, 150, + 152, 164, 158, 176, 159, 160, 161, 162, 170, 179, + 163, 173, 177, 166, 178, 171, 167, 172, 165, 175, + 169, 168, 174, 0, 157, 149, 317, 315, 316, 73, + 77, 355, 360, 366, 369, 362, 368, 363, 367, 365, + 361, 364, 0, 359, 120, 0, 0, 0, 0, 115, + 332, 338, 344, 347, 340, 346, 341, 345, 343, 339, + 342, 0, 337, 333, 244, 0, 39, 40, 41, 397, 0, 565, 539, 291, 0, 252, 0, 270, 267, 266, - 0, 0, 0, 0, 114, 0, 0, 0, 181, 0, - 155, 0, 335, 0, 357, 0, 245, 398, 292, 253, - 121, 130, 133, 132, 129, 134, 131, 128, 0, 127, - 123, 122, 186, 184, 188, 182, 156, 336, 358, 125, + 0, 0, 0, 181, 0, 155, 0, 357, 0, 0, + 0, 0, 0, 114, 335, 0, 245, 398, 292, 253, + 186, 184, 188, 182, 156, 358, 121, 123, 122, 130, + 133, 132, 129, 134, 131, 128, 0, 127, 336, 125, 0, 126 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 24, 782, 783, 1034, 1035, 25, 224, 225, - 226, 227, 26, 265, 266, 267, 268, 744, 745, 748, - 749, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 27, 71, 72, 73, - 74, 75, 28, 216, 217, 218, 219, 220, 953, 954, - 955, 956, 957, 1096, 1228, 1229, 29, 60, 498, 499, - 500, 501, 502, 503, 504, 505, 506, 714, 1149, 1150, - 507, 710, 1122, 1123, 30, 49, 328, 329, 330, 331, + -1, 1, 24, 783, 784, 1034, 1035, 25, 217, 218, + 219, 220, 26, 258, 259, 260, 261, 744, 745, 748, + 749, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 27, 71, 72, 73, + 74, 75, 28, 280, 281, 282, 283, 284, 997, 998, + 999, 1000, 1001, 1167, 1236, 1237, 29, 59, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 711, 1143, 1144, + 502, 707, 1116, 1117, 30, 49, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 587, 1019, 1020, 31, 57, 473, - 695, 1087, 1088, 474, 475, 476, 1093, 945, 946, 477, + 697, 1089, 1090, 474, 475, 476, 1093, 945, 946, 477, 478, 32, 55, 451, 452, 453, 454, 455, 456, 457, - 682, 1075, 1076, 458, 459, 460, 33, 61, 512, 513, - 514, 515, 516, 34, 288, 289, 290, 35, 64, 550, - 551, 552, 553, 554, 758, 1168, 1169, 36, 65, 558, - 559, 560, 561, 764, 1182, 1183, 37, 50, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 607, 1045, - 1046, 370, 371, 372, 373, 374, 38, 56, 464, 465, + 682, 1075, 1076, 458, 459, 460, 33, 60, 507, 508, + 509, 510, 511, 34, 287, 288, 289, 35, 66, 560, + 561, 562, 563, 564, 765, 1181, 1182, 36, 63, 544, + 545, 546, 547, 755, 1162, 1163, 37, 50, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 609, 1047, + 1048, 370, 371, 372, 373, 374, 38, 56, 464, 465, 466, 467, 39, 51, 378, 379, 380, 381, 40, 108, 109, 110, 41, 53, 388, 389, 390, 391, 42, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 422, 908, 909, 207, 420, - 883, 884, 208, 209, 210, 43, 89, 90, 91, 92, + 202, 203, 204, 205, 206, 421, 907, 908, 207, 419, + 882, 883, 208, 209, 210, 43, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 44, 238, 239, 240, 241, 242, 243, 244, 245, 246 + 44, 231, 232, 233, 234, 235, 236, 237, 238, 239 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -933 +#define YYPACT_NINF -984 static const yytype_int16 yypact[] = { - -933, 657, -933, -183, -218, -213, -933, -933, -933, -202, - -933, -197, -933, -933, -933, -194, -191, -933, -933, -161, - -159, -933, -933, -142, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, 330, 900, -134, - -114, -106, 19, -104, 409, -95, -92, -84, 46, 4, - -81, -75, 318, 376, -60, -46, 75, -137, -19, -14, - -7, 24, -933, -933, -933, -933, -933, 40, 41, 60, - 74, 81, 89, 90, 92, 94, 96, 100, 104, 290, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, 666, 531, 28, -933, 112, 16, -933, - -933, 78, -933, 113, 116, 118, 119, 122, 124, 125, - 127, 130, 133, 149, 152, 153, 154, 157, 158, 160, - 161, 163, 164, 167, 168, 169, 170, 171, 175, 179, - 181, -933, 182, -933, 183, 185, 186, 187, 191, 192, - 194, 196, 197, 198, 199, 201, 202, 204, 205, 206, - 207, 117, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, 332, 49, 35, 120, 210, 23, -933, -933, -933, - 76, 217, 215, 216, 37, -933, -933, -933, 289, 34, - -933, 219, 221, 222, 226, 234, 235, 237, 7, -933, - -933, -933, -933, -933, -933, -933, -933, 220, 238, 240, - 241, 242, 250, 251, 252, 253, 258, 259, 260, 265, - 267, 269, 274, 275, 276, 84, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, 68, 21, -933, 278, 36, -933, - -933, -933, 360, 384, 389, 292, -933, 208, 293, 349, - 411, 411, 412, 417, 421, 365, 366, 426, 411, 310, - -933, 312, 313, 314, 315, -933, 316, 317, 319, 321, - 323, 324, 338, 340, 347, 348, 351, 352, 256, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, 356, 354, 355, 357, - 359, -933, 361, 363, 369, 370, 371, 372, 373, 377, - 13, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, 378, 379, 25, -933, - -933, -933, 416, 368, -933, -933, 381, 383, 72, -933, - -933, -933, 438, 411, 411, 505, 447, 448, 509, 493, - 453, 411, 454, 411, 523, 525, 526, 468, 469, 470, - 411, 530, 532, 411, 533, 535, 536, 538, 480, 482, - 422, 485, 425, 411, 411, 489, 490, 491, 492, -71, - -51, 495, 496, 411, 411, 540, 411, 499, 500, 501, - 443, -933, 445, 446, 450, -933, 457, 458, 460, 461, - 462, 257, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, 463, 464, 73, -933, -933, -933, 456, -933, - 466, 467, 472, -933, 18, -933, -933, -933, -933, -933, - 537, 476, -933, 475, -933, 551, 581, 484, -933, 486, - 488, 498, -933, 504, 507, 508, -933, 510, 10, -933, - -933, -933, -933, -933, -933, -933, -933, -933, 487, 511, - 514, 515, 31, -933, -933, -933, -933, 548, 552, 593, - 553, 554, 557, 411, 503, -933, -933, 613, 578, 638, - 642, 627, 629, 631, 633, 636, 637, 86, 115, 639, - 644, 655, 645, 646, 541, -933, 555, 545, -933, 549, - 32, -933, -933, -933, -933, 556, 550, -933, 14, -933, - -933, -933, 652, 558, -933, 559, 560, 561, -933, 566, - 567, 568, 791, 569, 570, 572, 574, 576, 577, 579, - 580, 584, -933, -933, 672, 691, 411, 575, 703, 704, - 713, 716, 411, 411, 705, 721, 724, 411, 728, 728, - 612, -933, -933, 715, 69, 719, 676, 617, 722, 723, - 725, 727, 741, 729, 730, 731, 632, -933, 732, 735, - 640, -933, 648, -933, 750, 752, 659, -933, 662, 663, - 679, 681, 685, 687, 689, 692, 693, 695, 696, 697, - 701, 702, 706, 714, 717, 720, 726, 733, 734, 736, - 737, 738, 739, 740, 742, 743, 643, 746, 688, 747, - 748, 749, 751, 755, 756, 757, 758, 759, 760, 761, - 762, 763, 764, 765, 766, 767, 768, 769, -933, -933, - 804, 686, 654, 806, 773, 816, 817, 819, 770, -933, - 820, 822, 771, -933, -933, 772, 823, 824, 842, 774, - -933, 776, -933, 88, 777, 780, -933, -933, 826, 786, - 778, 829, 830, 831, 779, 832, 783, -933, -933, 833, - 836, 851, 784, -933, 785, 787, 788, 789, 792, 793, - 794, -933, 795, 796, 797, 798, 799, 800, 801, 802, - 803, 805, -933, -933, -214, -933, -933, -933, -184, -933, - 807, 808, 809, 810, 811, -933, -933, 873, 812, 874, - 813, -933, -933, 887, 814, 818, -933, 821, -933, -933, - -933, -933, -933, -933, -933, 411, 411, 411, 411, 411, - 411, 411, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, 825, 827, 828, 172, 834, 835, 837, - 838, 839, 840, 841, 843, 844, 845, 294, 846, 847, - -933, 848, 849, 850, 852, 853, -4, 854, 855, 856, - 857, 858, 859, 860, 861, -933, 862, 863, -933, -933, - 864, 865, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -171, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -170, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, 866, - 867, 573, 868, 869, 870, 871, 872, -933, 875, 876, - -933, 0, 877, 878, 879, 815, -933, -933, -933, 880, - 881, -933, 882, 20, -933, -933, -933, -933, -933, -933, - 883, 886, 519, 888, 889, 890, 718, 891, -933, 892, - 893, 894, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, 86, -933, 115, -933, -933, -933, -933, -933, 895, - 423, 896, -933, 897, 585, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -160, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, 728, 728, 728, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -139, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - 643, -933, 688, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -74, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -38, -933, -933, - -933, 922, 842, 898, -933, 907, 884, -99, 899, -933, - -933, -933, -933, 901, -933, -933, 902, -933, -933, -933, - -933, 903, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -33, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -24, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -13, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, 58, -933, -933, 172, -933, -933, -933, -933, - -4, -933, -933, -933, 573, -933, 0, -933, -933, -933, - 904, 146, 905, 909, -933, 908, 910, 912, -933, 519, - -933, 718, -933, 423, -933, 585, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, 87, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - 146, -933 + -984, 578, -984, -190, -219, -210, -984, -984, -984, -169, + -984, -156, -984, -984, -984, -148, -984, -984, -127, -106, + -984, -85, -61, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, 330, 852, -33, + -19, -14, 37, -2, 364, 39, 42, 44, 82, 59, + 67, 500, 339, 70, 30, 16, 71, -71, 5, 49, + 57, 20, -984, -984, -984, -984, -984, 63, 77, 84, + 87, 97, 101, 103, 106, 107, 109, 111, 113, 241, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, 618, 466, 18, -984, 115, 26, -984, + -984, 62, -984, 116, 119, 121, 122, 123, 124, 125, + 129, 130, 131, 132, 133, 134, 136, 138, 141, 142, + 146, 149, 151, 152, 157, 159, 160, 161, 162, 163, + -984, 165, -984, 180, 184, 186, 187, 188, 189, 190, + 191, 193, 195, 199, 203, 204, 206, 207, 208, 210, + 211, 17, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, 365, 81, 25, 93, 215, 216, 6, -984, -984, + -984, 495, 58, -984, 217, 218, 220, 225, 227, 229, + 232, 273, -984, -984, -984, -984, -984, -984, -984, -984, + 158, 234, 235, 236, 237, 238, 246, 250, 258, 259, + 260, 265, 266, 268, 269, 274, 276, 277, 66, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, 88, 281, 280, + 29, -984, -984, -984, 168, -984, 285, 53, -984, -984, + 8, -984, 279, 282, 378, 296, -984, 201, 414, 316, + 418, 420, 420, 420, 423, 424, 433, 334, 335, 319, + -984, 322, 320, 324, 328, -984, 329, 337, 338, 340, + 344, 351, 355, 358, 361, 367, 368, 376, 174, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, 333, 377, 379, 382, + 384, 388, 391, -984, 394, 397, 399, 402, 403, 404, + 177, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, 405, 409, 13, -984, + -984, -984, 439, 342, -984, -984, 410, 416, 24, -984, + -984, -984, 401, 420, 420, 537, 440, 442, 541, 528, + 444, 420, 445, 547, 548, 420, 549, 453, 454, 456, + 420, 558, 559, 420, 560, 561, 563, 566, 468, 449, + 470, 451, 472, 420, 420, 473, 475, 476, -32, 7, + 477, 480, 567, 420, 483, 487, 420, 420, 488, 490, + 479, -984, 485, 484, 486, -984, 489, 491, 493, 496, + 497, 155, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, 498, 501, 112, -984, -984, -984, 505, 503, + 504, -984, 506, -984, 19, -984, -984, -984, -984, -984, + 582, 590, 512, -984, 513, 514, 516, -984, 517, 518, + 519, -984, 520, 156, -984, -984, -984, -984, -984, -984, + -984, -984, -984, 525, 523, 524, 526, 21, -984, -984, + -984, -984, 510, 533, 597, 550, 551, 552, 420, 530, + -984, -984, 634, 555, 641, 657, 663, 651, 654, 656, + 659, 661, 662, 673, 666, -154, -78, 668, 669, 568, + -984, 569, 574, -984, 52, -984, -984, -984, -984, 588, + 572, -984, 576, 681, 580, -984, 581, 579, -984, 583, + 90, -984, -984, -984, -984, 585, 587, 595, -984, 598, + 601, 603, 605, 765, 606, 608, 613, 615, 616, 617, + 620, 621, -984, -984, 700, 705, 420, 619, 707, 726, + 420, 735, 753, 420, 742, 758, 760, 420, 761, 761, + 652, -984, -984, 755, 50, 757, 674, 771, 772, 671, + 773, 774, 799, 785, 786, 787, 686, -984, 789, 790, + 689, -984, 690, -984, 793, 794, 695, -984, 696, 697, + 698, 701, 702, 703, 704, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 727, 728, 729, 609, 730, 658, 733, 734, + 736, 737, 738, 739, 740, 741, 743, 744, 745, 746, + 747, 748, 749, 750, 751, 752, 754, 756, -984, -984, + 807, 759, 732, 828, 870, 857, 859, 860, 762, -984, + 861, 862, 763, -984, -984, 863, 866, 764, 882, 766, + -984, 768, 769, -984, -984, 872, 788, 770, 874, 876, + 877, 775, 878, 777, -984, -984, 881, 883, 884, 780, + -984, 783, 784, 791, 792, 795, 796, 797, -984, 798, + 800, 801, 802, 803, 804, 805, 806, 808, 809, 810, + 811, 812, -984, -984, -195, -984, -984, -984, -188, -984, + 813, 814, -984, -984, 887, 815, 816, -984, 817, -984, + 64, 819, -984, -984, 888, 818, 889, 820, -984, -984, + -984, -984, -984, -984, -984, -984, 420, 420, 420, 420, + 420, 420, 420, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, 822, 823, 824, -34, 825, 826, 827, + 829, 830, 831, 832, 833, 834, 835, 2, 836, 837, + -984, 838, 839, 840, 841, 842, 843, 844, 0, 845, + 846, 847, 848, 849, 850, -984, 851, 853, -984, -984, + 854, 855, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -187, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -157, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, 856, + 858, 492, 864, 865, 867, 868, 869, -984, 871, 873, + -984, 875, 879, -38, 880, 885, -984, -984, -984, -984, + 886, 890, 441, 891, 892, 893, 693, 894, -984, 895, + 896, 897, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -154, -984, -78, -984, -984, 898, + 469, -984, -984, 899, 900, 901, -984, 114, -984, -984, + -984, -984, -984, 902, 532, 905, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -155, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, 761, 761, 761, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -81, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + 609, -984, 658, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -73, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -64, + -984, 906, 882, 907, -984, -984, -984, 903, -984, -984, + 904, -984, -984, -984, -984, 908, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -44, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -25, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -22, -984, -984, 909, -101, 911, 910, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -20, -984, -984, -984, -34, -984, -984, -984, -984, + 0, -984, -984, -984, 492, -984, -38, -984, -984, -984, + 924, 948, 953, -984, 441, -984, 693, -984, 469, 912, + 915, 916, 381, -984, -984, 532, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -15, -984, -984, -984, + 381, -984 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -933, -933, -933, -223, -298, -932, -598, -933, -933, 911, - -933, -933, -933, -933, 699, -933, -933, -933, 52, -933, - 53, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, 974, -933, - -933, -933, -933, -933, 917, -933, -933, -933, -933, 99, - -933, -933, -933, -933, -933, -187, -933, -933, -933, 598, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -162, - -933, -933, -933, -155, -933, -933, -933, 885, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -130, -933, -933, -933, - -933, -933, -140, -933, 591, -933, -933, -933, -18, -933, - -933, -933, -933, -933, 608, -933, -933, -933, -933, -933, - -933, -933, -97, -933, -933, -933, -933, -933, -933, 590, - -933, -933, -933, -933, -933, 906, -933, -933, -933, -933, - 586, -933, -933, -933, -933, -933, -109, -933, -933, -933, - 547, -933, -933, -933, -933, -91, -933, -933, -933, 781, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -67, -933, -933, -933, -933, -933, -933, -933, -933, 661, - -933, -933, -933, -933, -933, 775, -933, -933, -933, -933, - 1018, -933, -933, -933, -933, 754, -933, -933, -933, -933, - 973, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, -933, -933, -933, -933, -933, 77, -933, -933, - -933, 80, -933, -933, -933, -933, -933, 1048, -933, -933, - -933, -933, -933, -933, -933, -933, -933, -933, -933, -933, - -933, -933, 913, -933, -933, -933, -933, -933, -933, -933 + -984, -984, -984, 108, -299, -983, -598, -984, -984, 821, + -984, -984, -984, -984, 913, -984, -984, -984, 27, -984, + 31, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, 942, -984, + -984, -984, -984, -984, 914, -984, -984, -984, -984, 85, + -984, -984, -984, -984, -984, -224, -984, -984, -984, 529, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -123, + -984, -984, -984, -120, -984, -984, -984, 767, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -100, -984, -984, -984, + -984, -984, -110, -984, 623, -984, -984, -984, -3, -984, + -984, -984, -984, -984, 648, -984, -984, -984, -984, -984, + -984, -984, -94, -984, -984, -984, -984, -984, -984, 594, + -984, -984, -984, -984, -984, 917, -984, -984, -984, -984, + 543, -984, -984, -984, -984, -984, -111, -984, -984, -984, + 562, -984, -984, -984, -984, -103, -984, -984, -984, 781, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -83, -984, -984, -984, -984, -984, -984, -984, -984, 644, + -984, -984, -984, -984, -984, 776, -984, -984, -984, -984, + 1002, -984, -984, -984, -984, 778, -984, -984, -984, -984, + 950, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, -984, -984, -984, -984, -984, 61, -984, -984, + -984, 69, -984, -984, -984, -984, -984, 1035, -984, -984, + -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, + -984, -984, 918, -984, -984, -984, -984, -984, -984, -984 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1987,260 +1987,258 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -114 static const yytype_int16 yytable[] = { - 808, 809, 573, 574, 1043, 221, 807, 47, 230, 990, - 581, 489, 48, 991, 346, 555, 347, 106, 348, 468, - 106, 949, 555, 52, 214, 67, 375, 490, 54, 375, - 349, 58, 508, 546, 59, 508, 468, 286, 221, 992, - 45, 46, 491, 993, 231, 350, 492, 214, 68, 351, - 461, 1084, 1059, 1061, 469, 69, 1060, 1062, 232, 233, - 234, 235, 236, 1184, 62, 509, 63, 1185, 509, 546, - 352, 469, 353, 385, 461, 470, 286, 237, 107, 385, - 471, 107, 354, 66, 1189, 247, 291, 376, 1190, 949, - 376, 103, 470, 665, 666, 629, 630, 471, 222, 1186, - 1187, 1188, 1202, 637, 510, 639, 493, 510, 248, 355, - 556, 104, 646, 667, 668, 649, 950, 556, 112, 105, - 70, 111, 223, 113, 114, 659, 660, 494, 547, 115, - 211, 222, 287, 212, 356, 671, 672, 116, 674, 472, - 495, 213, 249, 117, 228, 118, 119, 120, 377, 1193, - 229, 377, 121, 1194, 511, 223, 472, 511, 122, 123, - 357, 124, 125, 126, 547, 284, 250, 127, 386, 557, - 251, 287, 462, 128, 386, 951, 557, 129, 130, 285, - 252, 131, 253, 254, 950, 1195, 1221, 548, 358, 1196, - 1208, 132, 1085, 1044, 1209, 387, 462, 1086, 133, 1210, - 134, 387, 135, 1211, 136, 137, 138, 292, 496, 1222, - 1212, 1223, 293, 255, 1213, 256, 257, 258, 259, 294, - 139, 742, 743, 548, 497, 730, 140, 141, 142, 143, - 359, 524, 144, 145, 716, 260, 146, 616, 765, 215, - 383, 952, 699, 951, 1098, -113, 549, 481, 295, 620, - 746, 747, 812, 813, 1224, 722, 760, 311, 442, 261, - 563, 487, 215, 463, 1017, 1018, 297, 298, -113, 147, - 262, 312, 313, 148, 443, 314, 149, 150, 151, 152, - 153, 1214, 549, 154, 155, 1215, 299, 463, 795, 444, - 489, 76, 315, 445, 801, 802, 626, 692, 483, 806, - 300, 263, 264, 1031, 1032, 1033, 490, 301, 544, 952, - 1239, 77, 78, 569, 1240, 302, 303, 79, 304, 230, - 305, 491, 306, 1225, 1226, 492, 307, 156, 157, 158, - 308, 67, 159, 442, 316, 317, 318, 160, 382, 392, - 319, 440, 393, 479, 394, 395, 320, 321, 396, 443, - 397, 398, 322, 399, 68, 231, 400, 80, 81, 401, - 1227, 69, 323, 324, 444, 82, 83, 84, 445, 232, - 233, 234, 235, 236, 446, 402, 325, 247, 403, 404, - 405, 447, 448, 406, 407, 493, 408, 409, 237, 410, - 411, 85, 86, 412, 413, 414, 415, 416, 570, 807, - 248, 417, 326, 87, 88, 418, 494, 419, 421, 423, - 112, 424, 425, 426, 449, 113, 114, 427, 428, 495, - 429, 115, 430, 431, 432, 433, 70, 434, 435, 116, - 436, 437, 438, 439, 249, 117, 480, 118, 119, 120, - 484, 485, 486, 526, 121, 517, 327, 518, 519, 446, - 122, 123, 520, 124, 125, 126, 447, 448, 250, 127, - 521, 522, 251, 523, 527, 128, 528, 529, 530, 129, - 130, 450, 252, 131, 253, 254, 531, 532, 533, 534, - 600, 688, 565, 132, 535, 536, 537, 496, 1158, 449, - 133, 538, 134, 539, 135, 540, 136, 137, 138, 1203, - 541, 542, 543, 497, 562, 255, 566, 256, 257, 258, - 259, 567, 139, 571, 309, 568, 572, 575, 140, 141, - 142, 143, 576, 1102, 144, 145, 577, 260, 146, 578, - 579, 580, 346, 582, 347, 583, 348, 1103, 622, 584, - 585, 586, 588, 589, 1104, 590, 450, 591, 349, 592, - 593, 261, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1105, - 1159, 147, 262, 350, 594, 148, 595, 351, 149, 150, - 151, 152, 153, 596, 597, 154, 155, 598, 599, 602, - 603, 604, 1106, 605, 1107, 606, 1065, 608, 352, 609, - 353, 623, 1160, 263, 264, 610, 611, 612, 613, 614, - 354, 1161, 628, 615, 618, 619, 1066, 624, 1162, 625, - 631, 632, 633, 1108, 634, 635, 1067, 636, 638, 156, - 157, 158, 1068, 1163, 159, 1164, 1165, 355, 640, 160, - 641, 642, 643, 644, 645, 647, 1166, 648, 650, 1069, - 651, 652, 1167, 653, 654, 1109, 655, 1110, 656, 657, - 1172, 658, 356, 661, 662, 663, 664, 2, 3, 669, - 670, 4, 673, 675, 676, 677, 678, 311, 679, 1111, - 1070, 5, 680, 704, 6, 7, 681, 1071, 357, 694, - 8, 312, 313, 683, 684, 314, 685, 686, 687, 690, - 691, 9, 696, 697, 861, 10, 11, 1112, 698, 702, - 703, 701, 315, 705, 1113, 12, 358, 706, 1114, 707, - 718, 1072, 724, 1115, 708, 726, 725, 727, 728, 1116, - 13, 729, 1173, 1117, 709, 1118, 731, 1119, 14, 15, - 711, 1073, 1120, 712, 713, 732, 715, 719, 1121, 886, - 720, 721, 733, 734, 316, 317, 318, 735, 359, 736, - 319, 737, 16, 738, 1174, 739, 320, 321, 740, 741, - 752, 750, 322, 1175, 755, 17, 751, 753, 754, 1127, - 1176, 757, 323, 324, 767, 759, 763, 793, 756, 762, - 1074, 768, 769, 770, 771, 1177, 325, 1178, 1179, 772, - 773, 774, 784, 785, 18, 786, 794, 787, 1180, 788, - 789, 796, 790, 791, 1181, 19, 20, 792, 797, 798, - 21, 22, 326, 862, 863, 864, 865, 866, 799, 867, - 868, 800, 869, 870, 871, 872, 804, 803, 873, 805, - 874, 875, 876, 807, 877, 810, 878, 811, 879, 880, - 815, 814, 881, 816, 817, 818, 821, 819, 882, 820, - 930, 822, 823, 824, 826, 825, 327, 827, 887, 888, - 889, 890, 891, 828, 892, 893, 23, 894, 895, 896, - 897, 829, 830, 898, 831, 899, 900, 901, 933, 902, - 931, 903, 832, 904, 905, 833, 834, 906, 1128, 1129, - 1130, 1131, 1132, 907, 1133, 1134, 572, 1135, 1136, 1137, - 1138, 76, 835, 1139, 836, 1140, 1141, 1142, 837, 1143, - 838, 1144, 839, 1145, 1146, 840, 841, 1147, 842, 843, - 844, 77, 78, 1148, 845, 846, 929, 79, 932, 847, - 775, 776, 777, 778, 779, 780, 781, 848, 934, 935, - 849, 936, 938, 850, 939, 942, 943, 944, 960, 851, - 961, 963, 964, 965, 967, 969, 852, 853, 970, 854, - 855, 856, 857, 858, 545, 859, 860, 80, 81, 885, - 910, 911, 912, 971, 913, 82, 83, 84, 914, 915, - 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, - 926, 927, 928, 937, 940, 999, 1001, 947, 941, 948, - 958, 85, 86, 959, 962, 966, 968, 972, 973, 1003, - 974, 975, 976, 87, 88, 977, 978, 979, 980, 981, - 982, 983, 984, 985, 986, 987, 988, 1197, 989, 1200, - 994, 995, 996, 997, 998, 1232, 1002, 1233, 1000, 1234, - 1004, 1005, 1092, 1155, 1006, 296, 1156, 1091, 1014, 1236, - 1015, 1016, 1099, 1241, 1235, 1216, 1219, 1021, 1022, 689, - 1023, 1024, 1025, 1026, 1027, 700, 1028, 1029, 1030, 1036, - 1037, 1038, 1039, 1040, 1198, 1041, 1042, 1047, 1048, 1049, - 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1063, - 1064, 1077, 1078, 1079, 1080, 1081, 717, 1218, 1082, 1083, - 1089, 1090, 723, 1094, 1237, 766, 1100, 1095, 1097, 1101, - 1201, 1124, 1125, 1126, 1151, 1152, 1153, 1154, 1157, 1170, - 1171, 1199, 1204, 1217, 1238, 693, 384, 1220, 1230, 1205, - 1206, 1207, 1231, 482, 441, 488, 761, 310, 0, 1192, - 1191, 617, 627, 0, 0, 0, 0, 0, 0, 0, - 0, 525, 0, 621, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 808, 809, 574, 575, 576, 807, 47, 214, 1045, 556, + 1086, 1031, 1032, 1033, 375, 48, 1017, 285, 112, 375, + 468, 67, 503, 113, 114, 385, 468, 106, 983, 115, + 278, 278, 984, 45, 46, 985, 1059, 116, 106, 986, + 1060, 742, 743, 117, 68, 118, 119, 120, 1186, 1187, + 1188, 69, 121, 541, 285, 504, 52, 122, 123, 503, + 124, 125, 126, 385, 127, 993, 1061, 240, 1184, 54, + 1062, 128, 1185, 376, 469, 129, 130, 58, 376, 470, + 469, 471, 461, 214, 131, 470, 107, 471, 1018, 541, + 241, 556, 504, 132, 629, 630, 505, 107, 61, 1210, + 215, 133, 637, 134, 557, 135, 641, 136, 807, 137, + 138, 646, 286, 461, 649, 993, 70, 746, 747, 62, + 386, 139, 242, 216, 659, 660, 140, 141, 142, 243, + 143, 144, 145, 505, 671, 146, 377, 674, 675, 472, + 64, 377, 1189, 1087, 506, 472, 1190, 387, 542, 286, + 1193, 244, 291, 1088, 1194, 245, 442, 484, 386, 1195, + 994, 147, 246, 1196, 65, 247, 248, 148, 149, 150, + 151, 152, 443, 485, 664, 311, 215, 665, 346, 1203, + 347, 506, 348, 1204, 542, 387, 557, 444, 486, 312, + 313, 1046, 103, 314, 349, -113, -113, 249, 1205, 216, + 153, 1207, 1206, 1214, 462, 1208, 104, 1215, 1239, 350, + 994, 105, 1240, 666, 250, 251, 667, 445, 487, 727, + 812, 813, 558, 111, 154, 155, 559, 156, 157, 158, + 482, 292, 351, 159, 352, 462, 315, 620, 160, 353, + 252, 440, 76, 699, 295, 719, 279, 279, 626, 354, + 383, 995, 488, 550, 316, 317, 318, 319, 253, 254, + 255, 320, 77, 78, 211, 321, 543, 212, 79, 213, + 322, 446, 489, 355, 223, 293, 756, 554, 996, 447, + 448, 323, 324, 294, 221, 256, 257, 795, 490, 297, + 539, 799, 222, 325, 802, 277, 290, 356, 806, 463, + 449, 995, 543, 298, 558, 80, 81, 569, 559, 224, + 299, 82, 83, 300, 767, 326, 479, 357, 84, 85, + 86, 225, 226, 301, 227, 228, 229, 302, 996, 303, + 463, 67, 304, 305, 552, 306, 692, 307, 1168, 308, + 240, 382, 392, 87, 88, 393, 230, 394, 395, 396, + 397, 398, 327, 491, 68, 399, 400, 401, 402, 403, + 404, 69, 405, 241, 406, 112, 442, 407, 408, 358, + 113, 114, 409, 450, 492, 410, 115, 411, 412, 688, + 713, 521, 443, 413, 116, 414, 415, 416, 417, 418, + 117, 420, 118, 119, 120, 242, 359, 444, 600, 121, + 565, 616, 243, 566, 122, 123, 422, 124, 125, 126, + 423, 127, 424, 425, 426, 427, 428, 429, 128, 430, + 1229, 431, 129, 130, 244, 432, 70, 445, 245, 433, + 434, 131, 435, 436, 437, 246, 438, 439, 247, 248, + 132, 480, 481, 512, 513, 1096, 514, 1230, 133, 1231, + 134, 515, 135, 516, 136, 517, 137, 138, 518, 1097, + 522, 523, 524, 525, 526, 309, 1098, 346, 139, 347, + 249, 348, 527, 140, 141, 142, 528, 143, 144, 145, + 1099, 446, 146, 349, 529, 530, 531, 250, 251, 447, + 448, 532, 533, 1232, 534, 535, 484, 519, 350, 567, + 536, 223, 537, 538, 548, 1065, 549, 1100, 147, 1101, + 449, 553, 485, 252, 148, 149, 150, 151, 152, 568, + 570, 351, 571, 352, 572, 1066, 573, 486, 353, 577, + 578, 253, 254, 255, 1067, 1102, 224, 1152, 354, 579, + 580, 581, 582, 1233, 1234, 583, 584, 153, 225, 226, + 585, 227, 228, 229, 586, 588, 602, 487, 256, 257, + 622, 1068, 355, 589, 590, 623, 591, 1103, 1211, 1104, + 592, 154, 155, 230, 156, 157, 158, 593, 2, 3, + 159, 594, 4, 450, 595, 160, 356, 596, 1105, 1069, + 1070, 488, 5, 597, 598, 6, 7, 1071, 1153, 1235, + 1171, 8, 599, 603, 1106, 604, 357, 628, 605, 1107, + 606, 489, 9, 1108, 607, 10, 11, 608, 1109, 311, + 610, 1110, 1072, 611, 1154, 612, 1111, 490, 613, 614, + 615, 618, 1155, 312, 313, 619, 624, 314, 1073, 12, + 1112, 1156, 625, 631, 13, 1113, 632, 634, 633, 635, + 636, 638, 14, 639, 640, 642, 1114, 860, 358, 643, + 644, 1172, 645, 1115, 647, 648, 650, 651, 1157, 652, + 1158, 1159, 653, 15, 654, 655, 656, 657, 658, 661, + 315, 662, 663, 668, 1160, 359, 669, 1173, 670, 672, + 16, 1161, 491, 673, 676, 1174, 677, 1074, 316, 317, + 318, 319, 678, 701, 1175, 320, 885, 17, 679, 321, + 680, 702, 681, 492, 322, 683, 721, 684, 723, 685, + 18, 19, 686, 687, 690, 323, 324, 691, 694, 695, + 696, 1176, 698, 1177, 1178, 703, 704, 325, 20, 722, + 705, 1121, 706, 708, 709, 710, 712, 1179, 715, 716, + 717, 21, 718, 728, 1180, 729, 724, 725, 726, 326, + 22, 730, 731, 732, 23, 861, 862, 863, 864, 733, + 865, 866, 734, 867, 868, 735, 869, 736, 870, 740, + 737, 871, 738, 739, 872, 873, 874, 741, 875, 750, + 751, 752, 753, 876, 758, 759, 327, 877, 878, 879, + 754, 760, 761, 762, 763, 764, 793, 880, 769, 766, + 770, 794, 881, 797, 886, 887, 888, 889, 771, 890, + 891, 772, 892, 893, 773, 894, 774, 895, 775, 785, + 896, 786, 798, 897, 898, 899, 787, 900, 788, 789, + 790, 800, 901, 791, 792, 796, 902, 903, 904, 1122, + 1123, 1124, 1125, 76, 1126, 1127, 905, 1128, 1129, 801, + 1130, 906, 1131, 803, 804, 1132, 805, 807, 1133, 1134, + 1135, 573, 1136, 77, 78, 810, 811, 1137, 814, 79, + 815, 1138, 1139, 1140, 1007, 1008, 1009, 1010, 1011, 1012, + 1013, 1141, 816, 817, 819, 820, 1142, 818, 776, 777, + 778, 779, 780, 781, 782, 821, 822, 823, 824, 825, + 826, 827, 828, 829, 830, 831, 80, 81, 832, 833, + 834, 835, 82, 83, 836, 837, 838, 839, 929, 84, + 85, 86, 840, 841, 842, 843, 844, 845, 846, 847, + 848, 849, 850, 851, 852, 853, 854, 855, 856, 932, + 857, 858, 859, 884, 87, 88, 909, 910, 931, 911, + 912, 913, 914, 915, 916, 930, 917, 918, 919, 920, + 921, 922, 923, 924, 925, 926, 933, 927, 934, 928, + 935, 936, 938, 939, 941, 937, 940, 942, 944, 947, + 943, 948, 949, 950, 951, 953, 952, 954, 955, 957, + 958, 956, 959, 962, 960, 961, 963, 964, 989, 1003, + 1005, 1149, 1197, 296, 965, 966, 1241, 1150, 967, 968, + 969, 970, 714, 971, 972, 973, 974, 975, 976, 977, + 1209, 978, 979, 980, 981, 982, 987, 988, 483, 991, + 992, 990, 1002, 1006, 1004, 1014, 1015, 1016, 1021, 1022, + 1023, 1220, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1036, + 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1049, 1050, + 1051, 1052, 1053, 1054, 1055, 1221, 1056, 1057, 1058, 1063, + 1222, 1064, 1169, 1224, 1223, 1216, 1219, 1077, 1078, 1198, + 1079, 1080, 1081, 1091, 1082, 601, 1083, 700, 1084, 689, + 1218, 720, 1085, 768, 1238, 1225, 757, 1217, 693, 1094, + 384, 441, 1092, 1095, 1118, 1119, 1120, 1145, 1146, 1147, + 1148, 1151, 1164, 1192, 310, 1170, 1165, 1166, 1183, 1191, + 1199, 1200, 1201, 1213, 0, 1226, 1202, 1212, 1227, 1228, + 0, 617, 0, 0, 0, 0, 0, 0, 0, 520, + 0, 0, 0, 0, 621, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 627, 0, 0, 0, + 0, 540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 564, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 601 + 0, 0, 0, 0, 551, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 555 }; #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-933))) + (!!((Yystate) == (-984))) #define yytable_value_is_error(Yytable_value) \ YYID (0) static const yytype_int16 yycheck[] = { - 598, 599, 300, 301, 8, 1, 105, 225, 1, 223, - 308, 1, 225, 227, 1, 1, 3, 1, 5, 1, - 1, 1, 1, 225, 1, 1, 1, 17, 225, 1, - 17, 225, 1, 1, 225, 1, 1, 1, 1, 223, - 223, 224, 32, 227, 37, 32, 36, 1, 24, 36, - 1, 51, 223, 223, 36, 31, 227, 227, 51, 52, - 53, 54, 55, 223, 225, 34, 225, 227, 34, 1, - 57, 36, 59, 1, 1, 57, 1, 70, 62, 1, - 62, 62, 69, 225, 223, 1, 223, 62, 227, 1, - 62, 225, 57, 164, 165, 393, 394, 62, 94, 1031, - 1032, 1033, 201, 401, 73, 403, 96, 73, 24, 96, - 96, 225, 410, 164, 165, 413, 96, 96, 1, 225, - 96, 225, 118, 6, 7, 423, 424, 117, 96, 12, - 225, 94, 96, 225, 121, 433, 434, 20, 436, 121, - 130, 225, 58, 26, 225, 28, 29, 30, 123, 223, - 225, 123, 35, 227, 123, 118, 121, 123, 41, 42, - 147, 44, 45, 46, 96, 225, 82, 50, 96, 155, - 86, 96, 123, 56, 96, 155, 155, 60, 61, 225, - 96, 64, 98, 99, 96, 223, 40, 155, 175, 227, - 223, 74, 192, 197, 227, 123, 123, 197, 81, 223, - 83, 123, 85, 227, 87, 88, 89, 226, 198, 63, - 223, 65, 226, 129, 227, 131, 132, 133, 134, 226, - 103, 135, 136, 155, 214, 523, 109, 110, 111, 112, - 217, 224, 115, 116, 224, 151, 119, 224, 224, 216, - 224, 221, 224, 155, 224, 222, 214, 224, 224, 224, - 135, 136, 183, 184, 108, 224, 224, 1, 1, 175, - 224, 224, 216, 214, 92, 93, 226, 226, 222, 152, - 186, 15, 16, 156, 17, 19, 159, 160, 161, 162, - 163, 223, 214, 166, 167, 227, 226, 214, 586, 32, - 1, 1, 36, 36, 592, 593, 224, 224, 222, 597, - 226, 217, 218, 9, 10, 11, 17, 226, 224, 221, - 223, 21, 22, 105, 227, 226, 226, 27, 226, 1, - 226, 32, 226, 177, 178, 36, 226, 210, 211, 212, - 226, 1, 215, 1, 78, 79, 80, 220, 226, 226, - 84, 224, 226, 223, 226, 226, 90, 91, 226, 17, - 226, 226, 96, 226, 24, 37, 226, 67, 68, 226, - 214, 31, 106, 107, 32, 75, 76, 77, 36, 51, - 52, 53, 54, 55, 117, 226, 120, 1, 226, 226, - 226, 124, 125, 226, 226, 96, 226, 226, 70, 226, - 226, 101, 102, 226, 226, 226, 226, 226, 105, 105, - 24, 226, 146, 113, 114, 226, 117, 226, 226, 226, - 1, 226, 226, 226, 157, 6, 7, 226, 226, 130, - 226, 12, 226, 226, 226, 226, 96, 226, 226, 20, - 226, 226, 226, 226, 58, 26, 226, 28, 29, 30, - 223, 226, 226, 223, 35, 226, 190, 226, 226, 117, - 41, 42, 226, 44, 45, 46, 124, 125, 82, 50, - 226, 226, 86, 226, 226, 56, 226, 226, 226, 60, - 61, 214, 96, 64, 98, 99, 226, 226, 226, 226, - 224, 224, 122, 74, 226, 226, 226, 198, 65, 157, - 81, 226, 83, 226, 85, 226, 87, 88, 89, 1097, - 226, 226, 226, 214, 226, 129, 122, 131, 132, 133, - 134, 122, 103, 164, 224, 223, 105, 105, 109, 110, - 111, 112, 105, 4, 115, 116, 105, 151, 119, 164, - 164, 105, 1, 223, 3, 223, 5, 18, 122, 226, - 226, 226, 226, 226, 25, 226, 214, 226, 17, 226, - 226, 175, 775, 776, 777, 778, 779, 780, 781, 40, - 137, 152, 186, 32, 226, 156, 226, 36, 159, 160, - 161, 162, 163, 226, 226, 166, 167, 226, 226, 223, - 226, 226, 63, 226, 65, 226, 13, 226, 57, 226, - 59, 223, 169, 217, 218, 226, 226, 226, 226, 226, - 69, 178, 164, 226, 226, 226, 33, 226, 185, 226, - 105, 164, 164, 94, 105, 122, 43, 164, 164, 210, - 211, 212, 49, 200, 215, 202, 203, 96, 105, 220, - 105, 105, 164, 164, 164, 105, 213, 105, 105, 66, - 105, 105, 219, 105, 164, 126, 164, 128, 226, 164, - 65, 226, 121, 164, 164, 164, 164, 0, 1, 164, - 164, 4, 122, 164, 164, 164, 223, 1, 223, 150, - 97, 14, 226, 122, 17, 18, 226, 104, 147, 223, - 23, 15, 16, 226, 226, 19, 226, 226, 226, 226, - 226, 34, 226, 226, 51, 38, 39, 178, 226, 223, - 225, 164, 36, 122, 185, 48, 175, 223, 189, 223, - 223, 138, 164, 194, 226, 122, 164, 164, 164, 200, - 63, 164, 137, 204, 226, 206, 223, 208, 71, 72, - 226, 158, 213, 226, 226, 122, 226, 226, 219, 51, - 226, 226, 164, 105, 78, 79, 80, 105, 217, 122, - 84, 122, 95, 122, 169, 122, 90, 91, 122, 122, - 105, 122, 96, 178, 223, 108, 122, 122, 122, 51, - 185, 226, 106, 107, 122, 226, 226, 105, 223, 223, - 207, 223, 223, 223, 223, 200, 120, 202, 203, 223, - 223, 223, 223, 223, 137, 223, 105, 223, 213, 223, - 223, 226, 223, 223, 219, 148, 149, 223, 105, 105, - 153, 154, 146, 170, 171, 172, 173, 174, 105, 176, - 177, 105, 179, 180, 181, 182, 105, 122, 185, 105, - 187, 188, 189, 105, 191, 223, 193, 122, 195, 196, - 164, 122, 199, 226, 122, 122, 105, 122, 205, 122, - 164, 122, 122, 122, 122, 223, 190, 122, 170, 171, - 172, 173, 174, 223, 176, 177, 209, 179, 180, 181, - 182, 223, 122, 185, 122, 187, 188, 189, 105, 191, - 226, 193, 223, 195, 196, 223, 223, 199, 170, 171, - 172, 173, 174, 205, 176, 177, 105, 179, 180, 181, - 182, 1, 223, 185, 223, 187, 188, 189, 223, 191, - 223, 193, 223, 195, 196, 223, 223, 199, 223, 223, - 223, 21, 22, 205, 223, 223, 122, 27, 122, 223, - 139, 140, 141, 142, 143, 144, 145, 223, 122, 122, - 223, 122, 122, 223, 122, 122, 122, 105, 122, 223, - 164, 122, 122, 122, 122, 122, 223, 223, 122, 223, - 223, 223, 223, 223, 265, 223, 223, 67, 68, 223, - 223, 223, 223, 122, 223, 75, 76, 77, 223, 223, - 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 223, 223, 223, 223, 122, 122, 223, 226, 223, - 223, 101, 102, 223, 226, 226, 223, 223, 223, 122, - 223, 223, 223, 113, 114, 223, 223, 223, 223, 223, - 223, 223, 223, 223, 223, 223, 223, 105, 223, 122, - 223, 223, 223, 223, 223, 127, 223, 127, 226, 127, - 226, 223, 227, 991, 223, 71, 993, 168, 223, 1211, - 223, 223, 953, 1240, 1209, 1185, 1196, 223, 223, 451, - 223, 223, 223, 223, 223, 474, 223, 223, 223, 223, - 223, 223, 223, 223, 1092, 223, 223, 223, 223, 223, + 598, 599, 301, 302, 303, 106, 225, 1, 8, 1, + 48, 9, 10, 11, 1, 225, 50, 1, 1, 1, + 1, 1, 1, 6, 7, 1, 1, 1, 223, 12, + 1, 1, 227, 223, 224, 223, 223, 20, 1, 227, + 227, 195, 196, 26, 24, 28, 29, 30, 1031, 1032, + 1033, 31, 35, 1, 1, 34, 225, 40, 41, 1, + 43, 44, 45, 1, 47, 1, 223, 1, 223, 225, + 227, 54, 227, 60, 55, 58, 59, 225, 60, 60, + 55, 62, 1, 1, 67, 60, 60, 62, 122, 1, + 24, 1, 34, 76, 393, 394, 75, 60, 225, 200, + 94, 84, 401, 86, 96, 88, 405, 90, 106, 92, + 93, 410, 96, 1, 413, 1, 96, 195, 196, 225, + 96, 104, 56, 117, 423, 424, 109, 110, 111, 63, + 113, 114, 115, 75, 433, 118, 123, 436, 437, 120, + 225, 123, 223, 181, 123, 120, 227, 123, 96, 96, + 223, 85, 223, 191, 227, 89, 1, 1, 96, 223, + 96, 144, 96, 227, 225, 99, 100, 150, 151, 152, + 153, 154, 17, 17, 206, 1, 94, 209, 1, 223, + 3, 123, 5, 227, 96, 123, 96, 32, 32, 15, + 16, 191, 225, 19, 17, 166, 166, 131, 223, 117, + 183, 223, 227, 223, 123, 227, 225, 227, 223, 32, + 96, 225, 227, 206, 148, 149, 209, 62, 62, 518, + 170, 171, 214, 225, 207, 208, 218, 210, 211, 212, + 224, 226, 55, 216, 57, 123, 62, 224, 221, 62, + 174, 224, 1, 224, 224, 224, 217, 217, 224, 72, + 224, 187, 96, 224, 80, 81, 82, 83, 192, 193, + 194, 87, 21, 22, 225, 91, 214, 225, 27, 225, + 96, 116, 116, 96, 1, 226, 224, 224, 214, 124, + 125, 107, 108, 226, 225, 219, 220, 586, 132, 226, + 224, 590, 225, 119, 593, 225, 225, 120, 597, 218, + 145, 187, 214, 226, 214, 64, 65, 106, 218, 36, + 226, 70, 71, 226, 224, 141, 223, 140, 77, 78, + 79, 48, 49, 226, 51, 52, 53, 226, 214, 226, + 218, 1, 226, 226, 166, 226, 224, 226, 224, 226, + 1, 226, 226, 102, 103, 226, 73, 226, 226, 226, + 226, 226, 178, 197, 24, 226, 226, 226, 226, 226, + 226, 31, 226, 24, 226, 1, 1, 226, 226, 192, + 6, 7, 226, 218, 218, 226, 12, 226, 226, 224, + 224, 223, 17, 226, 20, 226, 226, 226, 226, 226, + 26, 226, 28, 29, 30, 56, 219, 32, 224, 35, + 121, 224, 63, 121, 40, 41, 226, 43, 44, 45, + 226, 47, 226, 226, 226, 226, 226, 226, 54, 226, + 39, 226, 58, 59, 85, 226, 96, 62, 89, 226, + 226, 67, 226, 226, 226, 96, 226, 226, 99, 100, + 76, 226, 226, 226, 226, 4, 226, 66, 84, 68, + 86, 226, 88, 226, 90, 226, 92, 93, 226, 18, + 226, 226, 226, 226, 226, 224, 25, 1, 104, 3, + 131, 5, 226, 109, 110, 111, 226, 113, 114, 115, + 39, 116, 118, 17, 226, 226, 226, 148, 149, 124, + 125, 226, 226, 112, 226, 226, 1, 224, 32, 121, + 226, 1, 226, 226, 223, 13, 226, 66, 144, 68, + 145, 226, 17, 174, 150, 151, 152, 153, 154, 223, + 106, 55, 206, 57, 106, 33, 106, 32, 62, 106, + 106, 192, 193, 194, 42, 94, 36, 68, 72, 106, + 206, 206, 223, 162, 163, 223, 226, 183, 48, 49, + 226, 51, 52, 53, 226, 226, 223, 62, 219, 220, + 121, 69, 96, 226, 226, 223, 226, 126, 1166, 128, + 226, 207, 208, 73, 210, 211, 212, 226, 0, 1, + 216, 226, 4, 218, 226, 221, 120, 226, 147, 97, + 98, 96, 14, 226, 226, 17, 18, 105, 129, 218, + 68, 23, 226, 226, 163, 226, 140, 206, 226, 168, + 226, 116, 34, 172, 226, 37, 38, 226, 177, 1, + 226, 180, 130, 226, 155, 226, 185, 132, 226, 226, + 226, 226, 163, 15, 16, 226, 226, 19, 146, 61, + 199, 172, 226, 106, 66, 204, 206, 106, 206, 121, + 206, 206, 74, 106, 106, 106, 215, 48, 192, 206, + 206, 129, 206, 222, 106, 106, 106, 106, 199, 106, + 201, 202, 106, 95, 206, 226, 206, 226, 206, 206, + 62, 206, 206, 206, 215, 219, 206, 155, 121, 206, + 112, 222, 197, 206, 206, 163, 206, 205, 80, 81, + 82, 83, 223, 121, 172, 87, 48, 129, 223, 91, + 226, 121, 226, 218, 96, 226, 206, 226, 121, 226, + 142, 143, 226, 226, 226, 107, 108, 226, 223, 226, + 226, 199, 226, 201, 202, 223, 223, 119, 160, 206, + 226, 48, 226, 226, 226, 226, 226, 215, 223, 226, + 226, 173, 226, 223, 222, 121, 206, 206, 206, 141, + 182, 206, 121, 106, 186, 156, 157, 158, 159, 106, + 161, 162, 121, 164, 165, 121, 167, 121, 169, 106, + 121, 172, 121, 121, 175, 176, 177, 121, 179, 121, + 121, 223, 223, 184, 206, 223, 178, 188, 189, 190, + 226, 225, 121, 223, 223, 226, 106, 198, 223, 226, + 223, 106, 203, 106, 156, 157, 158, 159, 223, 161, + 162, 223, 164, 165, 223, 167, 223, 169, 223, 223, + 172, 223, 106, 175, 176, 177, 223, 179, 223, 223, + 223, 106, 184, 223, 223, 226, 188, 189, 190, 156, + 157, 158, 159, 1, 161, 162, 198, 164, 165, 106, + 167, 203, 169, 121, 106, 172, 106, 106, 175, 176, + 177, 106, 179, 21, 22, 223, 121, 184, 121, 27, + 206, 188, 189, 190, 776, 777, 778, 779, 780, 781, + 782, 198, 121, 121, 121, 121, 203, 226, 133, 134, + 135, 136, 137, 138, 139, 106, 121, 121, 121, 223, + 121, 121, 223, 223, 121, 121, 64, 65, 223, 223, + 223, 223, 70, 71, 223, 223, 223, 223, 121, 77, + 78, 79, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 121, + 223, 223, 223, 223, 102, 103, 223, 223, 226, 223, + 223, 223, 223, 223, 223, 206, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 106, 223, 121, 223, + 121, 121, 121, 121, 121, 223, 223, 121, 106, 223, + 226, 223, 223, 121, 206, 121, 226, 121, 121, 121, + 223, 226, 121, 223, 121, 121, 223, 223, 121, 121, + 121, 984, 106, 71, 223, 223, 1240, 986, 223, 223, + 223, 223, 493, 223, 223, 223, 223, 223, 223, 223, + 121, 223, 223, 223, 223, 223, 223, 223, 217, 223, + 223, 226, 223, 223, 226, 223, 223, 223, 223, 223, + 223, 127, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 223, 223, 223, 223, 223, 498, 1194, 223, 223, - 223, 223, 512, 223, 1213, 558, 223, 226, 226, 223, - 226, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 223, 223, 1190, 1215, 464, 108, 223, 223, 228, - 228, 228, 223, 216, 161, 224, 550, 89, -1, 1062, - 1060, 360, 388, -1, -1, -1, -1, -1, -1, -1, - -1, 238, -1, 378, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 223, 223, 223, 223, 223, 127, 223, 223, 223, 223, + 127, 223, 997, 1206, 1204, 1185, 1196, 223, 223, 1092, + 223, 223, 223, 213, 223, 328, 223, 474, 223, 451, + 1194, 507, 223, 560, 1215, 1208, 544, 1190, 464, 223, + 108, 161, 227, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 1062, 89, 223, 226, 226, 223, 1060, + 223, 228, 228, 223, -1, 223, 228, 226, 223, 223, + -1, 360, -1, -1, -1, -1, -1, -1, -1, 231, + -1, -1, -1, -1, 378, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 388, -1, -1, -1, + -1, 258, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 288, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 328 + -1, -1, -1, -1, 280, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 287 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -2248,129 +2246,129 @@ static const yytype_int16 yycheck[] = static const yytype_uint16 yystos[] = { 0, 230, 0, 1, 4, 14, 17, 18, 23, 34, - 38, 39, 48, 63, 71, 72, 95, 108, 137, 148, - 149, 153, 154, 209, 231, 236, 241, 265, 271, 285, + 37, 38, 61, 66, 74, 95, 112, 129, 142, 143, + 160, 173, 182, 186, 231, 236, 241, 265, 271, 285, 303, 326, 340, 355, 362, 366, 376, 385, 405, 411, 417, 421, 427, 484, 499, 223, 224, 225, 225, 304, - 386, 412, 225, 422, 225, 341, 406, 327, 225, 225, - 286, 356, 225, 225, 367, 377, 225, 1, 24, 31, + 386, 412, 225, 422, 225, 341, 406, 327, 225, 286, + 356, 225, 225, 377, 225, 225, 367, 1, 24, 31, 96, 266, 267, 268, 269, 270, 1, 21, 22, 27, - 67, 68, 75, 76, 77, 101, 102, 113, 114, 485, + 64, 65, 70, 71, 77, 78, 79, 102, 103, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 498, 225, 225, 225, 1, 62, 418, 419, + 496, 497, 498, 225, 225, 225, 1, 60, 418, 419, 420, 225, 1, 6, 7, 12, 20, 26, 28, 29, - 30, 35, 41, 42, 44, 45, 46, 50, 56, 60, - 61, 64, 74, 81, 83, 85, 87, 88, 89, 103, - 109, 110, 111, 112, 115, 116, 119, 152, 156, 159, - 160, 161, 162, 163, 166, 167, 210, 211, 212, 215, - 220, 428, 429, 430, 431, 432, 433, 434, 435, 436, + 30, 35, 40, 41, 43, 44, 45, 47, 54, 58, + 59, 67, 76, 84, 86, 88, 90, 92, 93, 104, + 109, 110, 111, 113, 114, 115, 118, 144, 150, 151, + 152, 153, 154, 183, 207, 208, 210, 211, 212, 216, + 221, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 477, 481, 482, - 483, 225, 225, 225, 1, 216, 272, 273, 274, 275, - 276, 1, 94, 118, 237, 238, 239, 240, 225, 225, - 1, 37, 51, 52, 53, 54, 55, 70, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 1, 24, 58, - 82, 86, 96, 98, 99, 129, 131, 132, 133, 134, - 151, 175, 186, 217, 218, 242, 243, 244, 245, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 225, 225, 1, 96, 363, 364, - 365, 223, 226, 226, 226, 224, 267, 226, 226, 226, + 483, 225, 225, 225, 1, 94, 117, 237, 238, 239, + 240, 225, 225, 1, 36, 48, 49, 51, 52, 53, + 73, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 1, 24, 56, 63, 85, 89, 96, 99, 100, 131, + 148, 149, 174, 192, 193, 194, 219, 220, 242, 243, + 244, 245, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 225, 1, 217, + 272, 273, 274, 275, 276, 1, 96, 363, 364, 365, + 225, 223, 226, 226, 226, 224, 267, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 224, - 486, 1, 15, 16, 19, 36, 78, 79, 80, 84, - 90, 91, 96, 106, 107, 120, 146, 190, 305, 306, + 486, 1, 15, 16, 19, 62, 80, 81, 82, 83, + 87, 91, 96, 107, 108, 119, 141, 178, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 1, 3, 5, 17, - 32, 36, 57, 59, 69, 96, 121, 147, 175, 217, + 32, 55, 57, 62, 72, 96, 120, 140, 192, 219, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 400, 401, 402, 403, 404, 1, 62, 123, 413, 414, + 400, 401, 402, 403, 404, 1, 60, 123, 413, 414, 415, 416, 226, 224, 419, 1, 96, 123, 423, 424, 425, 426, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 226, 226, 226, 226, 226, 226, 226, 478, + 226, 474, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 478, 226, 474, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 224, 429, 1, 17, 32, 36, 117, 124, 125, 157, - 214, 342, 343, 344, 345, 346, 347, 348, 352, 353, - 354, 1, 123, 214, 407, 408, 409, 410, 1, 36, - 57, 62, 121, 328, 332, 333, 334, 338, 339, 223, - 226, 224, 273, 222, 223, 226, 226, 224, 238, 1, - 17, 32, 36, 96, 117, 130, 198, 214, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 299, 1, 34, - 73, 123, 357, 358, 359, 360, 361, 226, 226, 226, - 226, 226, 226, 226, 224, 501, 223, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 224, 243, 1, 96, 155, 214, - 368, 369, 370, 371, 372, 1, 96, 155, 378, 379, - 380, 381, 226, 224, 364, 122, 122, 122, 223, 105, - 105, 164, 105, 233, 233, 105, 105, 105, 164, 164, - 105, 233, 223, 223, 226, 226, 226, 323, 226, 226, + 224, 429, 1, 17, 32, 62, 116, 124, 125, 145, + 218, 342, 343, 344, 345, 346, 347, 348, 352, 353, + 354, 1, 123, 218, 407, 408, 409, 410, 1, 55, + 60, 62, 120, 328, 332, 333, 334, 338, 339, 223, + 226, 226, 224, 238, 1, 17, 32, 62, 96, 116, + 132, 197, 218, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 299, 1, 34, 75, 123, 357, 358, 359, + 360, 361, 226, 226, 226, 226, 226, 226, 226, 224, + 501, 223, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 226, 226, 226, 226, 226, 226, 226, 224, + 243, 1, 96, 214, 378, 379, 380, 381, 223, 226, + 224, 273, 166, 226, 224, 364, 1, 96, 214, 218, + 368, 369, 370, 371, 372, 121, 121, 121, 223, 106, + 106, 206, 106, 106, 233, 233, 233, 106, 106, 106, + 206, 206, 223, 223, 226, 226, 226, 323, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 224, 306, 223, 226, 226, 226, 226, 397, 226, 226, + 224, 306, 223, 226, 226, 226, 226, 226, 226, 397, 226, 226, 226, 226, 226, 226, 224, 388, 226, 226, - 224, 414, 122, 223, 226, 226, 224, 424, 164, 233, - 233, 105, 164, 164, 105, 122, 164, 233, 164, 233, - 105, 105, 105, 164, 164, 164, 233, 105, 105, 233, - 105, 105, 105, 105, 164, 164, 226, 164, 226, 233, - 233, 164, 164, 164, 164, 164, 165, 164, 165, 164, - 164, 233, 233, 122, 233, 164, 164, 164, 223, 223, + 224, 414, 121, 223, 226, 226, 224, 424, 206, 233, + 233, 106, 206, 206, 106, 121, 206, 233, 206, 106, + 106, 233, 106, 206, 206, 206, 233, 106, 106, 233, + 106, 106, 106, 106, 206, 226, 206, 226, 206, 233, + 233, 206, 206, 206, 206, 209, 206, 209, 206, 206, + 121, 233, 206, 206, 233, 233, 206, 206, 223, 223, 226, 226, 349, 226, 226, 226, 226, 226, 224, 343, - 226, 226, 224, 408, 223, 329, 226, 226, 226, 224, - 333, 164, 223, 225, 122, 122, 223, 223, 226, 226, - 300, 226, 226, 226, 296, 226, 224, 288, 223, 226, - 226, 226, 224, 358, 164, 164, 122, 164, 164, 164, - 233, 223, 122, 164, 105, 105, 122, 122, 122, 122, - 122, 122, 135, 136, 246, 247, 135, 136, 248, 249, - 122, 122, 105, 122, 122, 223, 223, 226, 373, 226, - 224, 369, 223, 226, 382, 224, 379, 122, 223, 223, - 223, 223, 223, 223, 223, 139, 140, 141, 142, 143, - 144, 145, 232, 233, 223, 223, 223, 223, 223, 223, - 223, 223, 223, 105, 105, 233, 226, 105, 105, 105, - 105, 233, 233, 122, 105, 105, 233, 105, 235, 235, - 223, 122, 183, 184, 122, 164, 226, 122, 122, 122, - 122, 105, 122, 122, 122, 223, 122, 122, 223, 223, - 122, 122, 223, 223, 223, 223, 223, 223, 223, 223, + 226, 226, 224, 408, 223, 226, 226, 329, 226, 224, + 333, 121, 121, 223, 223, 226, 226, 300, 226, 226, + 226, 296, 226, 224, 288, 223, 226, 226, 226, 224, + 358, 206, 206, 121, 206, 206, 206, 233, 223, 121, + 206, 121, 106, 106, 121, 121, 121, 121, 121, 121, + 106, 121, 195, 196, 246, 247, 195, 196, 248, 249, + 121, 121, 223, 223, 226, 382, 224, 379, 206, 223, + 225, 121, 223, 223, 226, 373, 226, 224, 369, 223, + 223, 223, 223, 223, 223, 223, 133, 134, 135, 136, + 137, 138, 139, 232, 233, 223, 223, 223, 223, 223, + 223, 223, 223, 106, 106, 233, 226, 106, 106, 233, + 106, 106, 233, 121, 106, 106, 233, 106, 235, 235, + 223, 121, 170, 171, 121, 206, 121, 121, 226, 121, + 121, 106, 121, 121, 121, 223, 121, 121, 223, 223, + 121, 121, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 51, 170, 171, 172, 173, 174, 176, 177, 179, - 180, 181, 182, 185, 187, 188, 189, 191, 193, 195, - 196, 199, 205, 479, 480, 223, 51, 170, 171, 172, - 173, 174, 176, 177, 179, 180, 181, 182, 185, 187, - 188, 189, 191, 193, 195, 196, 199, 205, 475, 476, + 48, 156, 157, 158, 159, 161, 162, 164, 165, 167, + 169, 172, 175, 176, 177, 179, 184, 188, 189, 190, + 198, 203, 479, 480, 223, 48, 156, 157, 158, 159, + 161, 162, 164, 165, 167, 169, 172, 175, 176, 177, + 179, 184, 188, 189, 190, 198, 203, 475, 476, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 223, 223, 223, 223, 223, 223, 223, 223, 122, - 164, 226, 122, 105, 122, 122, 122, 223, 122, 122, - 223, 226, 122, 122, 105, 336, 337, 223, 223, 1, - 96, 155, 221, 277, 278, 279, 280, 281, 223, 223, - 122, 164, 226, 122, 122, 122, 226, 122, 223, 122, - 122, 122, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 121, + 206, 226, 121, 106, 121, 121, 121, 223, 121, 121, + 223, 121, 121, 226, 106, 336, 337, 223, 223, 223, + 121, 206, 226, 121, 121, 121, 226, 121, 223, 121, + 121, 121, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 227, 223, 227, 223, 223, 223, 223, 223, 122, - 226, 122, 223, 122, 226, 223, 223, 232, 232, 232, - 232, 232, 232, 232, 223, 223, 223, 92, 93, 324, + 223, 223, 223, 223, 227, 223, 227, 223, 223, 121, + 226, 223, 223, 1, 96, 187, 214, 277, 278, 279, + 280, 281, 223, 121, 226, 121, 223, 232, 232, 232, + 232, 232, 232, 232, 223, 223, 223, 50, 122, 324, 325, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 9, 10, 11, 234, 235, 223, 223, 223, 223, - 223, 223, 223, 8, 197, 398, 399, 223, 223, 223, + 223, 223, 223, 223, 223, 8, 191, 398, 399, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 227, 223, 227, 223, 223, 13, 33, 43, 49, 66, - 97, 104, 138, 158, 207, 350, 351, 223, 223, 223, - 223, 223, 223, 223, 51, 192, 197, 330, 331, 223, - 223, 168, 227, 335, 223, 226, 282, 226, 224, 278, - 223, 223, 4, 18, 25, 40, 63, 65, 94, 126, - 128, 150, 178, 185, 189, 194, 200, 204, 206, 208, - 213, 219, 301, 302, 223, 223, 223, 51, 170, 171, - 172, 173, 174, 176, 177, 179, 180, 181, 182, 185, - 187, 188, 189, 191, 193, 195, 196, 199, 205, 297, - 298, 223, 223, 223, 223, 247, 249, 223, 65, 137, - 169, 178, 185, 200, 202, 203, 213, 219, 374, 375, - 223, 223, 65, 137, 169, 178, 185, 200, 202, 203, - 213, 219, 383, 384, 223, 227, 234, 234, 234, 223, - 227, 480, 476, 223, 227, 223, 227, 105, 337, 223, - 122, 226, 201, 235, 223, 228, 228, 228, 223, 227, - 223, 227, 223, 227, 223, 227, 325, 399, 351, 331, - 223, 40, 63, 65, 108, 177, 178, 214, 283, 284, - 223, 223, 127, 127, 127, 302, 298, 375, 384, 223, + 227, 223, 227, 223, 223, 13, 33, 42, 69, 97, + 98, 105, 130, 146, 205, 350, 351, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 48, 181, 191, 330, + 331, 213, 227, 335, 223, 223, 4, 18, 25, 39, + 66, 68, 94, 126, 128, 147, 163, 168, 172, 177, + 180, 185, 199, 204, 215, 222, 301, 302, 223, 223, + 223, 48, 156, 157, 158, 159, 161, 162, 164, 165, + 167, 169, 172, 175, 176, 177, 179, 184, 188, 189, + 190, 198, 203, 297, 298, 223, 223, 223, 223, 247, + 249, 223, 68, 129, 155, 163, 172, 199, 201, 202, + 215, 222, 383, 384, 223, 226, 226, 282, 224, 278, + 223, 68, 129, 155, 163, 172, 199, 201, 202, 215, + 222, 374, 375, 223, 223, 227, 234, 234, 234, 223, + 227, 480, 476, 223, 227, 223, 227, 106, 337, 223, + 228, 228, 228, 223, 227, 223, 227, 223, 227, 121, + 200, 235, 226, 223, 223, 227, 325, 399, 351, 331, + 127, 127, 127, 302, 298, 384, 223, 223, 223, 39, + 66, 68, 112, 162, 163, 218, 283, 284, 375, 223, 227, 284 }; @@ -3374,58 +3372,58 @@ yyreduce: #line 549 "conf_parser.y" { #ifdef HAVE_LIBCRYPTO - if (conf_parser_ctx.pass == 1) - { - BIO *file; + BIO *file = NULL; - if (ServerInfo.rsa_private_key) - { - RSA_free(ServerInfo.rsa_private_key); - ServerInfo.rsa_private_key = NULL; - } + if (conf_parser_ctx.pass != 1) + break; - if (ServerInfo.rsa_private_key_file) - { - MyFree(ServerInfo.rsa_private_key_file); - ServerInfo.rsa_private_key_file = NULL; - } + if (ServerInfo.rsa_private_key) + { + RSA_free(ServerInfo.rsa_private_key); + ServerInfo.rsa_private_key = NULL; + } - ServerInfo.rsa_private_key_file = xstrdup(yylval.string); + if (ServerInfo.rsa_private_key_file) + { + MyFree(ServerInfo.rsa_private_key_file); + ServerInfo.rsa_private_key_file = NULL; + } - if ((file = BIO_new_file(yylval.string, "r")) == NULL) - { - conf_error_report("File open failed, ignoring"); - break; - } + ServerInfo.rsa_private_key_file = xstrdup(yylval.string); - ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL); + if ((file = BIO_new_file(yylval.string, "r")) == NULL) + { + conf_error_report("File open failed, ignoring"); + break; + } - BIO_set_close(file, BIO_CLOSE); - BIO_free(file); + ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL); - if (ServerInfo.rsa_private_key == NULL) - { - conf_error_report("Couldn't extract key, ignoring"); - break; - } + BIO_set_close(file, BIO_CLOSE); + BIO_free(file); - if (!RSA_check_key(ServerInfo.rsa_private_key)) - { - RSA_free(ServerInfo.rsa_private_key); - ServerInfo.rsa_private_key = NULL; + if (ServerInfo.rsa_private_key == NULL) + { + conf_error_report("Couldn't extract key, ignoring"); + break; + } - conf_error_report("Invalid key, ignoring"); - break; - } + if (!RSA_check_key(ServerInfo.rsa_private_key)) + { + RSA_free(ServerInfo.rsa_private_key); + ServerInfo.rsa_private_key = NULL; - /* require 2048 bit (256 byte) key */ - if (RSA_size(ServerInfo.rsa_private_key) != 256) - { - RSA_free(ServerInfo.rsa_private_key); - ServerInfo.rsa_private_key = NULL; + conf_error_report("Invalid key, ignoring"); + break; + } - conf_error_report("Not a 2048 bit key, ignoring"); - } + /* require 2048 bit (256 byte) key */ + if (RSA_size(ServerInfo.rsa_private_key) != 256) + { + RSA_free(ServerInfo.rsa_private_key); + ServerInfo.rsa_private_key = NULL; + + conf_error_report("Not a 2048 bit key, ignoring"); } #endif } @@ -3542,11 +3540,11 @@ yyreduce: /* Line 1787 of yacc.c */ #line 697 "conf_parser.y" { - if (conf_parser_ctx.pass == 2) - { - MyFree(ServerInfo.network_desc); - ServerInfo.network_desc = xstrdup(yylval.string); - } + if (conf_parser_ctx.pass != 2) + break; + + MyFree(ServerInfo.network_desc); + ServerInfo.network_desc = xstrdup(yylval.string); } break; @@ -3705,11 +3703,11 @@ yyreduce: /* Line 1787 of yacc.c */ #line 848 "conf_parser.y" { - if (conf_parser_ctx.pass == 2) - { - MyFree(AdminInfo.name); - AdminInfo.name = xstrdup(yylval.string); - } + if (conf_parser_ctx.pass != 2) + break; + + MyFree(AdminInfo.name); + AdminInfo.name = xstrdup(yylval.string); } break; @@ -3717,11 +3715,11 @@ yyreduce: /* Line 1787 of yacc.c */ #line 857 "conf_parser.y" { - if (conf_parser_ctx.pass == 2) - { - MyFree(AdminInfo.email); - AdminInfo.email = xstrdup(yylval.string); - } + if (conf_parser_ctx.pass != 2) + break; + + MyFree(AdminInfo.email); + AdminInfo.email = xstrdup(yylval.string); } break; @@ -3729,11 +3727,11 @@ yyreduce: /* Line 1787 of yacc.c */ #line 866 "conf_parser.y" { - if (conf_parser_ctx.pass == 2) - { - MyFree(AdminInfo.description); - AdminInfo.description = xstrdup(yylval.string); - } + if (conf_parser_ctx.pass != 2) + break; + + MyFree(AdminInfo.description); + AdminInfo.description = xstrdup(yylval.string); } break; @@ -3891,8 +3889,8 @@ yyreduce: if (!block_state.name.buf[0]) break; #ifdef HAVE_LIBCRYPTO - if (!(block_state.file.buf[0] || - block_state.rpass.buf[0])) + if (!block_state.file.buf[0] && + !block_state.rpass.buf[0]) break; #else if (!block_state.rpass.buf[0]) @@ -3983,13 +3981,13 @@ yyreduce: /* Line 1787 of yacc.c */ #line 1067 "conf_parser.y" { - if (conf_parser_ctx.pass == 2) - { - if (yylval.number) - block_state.flags.value |= CONF_FLAGS_ENCRYPTED; - else - block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED; - } + if (conf_parser_ctx.pass != 2) + break; + + if (yylval.number) + block_state.flags.value |= CONF_FLAGS_ENCRYPTED; + else + block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED; } break; @@ -5067,13 +5065,13 @@ yyreduce: /* Line 1787 of yacc.c */ #line 1776 "conf_parser.y" { - if (conf_parser_ctx.pass == 2) + if (conf_parser_ctx.pass != 2) + break; + + if (valid_servname(yylval.string)) { - if (valid_servname(yylval.string)) - { - struct MaskItem *conf = conf_make(CONF_SERVICE); - conf->name = xstrdup(yylval.string); - } + struct MaskItem *conf = conf_make(CONF_SERVICE); + conf->name = xstrdup(yylval.string); } } break; @@ -6748,7 +6746,7 @@ yyreduce: /* Line 1787 of yacc.c */ -#line 6752 "conf_parser.c" +#line 6750 "conf_parser.c" default: break; } /* User semantic actions sometimes alter yychar, and that requires diff --git a/src/conf_parser.h b/src/conf_parser.h index c929837..d1cc8b8 100644 --- a/src/conf_parser.h +++ b/src/conf_parser.h @@ -79,193 +79,193 @@ extern int yydebug; EXCEED_LIMIT = 288, EXEMPT = 289, FAILED_OPER_NOTICE = 290, - IRCD_FLAGS = 291, - FLATTEN_LINKS = 292, - GECOS = 293, - GENERAL = 294, - GLINE = 295, - GLINE_DURATION = 296, - GLINE_ENABLE = 297, - GLINE_EXEMPT = 298, - GLINE_REQUEST_DURATION = 299, - GLINE_MIN_CIDR = 300, - GLINE_MIN_CIDR6 = 301, - GLOBAL_KILL = 302, - IRCD_AUTH = 303, - NEED_IDENT = 304, - HAVENT_READ_CONF = 305, - HIDDEN = 306, - HIDDEN_NAME = 307, - HIDE_SERVER_IPS = 308, - HIDE_SERVERS = 309, - HIDE_SERVICES = 310, - HIDE_SPOOF_IPS = 311, - HOST = 312, - HUB = 313, - HUB_MASK = 314, - IGNORE_BOGUS_TS = 315, - INVISIBLE_ON_CONNECT = 316, - IP = 317, - KILL = 318, - KILL_CHASE_TIME_LIMIT = 319, - KLINE = 320, - KLINE_EXEMPT = 321, - KNOCK_DELAY = 322, - KNOCK_DELAY_CHANNEL = 323, - LEAF_MASK = 324, - LINKS_DELAY = 325, - LISTEN = 326, - T_LOG = 327, - MASK = 328, - MAX_ACCEPT = 329, - MAX_BANS = 330, - MAX_CHANS_PER_OPER = 331, - MAX_CHANS_PER_USER = 332, - MAX_GLOBAL = 333, - MAX_IDENT = 334, - MAX_LOCAL = 335, - MAX_NICK_CHANGES = 336, - MAX_NICK_LENGTH = 337, - MAX_NICK_TIME = 338, - MAX_NUMBER = 339, - MAX_TARGETS = 340, - MAX_TOPIC_LENGTH = 341, - MAX_WATCH = 342, - MIN_NONWILDCARD = 343, - MIN_NONWILDCARD_SIMPLE = 344, - MIN_IDLE = 345, - MAX_IDLE = 346, - RANDOM_IDLE = 347, - HIDE_IDLE_FROM_OPERS = 348, + FLATTEN_LINKS = 291, + GECOS = 292, + GENERAL = 293, + GLINE = 294, + GLINE_DURATION = 295, + GLINE_ENABLE = 296, + GLINE_EXEMPT = 297, + GLINE_MIN_CIDR = 298, + GLINE_MIN_CIDR6 = 299, + GLINE_REQUEST_DURATION = 300, + GLOBAL_KILL = 301, + HAVENT_READ_CONF = 302, + HIDDEN = 303, + HIDDEN_NAME = 304, + HIDE_IDLE_FROM_OPERS = 305, + HIDE_SERVER_IPS = 306, + HIDE_SERVERS = 307, + HIDE_SERVICES = 308, + HIDE_SPOOF_IPS = 309, + HOST = 310, + HUB = 311, + HUB_MASK = 312, + IGNORE_BOGUS_TS = 313, + INVISIBLE_ON_CONNECT = 314, + IP = 315, + IRCD_AUTH = 316, + IRCD_FLAGS = 317, + IRCD_SID = 318, + JOIN_FLOOD_COUNT = 319, + JOIN_FLOOD_TIME = 320, + KILL = 321, + KILL_CHASE_TIME_LIMIT = 322, + KLINE = 323, + KLINE_EXEMPT = 324, + KNOCK_DELAY = 325, + KNOCK_DELAY_CHANNEL = 326, + LEAF_MASK = 327, + LINKS_DELAY = 328, + LISTEN = 329, + MASK = 330, + MAX_ACCEPT = 331, + MAX_BANS = 332, + MAX_CHANS_PER_OPER = 333, + MAX_CHANS_PER_USER = 334, + MAX_GLOBAL = 335, + MAX_IDENT = 336, + MAX_IDLE = 337, + MAX_LOCAL = 338, + MAX_NICK_CHANGES = 339, + MAX_NICK_LENGTH = 340, + MAX_NICK_TIME = 341, + MAX_NUMBER = 342, + MAX_TARGETS = 343, + MAX_TOPIC_LENGTH = 344, + MAX_WATCH = 345, + MIN_IDLE = 346, + MIN_NONWILDCARD = 347, + MIN_NONWILDCARD_SIMPLE = 348, MODULE = 349, MODULES = 350, NAME = 351, - NEED_PASSWORD = 352, - NETWORK_DESC = 353, - NETWORK_NAME = 354, - NICK = 355, - NO_CREATE_ON_SPLIT = 356, - NO_JOIN_ON_SPLIT = 357, - NO_OPER_FLOOD = 358, - NO_TILDE = 359, - NUMBER = 360, - NUMBER_PER_CIDR = 361, - NUMBER_PER_IP = 362, - OPERATOR = 363, - OPERS_BYPASS_CALLERID = 364, - OPER_ONLY_UMODES = 365, - OPER_PASS_RESV = 366, - OPER_UMODES = 367, - JOIN_FLOOD_COUNT = 368, - JOIN_FLOOD_TIME = 369, - PACE_WAIT = 370, - PACE_WAIT_SIMPLE = 371, - PASSWORD = 372, - PATH = 373, - PING_COOKIE = 374, - PING_TIME = 375, - PORT = 376, - QSTRING = 377, + NEED_IDENT = 352, + NEED_PASSWORD = 353, + NETWORK_DESC = 354, + NETWORK_NAME = 355, + NICK = 356, + NO_CREATE_ON_SPLIT = 357, + NO_JOIN_ON_SPLIT = 358, + NO_OPER_FLOOD = 359, + NO_TILDE = 360, + NUMBER = 361, + NUMBER_PER_CIDR = 362, + NUMBER_PER_IP = 363, + OPER_ONLY_UMODES = 364, + OPER_PASS_RESV = 365, + OPER_UMODES = 366, + OPERATOR = 367, + OPERS_BYPASS_CALLERID = 368, + PACE_WAIT = 369, + PACE_WAIT_SIMPLE = 370, + PASSWORD = 371, + PATH = 372, + PING_COOKIE = 373, + PING_TIME = 374, + PORT = 375, + QSTRING = 376, + RANDOM_IDLE = 377, REASON = 378, REDIRPORT = 379, REDIRSERV = 380, REHASH = 381, REMOTE = 382, REMOTEBAN = 383, - RSA_PRIVATE_KEY_FILE = 384, - RSA_PUBLIC_KEY_FILE = 385, - SSL_CERTIFICATE_FILE = 386, - SSL_DH_PARAM_FILE = 387, - T_SSL_CLIENT_METHOD = 388, - T_SSL_SERVER_METHOD = 389, - T_SSLV3 = 390, - T_TLSV1 = 391, - RESV = 392, - RESV_EXEMPT = 393, - SECONDS = 394, - MINUTES = 395, - HOURS = 396, - DAYS = 397, - WEEKS = 398, - MONTHS = 399, - YEARS = 400, - SENDQ = 401, - SEND_PASSWORD = 402, - SERVERHIDE = 403, - SERVERINFO = 404, - SQUIT = 405, - IRCD_SID = 406, - TKLINE_EXPIRE_NOTICES = 407, - T_SHARED = 408, - T_CLUSTER = 409, - TYPE = 410, - SHORT_MOTD = 411, - SPOOF = 412, - SPOOF_NOTICE = 413, - STATS_E_DISABLED = 414, - STATS_I_OPER_ONLY = 415, - STATS_K_OPER_ONLY = 416, - STATS_O_OPER_ONLY = 417, - STATS_P_OPER_ONLY = 418, - TBOOL = 419, - TMASKED = 420, - TS_MAX_DELTA = 421, - TS_WARN_DELTA = 422, - TWODOTS = 423, - T_ALL = 424, - T_BOTS = 425, - T_SOFTCALLERID = 426, - T_CALLERID = 427, - T_CCONN = 428, - T_CCONN_FULL = 429, - T_SSL_CIPHER_LIST = 430, - T_DEAF = 431, - T_DEBUG = 432, - T_DLINE = 433, - T_EXTERNAL = 434, - T_FARCONNECT = 435, - T_FULL = 436, - T_INVISIBLE = 437, - T_IPV4 = 438, - T_IPV6 = 439, - T_LOCOPS = 440, - T_MAX_CLIENTS = 441, - T_NCHANGE = 442, - T_NONONREG = 443, - T_OPERWALL = 444, - T_RECVQ = 445, - T_REJ = 446, - T_SERVER = 447, - T_SERVNOTICE = 448, - T_SET = 449, - T_SKILL = 450, - T_SPY = 451, - T_SSL = 452, - T_UMODES = 453, - T_UNAUTH = 454, - T_UNDLINE = 455, - T_UNLIMITED = 456, - T_UNRESV = 457, - T_UNXLINE = 458, - T_GLOBOPS = 459, - T_WALLOP = 460, - T_WALLOPS = 461, - T_WEBIRC = 462, - T_RESTART = 463, - T_SERVICE = 464, - T_SERVICES_NAME = 465, - THROTTLE_TIME = 466, - TRUE_NO_OPER_FLOOD = 467, - UNKLINE = 468, - USER = 469, - USE_EGD = 470, - USE_LOGGING = 471, - VHOST = 472, - VHOST6 = 473, - XLINE = 474, - WARN_NO_NLINE = 475, - T_SIZE = 476, - T_FILE = 477 + RESV = 384, + RESV_EXEMPT = 385, + RSA_PRIVATE_KEY_FILE = 386, + RSA_PUBLIC_KEY_FILE = 387, + SECONDS = 388, + MINUTES = 389, + HOURS = 390, + DAYS = 391, + WEEKS = 392, + MONTHS = 393, + YEARS = 394, + SEND_PASSWORD = 395, + SENDQ = 396, + SERVERHIDE = 397, + SERVERINFO = 398, + SHORT_MOTD = 399, + SPOOF = 400, + SPOOF_NOTICE = 401, + SQUIT = 402, + SSL_CERTIFICATE_FILE = 403, + SSL_DH_PARAM_FILE = 404, + STATS_E_DISABLED = 405, + STATS_I_OPER_ONLY = 406, + STATS_K_OPER_ONLY = 407, + STATS_O_OPER_ONLY = 408, + STATS_P_OPER_ONLY = 409, + T_ALL = 410, + T_BOTS = 411, + T_CALLERID = 412, + T_CCONN = 413, + T_CCONN_FULL = 414, + T_CLUSTER = 415, + T_DEAF = 416, + T_DEBUG = 417, + T_DLINE = 418, + T_EXTERNAL = 419, + T_FARCONNECT = 420, + T_FILE = 421, + T_FULL = 422, + T_GLOBOPS = 423, + T_INVISIBLE = 424, + T_IPV4 = 425, + T_IPV6 = 426, + T_LOCOPS = 427, + T_LOG = 428, + T_MAX_CLIENTS = 429, + T_NCHANGE = 430, + T_NONONREG = 431, + T_OPERWALL = 432, + T_RECVQ = 433, + T_REJ = 434, + T_RESTART = 435, + T_SERVER = 436, + T_SERVICE = 437, + T_SERVICES_NAME = 438, + T_SERVNOTICE = 439, + T_SET = 440, + T_SHARED = 441, + T_SIZE = 442, + T_SKILL = 443, + T_SOFTCALLERID = 444, + T_SPY = 445, + T_SSL = 446, + T_SSL_CIPHER_LIST = 447, + T_SSL_CLIENT_METHOD = 448, + T_SSL_SERVER_METHOD = 449, + T_SSLV3 = 450, + T_TLSV1 = 451, + T_UMODES = 452, + T_UNAUTH = 453, + T_UNDLINE = 454, + T_UNLIMITED = 455, + T_UNRESV = 456, + T_UNXLINE = 457, + T_WALLOP = 458, + T_WALLOPS = 459, + T_WEBIRC = 460, + TBOOL = 461, + THROTTLE_TIME = 462, + TKLINE_EXPIRE_NOTICES = 463, + TMASKED = 464, + TRUE_NO_OPER_FLOOD = 465, + TS_MAX_DELTA = 466, + TS_WARN_DELTA = 467, + TWODOTS = 468, + TYPE = 469, + UNKLINE = 470, + USE_EGD = 471, + USE_LOGGING = 472, + USER = 473, + VHOST = 474, + VHOST6 = 475, + WARN_NO_NLINE = 476, + XLINE = 477 }; #endif /* Tokens. */ @@ -302,193 +302,193 @@ extern int yydebug; #define EXCEED_LIMIT 288 #define EXEMPT 289 #define FAILED_OPER_NOTICE 290 -#define IRCD_FLAGS 291 -#define FLATTEN_LINKS 292 -#define GECOS 293 -#define GENERAL 294 -#define GLINE 295 -#define GLINE_DURATION 296 -#define GLINE_ENABLE 297 -#define GLINE_EXEMPT 298 -#define GLINE_REQUEST_DURATION 299 -#define GLINE_MIN_CIDR 300 -#define GLINE_MIN_CIDR6 301 -#define GLOBAL_KILL 302 -#define IRCD_AUTH 303 -#define NEED_IDENT 304 -#define HAVENT_READ_CONF 305 -#define HIDDEN 306 -#define HIDDEN_NAME 307 -#define HIDE_SERVER_IPS 308 -#define HIDE_SERVERS 309 -#define HIDE_SERVICES 310 -#define HIDE_SPOOF_IPS 311 -#define HOST 312 -#define HUB 313 -#define HUB_MASK 314 -#define IGNORE_BOGUS_TS 315 -#define INVISIBLE_ON_CONNECT 316 -#define IP 317 -#define KILL 318 -#define KILL_CHASE_TIME_LIMIT 319 -#define KLINE 320 -#define KLINE_EXEMPT 321 -#define KNOCK_DELAY 322 -#define KNOCK_DELAY_CHANNEL 323 -#define LEAF_MASK 324 -#define LINKS_DELAY 325 -#define LISTEN 326 -#define T_LOG 327 -#define MASK 328 -#define MAX_ACCEPT 329 -#define MAX_BANS 330 -#define MAX_CHANS_PER_OPER 331 -#define MAX_CHANS_PER_USER 332 -#define MAX_GLOBAL 333 -#define MAX_IDENT 334 -#define MAX_LOCAL 335 -#define MAX_NICK_CHANGES 336 -#define MAX_NICK_LENGTH 337 -#define MAX_NICK_TIME 338 -#define MAX_NUMBER 339 -#define MAX_TARGETS 340 -#define MAX_TOPIC_LENGTH 341 -#define MAX_WATCH 342 -#define MIN_NONWILDCARD 343 -#define MIN_NONWILDCARD_SIMPLE 344 -#define MIN_IDLE 345 -#define MAX_IDLE 346 -#define RANDOM_IDLE 347 -#define HIDE_IDLE_FROM_OPERS 348 +#define FLATTEN_LINKS 291 +#define GECOS 292 +#define GENERAL 293 +#define GLINE 294 +#define GLINE_DURATION 295 +#define GLINE_ENABLE 296 +#define GLINE_EXEMPT 297 +#define GLINE_MIN_CIDR 298 +#define GLINE_MIN_CIDR6 299 +#define GLINE_REQUEST_DURATION 300 +#define GLOBAL_KILL 301 +#define HAVENT_READ_CONF 302 +#define HIDDEN 303 +#define HIDDEN_NAME 304 +#define HIDE_IDLE_FROM_OPERS 305 +#define HIDE_SERVER_IPS 306 +#define HIDE_SERVERS 307 +#define HIDE_SERVICES 308 +#define HIDE_SPOOF_IPS 309 +#define HOST 310 +#define HUB 311 +#define HUB_MASK 312 +#define IGNORE_BOGUS_TS 313 +#define INVISIBLE_ON_CONNECT 314 +#define IP 315 +#define IRCD_AUTH 316 +#define IRCD_FLAGS 317 +#define IRCD_SID 318 +#define JOIN_FLOOD_COUNT 319 +#define JOIN_FLOOD_TIME 320 +#define KILL 321 +#define KILL_CHASE_TIME_LIMIT 322 +#define KLINE 323 +#define KLINE_EXEMPT 324 +#define KNOCK_DELAY 325 +#define KNOCK_DELAY_CHANNEL 326 +#define LEAF_MASK 327 +#define LINKS_DELAY 328 +#define LISTEN 329 +#define MASK 330 +#define MAX_ACCEPT 331 +#define MAX_BANS 332 +#define MAX_CHANS_PER_OPER 333 +#define MAX_CHANS_PER_USER 334 +#define MAX_GLOBAL 335 +#define MAX_IDENT 336 +#define MAX_IDLE 337 +#define MAX_LOCAL 338 +#define MAX_NICK_CHANGES 339 +#define MAX_NICK_LENGTH 340 +#define MAX_NICK_TIME 341 +#define MAX_NUMBER 342 +#define MAX_TARGETS 343 +#define MAX_TOPIC_LENGTH 344 +#define MAX_WATCH 345 +#define MIN_IDLE 346 +#define MIN_NONWILDCARD 347 +#define MIN_NONWILDCARD_SIMPLE 348 #define MODULE 349 #define MODULES 350 #define NAME 351 -#define NEED_PASSWORD 352 -#define NETWORK_DESC 353 -#define NETWORK_NAME 354 -#define NICK 355 -#define NO_CREATE_ON_SPLIT 356 -#define NO_JOIN_ON_SPLIT 357 -#define NO_OPER_FLOOD 358 -#define NO_TILDE 359 -#define NUMBER 360 -#define NUMBER_PER_CIDR 361 -#define NUMBER_PER_IP 362 -#define OPERATOR 363 -#define OPERS_BYPASS_CALLERID 364 -#define OPER_ONLY_UMODES 365 -#define OPER_PASS_RESV 366 -#define OPER_UMODES 367 -#define JOIN_FLOOD_COUNT 368 -#define JOIN_FLOOD_TIME 369 -#define PACE_WAIT 370 -#define PACE_WAIT_SIMPLE 371 -#define PASSWORD 372 -#define PATH 373 -#define PING_COOKIE 374 -#define PING_TIME 375 -#define PORT 376 -#define QSTRING 377 +#define NEED_IDENT 352 +#define NEED_PASSWORD 353 +#define NETWORK_DESC 354 +#define NETWORK_NAME 355 +#define NICK 356 +#define NO_CREATE_ON_SPLIT 357 +#define NO_JOIN_ON_SPLIT 358 +#define NO_OPER_FLOOD 359 +#define NO_TILDE 360 +#define NUMBER 361 +#define NUMBER_PER_CIDR 362 +#define NUMBER_PER_IP 363 +#define OPER_ONLY_UMODES 364 +#define OPER_PASS_RESV 365 +#define OPER_UMODES 366 +#define OPERATOR 367 +#define OPERS_BYPASS_CALLERID 368 +#define PACE_WAIT 369 +#define PACE_WAIT_SIMPLE 370 +#define PASSWORD 371 +#define PATH 372 +#define PING_COOKIE 373 +#define PING_TIME 374 +#define PORT 375 +#define QSTRING 376 +#define RANDOM_IDLE 377 #define REASON 378 #define REDIRPORT 379 #define REDIRSERV 380 #define REHASH 381 #define REMOTE 382 #define REMOTEBAN 383 -#define RSA_PRIVATE_KEY_FILE 384 -#define RSA_PUBLIC_KEY_FILE 385 -#define SSL_CERTIFICATE_FILE 386 -#define SSL_DH_PARAM_FILE 387 -#define T_SSL_CLIENT_METHOD 388 -#define T_SSL_SERVER_METHOD 389 -#define T_SSLV3 390 -#define T_TLSV1 391 -#define RESV 392 -#define RESV_EXEMPT 393 -#define SECONDS 394 -#define MINUTES 395 -#define HOURS 396 -#define DAYS 397 -#define WEEKS 398 -#define MONTHS 399 -#define YEARS 400 -#define SENDQ 401 -#define SEND_PASSWORD 402 -#define SERVERHIDE 403 -#define SERVERINFO 404 -#define SQUIT 405 -#define IRCD_SID 406 -#define TKLINE_EXPIRE_NOTICES 407 -#define T_SHARED 408 -#define T_CLUSTER 409 -#define TYPE 410 -#define SHORT_MOTD 411 -#define SPOOF 412 -#define SPOOF_NOTICE 413 -#define STATS_E_DISABLED 414 -#define STATS_I_OPER_ONLY 415 -#define STATS_K_OPER_ONLY 416 -#define STATS_O_OPER_ONLY 417 -#define STATS_P_OPER_ONLY 418 -#define TBOOL 419 -#define TMASKED 420 -#define TS_MAX_DELTA 421 -#define TS_WARN_DELTA 422 -#define TWODOTS 423 -#define T_ALL 424 -#define T_BOTS 425 -#define T_SOFTCALLERID 426 -#define T_CALLERID 427 -#define T_CCONN 428 -#define T_CCONN_FULL 429 -#define T_SSL_CIPHER_LIST 430 -#define T_DEAF 431 -#define T_DEBUG 432 -#define T_DLINE 433 -#define T_EXTERNAL 434 -#define T_FARCONNECT 435 -#define T_FULL 436 -#define T_INVISIBLE 437 -#define T_IPV4 438 -#define T_IPV6 439 -#define T_LOCOPS 440 -#define T_MAX_CLIENTS 441 -#define T_NCHANGE 442 -#define T_NONONREG 443 -#define T_OPERWALL 444 -#define T_RECVQ 445 -#define T_REJ 446 -#define T_SERVER 447 -#define T_SERVNOTICE 448 -#define T_SET 449 -#define T_SKILL 450 -#define T_SPY 451 -#define T_SSL 452 -#define T_UMODES 453 -#define T_UNAUTH 454 -#define T_UNDLINE 455 -#define T_UNLIMITED 456 -#define T_UNRESV 457 -#define T_UNXLINE 458 -#define T_GLOBOPS 459 -#define T_WALLOP 460 -#define T_WALLOPS 461 -#define T_WEBIRC 462 -#define T_RESTART 463 -#define T_SERVICE 464 -#define T_SERVICES_NAME 465 -#define THROTTLE_TIME 466 -#define TRUE_NO_OPER_FLOOD 467 -#define UNKLINE 468 -#define USER 469 -#define USE_EGD 470 -#define USE_LOGGING 471 -#define VHOST 472 -#define VHOST6 473 -#define XLINE 474 -#define WARN_NO_NLINE 475 -#define T_SIZE 476 -#define T_FILE 477 +#define RESV 384 +#define RESV_EXEMPT 385 +#define RSA_PRIVATE_KEY_FILE 386 +#define RSA_PUBLIC_KEY_FILE 387 +#define SECONDS 388 +#define MINUTES 389 +#define HOURS 390 +#define DAYS 391 +#define WEEKS 392 +#define MONTHS 393 +#define YEARS 394 +#define SEND_PASSWORD 395 +#define SENDQ 396 +#define SERVERHIDE 397 +#define SERVERINFO 398 +#define SHORT_MOTD 399 +#define SPOOF 400 +#define SPOOF_NOTICE 401 +#define SQUIT 402 +#define SSL_CERTIFICATE_FILE 403 +#define SSL_DH_PARAM_FILE 404 +#define STATS_E_DISABLED 405 +#define STATS_I_OPER_ONLY 406 +#define STATS_K_OPER_ONLY 407 +#define STATS_O_OPER_ONLY 408 +#define STATS_P_OPER_ONLY 409 +#define T_ALL 410 +#define T_BOTS 411 +#define T_CALLERID 412 +#define T_CCONN 413 +#define T_CCONN_FULL 414 +#define T_CLUSTER 415 +#define T_DEAF 416 +#define T_DEBUG 417 +#define T_DLINE 418 +#define T_EXTERNAL 419 +#define T_FARCONNECT 420 +#define T_FILE 421 +#define T_FULL 422 +#define T_GLOBOPS 423 +#define T_INVISIBLE 424 +#define T_IPV4 425 +#define T_IPV6 426 +#define T_LOCOPS 427 +#define T_LOG 428 +#define T_MAX_CLIENTS 429 +#define T_NCHANGE 430 +#define T_NONONREG 431 +#define T_OPERWALL 432 +#define T_RECVQ 433 +#define T_REJ 434 +#define T_RESTART 435 +#define T_SERVER 436 +#define T_SERVICE 437 +#define T_SERVICES_NAME 438 +#define T_SERVNOTICE 439 +#define T_SET 440 +#define T_SHARED 441 +#define T_SIZE 442 +#define T_SKILL 443 +#define T_SOFTCALLERID 444 +#define T_SPY 445 +#define T_SSL 446 +#define T_SSL_CIPHER_LIST 447 +#define T_SSL_CLIENT_METHOD 448 +#define T_SSL_SERVER_METHOD 449 +#define T_SSLV3 450 +#define T_TLSV1 451 +#define T_UMODES 452 +#define T_UNAUTH 453 +#define T_UNDLINE 454 +#define T_UNLIMITED 455 +#define T_UNRESV 456 +#define T_UNXLINE 457 +#define T_WALLOP 458 +#define T_WALLOPS 459 +#define T_WEBIRC 460 +#define TBOOL 461 +#define THROTTLE_TIME 462 +#define TKLINE_EXPIRE_NOTICES 463 +#define TMASKED 464 +#define TRUE_NO_OPER_FLOOD 465 +#define TS_MAX_DELTA 466 +#define TS_WARN_DELTA 467 +#define TWODOTS 468 +#define TYPE 469 +#define UNKLINE 470 +#define USE_EGD 471 +#define USE_LOGGING 472 +#define USER 473 +#define VHOST 474 +#define VHOST6 475 +#define WARN_NO_NLINE 476 +#define XLINE 477 diff --git a/src/conf_parser.y b/src/conf_parser.y index 3a30ed6..4aeec9f 100644 --- a/src/conf_parser.y +++ b/src/conf_parser.y @@ -150,8 +150,8 @@ reset_block_state(void) %token CALLER_ID_WAIT %token CAN_FLOOD %token CHANNEL -%token CIDR_BITLEN_IPV4 -%token CIDR_BITLEN_IPV6 +%token CIDR_BITLEN_IPV4 +%token CIDR_BITLEN_IPV6 %token CLASS %token CONNECT %token CONNECTFREQ @@ -171,7 +171,6 @@ reset_block_state(void) %token EXCEED_LIMIT %token EXEMPT %token FAILED_OPER_NOTICE -%token IRCD_FLAGS %token FLATTEN_LINKS %token GECOS %token GENERAL @@ -179,27 +178,31 @@ reset_block_state(void) %token GLINE_DURATION %token GLINE_ENABLE %token GLINE_EXEMPT -%token GLINE_REQUEST_DURATION %token GLINE_MIN_CIDR %token GLINE_MIN_CIDR6 +%token GLINE_REQUEST_DURATION %token GLOBAL_KILL -%token IRCD_AUTH -%token NEED_IDENT %token HAVENT_READ_CONF %token HIDDEN -%token HIDDEN_NAME +%token HIDDEN_NAME +%token HIDE_IDLE_FROM_OPERS %token HIDE_SERVER_IPS %token HIDE_SERVERS %token HIDE_SERVICES -%token HIDE_SPOOF_IPS +%token HIDE_SPOOF_IPS %token HOST %token HUB %token HUB_MASK %token IGNORE_BOGUS_TS %token INVISIBLE_ON_CONNECT %token IP +%token IRCD_AUTH +%token IRCD_FLAGS +%token IRCD_SID +%token JOIN_FLOOD_COUNT +%token JOIN_FLOOD_TIME %token KILL -%token KILL_CHASE_TIME_LIMIT +%token KILL_CHASE_TIME_LIMIT %token KLINE %token KLINE_EXEMPT %token KNOCK_DELAY @@ -207,7 +210,6 @@ reset_block_state(void) %token LEAF_MASK %token LINKS_DELAY %token LISTEN -%token T_LOG %token MASK %token MAX_ACCEPT %token MAX_BANS @@ -215,6 +217,7 @@ reset_block_state(void) %token MAX_CHANS_PER_USER %token MAX_GLOBAL %token MAX_IDENT +%token MAX_IDLE %token MAX_LOCAL %token MAX_NICK_CHANGES %token MAX_NICK_LENGTH @@ -223,15 +226,13 @@ reset_block_state(void) %token MAX_TARGETS %token MAX_TOPIC_LENGTH %token MAX_WATCH +%token MIN_IDLE %token MIN_NONWILDCARD %token MIN_NONWILDCARD_SIMPLE -%token MIN_IDLE -%token MAX_IDLE -%token RANDOM_IDLE -%token HIDE_IDLE_FROM_OPERS %token MODULE %token MODULES %token NAME +%token NEED_IDENT %token NEED_PASSWORD %token NETWORK_DESC %token NETWORK_NAME @@ -243,13 +244,11 @@ reset_block_state(void) %token NUMBER %token NUMBER_PER_CIDR %token NUMBER_PER_IP -%token OPERATOR -%token OPERS_BYPASS_CALLERID %token OPER_ONLY_UMODES %token OPER_PASS_RESV %token OPER_UMODES -%token JOIN_FLOOD_COUNT -%token JOIN_FLOOD_TIME +%token OPERATOR +%token OPERS_BYPASS_CALLERID %token PACE_WAIT %token PACE_WAIT_SIMPLE %token PASSWORD @@ -258,107 +257,108 @@ reset_block_state(void) %token PING_TIME %token PORT %token QSTRING +%token RANDOM_IDLE %token REASON %token REDIRPORT %token REDIRSERV %token REHASH %token REMOTE %token REMOTEBAN -%token RSA_PRIVATE_KEY_FILE -%token RSA_PUBLIC_KEY_FILE -%token SSL_CERTIFICATE_FILE -%token SSL_DH_PARAM_FILE -%token T_SSL_CLIENT_METHOD -%token T_SSL_SERVER_METHOD -%token T_SSLV3 -%token T_TLSV1 %token RESV %token RESV_EXEMPT +%token RSA_PRIVATE_KEY_FILE +%token RSA_PUBLIC_KEY_FILE %token SECONDS MINUTES HOURS DAYS WEEKS MONTHS YEARS -%token SENDQ %token SEND_PASSWORD +%token SENDQ %token SERVERHIDE %token SERVERINFO -%token SQUIT -%token IRCD_SID -%token TKLINE_EXPIRE_NOTICES -%token T_SHARED -%token T_CLUSTER -%token TYPE %token SHORT_MOTD %token SPOOF %token SPOOF_NOTICE +%token SQUIT +%token SSL_CERTIFICATE_FILE +%token SSL_DH_PARAM_FILE %token STATS_E_DISABLED %token STATS_I_OPER_ONLY %token STATS_K_OPER_ONLY %token STATS_O_OPER_ONLY %token STATS_P_OPER_ONLY -%token TBOOL -%token TMASKED -%token TS_MAX_DELTA -%token TS_WARN_DELTA -%token TWODOTS %token T_ALL %token T_BOTS -%token T_SOFTCALLERID %token T_CALLERID %token T_CCONN %token T_CCONN_FULL -%token T_SSL_CIPHER_LIST +%token T_CLUSTER %token T_DEAF %token T_DEBUG %token T_DLINE %token T_EXTERNAL %token T_FARCONNECT +%token T_FILE %token T_FULL +%token T_GLOBOPS %token T_INVISIBLE %token T_IPV4 %token T_IPV6 %token T_LOCOPS +%token T_LOG %token T_MAX_CLIENTS %token T_NCHANGE %token T_NONONREG %token T_OPERWALL %token T_RECVQ %token T_REJ +%token T_RESTART %token T_SERVER +%token T_SERVICE +%token T_SERVICES_NAME %token T_SERVNOTICE %token T_SET +%token T_SHARED +%token T_SIZE %token T_SKILL +%token T_SOFTCALLERID %token T_SPY %token T_SSL +%token T_SSL_CIPHER_LIST +%token T_SSL_CLIENT_METHOD +%token T_SSL_SERVER_METHOD +%token T_SSLV3 +%token T_TLSV1 %token T_UMODES %token T_UNAUTH %token T_UNDLINE %token T_UNLIMITED %token T_UNRESV %token T_UNXLINE -%token T_GLOBOPS %token T_WALLOP %token T_WALLOPS %token T_WEBIRC -%token T_RESTART -%token T_SERVICE -%token T_SERVICES_NAME +%token TBOOL %token THROTTLE_TIME +%token TKLINE_EXPIRE_NOTICES +%token TMASKED %token TRUE_NO_OPER_FLOOD +%token TS_MAX_DELTA +%token TS_WARN_DELTA +%token TWODOTS +%token TYPE %token UNKLINE -%token USER %token USE_EGD %token USE_LOGGING +%token USER %token VHOST %token VHOST6 -%token XLINE %token WARN_NO_NLINE -%token T_SIZE -%token T_FILE +%token XLINE -%type <string> QSTRING -%type <number> NUMBER -%type <number> timespec -%type <number> timespec_ -%type <number> sizespec -%type <number> sizespec_ +%type <string> QSTRING +%type <number> NUMBER +%type <number> timespec +%type <number> timespec_ +%type <number> sizespec +%type <number> sizespec_ %% conf: @@ -548,58 +548,58 @@ serverinfo_ssl_certificate_file: SSL_CERTIFICATE_FILE '=' QSTRING ';' serverinfo_rsa_private_key_file: RSA_PRIVATE_KEY_FILE '=' QSTRING ';' { #ifdef HAVE_LIBCRYPTO - if (conf_parser_ctx.pass == 1) - { - BIO *file; + BIO *file = NULL; - if (ServerInfo.rsa_private_key) - { - RSA_free(ServerInfo.rsa_private_key); - ServerInfo.rsa_private_key = NULL; - } + if (conf_parser_ctx.pass != 1) + break; - if (ServerInfo.rsa_private_key_file) - { - MyFree(ServerInfo.rsa_private_key_file); - ServerInfo.rsa_private_key_file = NULL; - } + if (ServerInfo.rsa_private_key) + { + RSA_free(ServerInfo.rsa_private_key); + ServerInfo.rsa_private_key = NULL; + } + + if (ServerInfo.rsa_private_key_file) + { + MyFree(ServerInfo.rsa_private_key_file); + ServerInfo.rsa_private_key_file = NULL; + } - ServerInfo.rsa_private_key_file = xstrdup(yylval.string); + ServerInfo.rsa_private_key_file = xstrdup(yylval.string); - if ((file = BIO_new_file(yylval.string, "r")) == NULL) - { - conf_error_report("File open failed, ignoring"); - break; - } + if ((file = BIO_new_file(yylval.string, "r")) == NULL) + { + conf_error_report("File open failed, ignoring"); + break; + } - ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL); + ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL); - BIO_set_close(file, BIO_CLOSE); - BIO_free(file); + BIO_set_close(file, BIO_CLOSE); + BIO_free(file); - if (ServerInfo.rsa_private_key == NULL) - { - conf_error_report("Couldn't extract key, ignoring"); - break; - } + if (ServerInfo.rsa_private_key == NULL) + { + conf_error_report("Couldn't extract key, ignoring"); + break; + } - if (!RSA_check_key(ServerInfo.rsa_private_key)) - { - RSA_free(ServerInfo.rsa_private_key); - ServerInfo.rsa_private_key = NULL; + if (!RSA_check_key(ServerInfo.rsa_private_key)) + { + RSA_free(ServerInfo.rsa_private_key); + ServerInfo.rsa_private_key = NULL; - conf_error_report("Invalid key, ignoring"); - break; - } + conf_error_report("Invalid key, ignoring"); + break; + } - /* require 2048 bit (256 byte) key */ - if (RSA_size(ServerInfo.rsa_private_key) != 256) - { - RSA_free(ServerInfo.rsa_private_key); - ServerInfo.rsa_private_key = NULL; + /* require 2048 bit (256 byte) key */ + if (RSA_size(ServerInfo.rsa_private_key) != 256) + { + RSA_free(ServerInfo.rsa_private_key); + ServerInfo.rsa_private_key = NULL; - conf_error_report("Not a 2048 bit key, ignoring"); - } + conf_error_report("Not a 2048 bit key, ignoring"); } #endif }; @@ -695,11 +695,11 @@ serverinfo_network_name: NETWORK_NAME '=' QSTRING ';' serverinfo_network_desc: NETWORK_DESC '=' QSTRING ';' { - if (conf_parser_ctx.pass == 2) - { - MyFree(ServerInfo.network_desc); - ServerInfo.network_desc = xstrdup(yylval.string); - } + if (conf_parser_ctx.pass != 2) + break; + + MyFree(ServerInfo.network_desc); + ServerInfo.network_desc = xstrdup(yylval.string); }; serverinfo_vhost: VHOST '=' QSTRING ';' @@ -846,29 +846,29 @@ admin_item: admin_name | admin_description | admin_name: NAME '=' QSTRING ';' { - if (conf_parser_ctx.pass == 2) - { - MyFree(AdminInfo.name); - AdminInfo.name = xstrdup(yylval.string); - } + if (conf_parser_ctx.pass != 2) + break; + + MyFree(AdminInfo.name); + AdminInfo.name = xstrdup(yylval.string); }; admin_email: EMAIL '=' QSTRING ';' { - if (conf_parser_ctx.pass == 2) - { - MyFree(AdminInfo.email); - AdminInfo.email = xstrdup(yylval.string); - } + if (conf_parser_ctx.pass != 2) + break; + + MyFree(AdminInfo.email); + AdminInfo.email = xstrdup(yylval.string); }; admin_description: DESCRIPTION '=' QSTRING ';' { - if (conf_parser_ctx.pass == 2) - { - MyFree(AdminInfo.description); - AdminInfo.description = xstrdup(yylval.string); - } + if (conf_parser_ctx.pass != 2) + break; + + MyFree(AdminInfo.description); + AdminInfo.description = xstrdup(yylval.string); }; /*************************************************************************** @@ -980,8 +980,8 @@ oper_entry: OPERATOR if (!block_state.name.buf[0]) break; #ifdef HAVE_LIBCRYPTO - if (!(block_state.file.buf[0] || - block_state.rpass.buf[0])) + if (!block_state.file.buf[0] && + !block_state.rpass.buf[0]) break; #else if (!block_state.rpass.buf[0]) @@ -1065,13 +1065,13 @@ oper_password: PASSWORD '=' QSTRING ';' oper_encrypted: ENCRYPTED '=' TBOOL ';' { - if (conf_parser_ctx.pass == 2) - { - if (yylval.number) - block_state.flags.value |= CONF_FLAGS_ENCRYPTED; - else - block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED; - } + if (conf_parser_ctx.pass != 2) + break; + + if (yylval.number) + block_state.flags.value |= CONF_FLAGS_ENCRYPTED; + else + block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED; }; oper_rsa_public_key_file: RSA_PUBLIC_KEY_FILE '=' QSTRING ';' @@ -1774,13 +1774,13 @@ service_item: service_name | error; service_name: NAME '=' QSTRING ';' { - if (conf_parser_ctx.pass == 2) + if (conf_parser_ctx.pass != 2) + break; + + if (valid_servname(yylval.string)) { - if (valid_servname(yylval.string)) - { - struct MaskItem *conf = conf_make(CONF_SERVICE); - conf->name = xstrdup(yylval.string); - } + struct MaskItem *conf = conf_make(CONF_SERVICE); + conf->name = xstrdup(yylval.string); } }; |