From 64c2fece96e9a638e1531f661c4c295dbdd1235d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20B=C3=BChler?= Date: Wed, 27 Jan 2010 22:05:06 +0100 Subject: [PATCH] config: add network cidr matching operators, =/ and != --- src/main/config_parser.rl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/config_parser.rl b/src/main/config_parser.rl index 452db3d..f695aa5 100644 --- a/src/main/config_parser.rl +++ b/src/main/config_parser.rl @@ -518,6 +518,8 @@ else if (*ctx->mark == '!' && *(ctx->mark+1) == '$') ctx->op = LI_CONFIG_COND_NOSUFFIX; else if (*ctx->mark == '=' && *(ctx->mark+1) == '~') ctx->op = LI_CONFIG_COND_MATCH; else if (*ctx->mark == '!' && *(ctx->mark+1) == '~') ctx->op = LI_CONFIG_COND_NOMATCH; + else if (*ctx->mark == '=' && *(ctx->mark+1) == '/') ctx->op = LI_CONFIG_COND_IP; + else if (*ctx->mark == '!' && *(ctx->mark+1) == '/') ctx->op = LI_CONFIG_COND_NOTIP; } } @@ -1158,7 +1160,7 @@ value_statement = ( noise* cast? value (ws* value_statement_op ws* cast? value %value_statement)* noise* ); hash_elem = ( noise* string >mark noise* ':' value_statement ); - operator = ( '==' | '!=' | '=^' | '!^' | '=$' | '!$' | '<' | '<=' | '>' | '>=' | '=~' | '!~' ) >mark %operator; + operator = ( '==' | '!=' | '=^' | '!^' | '=$' | '!$' | '<' | '<=' | '>' | '>=' | '=~' | '!~' | '=/' | '!/' ) >mark %operator; # statements assignment = ( varname ws* '=' ws* value_statement ';' ) %assignment;