From: Juliana Fajardini Date: Tue, 20 Oct 2020 16:48:20 +0000 (+0100) Subject: detect/msg: convert to FAIL/PASS API X-Git-Tag: suricata-7.0.0-beta1~1944 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2765bff0c5fd0ff1b42a0d166943bf68ccb78869;p=thirdparty%2Fsuricata.git detect/msg: convert to FAIL/PASS API Issue 4053. Adjust code formatting style (wrap long lines). Replace SigInit with DetectEngineAppendSig. --- diff --git a/src/detect-msg.c b/src/detect-msg.c index cf8cb7f378..98bd630d70 100644 --- a/src/detect-msg.c +++ b/src/detect-msg.c @@ -125,89 +125,64 @@ error: #ifdef UNITTESTS static int DetectMsgParseTest01(void) { - int result = 0; - Signature *sig = NULL; const char *teststringparsed = "flow stateless to_server"; DetectEngineCtx *de_ctx = DetectEngineCtxInit(); - if (de_ctx == NULL) - goto end; + FAIL_IF_NULL(de_ctx); FILE *fd = SCClassConfGenerateValidDummyClassConfigFD01(); SCClassConfLoadClassficationConfigFile(de_ctx, fd); - sig = SigInit(de_ctx, "alert tcp any any -> any any (msg:\"flow stateless to_server\"; flow:stateless,to_server; content:\"flowstatelesscheck\"; classtype:bad-unknown; sid: 40000002; rev: 1;)"); - if(sig == NULL) - goto end; + Signature *sig = DetectEngineAppendSig(de_ctx, + "alert tcp any any -> any any (msg:\"flow stateless to_server\"; " + "flow:stateless,to_server; content:\"flowstatelesscheck\"; " + "classtype:bad-unknown; sid: 40000002; rev: 1;)"); + FAIL_IF_NULL(sig); - if (strcmp(sig->msg, teststringparsed) != 0) { - printf("got \"%s\", expected: \"%s\": ", sig->msg, teststringparsed); - goto end; - } + FAIL_IF(strcmp(sig->msg, teststringparsed) != 0); + + DetectEngineCtxFree(de_ctx); - result = 1; -end: - if (sig != NULL) - SigFree(de_ctx, sig); - if (de_ctx != NULL) - DetectEngineCtxFree(de_ctx); - return result; + PASS; } static int DetectMsgParseTest02(void) { - int result = 0; - Signature *sig = NULL; const char *teststringparsed = "msg escape tests wxy'\"\\;:"; DetectEngineCtx *de_ctx = DetectEngineCtxInit(); - if (de_ctx == NULL) - goto end; + FAIL_IF_NULL(de_ctx); - sig = SigInit(de_ctx, "alert tcp any any -> any any (msg:\"msg escape tests \\w\\x\\y\\'\\\"\\\\;\\:\"; flow:to_server,established; content:\"blah\"; uricontent:\"/blah/\"; sid: 100;)"); - if(sig == NULL) - goto end; + Signature *sig = DetectEngineAppendSig(de_ctx, + "alert tcp any any -> any any (msg:\"msg escape tests \\w\\x\\y\\'\\\"\\\\;\\:\"; " + "flow:to_server,established; content:\"blah\"; uricontent:\"/blah/\"; sid: 100;)"); + FAIL_IF_NULL(sig); - if (strcmp(sig->msg, teststringparsed) != 0) { - printf("got \"%s\", expected: \"%s\": ",sig->msg, teststringparsed); - goto end; - } + FAIL_IF(strcmp(sig->msg, teststringparsed) != 0); - result = 1; -end: - if (sig != NULL) - SigFree(de_ctx, sig); - if (de_ctx != NULL) - DetectEngineCtxFree(de_ctx); - return result; + DetectEngineCtxFree(de_ctx); + + PASS; } static int DetectMsgParseTest03(void) { - int result = 0; - Signature *sig = NULL; const char *teststringparsed = "flow stateless to_server"; DetectEngineCtx *de_ctx = DetectEngineCtxInit(); - if (de_ctx == NULL) - goto end; + FAIL_IF_NULL(de_ctx); FILE *fd = SCClassConfGenerateValidDummyClassConfigFD01(); SCClassConfLoadClassficationConfigFile(de_ctx, fd); - sig = SigInit(de_ctx, "alert tcp any any -> any any (msg: \"flow stateless to_server\"; flow:stateless,to_server; content:\"flowstatelesscheck\"; classtype:bad-unknown; sid: 40000002; rev: 1;)"); - if(sig == NULL) - goto end; + Signature *sig = DetectEngineAppendSig(de_ctx, + "alert tcp any any -> any any (msg: \"flow stateless to_server\"; " + "flow:stateless,to_server; content:\"flowstatelesscheck\"; " + "classtype:bad-unknown; sid: 40000002; rev: 1;)"); + FAIL_IF_NULL(sig); - if (strcmp(sig->msg, teststringparsed) != 0) { - printf("got \"%s\", expected: \"%s\": ", sig->msg, teststringparsed); - goto end; - } + FAIL_IF(strcmp(sig->msg, teststringparsed) != 0); + + DetectEngineCtxFree(de_ctx); - result = 1; -end: - if (sig != NULL) - SigFree(de_ctx, sig); - if (de_ctx != NULL) - DetectEngineCtxFree(de_ctx); - return result; + PASS; } /**