|
|
|
@ -192,50 +192,49 @@ static int SCRuleVarsPositiveTest01(void)
|
|
|
|
SCConfYamlLoadString(dummy_conf_string, strlen(dummy_conf_string));
|
|
|
|
SCConfYamlLoadString(dummy_conf_string, strlen(dummy_conf_string));
|
|
|
|
|
|
|
|
|
|
|
|
/* check for address-groups */
|
|
|
|
/* check for address-groups */
|
|
|
|
FAIL_IF_NOT(SCRuleVarsGetConfVar(NULL, "$HOME_NET", SC_RULE_VARS_ADDRESS_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(NULL, "$HOME_NET", SC_RULE_VARS_ADDRESS_GROUPS));
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL, "$HOME_NET", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(NULL, "$HOME_NET", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
"[192.168.0.0/16,10.8.0.0/16,127.0.0.1,2001:888:13c5:"
|
|
|
|
"[192.168.0.0/16,10.8.0.0/16,127.0.0.1,2001:888:13c5:"
|
|
|
|
"5AFE::/64,2001:888:13c5:CAFE::/64]") == 0);
|
|
|
|
"5AFE::/64,2001:888:13c5:CAFE::/64]") == 0);
|
|
|
|
FAIL_IF_NOT(SCRuleVarsGetConfVar(NULL, "$EXTERNAL_NET", SC_RULE_VARS_ADDRESS_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(NULL, "$EXTERNAL_NET", SC_RULE_VARS_ADDRESS_GROUPS));
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL, "$EXTERNAL_NET", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(NULL, "$EXTERNAL_NET", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
"[!192.168.0.0/16,2000::/3]") == 0);
|
|
|
|
"[!192.168.0.0/16,2000::/3]") == 0);
|
|
|
|
FAIL_IF_NOT(SCRuleVarsGetConfVar(NULL, "$HTTP_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(NULL, "$HTTP_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS));
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL, "$HTTP_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(NULL, "$HTTP_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
"!192.168.0.0/16") == 0);
|
|
|
|
"!192.168.0.0/16") == 0);
|
|
|
|
FAIL_IF_NOT(SCRuleVarsGetConfVar(NULL, "$SMTP_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(NULL, "$SMTP_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS));
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL, "$SMTP_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(NULL, "$SMTP_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
"!192.168.0.0/16") == 0);
|
|
|
|
"!192.168.0.0/16") == 0);
|
|
|
|
FAIL_IF_NOT(SCRuleVarsGetConfVar(NULL, "$SQL_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(NULL, "$SQL_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS));
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL, "$SQL_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(NULL, "$SQL_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
"!192.168.0.0/16") == 0);
|
|
|
|
"!192.168.0.0/16") == 0);
|
|
|
|
FAIL_IF_NOT(SCRuleVarsGetConfVar(NULL, "$DNS_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(NULL, "$DNS_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS));
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL, "$DNS_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(NULL, "$DNS_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
"any") == 0);
|
|
|
|
"any") == 0);
|
|
|
|
FAIL_IF_NOT(
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(NULL, "$TELNET_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS));
|
|
|
|
SCRuleVarsGetConfVar(NULL, "$TELNET_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(NULL, "$TELNET_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL, "$TELNET_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
"any") == 0);
|
|
|
|
"any") == 0);
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(NULL, "$AIM_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS));
|
|
|
|
FAIL_IF_NOT(SCRuleVarsGetConfVar(NULL, "$AIM_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(NULL, "$AIM_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL, "$AIM_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
|
|
|
|
"any") == 0);
|
|
|
|
"any") == 0);
|
|
|
|
|
|
|
|
|
|
|
|
/* Test that a leading space is stripped. */
|
|
|
|
/* Test that a leading space is stripped. */
|
|
|
|
FAIL_IF_NOT(SCRuleVarsGetConfVar(NULL, " $AIM_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(NULL, " $AIM_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS));
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL, " $AIM_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(NULL, " $AIM_SERVERS", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
"any") == 0);
|
|
|
|
"any") == 0);
|
|
|
|
|
|
|
|
|
|
|
|
/* check for port-groups */
|
|
|
|
/* check for port-groups */
|
|
|
|
FAIL_IF_NOT(SCRuleVarsGetConfVar(NULL, "$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(NULL, "$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS));
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL, "$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS),
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(NULL, "$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS),
|
|
|
|
"80:81,88") == 0);
|
|
|
|
"80:81,88") == 0);
|
|
|
|
FAIL_IF_NOT(SCRuleVarsGetConfVar(NULL, "$SHELLCODE_PORTS", SC_RULE_VARS_PORT_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(NULL, "$SHELLCODE_PORTS", SC_RULE_VARS_PORT_GROUPS));
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL, "$SHELLCODE_PORTS", SC_RULE_VARS_PORT_GROUPS),
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(NULL, "$SHELLCODE_PORTS", SC_RULE_VARS_PORT_GROUPS),
|
|
|
|
"80") == 0);
|
|
|
|
"80") == 0);
|
|
|
|
FAIL_IF_NOT(SCRuleVarsGetConfVar(NULL, "$ORACLE_PORTS", SC_RULE_VARS_PORT_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(NULL, "$ORACLE_PORTS", SC_RULE_VARS_PORT_GROUPS));
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL, "$ORACLE_PORTS", SC_RULE_VARS_PORT_GROUPS),
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(NULL, "$ORACLE_PORTS", SC_RULE_VARS_PORT_GROUPS),
|
|
|
|
"1521") == 0);
|
|
|
|
"1521") == 0);
|
|
|
|
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(NULL, "$SSH_PORTS", SC_RULE_VARS_PORT_GROUPS));
|
|
|
|
FAIL_IF_NOT(
|
|
|
|
FAIL_IF_NOT(
|
|
|
|
SCRuleVarsGetConfVar(NULL, "$SSH_PORTS", SC_RULE_VARS_PORT_GROUPS) != NULL &&
|
|
|
|
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL, "$SSH_PORTS", SC_RULE_VARS_PORT_GROUPS), "22") == 0);
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL, "$SSH_PORTS", SC_RULE_VARS_PORT_GROUPS), "22") == 0);
|
|
|
|
|
|
|
|
|
|
|
|
SCConfDeInit();
|
|
|
|
SCConfDeInit();
|
|
|
|
@ -253,10 +252,10 @@ static int SCRuleVarsNegativeTest02(void)
|
|
|
|
SCConfInit();
|
|
|
|
SCConfInit();
|
|
|
|
SCConfYamlLoadString(dummy_conf_string, strlen(dummy_conf_string));
|
|
|
|
SCConfYamlLoadString(dummy_conf_string, strlen(dummy_conf_string));
|
|
|
|
|
|
|
|
|
|
|
|
FAIL_IF_NOT(SCRuleVarsGetConfVar(NULL, "$HOME_NETW", SC_RULE_VARS_ADDRESS_GROUPS) == NULL);
|
|
|
|
FAIL_IF_NOT_NULL(SCRuleVarsGetConfVar(NULL, "$HOME_NETW", SC_RULE_VARS_ADDRESS_GROUPS));
|
|
|
|
FAIL_IF_NOT(SCRuleVarsGetConfVar(NULL, "$home_net", SC_RULE_VARS_ADDRESS_GROUPS) == NULL);
|
|
|
|
FAIL_IF_NOT_NULL(SCRuleVarsGetConfVar(NULL, "$home_net", SC_RULE_VARS_ADDRESS_GROUPS));
|
|
|
|
FAIL_IF_NOT(SCRuleVarsGetConfVar(NULL, "$TOMCAT_PORTSW", SC_RULE_VARS_PORT_GROUPS) == NULL);
|
|
|
|
FAIL_IF_NOT_NULL(SCRuleVarsGetConfVar(NULL, "$TOMCAT_PORTSW", SC_RULE_VARS_PORT_GROUPS));
|
|
|
|
FAIL_IF_NOT(SCRuleVarsGetConfVar(NULL, "$tomcat_ports", SC_RULE_VARS_PORT_GROUPS) == NULL);
|
|
|
|
FAIL_IF_NOT_NULL(SCRuleVarsGetConfVar(NULL, "$tomcat_ports", SC_RULE_VARS_PORT_GROUPS));
|
|
|
|
|
|
|
|
|
|
|
|
SCConfDeInit();
|
|
|
|
SCConfDeInit();
|
|
|
|
SCConfRestoreContextBackup();
|
|
|
|
SCConfRestoreContextBackup();
|
|
|
|
@ -347,52 +346,39 @@ static const char *dummy_mt_conf_string =
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
static int SCRuleVarsMTest01(void)
|
|
|
|
static int SCRuleVarsMTest01(void)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int result = 0;
|
|
|
|
|
|
|
|
DetectEngineCtx *de_ctx = NULL;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SCConfCreateContextBackup();
|
|
|
|
SCConfCreateContextBackup();
|
|
|
|
SCConfInit();
|
|
|
|
SCConfInit();
|
|
|
|
SCConfYamlLoadString(dummy_mt_conf_string, strlen(dummy_mt_conf_string));
|
|
|
|
SCConfYamlLoadString(dummy_mt_conf_string, strlen(dummy_mt_conf_string));
|
|
|
|
|
|
|
|
|
|
|
|
if ( (de_ctx = DetectEngineCtxInit()) == NULL)
|
|
|
|
DetectEngineCtx *de_ctx = DetectEngineCtxInit();
|
|
|
|
return 0;
|
|
|
|
FAIL_IF_NULL(de_ctx);
|
|
|
|
de_ctx->flags |= DE_QUIET;
|
|
|
|
de_ctx->flags |= DE_QUIET;
|
|
|
|
snprintf(de_ctx->config_prefix, sizeof(de_ctx->config_prefix),
|
|
|
|
snprintf(de_ctx->config_prefix, sizeof(de_ctx->config_prefix),
|
|
|
|
"multi-detect.0");
|
|
|
|
"multi-detect.0");
|
|
|
|
|
|
|
|
|
|
|
|
/* check for address-groups */
|
|
|
|
/* check for address-groups */
|
|
|
|
result = (SCRuleVarsGetConfVar(de_ctx,"$HOME_NET", SC_RULE_VARS_ADDRESS_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(de_ctx, "$HOME_NET", SC_RULE_VARS_ADDRESS_GROUPS));
|
|
|
|
strcmp(SCRuleVarsGetConfVar(de_ctx,"$HOME_NET", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(de_ctx, "$HOME_NET", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
"[8.8.8.8]") == 0);
|
|
|
|
"[8.8.8.8]") == 0);
|
|
|
|
if (result == 0)
|
|
|
|
|
|
|
|
goto end;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
result = (SCRuleVarsGetConfVar(NULL,"$HOME_NET", SC_RULE_VARS_ADDRESS_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(NULL, "$HOME_NET", SC_RULE_VARS_ADDRESS_GROUPS));
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL,"$HOME_NET", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(NULL, "$HOME_NET", SC_RULE_VARS_ADDRESS_GROUPS),
|
|
|
|
"[1.2.3.4]") == 0);
|
|
|
|
"[1.2.3.4]") == 0);
|
|
|
|
if (result == 0)
|
|
|
|
|
|
|
|
goto end;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* check for port-groups */
|
|
|
|
/* check for port-groups */
|
|
|
|
result = (SCRuleVarsGetConfVar(de_ctx,"$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(de_ctx, "$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS));
|
|
|
|
strcmp(SCRuleVarsGetConfVar(de_ctx,"$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS),
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(de_ctx, "$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS),
|
|
|
|
"54321") == 0);
|
|
|
|
"54321") == 0);
|
|
|
|
if (result == 0)
|
|
|
|
|
|
|
|
goto end;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
result = (SCRuleVarsGetConfVar(NULL,"$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS) != NULL &&
|
|
|
|
FAIL_IF_NULL(SCRuleVarsGetConfVar(NULL, "$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS));
|
|
|
|
strcmp(SCRuleVarsGetConfVar(NULL,"$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS),
|
|
|
|
FAIL_IF_NOT(strcmp(SCRuleVarsGetConfVar(NULL, "$HTTP_PORTS", SC_RULE_VARS_PORT_GROUPS),
|
|
|
|
"12345") == 0);
|
|
|
|
"12345") == 0);
|
|
|
|
if (result == 0)
|
|
|
|
|
|
|
|
goto end;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end:
|
|
|
|
|
|
|
|
SCConfDeInit();
|
|
|
|
SCConfDeInit();
|
|
|
|
SCConfRestoreContextBackup();
|
|
|
|
SCConfRestoreContextBackup();
|
|
|
|
|
|
|
|
|
|
|
|
if (de_ctx != NULL)
|
|
|
|
DetectEngineCtxFree(de_ctx);
|
|
|
|
DetectEngineCtxFree(de_ctx);
|
|
|
|
PASS;
|
|
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* UNITTESTS */
|
|
|
|
#endif /* UNITTESTS */
|
|
|
|
|