From: Jason Ish Date: Fri, 17 Jul 2015 22:22:59 +0000 (-0600) Subject: rule vars: strip leading white space before looking up var. X-Git-Tag: suricata-3.0RC1~269 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1599%2Fhead;p=thirdparty%2Fsuricata.git rule vars: strip leading white space before looking up var. --- diff --git a/src/util-rule-vars.c b/src/util-rule-vars.c index f060a14af1..f3b5604fbe 100644 --- a/src/util-rule-vars.c +++ b/src/util-rule-vars.c @@ -74,6 +74,11 @@ char *SCRuleVarsGetConfVar(const DetectEngineCtx *de_ctx, if (conf_var_name == NULL) goto end; + + while (conf_var_name[0] != '\0' && isspace(conf_var_name[0])) { + conf_var_name++; + } + (conf_var_name[0] == '$') ? conf_var_name++ : conf_var_name; conf_var_type_name = SCMapEnumValueToName(conf_vars_type, sc_rule_vars_type_map); @@ -214,6 +219,11 @@ int SCRuleVarsPositiveTest01(void) strcmp(SCRuleVarsGetConfVar(NULL,"$AIM_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS), "any") == 0); + /* Test that a leading space is stripped. */ + result &= (SCRuleVarsGetConfVar(NULL," $AIM_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS) != NULL && + strcmp(SCRuleVarsGetConfVar(NULL," $AIM_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS), + "any") == 0); + /* check for port-groups */ result &= (SCRuleVarsGetConfVar(NULL,"$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS) != NULL && strcmp(SCRuleVarsGetConfVar(NULL,"$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS),