50 #define PARSE_REGEX "^([!<>]?)\\s*([^\\s]+)$"
56 static void DetectIPProtoRegisterTests(
void);
87 char *args[2] = { NULL, NULL };
97 "%" PRId32
", string %s", ret, optstr);
101 for (i = 0; i < (ret - 1); i++) {
102 res = pcre2_substring_get_bynumber(
103 parse_regex.
match, i + 1, (PCRE2_UCHAR8 **)&str_ptr, &pcre2_len);
108 args[i] = (
char *)str_ptr;
119 if (*(args[0]) !=
'\0') {
120 data->
op = *(args[0]);
124 if (!isdigit((
unsigned char)*(args[1]))) {
140 for (i = 0; i < (ret - 1); i++){
142 pcre2_substring_free((PCRE2_UCHAR8 *)args[i]);
148 for (i = 0; i < (ret - 1) && i < 2; i++){
150 pcre2_substring_free((PCRE2_UCHAR8 *)args[i]);
158 static int DetectIPProtoTypePresentForOP(
Signature *s, uint8_t op)
213 "ip_proto keyword only when we use alert ip, "
214 "in which case the _ANY flag is set on the sig "
215 "and the if condition should match.");
227 if (eq_set || gt_set || lt_set || not_set) {
229 "ipproto without any operators attached to "
230 "them in the same sig");
237 if (eq_set || gt_set) {
239 "ipproto along with a greater than ipproto in the "
243 if (!lt_set && !not_set) {
245 for (i = (data->
proto / 8) + 1; i < (256 / 8); i++) {
248 }
else if (lt_set && !not_set) {
250 while (temp_sm != NULL) {
254 temp_sm = temp_sm->
next;
256 if (temp_sm != NULL) {
260 "both gt and lt ipprotos, with the lt being "
261 "lower than gt value");
264 for (i = 0; i < (data->
proto / 8); i++) {
268 for (i = (data->
proto / 8) + 1; i < (256 / 8); i++) {
273 }
else if (!lt_set && not_set) {
274 for (i = 0; i < (data->
proto / 8); i++) {
278 for (i = (data->
proto / 8) + 1; i < (256 / 8); i++) {
284 while (temp_sm != NULL) {
289 temp_sm = temp_sm->
next;
291 if (temp_sm != NULL) {
295 "both gt and lt ipprotos, with the lt being "
296 "lower than gt value");
299 for (i = 0; i < (data->
proto / 8); i++) {
303 for (i = (data->
proto / 8) + 1; i < (256 / 8); i++) {
312 if (eq_set || lt_set) {
314 "ipproto along with a less than ipproto in the "
318 if (!gt_set && !not_set) {
319 for (i = 0; i < (data->
proto / 8); i++) {
323 }
else if (gt_set && !not_set) {
325 while (temp_sm != NULL) {
329 temp_sm = temp_sm->
next;
331 if (temp_sm != NULL) {
335 "both gt and lt ipprotos, with the lt being "
336 "lower than gt value");
339 for (i = 0; i < (data->
proto / 8); i++) {
343 for (i = (data->
proto / 8) + 1; i < 256 / 8; i++) {
348 }
else if (!gt_set && not_set) {
349 for (i = 0; i < (data->
proto / 8); i++) {
353 for (i = (data->
proto / 8) + 1; i < (256 / 8); i++) {
359 while (temp_sm != NULL) {
364 temp_sm = temp_sm->
next;
366 if (temp_sm != NULL) {
370 "both gt and lt ipprotos, with the lt being "
371 "lower than gt value");
374 for (i = 0; i < (data->
proto / 8); i++) {
378 for (i = (data->
proto / 8) + 1; i < (256 / 8); i++) {
389 "ipproto along with a not ipproto in the "
393 if (!gt_set && !lt_set && !not_set) {
394 for (i = 0; i < (data->
proto / 8); i++) {
398 for (i = (data->
proto / 8) + 1; i < (256 / 8); i++) {
402 for (i = 0; i < (data->
proto / 8); i++) {
406 for (i = (data->
proto / 8) + 1; i < (256 / 8); i++) {
417 sm->
ctx = (
void *)data;
425 DetectIPProtoFree(
de_ctx, data);
462 static int DetectIPProtoTestParse01(
void)
472 static int DetectIPProtoTestParse02(
void)
482 static int DetectIPProtoTestSetup01(
void)
484 const char *value_str =
"14";
494 DetectIPProtoSetup(NULL, sig, value_str);
495 for (i = 0; i < (value / 8); i++) {
499 for (i = (value / 8) + 1; i < (256 / 8); i++) {
509 static int DetectIPProtoTestSetup02(
void)
513 const char *value_str =
"tcp";
514 struct protoent *pent = getprotobyname(value_str);
518 uint8_t value = (uint8_t)pent->p_proto;
526 DetectIPProtoSetup(NULL, sig, value_str);
527 for (i = 0; i < (value / 8); i++) {
534 for (i = (value / 8) + 1; i < (256 / 8); i++) {
550 static int DetectIPProtoTestSetup03(
void)
554 const char *value_str =
"<14";
563 DetectIPProtoSetup(NULL, sig, value_str);
564 for (i = 0; i < (value / 8); i++) {
571 for (i = (value / 8) + 1; i < (256 / 8); i++) {
586 static int DetectIPProtoTestSetup04(
void)
590 const char *value_str =
">14";
599 DetectIPProtoSetup(NULL, sig, value_str);
600 for (i = 0; i < (value / 8); i++) {
607 for (i = (value / 8) + 1; i < (256 / 8); i++) {
622 static int DetectIPProtoTestSetup05(
void)
626 const char *value_str =
"!14";
635 DetectIPProtoSetup(NULL, sig, value_str);
636 for (i = 0; i < (value / 8); i++) {
643 for (i = (value / 8) + 1; i < (256 / 8); i++) {
658 static int DetectIPProtoTestSetup06(
void)
662 const char *value1_str =
"14";
663 const char *value2_str =
"15";
670 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
672 if (DetectIPProtoSetup(NULL, sig, value2_str) != -1)
685 static int DetectIPProtoTestSetup07(
void)
689 const char *value1_str =
"14";
690 const char *value2_str =
"<15";
697 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
699 if (DetectIPProtoSetup(NULL, sig, value2_str) != -1)
712 static int DetectIPProtoTestSetup08(
void)
716 const char *value1_str =
"14";
717 const char *value2_str =
">15";
724 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
726 if (DetectIPProtoSetup(NULL, sig, value2_str) != -1)
739 static int DetectIPProtoTestSetup09(
void)
743 const char *value1_str =
"14";
744 const char *value2_str =
"!15";
751 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
753 if (DetectIPProtoSetup(NULL, sig, value2_str) != -1)
766 static int DetectIPProtoTestSetup10(
void)
770 const char *value1_str =
">14";
771 const char *value2_str =
"15";
778 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
780 if (DetectIPProtoSetup(NULL, sig, value2_str) != -1)
793 static int DetectIPProtoTestSetup11(
void)
797 const char *value1_str =
"<14";
798 const char *value2_str =
"15";
805 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
807 if (DetectIPProtoSetup(NULL, sig, value2_str) != -1)
820 static int DetectIPProtoTestSetup12(
void)
824 const char *value1_str =
"!14";
825 const char *value2_str =
"15";
832 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
834 if (DetectIPProtoSetup(NULL, sig, value2_str) != -1)
847 static int DetectIPProtoTestSetup13(
void)
851 const char *value1_str =
">14";
852 const char *value2_str =
">15";
859 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
861 if (DetectIPProtoSetup(NULL, sig, value2_str) != -1)
871 static int DetectIPProtoTestSetup14(
void)
875 const char *value1_str =
"<14";
876 const char *value2_str =
"<15";
883 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
885 if (DetectIPProtoSetup(NULL, sig, value2_str) != -1)
895 static int DetectIPProtoTestSetup15(
void)
899 const char *value1_str =
"<14";
901 const char *value2_str =
">34";
909 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
911 for (i = 0; i < (value1 / 8); i++) {
918 for (i = (value1 / 8) + 1; i < (256 / 8); i++) {
922 if (DetectIPProtoSetup(NULL, sig, value2_str) == 0)
933 static int DetectIPProtoTestSetup16(
void)
937 const char *value1_str =
"<14";
938 const char *value2_str =
">34";
947 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
949 for (i = 0; i < (value2 / 8); i++) {
956 for (i = (value2 / 8) + 1; i < (256 / 8); i++) {
960 if (DetectIPProtoSetup(NULL, sig, value1_str) == 0)
971 static int DetectIPProtoTestSetup17(
void)
975 const char *value1_str =
"<11";
977 const char *value2_str =
">13";
985 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
987 for (i = 0; i < (value1 / 8); i++) {
994 for (i = (value1 / 8) + 1; i < (256 / 8); i++) {
998 if (DetectIPProtoSetup(NULL, sig, value2_str) == 0)
1009 static int DetectIPProtoTestSetup18(
void)
1013 const char *value1_str =
"<11";
1014 const char *value2_str =
">13";
1023 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1025 for (i = 0; i < (value2 / 8); i++) {
1032 for (i = (value2 / 8) + 1; i < (256 / 8); i++) {
1036 if (DetectIPProtoSetup(NULL, sig, value1_str) == 0)
1047 static int DetectIPProtoTestSetup19(
void)
1051 const char *value1_str =
"<11";
1053 const char *value2_str =
"!13";
1054 const char *value3_str =
">36";
1062 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
1064 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1066 for (i = 0; i < (value1 / 8); i++) {
1073 for (i = (value1 / 8) + 1; i < (256 / 8); i++) {
1077 if (DetectIPProtoSetup(NULL, sig, value3_str) == 0)
1087 static int DetectIPProtoTestSetup20(
void)
1091 const char *value1_str =
"<11";
1093 const char *value3_str =
">36";
1101 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
1103 for (i = 0; i < (value1 / 8); i++) {
1110 for (i = (value1 / 8) + 1; i < (256 / 8); i++) {
1114 if (DetectIPProtoSetup(NULL, sig, value3_str) == 0)
1124 static int DetectIPProtoTestSetup21(
void)
1128 const char *value1_str =
"<11";
1130 const char *value2_str =
"!13";
1131 const char *value3_str =
">36";
1139 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1141 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
1143 for (i = 0; i < (value1 / 8); i++) {
1150 for (i = (value1 / 8) + 1; i < (256 / 8); i++) {
1154 if (DetectIPProtoSetup(NULL, sig, value3_str) == 0)
1164 static int DetectIPProtoTestSetup22(
void)
1168 const char *value1_str =
"<11";
1169 const char *value2_str =
"!13";
1170 const char *value3_str =
">36";
1179 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1181 if (DetectIPProtoSetup(NULL, sig, value3_str) != 0)
1183 for (i = 0; i < (value3 / 8); i++) {
1190 for (i = (value3 / 8) + 1; i < (256 / 8); i++) {
1194 if (DetectIPProtoSetup(NULL, sig, value1_str) == 0)
1204 static int DetectIPProtoTestSetup23(
void)
1208 const char *value1_str =
"<11";
1209 const char *value3_str =
">36";
1218 if (DetectIPProtoSetup(NULL, sig, value3_str) != 0)
1220 for (i = 0; i < (value3 / 8); i++) {
1227 for (i = (value3 / 8) + 1; i < (256 / 8); i++) {
1231 if (DetectIPProtoSetup(NULL, sig, value1_str) == 0)
1241 static int DetectIPProtoTestSetup24(
void)
1245 const char *value1_str =
"<11";
1246 const char *value2_str =
"!13";
1247 const char *value3_str =
">36";
1256 if (DetectIPProtoSetup(NULL, sig, value3_str) != 0)
1258 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1260 for (i = 0; i < (value3 / 8); i++) {
1267 for (i = (value3 / 8) + 1; i < (256 / 8); i++) {
1271 if (DetectIPProtoSetup(NULL, sig, value1_str) == 0)
1281 static int DetectIPProtoTestSetup33(
void)
1285 const char *value1_str =
"<11";
1287 const char *value2_str =
"!34";
1288 const char *value3_str =
">36";
1296 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1298 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
1300 for (i = 0; i < (value1 / 8); i++) {
1307 for (i = (value1 / 8) + 1; i < (256 / 8); i++) {
1311 if (DetectIPProtoSetup(NULL, sig, value3_str) == 0)
1321 static int DetectIPProtoTestSetup34(
void)
1325 const char *value1_str =
"<11";
1327 const char *value2_str =
"!34";
1328 const char *value3_str =
">36";
1337 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1339 if (DetectIPProtoSetup(NULL, sig, value3_str) != 0)
1341 for (i = 0; i < (value1 / 8); i++) {
1348 for (i = (value3 / 8) + 1; i < (256 / 8); i++) {
1352 if (DetectIPProtoSetup(NULL, sig, value1_str) == 0)
1362 static int DetectIPProtoTestSetup36(
void)
1366 const char *value1_str =
"<11";
1367 const char *value2_str =
"!34";
1368 const char *value3_str =
">36";
1377 if (DetectIPProtoSetup(NULL, sig, value3_str) != 0)
1379 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1381 for (i = 0; i < (value3 / 8); i++) {
1388 for (i = (value3 / 8) + 1; i < (256 / 8); i++) {
1392 if (DetectIPProtoSetup(NULL, sig, value1_str) == 0)
1402 static int DetectIPProtoTestSetup43(
void)
1406 const char *value1_str =
"!4";
1408 const char *value2_str =
"<13";
1410 const char *value3_str =
">34";
1418 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
1420 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1425 for (i = (value1 / 8) + 1; i < (value2 / 8); i++) {
1432 for (i = (value2 / 8) + 1; i < 256 / 8; i++) {
1436 if (DetectIPProtoSetup(NULL, sig, value3_str) == 0)
1446 static int DetectIPProtoTestSetup44(
void)
1450 const char *value1_str =
"!4";
1451 const char *value2_str =
"<13";
1452 const char *value3_str =
">34";
1461 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
1463 if (DetectIPProtoSetup(NULL, sig, value3_str) != 0)
1465 for (i = 0; i < (value3 / 8); i++) {
1472 for (i = (value3 / 8) + 1; i < 256 / 8; i++) {
1476 if (DetectIPProtoSetup(NULL, sig, value2_str) == 0)
1486 static int DetectIPProtoTestSetup45(
void)
1490 const char *value1_str =
"!4";
1492 const char *value2_str =
"<13";
1494 const char *value3_str =
">34";
1502 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1504 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
1509 for (i = (value1 / 8) + 1; i < (value2 / 8); i++) {
1516 for (i = (value2 / 8) + 1; i < 256 / 8; i++) {
1520 if (DetectIPProtoSetup(NULL, sig, value3_str) == 0)
1530 static int DetectIPProtoTestSetup56(
void)
1534 const char *value1_str =
"<13";
1536 const char *value2_str =
">34";
1537 const char *value3_str =
"!37";
1545 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
1547 if (DetectIPProtoSetup(NULL, sig, value3_str) != 0)
1549 for (i = 0; i < (value1 / 8); i++) {
1556 for (i = (value1 / 8) + 1; i < 256 / 8; i++) {
1560 if (DetectIPProtoSetup(NULL, sig, value2_str) == 0)
1570 static int DetectIPProtoTestSetup75(
void)
1574 const char *value1_str =
"!8";
1575 const char *value2_str =
">10";
1584 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
1586 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1588 for (i = 0; i < (value2 / 8); i++) {
1595 for (i = (value2 / 8) + 1; i < (256 / 8); i++) {
1607 static int DetectIPProtoTestSetup76(
void)
1611 const char *value1_str =
"!8";
1612 const char *value2_str =
">10";
1621 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1623 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
1625 for (i = 0; i < (value2 / 8); i++) {
1632 for (i = (value2 / 8) + 1; i < (256 / 8); i++) {
1644 static int DetectIPProtoTestSetup129(
void)
1648 const char *value1_str =
"<10";
1650 const char *value2_str =
">10";
1658 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
1660 for (i = 0; i < (value1 / 8); i++) {
1667 for (i = (value1 / 8) + 1; i < 256 / 8; i++) {
1671 if (DetectIPProtoSetup(NULL, sig, value2_str) == 0)
1681 static int DetectIPProtoTestSetup130(
void)
1685 const char *value1_str =
"<10";
1686 const char *value2_str =
">10";
1695 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1697 if (DetectIPProtoSetup(NULL, sig, value1_str) == 0)
1699 for (i = 0; i < (value2 / 8); i++) {
1706 for (i = (value2 / 8) + 1; i < 256 / 8; i++) {
1718 static int DetectIPProtoTestSetup131(
void)
1722 const char *value1_str =
"<10";
1724 const char *value2_str =
"!10";
1732 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
1734 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1736 for (i = 0; i < (value1 / 8); i++) {
1743 for (i = (value1 / 8) + 1; i < 256 / 8; i++) {
1755 static int DetectIPProtoTestSetup132(
void)
1759 const char *value1_str =
"<10";
1761 const char *value2_str =
"!10";
1769 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1771 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
1773 for (i = 0; i < (value1 / 8); i++) {
1780 for (i = (value1 / 8) + 1; i < 256 / 8; i++) {
1792 static int DetectIPProtoTestSetup145(
void)
1796 const char *value1_str =
"!4";
1797 const char *value2_str =
">8";
1798 const char *value3_str =
"!10";
1799 const char *value4_str =
"!14";
1800 const char *value5_str =
"!27";
1801 const char *value6_str =
"!29";
1802 const char *value7_str =
"!30";
1803 const char *value8_str =
"!34";
1804 const char *value9_str =
"<36";
1805 const char *value10_str =
"!38";
1815 if (DetectIPProtoSetup(NULL, sig, value5_str) != 0)
1817 if (DetectIPProtoSetup(NULL, sig, value8_str) != 0)
1819 if (DetectIPProtoSetup(NULL, sig, value2_str) != 0)
1821 if (DetectIPProtoSetup(NULL, sig, value10_str) != 0)
1823 if (DetectIPProtoSetup(NULL, sig, value1_str) != 0)
1825 if (DetectIPProtoSetup(NULL, sig, value6_str) != 0)
1827 if (DetectIPProtoSetup(NULL, sig, value9_str) != 0)
1829 if (DetectIPProtoSetup(NULL, sig, value4_str) != 0)
1831 if (DetectIPProtoSetup(NULL, sig, value3_str) != 0)
1833 if (DetectIPProtoSetup(NULL, sig, value7_str) != 0)
1850 for (i = (value10 / 8) + 1; i < 256 / 8; i++) {
1862 static int DetectIPProtoTestSig1(
void)
1865 uint8_t *buf = (uint8_t *)
1866 "GET /one/ HTTP/1.1\r\n"
1867 "Host: one.example.org\r\n"
1869 uint16_t buflen = strlen((
char *)buf);
1874 const char *sigs[4];
1875 sigs[0] =
"alert ip any any -> any any "
1876 "(msg:\"Not tcp\"; ip_proto:!tcp; content:\"GET \"; sid:1;)";
1877 sigs[1] =
"alert ip any any -> any any "
1878 "(msg:\"Less than 7\"; content:\"GET \"; ip_proto:<7; sid:2;)";
1879 sigs[2] =
"alert ip any any -> any any "
1880 "(msg:\"Greater than 5\"; content:\"GET \"; ip_proto:>5; sid:3;)";
1881 sigs[3] =
"alert ip any any -> any any "
1882 "(msg:\"Equals tcp\"; content:\"GET \"; ip_proto:tcp; sid:4;)";
1885 uint32_t sid[4] = {1, 2, 3, 4};
1887 uint32_t
results[4] = {0, 1, 1, 1};
1902 static int DetectIPProtoTestSig2(
void)
1906 uint8_t raw_eth[] = {
1907 0x01, 0x00, 0x5e, 0x00, 0x00, 0x0d, 0x00, 0x26,
1908 0x88, 0x61, 0x3a, 0x80, 0x08, 0x00, 0x45, 0xc0,
1909 0x00, 0x36, 0xe4, 0xcd, 0x00, 0x00, 0x01, 0x67,
1910 0xc7, 0xab, 0xac, 0x1c, 0x7f, 0xfe, 0xe0, 0x00,
1911 0x00, 0x0d, 0x20, 0x00, 0x90, 0x20, 0x00, 0x01,
1912 0x00, 0x02, 0x00, 0x69, 0x00, 0x02, 0x00, 0x04,
1913 0x81, 0xf4, 0x07, 0xd0, 0x00, 0x13, 0x00, 0x04,
1914 0x00, 0x00, 0x00, 0x01, 0x00, 0x14, 0x00, 0x04,
1915 0x4a, 0xea, 0x7a, 0x8e,
1928 memset(&th_v, 0,
sizeof(th_v));
1942 "alert ip any any -> any any (msg:\"Check ipproto usage\"; "
1943 "ip_proto:!103; sid:1;)");
1987 static int DetectIPProtoTestSig3(
void)
1991 uint8_t raw_eth[] = {
1992 0x01, 0x00, 0x5e, 0x00, 0x00, 0x0d, 0x00, 0x26,
1993 0x88, 0x61, 0x3a, 0x80, 0x08, 0x00, 0x45, 0xc0,
1994 0x00, 0x36, 0xe4, 0xcd, 0x00, 0x00, 0x01, 0x67,
1995 0xc7, 0xab, 0xac, 0x1c, 0x7f, 0xfe, 0xe0, 0x00,
1996 0x00, 0x0d, 0x20, 0x00, 0x90, 0x20, 0x00, 0x01,
1997 0x00, 0x02, 0x00, 0x69, 0x00, 0x02, 0x00, 0x04,
1998 0x81, 0xf4, 0x07, 0xd0, 0x00, 0x13, 0x00, 0x04,
1999 0x00, 0x00, 0x00, 0x01, 0x00, 0x14, 0x00, 0x04,
2000 0x4a, 0xea, 0x7a, 0x8e,
2013 memset(&th_v, 0,
sizeof(th_v));
2027 "alert ip any any -> any any (msg:\"Check ipproto usage\"; "
2028 "ip_proto:103; sid:1;)");
2076 static void DetectIPProtoRegisterTests(
void)
2078 UtRegisterTest(
"DetectIPProtoTestParse01", DetectIPProtoTestParse01);
2079 UtRegisterTest(
"DetectIPProtoTestParse02", DetectIPProtoTestParse02);
2080 UtRegisterTest(
"DetectIPProtoTestSetup01", DetectIPProtoTestSetup01);
2081 UtRegisterTest(
"DetectIPProtoTestSetup02", DetectIPProtoTestSetup02);
2082 UtRegisterTest(
"DetectIPProtoTestSetup03", DetectIPProtoTestSetup03);
2083 UtRegisterTest(
"DetectIPProtoTestSetup04", DetectIPProtoTestSetup04);
2084 UtRegisterTest(
"DetectIPProtoTestSetup05", DetectIPProtoTestSetup05);
2085 UtRegisterTest(
"DetectIPProtoTestSetup06", DetectIPProtoTestSetup06);
2086 UtRegisterTest(
"DetectIPProtoTestSetup07", DetectIPProtoTestSetup07);
2087 UtRegisterTest(
"DetectIPProtoTestSetup08", DetectIPProtoTestSetup08);
2088 UtRegisterTest(
"DetectIPProtoTestSetup09", DetectIPProtoTestSetup09);
2089 UtRegisterTest(
"DetectIPProtoTestSetup10", DetectIPProtoTestSetup10);
2090 UtRegisterTest(
"DetectIPProtoTestSetup11", DetectIPProtoTestSetup11);
2091 UtRegisterTest(
"DetectIPProtoTestSetup12", DetectIPProtoTestSetup12);
2092 UtRegisterTest(
"DetectIPProtoTestSetup13", DetectIPProtoTestSetup13);
2093 UtRegisterTest(
"DetectIPProtoTestSetup14", DetectIPProtoTestSetup14);
2094 UtRegisterTest(
"DetectIPProtoTestSetup15", DetectIPProtoTestSetup15);
2095 UtRegisterTest(
"DetectIPProtoTestSetup16", DetectIPProtoTestSetup16);
2096 UtRegisterTest(
"DetectIPProtoTestSetup17", DetectIPProtoTestSetup17);
2097 UtRegisterTest(
"DetectIPProtoTestSetup18", DetectIPProtoTestSetup18);
2098 UtRegisterTest(
"DetectIPProtoTestSetup19", DetectIPProtoTestSetup19);
2099 UtRegisterTest(
"DetectIPProtoTestSetup20", DetectIPProtoTestSetup20);
2100 UtRegisterTest(
"DetectIPProtoTestSetup21", DetectIPProtoTestSetup21);
2101 UtRegisterTest(
"DetectIPProtoTestSetup22", DetectIPProtoTestSetup22);
2102 UtRegisterTest(
"DetectIPProtoTestSetup23", DetectIPProtoTestSetup23);
2103 UtRegisterTest(
"DetectIPProtoTestSetup24", DetectIPProtoTestSetup24);
2104 UtRegisterTest(
"DetectIPProtoTestSetup33", DetectIPProtoTestSetup33);
2105 UtRegisterTest(
"DetectIPProtoTestSetup34", DetectIPProtoTestSetup34);
2106 UtRegisterTest(
"DetectIPProtoTestSetup36", DetectIPProtoTestSetup36);
2107 UtRegisterTest(
"DetectIPProtoTestSetup43", DetectIPProtoTestSetup43);
2108 UtRegisterTest(
"DetectIPProtoTestSetup44", DetectIPProtoTestSetup44);
2109 UtRegisterTest(
"DetectIPProtoTestSetup45", DetectIPProtoTestSetup45);
2110 UtRegisterTest(
"DetectIPProtoTestSetup56", DetectIPProtoTestSetup56);
2111 UtRegisterTest(
"DetectIPProtoTestSetup75", DetectIPProtoTestSetup75);
2112 UtRegisterTest(
"DetectIPProtoTestSetup76", DetectIPProtoTestSetup76);
2113 UtRegisterTest(
"DetectIPProtoTestSetup129", DetectIPProtoTestSetup129);
2114 UtRegisterTest(
"DetectIPProtoTestSetup130", DetectIPProtoTestSetup130);
2115 UtRegisterTest(
"DetectIPProtoTestSetup131", DetectIPProtoTestSetup131);
2116 UtRegisterTest(
"DetectIPProtoTestSetup132", DetectIPProtoTestSetup132);
2117 UtRegisterTest(
"DetectIPProtoTestSetup145", DetectIPProtoTestSetup145);