@ -125,89 +125,64 @@ error:
# ifdef UNITTESTS
# ifdef UNITTESTS
static int DetectMsgParseTest01 ( void )
static int DetectMsgParseTest01 ( void )
{
{
int result = 0 ;
Signature * sig = NULL ;
const char * teststringparsed = " flow stateless to_server " ;
const char * teststringparsed = " flow stateless to_server " ;
DetectEngineCtx * de_ctx = DetectEngineCtxInit ( ) ;
DetectEngineCtx * de_ctx = DetectEngineCtxInit ( ) ;
if ( de_ctx = = NULL )
FAIL_IF_NULL ( de_ctx ) ;
goto end ;
FILE * fd = SCClassConfGenerateValidDummyClassConfigFD01 ( ) ;
FILE * fd = SCClassConfGenerateValidDummyClassConfigFD01 ( ) ;
SCClassConfLoadClassficationConfigFile ( de_ctx , fd ) ;
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;) " ) ;
Signature * sig = DetectEngineAppendSig ( de_ctx ,
if ( sig = = NULL )
" alert tcp any any -> any any (msg: \" flow stateless to_server \" ; "
goto end ;
" flow:stateless,to_server; content: \" flowstatelesscheck \" ; "
" classtype:bad-unknown; sid: 40000002; rev: 1;) " ) ;
FAIL_IF_NULL ( sig ) ;
if ( strcmp ( sig - > msg , teststringparsed ) ! = 0 ) {
FAIL_IF ( strcmp ( sig - > msg , teststringparsed ) ! = 0 ) ;
printf ( " got \" %s \" , expected: \" %s \" : " , sig - > msg , teststringparsed ) ;
goto end ;
}
result = 1 ;
end :
if ( sig ! = NULL )
SigFree ( de_ctx , sig ) ;
if ( de_ctx ! = NULL )
DetectEngineCtxFree ( de_ctx ) ;
DetectEngineCtxFree ( de_ctx ) ;
return result ;
PASS ;
}
}
static int DetectMsgParseTest02 ( void )
static int DetectMsgParseTest02 ( void )
{
{
int result = 0 ;
Signature * sig = NULL ;
const char * teststringparsed = " msg escape tests wxy' \" \\ ;: " ;
const char * teststringparsed = " msg escape tests wxy' \" \\ ;: " ;
DetectEngineCtx * de_ctx = DetectEngineCtxInit ( ) ;
DetectEngineCtx * de_ctx = DetectEngineCtxInit ( ) ;
if ( de_ctx = = NULL )
FAIL_IF_NULL ( de_ctx ) ;
goto end ;
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;) " ) ;
Signature * sig = DetectEngineAppendSig ( de_ctx ,
if ( sig = = NULL )
" alert tcp any any -> any any (msg: \" msg escape tests \\ w \\ x \\ y \\ ' \\ \" \\ \\ ; \\ : \" ; "
goto end ;
" flow:to_server,established; content: \" blah \" ; uricontent: \" /blah/ \" ; sid: 100;) " ) ;
FAIL_IF_NULL ( sig ) ;
if ( strcmp ( sig - > msg , teststringparsed ) ! = 0 ) {
FAIL_IF ( strcmp ( sig - > msg , teststringparsed ) ! = 0 ) ;
printf ( " got \" %s \" , expected: \" %s \" : " , sig - > msg , teststringparsed ) ;
goto end ;
}
result = 1 ;
end :
if ( sig ! = NULL )
SigFree ( de_ctx , sig ) ;
if ( de_ctx ! = NULL )
DetectEngineCtxFree ( de_ctx ) ;
DetectEngineCtxFree ( de_ctx ) ;
return result ;
PASS ;
}
}
static int DetectMsgParseTest03 ( void )
static int DetectMsgParseTest03 ( void )
{
{
int result = 0 ;
Signature * sig = NULL ;
const char * teststringparsed = " flow stateless to_server " ;
const char * teststringparsed = " flow stateless to_server " ;
DetectEngineCtx * de_ctx = DetectEngineCtxInit ( ) ;
DetectEngineCtx * de_ctx = DetectEngineCtxInit ( ) ;
if ( de_ctx = = NULL )
FAIL_IF_NULL ( de_ctx ) ;
goto end ;
FILE * fd = SCClassConfGenerateValidDummyClassConfigFD01 ( ) ;
FILE * fd = SCClassConfGenerateValidDummyClassConfigFD01 ( ) ;
SCClassConfLoadClassficationConfigFile ( de_ctx , fd ) ;
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;) " ) ;
Signature * sig = DetectEngineAppendSig ( de_ctx ,
if ( sig = = NULL )
" alert tcp any any -> any any (msg: \" flow stateless to_server \" ; "
goto end ;
" flow:stateless,to_server; content: \" flowstatelesscheck \" ; "
" classtype:bad-unknown; sid: 40000002; rev: 1;) " ) ;
FAIL_IF_NULL ( sig ) ;
if ( strcmp ( sig - > msg , teststringparsed ) ! = 0 ) {
FAIL_IF ( strcmp ( sig - > msg , teststringparsed ) ! = 0 ) ;
printf ( " got \" %s \" , expected: \" %s \" : " , sig - > msg , teststringparsed ) ;
goto end ;
}
result = 1 ;
end :
if ( sig ! = NULL )
SigFree ( de_ctx , sig ) ;
if ( de_ctx ! = NULL )
DetectEngineCtxFree ( de_ctx ) ;
DetectEngineCtxFree ( de_ctx ) ;
return result ;
PASS ;
}
}
/**
/**