From: Shravan Rangarajuvenkata (shrarang) Date: Fri, 22 Nov 2019 18:04:41 +0000 (+0000) Subject: Merge pull request #1857 in SNORT/snort3 from ~SATHIRKA/snort3:bt_midstream to master X-Git-Tag: 3.0.0-265~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dd2586c046a6a61e7602b2bf398761de30d46c7b;p=thirdparty%2Fsnort3.git Merge pull request #1857 in SNORT/snort3 from ~SATHIRKA/snort3:bt_midstream to master Squashed commit of the following: commit df005fee8fdee9b15bb625cd5ef908bbc410a7e7 Author: Sreeja Athirkandathil Narayanan Date: Thu Nov 21 14:21:12 2019 -0500 appid: Adding Lua-C API to handle midstream traffic --- diff --git a/src/network_inspectors/appid/lua_detector_api.cc b/src/network_inspectors/appid/lua_detector_api.cc index d0f8ecd78..736d9f6cd 100644 --- a/src/network_inspectors/appid/lua_detector_api.cc +++ b/src/network_inspectors/appid/lua_detector_api.cc @@ -2482,6 +2482,22 @@ static int create_future_flow(lua_State* L) return 0; } +static int is_midstream_session(lua_State *L) +{ + auto& ud = *UserData::check(L, DETECTOR, 1); + // Verify detector user data and that we are in packet context + LuaStateDescriptor* lsd = ud->validate_lua_state(true); + + if (lsd->ldp.pkt->flow->get_session_flags() & SSNFLAG_MIDSTREAM) + { + lua_pushnumber(L, 1); + return 1; + } + + lua_pushnumber(L, 0); + return 0; +} + static const luaL_Reg detector_methods[] = { /* Obsolete API names. No longer use these! They are here for backward @@ -2608,6 +2624,7 @@ static const luaL_Reg detector_methods[] = { "addPortPatternService", add_port_pattern_service }, { "createFutureFlow", create_future_flow }, + { "isMidStreamSession", is_midstream_session }, { nullptr, nullptr } };