aboutsummaryrefslogtreecommitdiffstats
path: root/src/cfg_file.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/cfg_file.l')
-rw-r--r--src/cfg_file.l232
1 files changed, 0 insertions, 232 deletions
diff --git a/src/cfg_file.l b/src/cfg_file.l
deleted file mode 100644
index 542488e2f..000000000
--- a/src/cfg_file.l
+++ /dev/null
@@ -1,232 +0,0 @@
-%x incl
-%x module_lex_state
-%x worker_lex_state
-%x classifier_lex_state
-
-%{
-
-#define NO_GMIME
-#include "config.h"
-#include "cfg_file.h"
-#include "cfg_yacc.h"
-
-#define ECHO do {} while(0)
-
-#define MAX_INCLUDE_DEPTH 10
-YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
-int line_stack[MAX_INCLUDE_DEPTH];
-int include_stack_ptr = 0;
-int nested_depth = 0;
-extern struct config_file *yacc_cfg;
-
-%}
-
-%option noyywrap
-%option yylineno
-
-%%
-[ \t]*#.* /* ignore comments */;
-.include BEGIN(incl);
-.module BEGIN(module_lex_state);
-worker BEGIN(worker_lex_state); return WORKER;
-composites BEGIN(module_lex_state);return COMPOSITES;
-tempdir return TEMPDIR;
-pidfile return PIDFILE;
-
-view return VIEW;
-ip return IP;
-client_ip return CLIENT_IP;
-from return FROM;
-symbols return SYMBOLS;
-skip_check return SKIP_CHECK;
-
-error_time return ERROR_TIME;
-dead_time return DEAD_TIME;
-maxerrors return MAXERRORS;
-reconnect_timeout return RECONNECT_TIMEOUT;
-connect_timeout return CONNECT_TIMEOUT;
-protocol return PROTOCOL;
-memcached return MEMCACHED;
-servers return SERVERS;
-
-modules return MODULES;
-module_path return MODULE_PATH;
-
-settings return SETTINGS;
-user_settings return USER_SETTINGS;
-domain_settings return DOMAIN_SETTINGS;
-
-maxfiles return MAXFILES;
-maxcore return MAXCORE;
-
-filters return FILTERS;
-factors return FACTORS;
-grow_factor return GROW_FACTOR;
-metric return METRIC;
-name return NAME;
-required_score return REQUIRED_SCORE;
-reject_score return REJECT_SCORE;
-function return FUNCTION;
-cache_file return CACHE_FILE;
-control return CONTROL;
-password return PASSWORD;
-lmtp return LMTP;
-raw_mode return RAW_MODE;
-enabled return ENABLED;
-delivery return DELIVERY;
-agent return AGENT;
-
-classifier BEGIN(classifier_lex_state); return CLASSIFIER;
-
-logging return LOGGING;
-
-log_type return LOG_TYPE;
-console return LOG_TYPE_CONSOLE;
-syslog return LOG_TYPE_SYSLOG;
-file return LOG_TYPE_FILE;
-log_urls return LOG_URLS;
-
-log_level return LOG_LEVEL;
-DEBUG return LOG_LEVEL_DEBUG;
-INFO return LOG_LEVEL_INFO;
-WARNING return LOG_LEVEL_WARNING;
-ERROR return LOG_LEVEL_ERROR;
-log_facility return LOG_FACILITY;
-log_file return LOG_FILENAME;
-log_buffer return LOG_BUFFER;
-debug_ip return DEBUG_IP;
-profile_file return PROFILE_FILE;
-
-statfile_pool_size return STATFILE_POOL_SIZE;
-
-\{ return OBRACE;
-\} return EBRACE;
-; return SEMICOLON;
-, return COMMA;
-= return EQSIGN;
-yes|YES|no|NO|[yY]|[nN] yylval.flag=parse_flag(yytext); return FLAG;
-\n /* ignore EOL */;
-[ \t]+ /* ignore whitespace */;
-\".+[^\\]\" yylval.string=strdup(yytext + 1); yylval.string[strlen(yylval.string) - 1] = '\0'; unescape_quotes(yylval.string); return QUOTEDSTRING;
-\" return QUOTE;
-\$[a-zA-Z_][a-zA-Z0-9_]+ yylval.string=strdup(yytext + 1); return VARIABLE;
-[0-9]+ yylval.number=strtol(yytext, NULL, 10); return NUMBER;
--?[0-9]+\.?[0-9]* yylval.fract=strtod(yytext, NULL); return FRACT;
-[0-9]+[kKmMgG]? yylval.limit=parse_limit(yytext); return SIZELIMIT;
-[0-9]+[mMsShHdD]? yylval.seconds=parse_seconds(yytext); return SECONDS;
-[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} yylval.string=strdup(yytext); return IPADDR;
-[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\/[0-9]{1,2} yylval.string=strdup(yytext); return IPNETWORK;
-[*a-zA-Z0-9.-]+:[0-9]{1,5} yylval.string=strdup(yytext); return HOSTPORT;
-[a-zA-Z<][a-zA-Z@+>_-]* yylval.string=strdup(yytext); return STRING;
-\/[^/\n]+\/ yylval.string=strdup(yytext); return REGEXP;
-[a-zA-Z0-9].[a-zA-Z0-9\/.-]+ yylval.string=strdup(yytext); return DOMAINNAME;
-<incl>[ \t]* /* eat the whitespace */
-<incl>[^ \t\n]+ { /* got the include file name */
- /* got the include file name */
- /* Handle XML case */
- int len = strlen (yytext);
- if (strcmp (yytext + len - 4, ".xml") == 0) {
- if (!read_xml_config (yacc_cfg, yytext)) {
- yyerror ("invalid xml detected");
- }
- BEGIN(INITIAL);
- }
- if ( include_stack_ptr >= MAX_INCLUDE_DEPTH ) {
- yyerror ("yylex: includes nested too deeply" );
- return -1;
- }
-
- line_stack[include_stack_ptr] = yylineno;
- include_stack[include_stack_ptr++] = YY_CURRENT_BUFFER;
-
- yylineno = 1;
- yyin = fopen (yytext, "r");
-
- if (!yyin) {
- yyerror ("yylex: cannot open include file");
- return -1;
- }
-
- yy_switch_to_buffer (yy_create_buffer (yyin, YY_BUF_SIZE));
-
- BEGIN(INITIAL);
-}
-
-<<EOF>> {
- if ( --include_stack_ptr < 0 ) {
- include_stack_ptr = 0;
- yylineno = 1;
- yyterminate ();
- }
- else {
- yy_delete_buffer (YY_CURRENT_BUFFER);
- yy_switch_to_buffer (include_stack[include_stack_ptr] );
- yylineno = line_stack[include_stack_ptr];
- }
-}
-
-<module_lex_state>\n /* ignore EOL */;
-<module_lex_state>[ \t]+ /* ignore whitespace */;
-<module_lex_state>[ \t]*#.* /* ignore comments */;
-<module_lex_state>\'[a-zA-Z0-9_-]+\' yylval.string=strdup(yytext + 1); yylval.string[strlen(yylval.string) - 1] = '\0'; return MODULE_OPT;
-<module_lex_state>\{ nested_depth ++; return OBRACE;
-<module_lex_state>\} if (--nested_depth == 0) { BEGIN(INITIAL); } return EBRACE;
-<module_lex_state>\; return SEMICOLON;
-<module_lex_state>= return EQSIGN;
-<module_lex_state>\$[a-zA-Z_][a-zA-Z0-9_]+ yylval.string=strdup(yytext + 1); return VARIABLE;
-<module_lex_state>[a-zA-Z0-9_%-]+ yylval.string=strdup(yytext); return PARAM;
-<module_lex_state>\".+[^\\]\" yylval.string=strdup(yytext + 1); yylval.string[strlen(yylval.string) - 1] = '\0'; unescape_quotes(yylval.string); return QUOTEDSTRING;
-
-<worker_lex_state>\n /* ignore EOL */;
-<worker_lex_state>[ \t]+ /* ignore whitespace */;
-<worker_lex_state>[ \t]*#.* /* ignore comments */;
-<worker_lex_state>\{ nested_depth ++; return OBRACE;
-<worker_lex_state>\} if (--nested_depth == 0) { BEGIN(INITIAL); } return EBRACE;
-<worker_lex_state>\; return SEMICOLON;
-<worker_lex_state>= return EQSIGN;
-<worker_lex_state>type return TYPE;
-<worker_lex_state>bind_socket return BINDSOCK;
-<worker_lex_state>count return COUNT;
-<worker_lex_state>[0-9]+ yylval.number=strtol(yytext, NULL, 10); return NUMBER;
-<worker_lex_state>[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} yylval.string=strdup(yytext); return IPADDR;
-<worker_lex_state>[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\/[0-9]{1,2} yylval.string=strdup(yytext); return IPNETWORK;
-<worker_lex_state>[*a-zA-Z0-9.-]+:[0-9]{1,5} yylval.string=strdup(yytext); return HOSTPORT;
-<worker_lex_state>[a-zA-Z<][a-zA-Z@+>_-]* yylval.string=strdup(yytext); return STRING;
-<worker_lex_state>\$[a-zA-Z_][a-zA-Z0-9_]+ yylval.string=strdup(yytext + 1); return VARIABLE;
-<worker_lex_state>\".+[^\\]\" yylval.string=strdup(yytext + 1); yylval.string[strlen(yylval.string) - 1] = '\0'; unescape_quotes(yylval.string); return QUOTEDSTRING;
-
-<classifier_lex_state>\n /* ignore EOL */;
-<classifier_lex_state>[ \t]+ /* ignore whitespace */;
-<classifier_lex_state>[ \t]*#.* /* ignore comments */;
-<classifier_lex_state>\{ nested_depth ++; return OBRACE;
-<classifier_lex_state>\} if (--nested_depth == 0) { BEGIN(INITIAL); } return EBRACE;
-<classifier_lex_state>\; return SEMICOLON;
-<classifier_lex_state>= return EQSIGN;
-<classifier_lex_state>type return TYPE;
-<classifier_lex_state>bind_socket return BINDSOCK;
-<classifier_lex_state>count return COUNT;
-<classifier_lex_state>statfile return STATFILE;
-<classifier_lex_state>symbol return SYMBOL;
-<classifier_lex_state>path return PATH;
-<classifier_lex_state>size return SIZE;
-<classifier_lex_state>tokenizer return TOKENIZER;
-<classifier_lex_state>section return SECTION;
-<classifier_lex_state>autolearn return AUTOLEARN;
-<classifier_lex_state>min_mark return MIN_MARK;
-<classifier_lex_state>max_mark return MAX_MARK;
-<classifier_lex_state>binlog return BINLOG;
-<classifier_lex_state>binlog_master return BINLOG_MASTER;
-<classifier_lex_state>binlog_rotate return BINLOG_ROTATE;
-<classifier_lex_state>normalizer return NORMALIZER;
-<classifier_lex_state>[0-9]+ yylval.number=strtol(yytext, NULL, 10); return NUMBER;
-<classifier_lex_state>-?[0-9]+\.?[0-9]* yylval.fract=strtod(yytext, NULL); return FRACT;
-<classifier_lex_state>[0-9]+[kKmMgG]? yylval.limit=parse_limit(yytext); return SIZELIMIT;
-<classifier_lex_state>[0-9]+[mMsShHdD]? yylval.seconds=parse_seconds(yytext); return SECONDS;
-<classifier_lex_state>\$[a-zA-Z_][a-zA-Z0-9_]+ yylval.string=strdup(yytext + 1); return VARIABLE;
-<classifier_lex_state>[a-zA-Z0-9_%-]+ yylval.string=strdup(yytext); return PARAM;
-<classifier_lex_state>\".+[^\\]\" yylval.string=strdup(yytext + 1); yylval.string[strlen(yylval.string) - 1] = '\0'; unescape_quotes(yylval.string); return QUOTEDSTRING;
-
-%%
-/*
- * vi:ts=4
- */