summaryrefslogtreecommitdiffstats
path: root/src/parser_bison.y
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2016-10-21 12:06:12 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2016-10-21 13:06:12 +0200
commit0423caa91ad26e7a4a6d840566d25d48d3341fa1 (patch)
tree8f02e12c24eb8f23ce34b3d45906b4d1d4869026 /src/parser_bison.y
parentbb636b8651f88a92279eb587f66bd038e6ad526c (diff)
src: don't need keyword for log level
We can handle log levels without keywords in our grammar, use string instead. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/parser_bison.y')
-rw-r--r--src/parser_bison.y32
1 files changed, 24 insertions, 8 deletions
diff --git a/src/parser_bison.y b/src/parser_bison.y
index baf0a539..f582221a 100644
--- a/src/parser_bison.y
+++ b/src/parser_bison.y
@@ -1517,14 +1517,30 @@ log_arg : PREFIX string
}
;
-level_type : LEVEL_EMERG { $$ = LOG_EMERG; }
- | LEVEL_ALERT { $$ = LOG_ALERT; }
- | LEVEL_CRIT { $$ = LOG_CRIT; }
- | LEVEL_ERR { $$ = LOG_ERR; }
- | LEVEL_WARN { $$ = LOG_WARNING; }
- | LEVEL_NOTICE { $$ = LOG_NOTICE; }
- | LEVEL_INFO { $$ = LOG_INFO; }
- | LEVEL_DEBUG { $$ = LOG_DEBUG; }
+level_type : string
+ {
+ if (!strcmp("emerg", $1))
+ $$ = LOG_EMERG;
+ else if (!strcmp("alert", $1))
+ $$ = LOG_ALERT;
+ else if (!strcmp("crit", $1))
+ $$ = LOG_CRIT;
+ else if (!strcmp("err", $1))
+ $$ = LOG_ERR;
+ else if (!strcmp("warning", $1))
+ $$ = LOG_WARNING;
+ else if (!strcmp("notice", $1))
+ $$ = LOG_NOTICE;
+ else if (!strcmp("info", $1))
+ $$ = LOG_INFO;
+ else if (!strcmp("debug", $1))
+ $$ = LOG_DEBUG;
+ else {
+ erec_queue(error(&@1, "invalid log level", $1),
+ state->msgs);
+ YYERROR;
+ }
+ }
;
limit_stmt : LIMIT RATE limit_mode NUM SLASH time_unit limit_burst