这篇教程C++ DetectFlowFree函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中DetectFlowFree函数的典型用法代码示例。如果您正苦于以下问题:C++ DetectFlowFree函数的具体用法?C++ DetectFlowFree怎么用?C++ DetectFlowFree使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了DetectFlowFree函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: DetectFlowTestParseNocase01/** * /test DetectFlowTestParseNocase01 is a test to make sure that we return "something" * when given valid flow opt */int DetectFlowTestParseNocase01 (void) { int result = 0; DetectFlowData *fd = NULL; fd = DetectFlowParse("ESTABLISHED"); if (fd != NULL) { DetectFlowFree(fd); result = 1; } return result;}
开发者ID:gcordrey,项目名称:suricata,代码行数:15,
示例2: DetectFlowTestParse01/** * /test DetectFlowTestParse01 is a test to make sure that we return "something" * when given valid flow opt */int DetectFlowTestParse01 (void) { int result = 0; DetectFlowData *fd = NULL; fd = DetectFlowParse("established"); if (fd != NULL) { DetectFlowFree(fd); result = 1; } return result;}
开发者ID:gcordrey,项目名称:suricata,代码行数:15,
示例3: DetectFlowTestParse13/** * /test DetectFlowTestParse13 is a test for an invalid option */int DetectFlowTestParse13 (void) { int result = 1; DetectFlowData *fd = NULL; fd = DetectFlowParse("invalidoptiontest"); if (fd != NULL) { printf("expected: NULL got 0x%02X %" PRId32 ": ",fd->flags, fd->match_cnt); result = 0; DetectFlowFree(fd); } return result;}
开发者ID:gcordrey,项目名称:suricata,代码行数:15,
示例4: DetectFlowTestParse15/** * /test DetectFlowTestParse15 is a test for an invalid combo of options established,stateless */int DetectFlowTestParse15 (void) { int result = 1; DetectFlowData *fd = NULL; fd = DetectFlowParse("established,stateless"); if (fd != NULL) { printf("expected: NULL got 0x%02X %" PRId32 ": ",fd->flags, fd->match_cnt); result = 0; DetectFlowFree(fd); } return result;}
开发者ID:gcordrey,项目名称:suricata,代码行数:15,
示例5: DetectFlowTestParse21/** * /test DetectFlowTestParse21 is a test for an invalid opt between to valid opts */int DetectFlowTestParse21 (void) { int result = 1; DetectFlowData *fd = NULL; fd = DetectFlowParse("from_server,a,no_stream"); if (fd != NULL) { printf("expected: NULL got 0x%02X %" PRId32 ": ",fd->flags, fd->match_cnt); result = 0; DetectFlowFree(fd); } return result;}
开发者ID:gcordrey,项目名称:suricata,代码行数:15,
示例6: DetectFlowTestParse06/** * /test DetectFlowTestParse06 is a test for setting the from_server flow opt */int DetectFlowTestParse06 (void) { int result = 0; DetectFlowData *fd = NULL; fd = DetectFlowParse("from_server"); if (fd != NULL) { if (fd->flags == FLOW_PKT_TOCLIENT && fd->match_cnt == 1) { result = 1; } else { printf("expected 0x%02X cnt %" PRId32 " got 0x%02X cnt %" PRId32 ": ", FLOW_PKT_TOCLIENT, 1, fd->flags, fd->match_cnt); } DetectFlowFree(fd); } return result;}
开发者ID:gcordrey,项目名称:suricata,代码行数:18,
示例7: DetectFlowTestParseNocase03/** * /test DetectFlowTestParseNocase03 is a test for setting the stateless flow opt */int DetectFlowTestParseNocase03 (void) { int result = 0; DetectFlowData *fd = NULL; fd = DetectFlowParse("STATELESS"); if (fd != NULL) { if (fd->flags == FLOW_PKT_STATELESS && fd->match_cnt == 1) { result = 1; } else { printf("expected 0x%02X cnt %" PRId32 " got 0x%02X cnt %" PRId32 ": ", FLOW_PKT_STATELESS, 1, fd->flags, fd->match_cnt); } DetectFlowFree(fd); } return result;}
开发者ID:gcordrey,项目名称:suricata,代码行数:18,
示例8: DetectFlowTestParseNocase07/** * /test DetectFlowTestParseNocase07 is a test for setting the from_client flow opt */int DetectFlowTestParseNocase07 (void) { int result = 0; DetectFlowData *fd = NULL; fd = DetectFlowParse("FROM_CLIENT"); if (fd != NULL) { if (fd->flags == FLOW_PKT_TOSERVER && fd->match_cnt == 1) { result = 1; } else { printf("expected 0x%02X cnt %" PRId32 " got 0x%02X cnt %" PRId32 ": ", FLOW_PKT_TOSERVER, 1, fd->flags, fd->match_cnt); } DetectFlowFree(fd); } return result;}
开发者ID:gcordrey,项目名称:suricata,代码行数:18,
示例9: DetectFlowTestParseNocase08/** * /test DetectFlowTestParseNocase08 is a test for setting the established,to_client flow opts */int DetectFlowTestParseNocase08 (void) { int result = 0; DetectFlowData *fd = NULL; fd = DetectFlowParse("ESTABLISHED,TO_CLIENT"); if (fd != NULL) { if (fd->flags & FLOW_PKT_ESTABLISHED && fd->flags & FLOW_PKT_TOCLIENT && fd->match_cnt == 2) { result = 1; } else { printf("expected: 0x%02X cnt %" PRId32 " got 0x%02X cnt %" PRId32 ": ", FLOW_PKT_ESTABLISHED + FLOW_PKT_TOCLIENT, 2, fd->flags, fd->match_cnt); } DetectFlowFree(fd); } return result;}
开发者ID:gcordrey,项目名称:suricata,代码行数:18,
示例10: DetectFlowTestParseNocase11/** * /test DetectFlowTestParseNocase11 is a test for setting the from_server,stateless flow opts with spaces all around */int DetectFlowTestParseNocase11 (void) { int result = 0; DetectFlowData *fd = NULL; fd = DetectFlowParse(" FROM_SERVER , STATELESS "); if (fd != NULL) { if (fd->flags & FLOW_PKT_STATELESS && fd->flags & FLOW_PKT_TOCLIENT && fd->match_cnt == 2){ result = 1; } else { printf("expected: 0x%02X cnt %" PRId32 " got 0x%02X cnt %" PRId32 ": ", FLOW_PKT_STATELESS + FLOW_PKT_TOCLIENT, 2, fd->flags, fd->match_cnt); } DetectFlowFree(fd); } return result;}
开发者ID:gcordrey,项目名称:suricata,代码行数:18,
示例11: DetectFlowTestParse02/** * /test DetectFlowTestParse02 is a test for setting the established flow opt */int DetectFlowTestParse02 (void) { int result = 0; DetectFlowData *fd = NULL; fd = DetectFlowParse("established"); if (fd != NULL) { if (fd->flags == FLOW_PKT_ESTABLISHED && fd->match_cnt == 1) { result = 1; } else { printf("expected 0x%02X cnt %" PRId32 " got 0x%02X cnt %" PRId32 ": ", FLOW_PKT_ESTABLISHED, 1, fd->flags, fd->match_cnt); } DetectFlowFree(fd); } return result;}
开发者ID:gcordrey,项目名称:suricata,代码行数:18,
示例12: DetectFlowTestParseNocase18/** * /test DetectFlowTestParseNocase18 is a test for setting the from_server,stateless,only_stream flow opts (order of state,dir reversed) */int DetectFlowTestParseNocase18 (void) { int result = 0; DetectFlowData *fd = NULL; fd = DetectFlowParse("FROM_SERVER,ESTABLISHED,ONLY_STREAM"); if (fd != NULL) { if (fd->flags & FLOW_PKT_ESTABLISHED && fd->flags & FLOW_PKT_TOCLIENT && fd->flags & FLOW_PKT_ONLYSTREAM && fd->match_cnt == 3) { result = 1; } else { printf("expected 0x%02X cnt %" PRId32 " got 0x%02X cnt %" PRId32 ": ", FLOW_PKT_ESTABLISHED + FLOW_PKT_TOCLIENT + FLOW_PKT_ONLYSTREAM, 3, fd->flags, fd->match_cnt); } DetectFlowFree(fd); } return result;}
开发者ID:gcordrey,项目名称:suricata,代码行数:19,
示例13: DetectFlowTestParse18/** * /test DetectFlowTestParse18 is a test for setting the from_server,stateless,only_stream flow opts (order of state,dir reversed) */int DetectFlowTestParse18 (void) { int result = 0; DetectFlowData *fd = NULL; fd = DetectFlowParse("from_server,established,only_stream"); if (fd != NULL) { if (fd->flags & FLOW_PKT_ESTABLISHED && fd->flags & FLOW_PKT_TOCLIENT && fd->flags & FLOW_PKT_ONLYSTREAM && fd->match_cnt == 3) { result = 1; } else { printf("expected 0x%02X cnt %" PRId32 " got 0x%02X cnt %" PRId32 ": ", FLOW_PKT_ESTABLISHED + FLOW_PKT_TOCLIENT + FLOW_PKT_ONLYSTREAM, 3, fd->flags, fd->match_cnt); } DetectFlowFree(fd); } return result;}
开发者ID:gcordrey,项目名称:suricata,代码行数:19,
示例14: pcre_exec//.........这里部分代码省略......... res = pcre_get_substring((char *)flowstr, ov, MAX_SUBSTRINGS, 3, &str_ptr); if (res < 0) { SCLogError(SC_ERR_PCRE_GET_SUBSTRING, "pcre_get_substring failed"); goto error; } args[2] = (char *)str_ptr; } } fd = SCMalloc(sizeof(DetectFlowData)); if (fd == NULL) goto error; fd->flags = 0; fd->match_cnt = 0; int i; for (i = 0; i < (ret - 1); i++) { if (args[i]) { /* inspect our options and set the flags */ if (strcasecmp(args[i], "established") == 0) { if (fd->flags & FLOW_PKT_ESTABLISHED) { SCLogError(SC_ERR_FLAGS_MODIFIER, "FLOW_PKT_ESTABLISHED flag is already set"); goto error; } else if (fd->flags & FLOW_PKT_STATELESS) { SCLogError(SC_ERR_FLAGS_MODIFIER, "FLOW_PKT_STATELESS already set"); goto error; } fd->flags |= FLOW_PKT_ESTABLISHED; } else if (strcasecmp(args[i], "stateless") == 0) { if (fd->flags & FLOW_PKT_STATELESS) { SCLogError(SC_ERR_FLAGS_MODIFIER, "FLOW_PKT_STATELESS flag is already set"); goto error; } else if (fd->flags & FLOW_PKT_ESTABLISHED) { SCLogError(SC_ERR_FLAGS_MODIFIER, "cannot set FLOW_PKT_STATELESS, FLOW_PKT_ESTABLISHED already set"); goto error; } fd->flags |= FLOW_PKT_STATELESS; } else if (strcasecmp(args[i], "to_client") == 0 || strcasecmp(args[i], "from_server") == 0) { if (fd->flags & FLOW_PKT_TOCLIENT) { SCLogError(SC_ERR_FLAGS_MODIFIER, "cannot set FLOW_PKT_TOCLIENT flag is already set"); goto error; } else if (fd->flags & FLOW_PKT_TOSERVER) { SCLogError(SC_ERR_FLAGS_MODIFIER, "cannot set to_client, FLOW_PKT_TOSERVER already set"); goto error; } fd->flags |= FLOW_PKT_TOCLIENT; } else if (strcasecmp(args[i], "to_server") == 0 || strcasecmp(args[i], "from_client") == 0){ if (fd->flags & FLOW_PKT_TOSERVER) { SCLogError(SC_ERR_FLAGS_MODIFIER, "cannot set FLOW_PKT_TOSERVER flag is already set"); goto error; } else if (fd->flags & FLOW_PKT_TOCLIENT) { SCLogError(SC_ERR_FLAGS_MODIFIER, "cannot set to_server, FLOW_PKT_TO_CLIENT flag already set"); goto error; } fd->flags |= FLOW_PKT_TOSERVER; } else if (strcasecmp(args[i], "only_stream") == 0) { if (fd->flags & FLOW_PKT_ONLYSTREAM) { SCLogError(SC_ERR_FLAGS_MODIFIER, "cannot set only_stream flag is already set"); goto error; } else if (fd->flags & FLOW_PKT_NOSTREAM) { SCLogError(SC_ERR_FLAGS_MODIFIER, "cannot set only_stream flag, FLOW_PKT_NOSTREAM already set"); goto error; } fd->flags |= FLOW_PKT_ONLYSTREAM; } else if (strcasecmp(args[i], "no_stream") == 0) { if (fd->flags & FLOW_PKT_NOSTREAM) { SCLogError(SC_ERR_FLAGS_MODIFIER, "cannot set no_stream flag is already set"); goto error; } else if (fd->flags & FLOW_PKT_ONLYSTREAM) { SCLogError(SC_ERR_FLAGS_MODIFIER, "cannot set no_stream flag, FLOW_PKT_ONLYSTREAM already set"); goto error; } fd->flags |= FLOW_PKT_NOSTREAM; } else { SCLogError(SC_ERR_INVALID_VALUE, "invalid flow option /"%s/"", args[i]); goto error; } fd->match_cnt++; //printf("args[%" PRId32 "]: %s match_cnt: %" PRId32 " flags: 0x%02X/n", i, args[i], fd->match_cnt, fd->flags); } } for (i = 0; i < (ret -1); i++){ if (args[i] != NULL) SCFree(args[i]); } return fd;error: /* ret can be higher than 3 */ for (i = 0; i < (ret - 1) && i < 3; i++){ if (args[i] != NULL) SCFree(args[i]); } if (fd != NULL) DetectFlowFree(fd); return NULL;}
开发者ID:jerryma119,项目名称:suricata,代码行数:101,
注:本文中的DetectFlowFree函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ DetectFlowParse函数代码示例 C++ DetectEngineThreadCtxInit函数代码示例 |