60 static void IPRepRegisterTests(
void);
78 static inline int8_t GetRep(
const SReputation *r,
const uint8_t cat,
const uint32_t
version)
89 static int8_t GetHostRepSrc(
Packet *p, uint8_t cat, uint32_t
version)
116 static int8_t GetHostRepDst(
Packet *p, uint8_t cat, uint32_t
version)
151 const DetectIPRepData *rd = (
const DetectIPRepData *)
ctx;
162 val = GetHostRepSrc(p, rd->cat,
version);
169 val = GetHostRepDst(p, rd->cat,
version);
178 val = GetHostRepSrc(p, rd->cat,
version);
184 val = GetHostRepDst(p, rd->cat,
version);
196 val = GetHostRepSrc(p, rd->cat,
version);
197 SCLogDebug(
"checking src -- val %d (looking for cat %u, val %u)", val, rd->cat,
212 val = GetHostRepDst(p, rd->cat,
version);
226 val = GetHostRepSrc(p, rd->cat,
version);
231 val = GetHostRepDst(p, rd->cat,
version);
238 val = GetHostRepSrc(p, rd->cat,
version);
244 val = GetHostRepDst(p, rd->cat,
version);
260 DetectIPRepData *cd = SCDetectIPRepParse(rawstr);
262 SCLogError(
"\"%s\" is not a valid setting for iprep", rawstr);
266 SCLogDebug(
"cmd %u, cat %u, op %u, val %u", cd->cmd, cd->cat, cd->du8.mode, cd->du8.arg1);
286 DetectIPRepData *fd = (DetectIPRepData *)ptr;
290 SCDetectIPRepFree(fd);
297 static FILE *DetectIPRepGenerateCategoriesDummy(
void)
300 const char *buffer =
"1,BadHosts,Know bad hosts";
302 fd =
SCFmemopen((
void *)buffer, strlen(buffer),
"r");
309 static FILE *DetectIPRepGenerateCategoriesDummy2(
void)
313 "1,BadHosts,Know bad hosts\n"
314 "2,GoodHosts,Know good hosts\n";
316 fd =
SCFmemopen((
void *)buffer, strlen(buffer),
"r");
323 static FILE *DetectIPRepGenerateNetworksDummy(
void)
326 const char *buffer =
"10.0.0.0/24,1,20";
328 fd =
SCFmemopen((
void *)buffer, strlen(buffer),
"r");
335 static FILE *DetectIPRepGenerateNetworksDummy2(
void)
340 "192.168.0.0/16,2,127";
342 fd =
SCFmemopen((
void *)buffer, strlen(buffer),
"r");
349 static int DetectIPRepTest01(
void)
360 memset(&th_v, 0,
sizeof(th_v));
369 fd = DetectIPRepGenerateCategoriesDummy();
373 fd = DetectIPRepGenerateNetworksDummy();
378 "badhost\"; iprep:any,BadHosts,>,1; sid:1;rev:1;)");
400 static int DetectIPRepTest02(
void)
411 memset(&th_v, 0,
sizeof(th_v));
420 fd = DetectIPRepGenerateCategoriesDummy();
424 fd = DetectIPRepGenerateNetworksDummy();
429 "badhost\"; iprep:src,BadHosts,>,1; sid:1; rev:1;)");
451 static int DetectIPRepTest03(
void)
462 memset(&th_v, 0,
sizeof(th_v));
471 fd = DetectIPRepGenerateCategoriesDummy();
475 fd = DetectIPRepGenerateNetworksDummy();
480 "badhost\"; iprep:dst,BadHosts,>,1; sid:1; rev:1;)");
502 static int DetectIPRepTest04(
void)
513 memset(&th_v, 0,
sizeof(th_v));
523 fd = DetectIPRepGenerateCategoriesDummy();
527 fd = DetectIPRepGenerateNetworksDummy();
532 "badhost\"; iprep:both,BadHosts,>,1; sid:1; rev:1;)");
554 static int DetectIPRepTest05(
void)
565 memset(&th_v, 0,
sizeof(th_v));
574 fd = DetectIPRepGenerateCategoriesDummy();
578 fd = DetectIPRepGenerateNetworksDummy();
583 "badhost\"; iprep:any,BadHosts,>,1; sid:1; rev:1;)");
605 static int DetectIPRepTest06(
void)
616 memset(&th_v, 0,
sizeof(th_v));
625 fd = DetectIPRepGenerateCategoriesDummy();
629 fd = DetectIPRepGenerateNetworksDummy2();
634 "badhost\"; iprep:any,BadHosts,>,1; sid:1; rev:1;)");
656 static int DetectIPRepTest07(
void)
667 memset(&th_v, 0,
sizeof(th_v));
676 fd = DetectIPRepGenerateCategoriesDummy();
680 fd = DetectIPRepGenerateNetworksDummy2();
685 "badhost\"; iprep:any,BadHosts,>,1; sid:1; rev:1;)");
707 static int DetectIPRepTest08(
void)
718 memset(&th_v, 0,
sizeof(th_v));
728 fd = DetectIPRepGenerateCategoriesDummy();
732 fd = DetectIPRepGenerateNetworksDummy();
737 "badhost\"; iprep:any,BadHosts,>,1; sid:1; rev:1;)");
759 static int DetectIPRepTest09(
void)
770 memset(&th_v, 0,
sizeof(th_v));
780 fd = DetectIPRepGenerateCategoriesDummy2();
784 fd = DetectIPRepGenerateNetworksDummy2();
789 "alert tcp any any -> any any (msg:\"test\"; iprep:src,BadHosts,>,9; sid:1; rev:1;)");
811 static FILE *DetectIPRepGenerateNetworksDummy3(
void)
814 const char *buffer =
"192.168.0.0/16,1,127";
816 fd =
SCFmemopen((
void *)buffer, strlen(buffer),
"r");
823 static int DetectIPRepTest10(
void)
834 memset(&th_v, 0,
sizeof(th_v));
844 fd = DetectIPRepGenerateCategoriesDummy2();
848 fd = DetectIPRepGenerateNetworksDummy3();
853 "alert tcp any any -> any any (msg:\"test\"; iprep:src,BadHosts,isset; sid:1; rev:1;)");
872 static int DetectIPRepTest11(
void)
883 memset(&th_v, 0,
sizeof(th_v));
893 fd = DetectIPRepGenerateCategoriesDummy2();
897 fd = DetectIPRepGenerateNetworksDummy3();
902 "iprep:src,BadHosts,isnotset; sid:1; rev:1;)");
924 void IPRepRegisterTests(
void)
936 UtRegisterTest(
"DetectIPRepTest11 -- isnotset", DetectIPRepTest11);