diff options
Diffstat (limited to 'src/conf_lexer.c')
-rw-r--r-- | src/conf_lexer.c | 562 |
1 files changed, 283 insertions, 279 deletions
diff --git a/src/conf_lexer.c b/src/conf_lexer.c index 8ce9382..f53c524 100644 --- a/src/conf_lexer.c +++ b/src/conf_lexer.c @@ -8,7 +8,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 37 +#define YY_FLEX_SUBMINOR_VERSION 39 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -167,6 +167,7 @@ extern FILE *yyin, *yyout; #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) + #define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ @@ -1697,10 +1698,9 @@ static int yy_more_len = 0; char *yytext; #line 1 "conf_lexer.l" /* - * ircd-hybrid: an advanced Internet Relay Chat Daemon(ircd). - * conf_lexer.l: Scans the ircd configuration file for tokens. + * ircd-hybrid: an advanced, lightweight Internet Relay Chat Daemon (ircd) * - * Copyright (C) 2002 by the past and present ircd coders, and others. + * Copyright (c) 2000-2014 ircd-hybrid development team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -1716,10 +1716,12 @@ char *yytext; * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA - * - * $Id$ */ -#line 31 "conf_lexer.l" +/*! \file ircd_lexer.l + * \brief Scans the ircd configuration file for tokens. + * \version $Id$ + */ +#line 33 "conf_lexer.l" #include "stdinc.h" #include "irc_string.h" #include "conf.h" @@ -1730,7 +1732,7 @@ char *yytext; #define YY_FATAL_ERROR(msg) conf_yy_fatal_error(msg) #define YY_INPUT(buf,result,max_size) \ if (!(result = conf_yy_input(buf, max_size))) \ - YY_FATAL_ERROR("input in flex scanner failed"); + YY_FATAL_ERROR("input in flex scanner failed"); #define MAX_INCLUDE_DEPTH 10 @@ -1759,7 +1761,7 @@ conf_yy_fatal_error(const char *msg) return 0; } -#line 1763 "conf_lexer.c" +#line 1765 "conf_lexer.c" #define INITIAL 0 @@ -1939,10 +1941,6 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 78 "conf_lexer.l" - -#line 1945 "conf_lexer.c" - if ( !(yy_init) ) { (yy_init) = 1; @@ -1969,6 +1967,11 @@ YY_DECL yy_load_buffer_state( ); } + { +#line 80 "conf_lexer.l" + +#line 1974 "conf_lexer.c" + while ( 1 ) /* loops until end-of-file is reached */ { (yy_more_len) = 0; @@ -1991,7 +1994,7 @@ YY_DECL yy_match: do { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -2028,39 +2031,39 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 79 "conf_lexer.l" +#line 81 "conf_lexer.l" { cinclude(); } YY_BREAK case 2: YY_RULE_SETUP -#line 80 "conf_lexer.l" +#line 82 "conf_lexer.l" { ccomment(); } YY_BREAK case 3: /* rule 3 can match eol */ YY_RULE_SETUP -#line 82 "conf_lexer.l" +#line 84 "conf_lexer.l" { strlcpy(linebuf, yytext+1, sizeof(linebuf)); ++lineno; yyless(1); } YY_BREAK case 4: YY_RULE_SETUP -#line 84 "conf_lexer.l" +#line 86 "conf_lexer.l" ; YY_BREAK case 5: YY_RULE_SETUP -#line 85 "conf_lexer.l" +#line 87 "conf_lexer.l" ; YY_BREAK case 6: YY_RULE_SETUP -#line 87 "conf_lexer.l" +#line 89 "conf_lexer.l" { yylval.number = atoi(yytext); return NUMBER; } YY_BREAK case 7: /* rule 7 can match eol */ YY_RULE_SETUP -#line 89 "conf_lexer.l" +#line 91 "conf_lexer.l" { if (yytext[yyleng-2] == '\\') { yyless(yyleng-1); /* return last quote */ @@ -2076,9 +2079,9 @@ YY_RULE_SETUP int i,j; yylval.string[yyleng-2] = '\0'; /* remove close - * quote + * quote */ - + for (j=i=0 ;yylval.string[i] != '\0'; i++,j++) { if (yylval.string[i] != '\\') @@ -2088,7 +2091,7 @@ YY_RULE_SETUP else { i++; - if (yylval.string[i] == '\0') /* XXX + if (yylval.string[i] == '\0') /* XXX * should not * happen */ @@ -2108,1239 +2111,1239 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 134 "conf_lexer.l" +#line 136 "conf_lexer.l" { return ACCEPT_PASSWORD; } YY_BREAK case 9: YY_RULE_SETUP -#line 135 "conf_lexer.l" +#line 137 "conf_lexer.l" { return ADMIN; } YY_BREAK case 10: YY_RULE_SETUP -#line 136 "conf_lexer.l" +#line 138 "conf_lexer.l" { return ADMIN; } YY_BREAK case 11: YY_RULE_SETUP -#line 137 "conf_lexer.l" +#line 139 "conf_lexer.l" { return AFTYPE; } YY_BREAK case 12: YY_RULE_SETUP -#line 138 "conf_lexer.l" +#line 140 "conf_lexer.l" { return T_ALL; } YY_BREAK case 13: YY_RULE_SETUP -#line 139 "conf_lexer.l" +#line 141 "conf_lexer.l" { return ANTI_NICK_FLOOD; } YY_BREAK case 14: YY_RULE_SETUP -#line 140 "conf_lexer.l" +#line 142 "conf_lexer.l" { return ANTI_SPAM_EXIT_MESSAGE_TIME; } YY_BREAK case 15: YY_RULE_SETUP -#line 141 "conf_lexer.l" +#line 143 "conf_lexer.l" { return IRCD_AUTH; } YY_BREAK case 16: YY_RULE_SETUP -#line 142 "conf_lexer.l" +#line 144 "conf_lexer.l" { return AUTOCONN; } YY_BREAK case 17: YY_RULE_SETUP -#line 143 "conf_lexer.l" +#line 145 "conf_lexer.l" { return T_BOTS; } YY_BREAK case 18: YY_RULE_SETUP -#line 144 "conf_lexer.l" +#line 146 "conf_lexer.l" { return CALLER_ID_WAIT; } YY_BREAK case 19: YY_RULE_SETUP -#line 145 "conf_lexer.l" +#line 147 "conf_lexer.l" { return T_CALLERID; } YY_BREAK case 20: YY_RULE_SETUP -#line 146 "conf_lexer.l" +#line 148 "conf_lexer.l" { return CAN_FLOOD; } YY_BREAK case 21: YY_RULE_SETUP -#line 147 "conf_lexer.l" +#line 149 "conf_lexer.l" { return T_CCONN; } YY_BREAK case 22: YY_RULE_SETUP -#line 148 "conf_lexer.l" +#line 150 "conf_lexer.l" { return CHANNEL; } YY_BREAK case 23: YY_RULE_SETUP -#line 149 "conf_lexer.l" +#line 151 "conf_lexer.l" { return CIDR_BITLEN_IPV4; } YY_BREAK case 24: YY_RULE_SETUP -#line 150 "conf_lexer.l" +#line 152 "conf_lexer.l" { return CIDR_BITLEN_IPV6; } YY_BREAK case 25: YY_RULE_SETUP -#line 151 "conf_lexer.l" +#line 153 "conf_lexer.l" { return CLASS; } YY_BREAK case 26: YY_RULE_SETUP -#line 152 "conf_lexer.l" +#line 154 "conf_lexer.l" { return T_CLUSTER; } YY_BREAK case 27: YY_RULE_SETUP -#line 153 "conf_lexer.l" +#line 155 "conf_lexer.l" { return CONNECT; } YY_BREAK case 28: YY_RULE_SETUP -#line 154 "conf_lexer.l" +#line 156 "conf_lexer.l" { return CONNECTFREQ; } YY_BREAK case 29: YY_RULE_SETUP -#line 155 "conf_lexer.l" +#line 157 "conf_lexer.l" { return CYCLE_ON_HOST_CHANGE; } YY_BREAK case 30: YY_RULE_SETUP -#line 156 "conf_lexer.l" +#line 158 "conf_lexer.l" { return T_DEAF; } YY_BREAK case 31: YY_RULE_SETUP -#line 157 "conf_lexer.l" +#line 159 "conf_lexer.l" { return T_DEBUG; } YY_BREAK case 32: YY_RULE_SETUP -#line 158 "conf_lexer.l" +#line 160 "conf_lexer.l" { return DEFAULT_FLOODCOUNT; } YY_BREAK case 33: YY_RULE_SETUP -#line 159 "conf_lexer.l" +#line 161 "conf_lexer.l" { return DEFAULT_SPLIT_SERVER_COUNT; } YY_BREAK case 34: YY_RULE_SETUP -#line 160 "conf_lexer.l" +#line 162 "conf_lexer.l" { return DEFAULT_SPLIT_USER_COUNT; } YY_BREAK case 35: YY_RULE_SETUP -#line 161 "conf_lexer.l" +#line 163 "conf_lexer.l" { return DENY; } YY_BREAK case 36: YY_RULE_SETUP -#line 162 "conf_lexer.l" +#line 164 "conf_lexer.l" { return DESCRIPTION; } YY_BREAK case 37: YY_RULE_SETUP -#line 163 "conf_lexer.l" +#line 165 "conf_lexer.l" { return DIE; } YY_BREAK case 38: YY_RULE_SETUP -#line 164 "conf_lexer.l" +#line 166 "conf_lexer.l" { return DISABLE_AUTH; } YY_BREAK case 39: YY_RULE_SETUP -#line 165 "conf_lexer.l" +#line 167 "conf_lexer.l" { return DISABLE_FAKE_CHANNELS; } YY_BREAK case 40: YY_RULE_SETUP -#line 166 "conf_lexer.l" +#line 168 "conf_lexer.l" { return DISABLE_REMOTE_COMMANDS; } YY_BREAK case 41: YY_RULE_SETUP -#line 167 "conf_lexer.l" +#line 169 "conf_lexer.l" { return T_DLINE; } YY_BREAK case 42: YY_RULE_SETUP -#line 168 "conf_lexer.l" +#line 170 "conf_lexer.l" { return DOTS_IN_IDENT; } YY_BREAK case 43: YY_RULE_SETUP -#line 169 "conf_lexer.l" +#line 171 "conf_lexer.l" { return EGDPOOL_PATH; } YY_BREAK case 44: YY_RULE_SETUP -#line 170 "conf_lexer.l" +#line 172 "conf_lexer.l" { return EMAIL; } YY_BREAK case 45: YY_RULE_SETUP -#line 171 "conf_lexer.l" +#line 173 "conf_lexer.l" { return ENCRYPTED; } YY_BREAK case 46: YY_RULE_SETUP -#line 172 "conf_lexer.l" +#line 174 "conf_lexer.l" { return EXCEED_LIMIT; } YY_BREAK case 47: YY_RULE_SETUP -#line 173 "conf_lexer.l" +#line 175 "conf_lexer.l" { return EXEMPT; } YY_BREAK case 48: YY_RULE_SETUP -#line 174 "conf_lexer.l" +#line 176 "conf_lexer.l" { return T_EXTERNAL; } YY_BREAK case 49: YY_RULE_SETUP -#line 175 "conf_lexer.l" +#line 177 "conf_lexer.l" { return FAILED_OPER_NOTICE; } YY_BREAK case 50: YY_RULE_SETUP -#line 176 "conf_lexer.l" +#line 178 "conf_lexer.l" { return T_FARCONNECT; } YY_BREAK case 51: YY_RULE_SETUP -#line 177 "conf_lexer.l" +#line 179 "conf_lexer.l" { return T_FILE; } YY_BREAK case 52: YY_RULE_SETUP -#line 178 "conf_lexer.l" +#line 180 "conf_lexer.l" { return IRCD_FLAGS; } YY_BREAK case 53: YY_RULE_SETUP -#line 179 "conf_lexer.l" +#line 181 "conf_lexer.l" { return FLATTEN_LINKS; } YY_BREAK case 54: YY_RULE_SETUP -#line 180 "conf_lexer.l" +#line 182 "conf_lexer.l" { return T_FULL; } YY_BREAK case 55: YY_RULE_SETUP -#line 181 "conf_lexer.l" +#line 183 "conf_lexer.l" { return GECOS; } YY_BREAK case 56: YY_RULE_SETUP -#line 182 "conf_lexer.l" +#line 184 "conf_lexer.l" { return GENERAL; } YY_BREAK case 57: YY_RULE_SETUP -#line 183 "conf_lexer.l" +#line 185 "conf_lexer.l" { return GLINE; } YY_BREAK case 58: YY_RULE_SETUP -#line 184 "conf_lexer.l" +#line 186 "conf_lexer.l" { return GLINE_DURATION; } YY_BREAK case 59: YY_RULE_SETUP -#line 185 "conf_lexer.l" +#line 187 "conf_lexer.l" { return GLINE_ENABLE; } YY_BREAK case 60: YY_RULE_SETUP -#line 186 "conf_lexer.l" +#line 188 "conf_lexer.l" { return GLINE_EXEMPT; } YY_BREAK case 61: YY_RULE_SETUP -#line 187 "conf_lexer.l" +#line 189 "conf_lexer.l" { return GLINE_MIN_CIDR; } YY_BREAK case 62: YY_RULE_SETUP -#line 188 "conf_lexer.l" +#line 190 "conf_lexer.l" { return GLINE_MIN_CIDR6; } YY_BREAK case 63: YY_RULE_SETUP -#line 189 "conf_lexer.l" +#line 191 "conf_lexer.l" { return GLINE_REQUEST_DURATION; } YY_BREAK case 64: YY_RULE_SETUP -#line 190 "conf_lexer.l" +#line 192 "conf_lexer.l" { return GLOBAL_KILL; } YY_BREAK case 65: YY_RULE_SETUP -#line 191 "conf_lexer.l" +#line 193 "conf_lexer.l" { return T_GLOBOPS; } YY_BREAK case 66: YY_RULE_SETUP -#line 192 "conf_lexer.l" +#line 194 "conf_lexer.l" { return NEED_IDENT; } YY_BREAK case 67: YY_RULE_SETUP -#line 193 "conf_lexer.l" +#line 195 "conf_lexer.l" { return HAVENT_READ_CONF; } YY_BREAK case 68: YY_RULE_SETUP -#line 194 "conf_lexer.l" +#line 196 "conf_lexer.l" { return HIDDEN; } YY_BREAK case 69: YY_RULE_SETUP -#line 195 "conf_lexer.l" +#line 197 "conf_lexer.l" { return HIDDEN_NAME; } YY_BREAK case 70: YY_RULE_SETUP -#line 196 "conf_lexer.l" +#line 198 "conf_lexer.l" { return HIDE_IDLE_FROM_OPERS; } YY_BREAK case 71: YY_RULE_SETUP -#line 197 "conf_lexer.l" +#line 199 "conf_lexer.l" { return HIDE_SERVER_IPS; } YY_BREAK case 72: YY_RULE_SETUP -#line 198 "conf_lexer.l" +#line 200 "conf_lexer.l" { return HIDE_SERVERS; } YY_BREAK case 73: YY_RULE_SETUP -#line 199 "conf_lexer.l" +#line 201 "conf_lexer.l" { return HIDE_SERVICES; } YY_BREAK case 74: YY_RULE_SETUP -#line 200 "conf_lexer.l" +#line 202 "conf_lexer.l" { return HIDE_SPOOF_IPS; } YY_BREAK case 75: YY_RULE_SETUP -#line 201 "conf_lexer.l" +#line 203 "conf_lexer.l" { return HOST; } YY_BREAK case 76: YY_RULE_SETUP -#line 202 "conf_lexer.l" +#line 204 "conf_lexer.l" { return HUB; } YY_BREAK case 77: YY_RULE_SETUP -#line 203 "conf_lexer.l" +#line 205 "conf_lexer.l" { return HUB_MASK; } YY_BREAK case 78: YY_RULE_SETUP -#line 204 "conf_lexer.l" +#line 206 "conf_lexer.l" { return IGNORE_BOGUS_TS; } YY_BREAK case 79: YY_RULE_SETUP -#line 205 "conf_lexer.l" +#line 207 "conf_lexer.l" { return T_INVISIBLE; } YY_BREAK case 80: YY_RULE_SETUP -#line 206 "conf_lexer.l" +#line 208 "conf_lexer.l" { return INVISIBLE_ON_CONNECT; } YY_BREAK case 81: YY_RULE_SETUP -#line 207 "conf_lexer.l" +#line 209 "conf_lexer.l" { return IP; } YY_BREAK case 82: YY_RULE_SETUP -#line 208 "conf_lexer.l" +#line 210 "conf_lexer.l" { return T_IPV4; } YY_BREAK case 83: YY_RULE_SETUP -#line 209 "conf_lexer.l" +#line 211 "conf_lexer.l" { return T_IPV6; } YY_BREAK case 84: YY_RULE_SETUP -#line 210 "conf_lexer.l" +#line 212 "conf_lexer.l" { return JOIN_FLOOD_COUNT; } YY_BREAK case 85: YY_RULE_SETUP -#line 211 "conf_lexer.l" +#line 213 "conf_lexer.l" { return JOIN_FLOOD_TIME; } YY_BREAK case 86: YY_RULE_SETUP -#line 212 "conf_lexer.l" +#line 214 "conf_lexer.l" { return KILL; } YY_BREAK case 87: YY_RULE_SETUP -#line 213 "conf_lexer.l" +#line 215 "conf_lexer.l" { return KILL_CHASE_TIME_LIMIT; } YY_BREAK case 88: YY_RULE_SETUP -#line 214 "conf_lexer.l" +#line 216 "conf_lexer.l" { return KLINE; } YY_BREAK case 89: YY_RULE_SETUP -#line 215 "conf_lexer.l" +#line 217 "conf_lexer.l" { return KLINE_EXEMPT; } YY_BREAK case 90: YY_RULE_SETUP -#line 216 "conf_lexer.l" +#line 218 "conf_lexer.l" { return KNOCK_DELAY; } YY_BREAK case 91: YY_RULE_SETUP -#line 217 "conf_lexer.l" +#line 219 "conf_lexer.l" { return KNOCK_DELAY_CHANNEL; } YY_BREAK case 92: YY_RULE_SETUP -#line 218 "conf_lexer.l" +#line 220 "conf_lexer.l" { return LEAF_MASK; } YY_BREAK case 93: YY_RULE_SETUP -#line 219 "conf_lexer.l" +#line 221 "conf_lexer.l" { return LINKS_DELAY; } YY_BREAK case 94: YY_RULE_SETUP -#line 220 "conf_lexer.l" +#line 222 "conf_lexer.l" { return LISTEN; } YY_BREAK case 95: YY_RULE_SETUP -#line 221 "conf_lexer.l" +#line 223 "conf_lexer.l" { return T_LOCOPS; } YY_BREAK case 96: YY_RULE_SETUP -#line 222 "conf_lexer.l" +#line 224 "conf_lexer.l" { return T_LOG; } YY_BREAK case 97: YY_RULE_SETUP -#line 223 "conf_lexer.l" +#line 225 "conf_lexer.l" { return MASK; } YY_BREAK case 98: YY_RULE_SETUP -#line 224 "conf_lexer.l" +#line 226 "conf_lexer.l" { return TMASKED; } YY_BREAK case 99: YY_RULE_SETUP -#line 225 "conf_lexer.l" +#line 227 "conf_lexer.l" { return MAX_ACCEPT; } YY_BREAK case 100: YY_RULE_SETUP -#line 226 "conf_lexer.l" +#line 228 "conf_lexer.l" { return MAX_BANS; } YY_BREAK case 101: YY_RULE_SETUP -#line 227 "conf_lexer.l" +#line 229 "conf_lexer.l" { return MAX_CHANS_PER_OPER; } YY_BREAK case 102: YY_RULE_SETUP -#line 228 "conf_lexer.l" +#line 230 "conf_lexer.l" { return MAX_CHANS_PER_USER; } YY_BREAK case 103: YY_RULE_SETUP -#line 229 "conf_lexer.l" +#line 231 "conf_lexer.l" { return T_MAX_CLIENTS; } YY_BREAK case 104: YY_RULE_SETUP -#line 230 "conf_lexer.l" +#line 232 "conf_lexer.l" { return MAX_GLOBAL; } YY_BREAK case 105: YY_RULE_SETUP -#line 231 "conf_lexer.l" +#line 233 "conf_lexer.l" { return MAX_IDENT; } YY_BREAK case 106: YY_RULE_SETUP -#line 232 "conf_lexer.l" +#line 234 "conf_lexer.l" { return MAX_IDLE; } YY_BREAK case 107: YY_RULE_SETUP -#line 233 "conf_lexer.l" +#line 235 "conf_lexer.l" { return MAX_LOCAL; } YY_BREAK case 108: YY_RULE_SETUP -#line 234 "conf_lexer.l" +#line 236 "conf_lexer.l" { return MAX_NICK_CHANGES; } YY_BREAK case 109: YY_RULE_SETUP -#line 235 "conf_lexer.l" +#line 237 "conf_lexer.l" { return MAX_NICK_LENGTH; } YY_BREAK case 110: YY_RULE_SETUP -#line 236 "conf_lexer.l" +#line 238 "conf_lexer.l" { return MAX_NICK_TIME; } YY_BREAK case 111: YY_RULE_SETUP -#line 237 "conf_lexer.l" +#line 239 "conf_lexer.l" { return MAX_NUMBER; } YY_BREAK case 112: YY_RULE_SETUP -#line 238 "conf_lexer.l" +#line 240 "conf_lexer.l" { return MAX_TARGETS; } YY_BREAK case 113: YY_RULE_SETUP -#line 239 "conf_lexer.l" +#line 241 "conf_lexer.l" { return MAX_TOPIC_LENGTH; } YY_BREAK case 114: YY_RULE_SETUP -#line 240 "conf_lexer.l" +#line 242 "conf_lexer.l" { return MAX_WATCH; } YY_BREAK case 115: YY_RULE_SETUP -#line 241 "conf_lexer.l" +#line 243 "conf_lexer.l" { return MIN_IDLE; } YY_BREAK case 116: YY_RULE_SETUP -#line 242 "conf_lexer.l" +#line 244 "conf_lexer.l" { return MIN_NONWILDCARD; } YY_BREAK case 117: YY_RULE_SETUP -#line 243 "conf_lexer.l" +#line 245 "conf_lexer.l" { return MIN_NONWILDCARD_SIMPLE; } YY_BREAK case 118: YY_RULE_SETUP -#line 244 "conf_lexer.l" +#line 246 "conf_lexer.l" { return MODULE; } YY_BREAK case 119: YY_RULE_SETUP -#line 245 "conf_lexer.l" +#line 247 "conf_lexer.l" { return MODULES; } YY_BREAK case 120: YY_RULE_SETUP -#line 246 "conf_lexer.l" +#line 248 "conf_lexer.l" { return MOTD; } YY_BREAK case 121: YY_RULE_SETUP -#line 247 "conf_lexer.l" +#line 249 "conf_lexer.l" { return NAME; } YY_BREAK case 122: YY_RULE_SETUP -#line 248 "conf_lexer.l" +#line 250 "conf_lexer.l" { return T_NCHANGE; } YY_BREAK case 123: YY_RULE_SETUP -#line 249 "conf_lexer.l" +#line 251 "conf_lexer.l" { return NEED_IDENT; } YY_BREAK case 124: YY_RULE_SETUP -#line 250 "conf_lexer.l" +#line 252 "conf_lexer.l" { return NEED_PASSWORD; } YY_BREAK case 125: YY_RULE_SETUP -#line 251 "conf_lexer.l" +#line 253 "conf_lexer.l" { return NETWORK_DESC; } YY_BREAK case 126: YY_RULE_SETUP -#line 252 "conf_lexer.l" +#line 254 "conf_lexer.l" { return NETWORK_NAME; } YY_BREAK case 127: YY_RULE_SETUP -#line 253 "conf_lexer.l" +#line 255 "conf_lexer.l" { return NICK; } YY_BREAK case 128: YY_RULE_SETUP -#line 254 "conf_lexer.l" +#line 256 "conf_lexer.l" { return NO_CREATE_ON_SPLIT; } YY_BREAK case 129: YY_RULE_SETUP -#line 255 "conf_lexer.l" +#line 257 "conf_lexer.l" { return NO_JOIN_ON_SPLIT; } YY_BREAK case 130: YY_RULE_SETUP -#line 256 "conf_lexer.l" +#line 258 "conf_lexer.l" { return NO_OPER_FLOOD; } YY_BREAK case 131: YY_RULE_SETUP -#line 257 "conf_lexer.l" +#line 259 "conf_lexer.l" { return NO_TILDE; } YY_BREAK case 132: YY_RULE_SETUP -#line 258 "conf_lexer.l" +#line 260 "conf_lexer.l" { return T_NONONREG; } YY_BREAK case 133: YY_RULE_SETUP -#line 259 "conf_lexer.l" +#line 261 "conf_lexer.l" { return NUMBER_PER_CIDR; } YY_BREAK case 134: YY_RULE_SETUP -#line 260 "conf_lexer.l" +#line 262 "conf_lexer.l" { return NUMBER_PER_IP; } YY_BREAK case 135: YY_RULE_SETUP -#line 261 "conf_lexer.l" +#line 263 "conf_lexer.l" { return OPERATOR; } YY_BREAK case 136: YY_RULE_SETUP -#line 262 "conf_lexer.l" +#line 264 "conf_lexer.l" { return OPER_ONLY_UMODES; } YY_BREAK case 137: YY_RULE_SETUP -#line 263 "conf_lexer.l" +#line 265 "conf_lexer.l" { return OPER_PASS_RESV; } YY_BREAK case 138: YY_RULE_SETUP -#line 264 "conf_lexer.l" +#line 266 "conf_lexer.l" { return OPER_UMODES; } YY_BREAK case 139: YY_RULE_SETUP -#line 265 "conf_lexer.l" +#line 267 "conf_lexer.l" { return OPERATOR; } YY_BREAK case 140: YY_RULE_SETUP -#line 266 "conf_lexer.l" +#line 268 "conf_lexer.l" { return OPERS_BYPASS_CALLERID; } YY_BREAK case 141: YY_RULE_SETUP -#line 267 "conf_lexer.l" +#line 269 "conf_lexer.l" { return T_OPERWALL; } YY_BREAK case 142: YY_RULE_SETUP -#line 268 "conf_lexer.l" +#line 270 "conf_lexer.l" { return PACE_WAIT; } YY_BREAK case 143: YY_RULE_SETUP -#line 269 "conf_lexer.l" +#line 271 "conf_lexer.l" { return PACE_WAIT_SIMPLE; } YY_BREAK case 144: YY_RULE_SETUP -#line 270 "conf_lexer.l" +#line 272 "conf_lexer.l" { return PASSWORD; } YY_BREAK case 145: YY_RULE_SETUP -#line 271 "conf_lexer.l" +#line 273 "conf_lexer.l" { return PASSWORD; } YY_BREAK case 146: YY_RULE_SETUP -#line 272 "conf_lexer.l" +#line 274 "conf_lexer.l" { return PATH; } YY_BREAK case 147: YY_RULE_SETUP -#line 273 "conf_lexer.l" +#line 275 "conf_lexer.l" { return PING_COOKIE; } YY_BREAK case 148: YY_RULE_SETUP -#line 274 "conf_lexer.l" +#line 276 "conf_lexer.l" { return PING_TIME; } YY_BREAK case 149: YY_RULE_SETUP -#line 275 "conf_lexer.l" +#line 277 "conf_lexer.l" { return PORT; } YY_BREAK case 150: YY_RULE_SETUP -#line 276 "conf_lexer.l" +#line 278 "conf_lexer.l" { return RESV; } YY_BREAK case 151: YY_RULE_SETUP -#line 277 "conf_lexer.l" +#line 279 "conf_lexer.l" { return RANDOM_IDLE; } YY_BREAK case 152: YY_RULE_SETUP -#line 278 "conf_lexer.l" +#line 280 "conf_lexer.l" { return REASON; } YY_BREAK case 153: YY_RULE_SETUP -#line 279 "conf_lexer.l" +#line 281 "conf_lexer.l" { return T_RECVQ; } YY_BREAK case 154: YY_RULE_SETUP -#line 280 "conf_lexer.l" +#line 282 "conf_lexer.l" { return REDIRPORT; } YY_BREAK case 155: YY_RULE_SETUP -#line 281 "conf_lexer.l" +#line 283 "conf_lexer.l" { return REDIRSERV; } YY_BREAK case 156: YY_RULE_SETUP -#line 282 "conf_lexer.l" +#line 284 "conf_lexer.l" { return REHASH; } YY_BREAK case 157: YY_RULE_SETUP -#line 283 "conf_lexer.l" +#line 285 "conf_lexer.l" { return T_REJ; } YY_BREAK case 158: YY_RULE_SETUP -#line 284 "conf_lexer.l" +#line 286 "conf_lexer.l" { return REMOTE; } YY_BREAK case 159: YY_RULE_SETUP -#line 285 "conf_lexer.l" +#line 287 "conf_lexer.l" { return REMOTEBAN; } YY_BREAK case 160: YY_RULE_SETUP -#line 286 "conf_lexer.l" +#line 288 "conf_lexer.l" { return T_RESTART; } YY_BREAK case 161: YY_RULE_SETUP -#line 287 "conf_lexer.l" +#line 289 "conf_lexer.l" { return RESV; } YY_BREAK case 162: YY_RULE_SETUP -#line 288 "conf_lexer.l" +#line 290 "conf_lexer.l" { return RESV_EXEMPT; } YY_BREAK case 163: YY_RULE_SETUP -#line 289 "conf_lexer.l" +#line 291 "conf_lexer.l" { return RSA_PRIVATE_KEY_FILE; } YY_BREAK case 164: YY_RULE_SETUP -#line 290 "conf_lexer.l" +#line 292 "conf_lexer.l" { return RSA_PUBLIC_KEY_FILE; } YY_BREAK case 165: YY_RULE_SETUP -#line 291 "conf_lexer.l" +#line 293 "conf_lexer.l" { return SEND_PASSWORD; } YY_BREAK case 166: YY_RULE_SETUP -#line 292 "conf_lexer.l" +#line 294 "conf_lexer.l" { return SENDQ; } YY_BREAK case 167: YY_RULE_SETUP -#line 293 "conf_lexer.l" +#line 295 "conf_lexer.l" { return T_SERVER; } YY_BREAK case 168: YY_RULE_SETUP -#line 294 "conf_lexer.l" +#line 296 "conf_lexer.l" { return SERVERHIDE; } YY_BREAK case 169: YY_RULE_SETUP -#line 295 "conf_lexer.l" +#line 297 "conf_lexer.l" { return SERVERINFO; } YY_BREAK case 170: YY_RULE_SETUP -#line 296 "conf_lexer.l" +#line 298 "conf_lexer.l" { return T_SERVICE; } YY_BREAK case 171: YY_RULE_SETUP -#line 297 "conf_lexer.l" +#line 299 "conf_lexer.l" { return T_SERVICES_NAME; } YY_BREAK case 172: YY_RULE_SETUP -#line 298 "conf_lexer.l" +#line 300 "conf_lexer.l" { return T_SERVNOTICE; } YY_BREAK case 173: YY_RULE_SETUP -#line 299 "conf_lexer.l" +#line 301 "conf_lexer.l" { return T_SET; } YY_BREAK case 174: YY_RULE_SETUP -#line 300 "conf_lexer.l" +#line 302 "conf_lexer.l" { return T_SHARED; } YY_BREAK case 175: YY_RULE_SETUP -#line 301 "conf_lexer.l" +#line 303 "conf_lexer.l" { return SHORT_MOTD; } YY_BREAK case 176: YY_RULE_SETUP -#line 302 "conf_lexer.l" +#line 304 "conf_lexer.l" { return IRCD_SID; } YY_BREAK case 177: YY_RULE_SETUP -#line 303 "conf_lexer.l" +#line 305 "conf_lexer.l" { return T_SIZE; } YY_BREAK case 178: YY_RULE_SETUP -#line 304 "conf_lexer.l" +#line 306 "conf_lexer.l" { return T_SKILL; } YY_BREAK case 179: YY_RULE_SETUP -#line 305 "conf_lexer.l" +#line 307 "conf_lexer.l" { return T_SOFTCALLERID; } YY_BREAK case 180: YY_RULE_SETUP -#line 306 "conf_lexer.l" +#line 308 "conf_lexer.l" { return SPOOF; } YY_BREAK case 181: YY_RULE_SETUP -#line 307 "conf_lexer.l" +#line 309 "conf_lexer.l" { return SPOOF_NOTICE; } YY_BREAK case 182: YY_RULE_SETUP -#line 308 "conf_lexer.l" +#line 310 "conf_lexer.l" { return T_SPY; } YY_BREAK case 183: YY_RULE_SETUP -#line 309 "conf_lexer.l" +#line 311 "conf_lexer.l" { return SQUIT; } YY_BREAK case 184: YY_RULE_SETUP -#line 310 "conf_lexer.l" +#line 312 "conf_lexer.l" { return T_SSL; } YY_BREAK case 185: YY_RULE_SETUP -#line 311 "conf_lexer.l" +#line 313 "conf_lexer.l" { return SSL_CERTIFICATE_FILE; } YY_BREAK case 186: YY_RULE_SETUP -#line 312 "conf_lexer.l" +#line 314 "conf_lexer.l" { return SSL_CERTIFICATE_FINGERPRINT; } YY_BREAK case 187: YY_RULE_SETUP -#line 313 "conf_lexer.l" +#line 315 "conf_lexer.l" { return T_SSL_CIPHER_LIST; } YY_BREAK case 188: YY_RULE_SETUP -#line 314 "conf_lexer.l" +#line 316 "conf_lexer.l" { return T_SSL_CLIENT_METHOD; } YY_BREAK case 189: YY_RULE_SETUP -#line 315 "conf_lexer.l" +#line 317 "conf_lexer.l" { return SSL_CONNECTION_REQUIRED; } YY_BREAK case 190: YY_RULE_SETUP -#line 316 "conf_lexer.l" +#line 318 "conf_lexer.l" { return SSL_DH_PARAM_FILE; } YY_BREAK case 191: YY_RULE_SETUP -#line 317 "conf_lexer.l" +#line 319 "conf_lexer.l" { return T_SSL_SERVER_METHOD; } YY_BREAK case 192: YY_RULE_SETUP -#line 318 "conf_lexer.l" +#line 320 "conf_lexer.l" { return T_SSLV3; } YY_BREAK case 193: YY_RULE_SETUP -#line 319 "conf_lexer.l" +#line 321 "conf_lexer.l" { return STATS_E_DISABLED; } YY_BREAK case 194: YY_RULE_SETUP -#line 320 "conf_lexer.l" +#line 322 "conf_lexer.l" { return STATS_I_OPER_ONLY; } YY_BREAK case 195: YY_RULE_SETUP -#line 321 "conf_lexer.l" +#line 323 "conf_lexer.l" { return STATS_K_OPER_ONLY; } YY_BREAK case 196: YY_RULE_SETUP -#line 322 "conf_lexer.l" +#line 324 "conf_lexer.l" { return STATS_O_OPER_ONLY; } YY_BREAK case 197: YY_RULE_SETUP -#line 323 "conf_lexer.l" +#line 325 "conf_lexer.l" { return STATS_P_OPER_ONLY; } YY_BREAK case 198: YY_RULE_SETUP -#line 324 "conf_lexer.l" +#line 326 "conf_lexer.l" { return STATS_U_OPER_ONLY; } YY_BREAK case 199: YY_RULE_SETUP -#line 325 "conf_lexer.l" +#line 327 "conf_lexer.l" { return THROTTLE_TIME; } YY_BREAK case 200: YY_RULE_SETUP -#line 326 "conf_lexer.l" +#line 328 "conf_lexer.l" { return TKLINE_EXPIRE_NOTICES; } YY_BREAK case 201: YY_RULE_SETUP -#line 327 "conf_lexer.l" +#line 329 "conf_lexer.l" { return T_TLSV1; } YY_BREAK case 202: YY_RULE_SETUP -#line 328 "conf_lexer.l" +#line 330 "conf_lexer.l" { return TRUE_NO_OPER_FLOOD; } YY_BREAK case 203: YY_RULE_SETUP -#line 329 "conf_lexer.l" +#line 331 "conf_lexer.l" { return TS_MAX_DELTA; } YY_BREAK case 204: YY_RULE_SETUP -#line 330 "conf_lexer.l" +#line 332 "conf_lexer.l" { return TS_WARN_DELTA; } YY_BREAK case 205: YY_RULE_SETUP -#line 331 "conf_lexer.l" +#line 333 "conf_lexer.l" { return TYPE; } YY_BREAK case 206: YY_RULE_SETUP -#line 332 "conf_lexer.l" +#line 334 "conf_lexer.l" { return T_UMODES; } YY_BREAK case 207: YY_RULE_SETUP -#line 333 "conf_lexer.l" +#line 335 "conf_lexer.l" { return T_UNAUTH; } YY_BREAK case 208: YY_RULE_SETUP -#line 334 "conf_lexer.l" +#line 336 "conf_lexer.l" { return T_UNDLINE; } YY_BREAK case 209: YY_RULE_SETUP -#line 335 "conf_lexer.l" +#line 337 "conf_lexer.l" { return UNKLINE; } YY_BREAK case 210: YY_RULE_SETUP -#line 336 "conf_lexer.l" +#line 338 "conf_lexer.l" { return T_UNLIMITED; } YY_BREAK case 211: YY_RULE_SETUP -#line 337 "conf_lexer.l" +#line 339 "conf_lexer.l" { return T_UNRESV; } YY_BREAK case 212: YY_RULE_SETUP -#line 338 "conf_lexer.l" +#line 340 "conf_lexer.l" { return T_UNXLINE; } YY_BREAK case 213: YY_RULE_SETUP -#line 339 "conf_lexer.l" +#line 341 "conf_lexer.l" { return USE_EGD; } YY_BREAK case 214: YY_RULE_SETUP -#line 340 "conf_lexer.l" +#line 342 "conf_lexer.l" { return USE_LOGGING; } YY_BREAK case 215: YY_RULE_SETUP -#line 341 "conf_lexer.l" -{ return USER; } +#line 343 "conf_lexer.l" +{ return USER; } YY_BREAK case 216: YY_RULE_SETUP -#line 342 "conf_lexer.l" +#line 344 "conf_lexer.l" { return VHOST; } YY_BREAK case 217: YY_RULE_SETUP -#line 343 "conf_lexer.l" +#line 345 "conf_lexer.l" { return VHOST6; } YY_BREAK case 218: YY_RULE_SETUP -#line 344 "conf_lexer.l" +#line 346 "conf_lexer.l" { return T_WALLOP; } YY_BREAK case 219: YY_RULE_SETUP -#line 345 "conf_lexer.l" +#line 347 "conf_lexer.l" { return T_WALLOPS; } YY_BREAK case 220: YY_RULE_SETUP -#line 346 "conf_lexer.l" +#line 348 "conf_lexer.l" { return WARN_NO_NLINE; } YY_BREAK case 221: YY_RULE_SETUP -#line 347 "conf_lexer.l" +#line 349 "conf_lexer.l" { return T_WEBIRC; } YY_BREAK case 222: YY_RULE_SETUP -#line 348 "conf_lexer.l" +#line 350 "conf_lexer.l" { return XLINE; } YY_BREAK case 223: YY_RULE_SETUP -#line 350 "conf_lexer.l" +#line 352 "conf_lexer.l" { yylval.number = 1; return TBOOL; } YY_BREAK case 224: YY_RULE_SETUP -#line 351 "conf_lexer.l" +#line 353 "conf_lexer.l" { yylval.number = 0; return TBOOL; } YY_BREAK case 225: YY_RULE_SETUP -#line 353 "conf_lexer.l" +#line 355 "conf_lexer.l" { return YEARS; } YY_BREAK case 226: YY_RULE_SETUP -#line 354 "conf_lexer.l" +#line 356 "conf_lexer.l" { return YEARS; } YY_BREAK case 227: YY_RULE_SETUP -#line 355 "conf_lexer.l" +#line 357 "conf_lexer.l" { return MONTHS; } YY_BREAK case 228: YY_RULE_SETUP -#line 356 "conf_lexer.l" +#line 358 "conf_lexer.l" { return MONTHS; } YY_BREAK case 229: YY_RULE_SETUP -#line 357 "conf_lexer.l" +#line 359 "conf_lexer.l" { return WEEKS; } YY_BREAK case 230: YY_RULE_SETUP -#line 358 "conf_lexer.l" +#line 360 "conf_lexer.l" { return WEEKS; } YY_BREAK case 231: YY_RULE_SETUP -#line 359 "conf_lexer.l" +#line 361 "conf_lexer.l" { return DAYS; } YY_BREAK case 232: YY_RULE_SETUP -#line 360 "conf_lexer.l" +#line 362 "conf_lexer.l" { return DAYS; } YY_BREAK case 233: YY_RULE_SETUP -#line 361 "conf_lexer.l" +#line 363 "conf_lexer.l" { return HOURS; } YY_BREAK case 234: YY_RULE_SETUP -#line 362 "conf_lexer.l" +#line 364 "conf_lexer.l" { return HOURS; } YY_BREAK case 235: YY_RULE_SETUP -#line 363 "conf_lexer.l" +#line 365 "conf_lexer.l" { return MINUTES; } YY_BREAK case 236: YY_RULE_SETUP -#line 364 "conf_lexer.l" +#line 366 "conf_lexer.l" { return MINUTES; } YY_BREAK case 237: YY_RULE_SETUP -#line 365 "conf_lexer.l" +#line 367 "conf_lexer.l" { return SECONDS; } YY_BREAK case 238: YY_RULE_SETUP -#line 366 "conf_lexer.l" +#line 368 "conf_lexer.l" { return SECONDS; } YY_BREAK case 239: YY_RULE_SETUP -#line 368 "conf_lexer.l" +#line 370 "conf_lexer.l" { return BYTES; } YY_BREAK case 240: YY_RULE_SETUP -#line 369 "conf_lexer.l" +#line 371 "conf_lexer.l" { return BYTES; } YY_BREAK case 241: YY_RULE_SETUP -#line 370 "conf_lexer.l" +#line 372 "conf_lexer.l" { return KBYTES; } YY_BREAK case 242: YY_RULE_SETUP -#line 371 "conf_lexer.l" +#line 373 "conf_lexer.l" { return KBYTES; } YY_BREAK case 243: YY_RULE_SETUP -#line 372 "conf_lexer.l" +#line 374 "conf_lexer.l" { return KBYTES; } YY_BREAK case 244: YY_RULE_SETUP -#line 373 "conf_lexer.l" +#line 375 "conf_lexer.l" { return KBYTES; } YY_BREAK case 245: YY_RULE_SETUP -#line 374 "conf_lexer.l" +#line 376 "conf_lexer.l" { return KBYTES; } YY_BREAK case 246: YY_RULE_SETUP -#line 375 "conf_lexer.l" +#line 377 "conf_lexer.l" { return MBYTES; } YY_BREAK case 247: YY_RULE_SETUP -#line 376 "conf_lexer.l" +#line 378 "conf_lexer.l" { return MBYTES; } YY_BREAK case 248: YY_RULE_SETUP -#line 377 "conf_lexer.l" +#line 379 "conf_lexer.l" { return MBYTES; } YY_BREAK case 249: YY_RULE_SETUP -#line 378 "conf_lexer.l" +#line 380 "conf_lexer.l" { return MBYTES; } YY_BREAK case 250: YY_RULE_SETUP -#line 379 "conf_lexer.l" +#line 381 "conf_lexer.l" { return MBYTES; } YY_BREAK case 251: YY_RULE_SETUP -#line 380 "conf_lexer.l" +#line 382 "conf_lexer.l" { return TWODOTS; } YY_BREAK case 252: YY_RULE_SETUP -#line 382 "conf_lexer.l" +#line 384 "conf_lexer.l" { return yytext[0]; } YY_BREAK case YY_STATE_EOF(INITIAL): -#line 383 "conf_lexer.l" +#line 385 "conf_lexer.l" { if (ieof()) yyterminate(); } YY_BREAK case 253: YY_RULE_SETUP -#line 385 "conf_lexer.l" +#line 387 "conf_lexer.l" ECHO; YY_BREAK -#line 3344 "conf_lexer.c" +#line 3347 "conf_lexer.c" case YY_END_OF_BUFFER: { @@ -3470,6 +3473,7 @@ ECHO; "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ + } /* end of user's declarations */ } /* end of yylex */ /* yy_get_next_buffer - try to read in a new buffer @@ -4066,7 +4070,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len YY_BUFFER_STATE b; char *buf; yy_size_t n; - int i; + yy_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; @@ -4296,7 +4300,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 385 "conf_lexer.l" +#line 387 "conf_lexer.l" @@ -4328,7 +4332,7 @@ ccomment(void) YY_FATAL_ERROR("EOF in comment"); /* XXX hack alert this disables * the stupid unused function warning - * gcc generates + * gcc generates */ if (1 == 0) yy_fatal_error("EOF in comment"); @@ -4351,7 +4355,7 @@ cinclude(void) /* log(L_NOTICE, "got include %s!", c); */ - /* do stacking and co. */ + /* do stacking and co. */ if (include_stack_ptr >= MAX_INCLUDE_DEPTH) ilog(LOG_TYPE_IRCD, "Includes nested too deep in %s", p); else @@ -4365,7 +4369,7 @@ cinclude(void) snprintf(filenamebuf, sizeof(filenamebuf), "%s/%s", ETCPATH, p); tmp_fbfile_in = fopen(filenamebuf, "r"); - + if (tmp_fbfile_in == NULL) { ilog(LOG_TYPE_IRCD, "Unable to read configuration file '%s': %s", @@ -4408,7 +4412,7 @@ ieof(void) yy_delete_buffer(YY_CURRENT_BUFFER); lineno = lineno_stack[include_stack_ptr]; conf_parser_ctx.conf_file = inc_fbfile_in[include_stack_ptr]; - strlcpy(conffilebuf, conffile_stack[include_stack_ptr], sizeof(conffilebuf)); + strlcpy(conffilebuf, conffile_stack[include_stack_ptr], sizeof(conffilebuf)); yy_switch_to_buffer(include_stack[include_stack_ptr]); return 0; |