*/
static int DetectBytejumpTestParse01(void)
{
- int result = 0;
DetectBytejumpData *data = NULL;
data = DetectBytejumpParse(NULL, "4,0", NULL, NULL);
- if (data != NULL) {
- DetectBytejumpFree(NULL, data);
- result = 1;
- }
+ FAIL_IF_NULL(data);
- return result;
+ DetectBytejumpFree(NULL, data);
+ PASS;
}
/**
*/
static int DetectBytejumpTestParse02(void)
{
- int result = 0;
DetectBytejumpData *data = NULL;
data = DetectBytejumpParse(NULL, "4, 0", NULL, NULL);
- if (data != NULL) {
- if ( (data->nbytes == 4)
- && (data->offset == 0)
- && (data->multiplier == 1)
- && (data->post_offset == 0)
- && (data->flags == 0)
- && (data->base == DETECT_BYTEJUMP_BASE_UNSET))
- {
- result = 1;
- }
- DetectBytejumpFree(NULL, data);
- }
+ FAIL_IF_NULL(data);
+ FAIL_IF_NOT(data->nbytes == 4);
+ FAIL_IF_NOT(data->offset == 0);
+ FAIL_IF_NOT(data->multiplier == 1);
+ FAIL_IF_NOT(data->post_offset == 0);
+ FAIL_IF_NOT(data->flags == 0);
+ FAIL_IF_NOT(data->base == DETECT_BYTEJUMP_BASE_UNSET);
- return result;
+ DetectBytejumpFree(NULL, data);
+ PASS;
}
/**
*/
static int DetectBytejumpTestParse03(void)
{
- int result = 0;
DetectBytejumpData *data = NULL;
data = DetectBytejumpParse(NULL,
" 4,0 , relative , little, string, "
"dec, align, from_beginning",
NULL, NULL);
- if (data != NULL) {
- if ( (data->nbytes == 4)
- && (data->offset == 0)
- && (data->multiplier == 1)
- && (data->post_offset == 0)
- && (data->flags == ( DETECT_BYTEJUMP_RELATIVE
- |DETECT_BYTEJUMP_LITTLE
- |DETECT_BYTEJUMP_STRING
- |DETECT_BYTEJUMP_ALIGN
- |DETECT_BYTEJUMP_BEGIN))
- && (data->base == DETECT_BYTEJUMP_BASE_DEC))
- {
- result = 1;
- }
- DetectBytejumpFree(NULL, data);
- }
+ FAIL_IF_NULL(data);
+ FAIL_IF_NOT(data->nbytes == 4);
+ FAIL_IF_NOT(data->offset == 0);
+ FAIL_IF_NOT(data->multiplier == 1);
+ FAIL_IF_NOT(data->post_offset == 0);
+ FAIL_IF_NOT(data->flags ==
+ (DETECT_BYTEJUMP_RELATIVE | DETECT_BYTEJUMP_LITTLE | DETECT_BYTEJUMP_STRING |
+ DETECT_BYTEJUMP_ALIGN | DETECT_BYTEJUMP_BEGIN));
+ FAIL_IF_NOT(data->base == DETECT_BYTEJUMP_BASE_DEC);
- return result;
+ DetectBytejumpFree(NULL, data);
+ PASS;
}
/**
*/
static int DetectBytejumpTestParse04(void)
{
- int result = 0;
DetectBytejumpData *data = NULL;
data = DetectBytejumpParse(NULL,
" 4,0 , relative , little, string, "
"dec, align, from_beginning , "
"multiplier 2 , post_offset -16 ",
NULL, NULL);
- if (data != NULL) {
- if ( (data->nbytes == 4)
- && (data->offset == 0)
- && (data->multiplier == 2)
- && (data->post_offset == -16)
- && (data->flags == ( DETECT_BYTEJUMP_RELATIVE
- |DETECT_BYTEJUMP_LITTLE
- |DETECT_BYTEJUMP_ALIGN
- |DETECT_BYTEJUMP_STRING
- |DETECT_BYTEJUMP_BEGIN))
- && (data->base == DETECT_BYTEJUMP_BASE_DEC))
- {
- result = 1;
- }
- DetectBytejumpFree(NULL, data);
- }
+ FAIL_IF_NULL(data);
+ FAIL_IF_NOT(data->nbytes == 4);
+ FAIL_IF_NOT(data->offset == 0);
+ FAIL_IF_NOT(data->multiplier == 2);
+ FAIL_IF_NOT(data->post_offset == -16);
+ FAIL_IF_NOT(data->flags ==
+ (DETECT_BYTEJUMP_RELATIVE | DETECT_BYTEJUMP_LITTLE | DETECT_BYTEJUMP_ALIGN |
+ DETECT_BYTEJUMP_STRING | DETECT_BYTEJUMP_BEGIN));
+ FAIL_IF_NOT(data->base == DETECT_BYTEJUMP_BASE_DEC);
- return result;
+ DetectBytejumpFree(NULL, data);
+ PASS;
}
/**
*/
static int DetectBytejumpTestParse05(void)
{
- int result = 0;
DetectBytejumpData *data = NULL;
data = DetectBytejumpParse(NULL,
" 4,0 , relative , little, dec, "
"align, from_beginning",
NULL, NULL);
- if (data == NULL) {
- result = 1;
- }
+ FAIL_IF_NOT_NULL(data);
- return result;
+ PASS;
}
/**
*/
static int DetectBytejumpTestParse06(void)
{
- int result = 0;
DetectBytejumpData *data = NULL;
data = DetectBytejumpParse(NULL, "9, 0", NULL, NULL);
- if (data == NULL) {
- result = 1;
- }
+ FAIL_IF_NOT_NULL(data);
- return result;
+ PASS;
}
/**
*/
static int DetectBytejumpTestParse07(void)
{
- int result = 0;
DetectBytejumpData *data = NULL;
data = DetectBytejumpParse(NULL, "24, 0, string, dec", NULL, NULL);
- if (data == NULL) {
- result = 1;
- }
+ FAIL_IF_NOT_NULL(data);
- return result;
+ PASS;
}
/**
*/
static int DetectBytejumpTestParse08(void)
{
- int result = 0;
DetectBytejumpData *data = NULL;
data = DetectBytejumpParse(NULL, "4, 0xffffffffffffffff", NULL, NULL);
- if (data == NULL) {
- result = 1;
- }
+ FAIL_IF_NOT_NULL(data);
- return result;
+ PASS;
}
/**
FAIL_IF_NOT(sm->type == DETECT_BYTEJUMP);
DetectBytejumpData *bd = (DetectBytejumpData *)sm->ctx;
- if (!(bd->flags & DETECT_BYTEJUMP_DCE) && !(bd->flags & DETECT_BYTEJUMP_RELATIVE) &&
- (bd->flags & DETECT_BYTEJUMP_STRING) && (bd->flags & DETECT_BYTEJUMP_BIG) &&
- (bd->flags & DETECT_BYTEJUMP_LITTLE)) {
- goto end;
- }
+ FAIL_IF_NOT(bd->flags & DETECT_BYTEJUMP_DCE);
+ FAIL_IF_NOT(bd->flags & DETECT_BYTEJUMP_RELATIVE);
+ FAIL_IF(bd->flags & DETECT_BYTEJUMP_STRING);
+ FAIL_IF(bd->flags & DETECT_BYTEJUMP_BIG);
+ FAIL_IF(bd->flags & DETECT_BYTEJUMP_LITTLE);
s = DetectEngineAppendSig(de_ctx, "alert tcp any any -> any any "
"(msg:\"Testing bytejump_body\"; "
FAIL_IF_NOT(sm->type == DETECT_BYTEJUMP);
bd = (DetectBytejumpData *)sm->ctx;
- if (!(bd->flags & DETECT_BYTEJUMP_DCE) && !(bd->flags & DETECT_BYTEJUMP_RELATIVE) &&
- (bd->flags & DETECT_BYTEJUMP_STRING) && (bd->flags & DETECT_BYTEJUMP_BIG) &&
- (bd->flags & DETECT_BYTEJUMP_LITTLE)) {
- goto end;
- }
+ FAIL_IF_NOT(bd->flags & DETECT_BYTEJUMP_DCE);
+ FAIL_IF_NOT(bd->flags & DETECT_BYTEJUMP_RELATIVE);
+ FAIL_IF(bd->flags & DETECT_BYTEJUMP_STRING);
+ FAIL_IF(bd->flags & DETECT_BYTEJUMP_BIG);
+ FAIL_IF(bd->flags & DETECT_BYTEJUMP_LITTLE);
s = DetectEngineAppendSig(de_ctx, "alert tcp any any -> any any "
"(msg:\"Testing bytejump_body\"; "
FAIL_IF_NOT(sm->type == DETECT_BYTEJUMP);
bd = (DetectBytejumpData *)sm->ctx;
- if ((bd->flags & DETECT_BYTEJUMP_DCE) && !(bd->flags & DETECT_BYTEJUMP_RELATIVE) &&
- (bd->flags & DETECT_BYTEJUMP_STRING) && (bd->flags & DETECT_BYTEJUMP_BIG) &&
- (bd->flags & DETECT_BYTEJUMP_LITTLE)) {
- goto end;
- }
+ FAIL_IF(bd->flags & DETECT_BYTEJUMP_DCE);
+ FAIL_IF_NOT(bd->flags & DETECT_BYTEJUMP_RELATIVE);
+ FAIL_IF(bd->flags & DETECT_BYTEJUMP_STRING);
+ FAIL_IF(bd->flags & DETECT_BYTEJUMP_BIG);
+ FAIL_IF(bd->flags & DETECT_BYTEJUMP_LITTLE);
-end:
DetectEngineCtxFree(de_ctx);
PASS;
}
static int DetectBytejumpTestParse11(void)
{
DetectEngineCtx *de_ctx = NULL;
- int result = 1;
Signature *s = NULL;
de_ctx = DetectEngineCtxInit();
- if (de_ctx == NULL)
- goto end;
+ FAIL_IF_NULL(de_ctx);
de_ctx->flags |= DE_QUIET;
s = SigInit(de_ctx, "alert tcp any any -> any any "
"dce_stub_data; "
"content:\"one\"; byte_jump:4,0,align,multiplier 2, "
"post_offset -16,string,dce; sid:1;)");
- if (s != NULL) {
- result = 0;
- goto end;
- }
+ FAIL_IF_NOT_NULL(s);
s = SigInit(de_ctx, "alert tcp any any -> any any "
"(msg:\"Testing bytejump_body\"; "
"dce_sub_data; "
"content:\"one\"; byte_jump:4,0,align,multiplier 2, "
"post_offset -16,big,dce; sid:1;)");
- if (s != NULL) {
- result = 0;
- goto end;
- }
+ FAIL_IF_NOT_NULL(s);
s = SigInit(de_ctx, "alert tcp any any -> any any "
"(msg:\"Testing bytejump_body\"; "
"dce_stub_data; "
"content:\"one\"; byte_jump:4,0,align,multiplier 2, "
"post_offset -16,little,dce; sid:1;)");
- if (s != NULL) {
- result = 0;
- goto end;
- }
+ FAIL_IF_NOT_NULL(s);
s = SigInit(de_ctx, "alert tcp any any -> any any "
"(msg:\"Testing bytejump_body\"; "
"dce_stub_data; "
"content:\"one\"; byte_jump:4,0,align,multiplier 2, "
"post_offset -16,string,hex,dce; sid:1;)");
- if (s != NULL) {
- result = 0;
- goto end;
- }
+ FAIL_IF_NOT_NULL(s);
s = SigInit(de_ctx, "alert tcp any any -> any any "
"(msg:\"Testing bytejump_body\"; "
"dce_stub_data; "
"content:\"one\"; byte_jump:4,0,align,multiplier 2, "
"post_offset -16,string,dec,dce; sid:1;)");
- if (s != NULL) {
- result = 0;
- goto end;
- }
+ FAIL_IF_NOT_NULL(s);
s = SigInit(de_ctx, "alert tcp any any -> any any "
"(msg:\"Testing bytejump_body\"; "
"dce_stub_data; "
"content:\"one\"; byte_jump:4,0,align,multiplier 2, "
"post_offset -16,string,oct,dce; sid:1;)");
- if (s != NULL) {
- result = 0;
- goto end;
- }
+ FAIL_IF_NOT_NULL(s);
s = SigInit(de_ctx, "alert tcp any any -> any any "
"(msg:\"Testing bytejump_body\"; "
"dce_stub_data; "
"content:\"one\"; byte_jump:4,0,align,multiplier 2, "
"post_offset -16,from_beginning,dce; sid:1;)");
- if (s != NULL) {
- result = 0;
- goto end;
- }
+ FAIL_IF_NOT_NULL(s);
- end:
SigGroupCleanup(de_ctx);
SigCleanSignatures(de_ctx);
DetectEngineCtxFree(de_ctx);
-
- return result;
+ PASS;
}
/**
*/
static int DetectByteJumpTestPacket01 (void)
{
- int result = 0;
uint8_t *buf = (uint8_t *)"GET /AllWorkAndNoPlayMakesWillADullBoy HTTP/1.0"
"User-Agent: Wget/1.11.4"
"Accept: */*"
Packet *p;
p = UTHBuildPacket((uint8_t *)buf, buflen, IPPROTO_TCP);
- if (p == NULL)
- goto end;
+ FAIL_IF_NULL(p);
char sig[] = "alert tcp any any -> any any (msg:\"pcre + byte_test + "
"relative\"; pcre:\"/AllWorkAndNoPlayMakesWillADullBoy/\"; byte_jump:1,6,"
"relative,string,dec; content:\"0\"; sid:134; rev:1;)";
- result = UTHPacketMatchSig(p, sig);
+ FAIL_IF_NOT(UTHPacketMatchSig(p, sig));
UTHFreePacket(p);
-end:
- return result;
+ PASS;
}
/**
*/
static int DetectByteJumpTestPacket02 (void)
{
- int result = 0;
uint8_t buf[] = { 0x00, 0x00, 0x00, 0x77, 0xff, 0x53,
0x4d, 0x42, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x18,
0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
Packet *p;
p = UTHBuildPacket((uint8_t *)buf, buflen, IPPROTO_TCP);
- if (p == NULL)
- goto end;
+ FAIL_IF_NULL(p);
char sig[] = "alert tcp any any -> any any (msg:\"byte_jump with byte_jump"
" + relative\"; byte_jump:1,13; byte_jump:4,0,relative; "
"content:\"|48 00 00|\"; within:3; sid:144; rev:1;)";
- result = UTHPacketMatchSig(p, sig);
+ FAIL_IF_NOT(UTHPacketMatchSig(p, sig));
UTHFreePacket(p);
-end:
- return result;
+ PASS;
}
static int DetectByteJumpTestPacket03(void)
{
- int result = 0;
uint8_t *buf = NULL;
uint16_t buflen = 0;
buf = SCMalloc(4);
Packet *p;
p = UTHBuildPacket((uint8_t *)buf, buflen, IPPROTO_TCP);
- if (p == NULL)
- goto end;
+ FAIL_IF_NULL(p);
char sig[] = "alert tcp any any -> any any (msg:\"byte_jump\"; "
"byte_jump:1,214748364; sid:1; rev:1;)";
- result = !UTHPacketMatchSig(p, sig);
+ FAIL_IF(UTHPacketMatchSig(p, sig));
UTHFreePacket(p);
+ FAIL_IF_NULL(buf);
-end:
- if (buf != NULL)
- SCFree(buf);
- return result;
+ SCFree(buf);
+ PASS;
}
/**
*/
static int DetectByteJumpTestPacket04 (void)
{
- int result = 0;
uint8_t *buf = (uint8_t *)"XYZ04abcdABCD";
uint16_t buflen = strlen((char *)buf);
Packet *p;
p = UTHBuildPacket((uint8_t *)buf, buflen, IPPROTO_TCP);
- if (p == NULL)
- goto end;
+ FAIL_IF_NULL(p);
char sig[] = "alert tcp any any -> any any (content:\"XYZ\"; byte_jump:2,0,relative,string,dec; content:\"ABCD\"; distance:0; within:4; sid:1; rev:1;)";
- result = UTHPacketMatchSig(p, sig);
+ FAIL_IF_NOT(UTHPacketMatchSig(p, sig));
UTHFreePacket(p);
-end:
- return result;
+ PASS;
}
/**
*/
static int DetectByteJumpTestPacket05 (void)
{
- int result = 0;
uint8_t *buf = (uint8_t *)"XYZ04abcdABCD";
uint16_t buflen = strlen((char *)buf);
Packet *p;
p = UTHBuildPacket((uint8_t *)buf, buflen, IPPROTO_TCP);
- if (p == NULL)
- goto end;
+ FAIL_IF_NULL(p);
char sig[] = "alert tcp any any -> any any (content:\"XYZ\"; byte_jump:2,0,relative,string,dec; content:\"cdABCD\"; within:6; sid:1; rev:1;)";
- result = UTHPacketMatchSig(p, sig) ? 0 : 1;
+ FAIL_IF_NOT(UTHPacketMatchSig(p, sig) ? 0 : 1);
UTHFreePacket(p);
-end:
- return result;
+ PASS;
}
/**
*/
static int DetectByteJumpTestPacket06 (void)
{
- int result = 0;
uint8_t *buf = (uint8_t *)"XX04abcdABCD";
uint16_t buflen = strlen((char *)buf);
Packet *p;
p = UTHBuildPacket((uint8_t *)buf, buflen, IPPROTO_TCP);
- if (p == NULL)
- goto end;
+ FAIL_IF_NULL(p);
char sig[] = "alert tcp any any -> any any (content:\"XX\"; byte_jump:2,0,relative,string,dec,from_beginning; content:\"ABCD\"; distance:4; within:4; sid:1; rev:1;)";
- result = UTHPacketMatchSig(p, sig);
+ FAIL_IF_NOT(UTHPacketMatchSig(p, sig));
UTHFreePacket(p);
-end:
- return result;
+ PASS;
}
/**
*/
static int DetectByteJumpTestPacket07 (void)
{
- int result = 0;
uint8_t *buf = (uint8_t *)"XX04abcdABCD";
uint16_t buflen = strlen((char *)buf);
Packet *p;
p = UTHBuildPacket((uint8_t *)buf, buflen, IPPROTO_TCP);
- if (p == NULL)
- goto end;
+ FAIL_IF_NULL(p);
char sig[] = "alert tcp any any -> any any (content:\"XX\"; byte_jump:2,0,relative,string,dec,from_beginning; content:\"abcdABCD\"; distance:0; within:8; sid:1; rev:1;)";
- result = UTHPacketMatchSig(p, sig) ? 1 : 0;
+ FAIL_IF_NOT(UTHPacketMatchSig(p, sig) ? 1 : 0);
UTHFreePacket(p);
-end:
- return result;
+ PASS;
}
/**