]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #1857 in SNORT/snort3 from ~SATHIRKA/snort3:bt_midstream to master
authorShravan Rangarajuvenkata (shrarang) <shrarang@cisco.com>
Fri, 22 Nov 2019 18:04:41 +0000 (18:04 +0000)
committerShravan Rangarajuvenkata (shrarang) <shrarang@cisco.com>
Fri, 22 Nov 2019 18:04:41 +0000 (18:04 +0000)
Squashed commit of the following:

commit df005fee8fdee9b15bb625cd5ef908bbc410a7e7
Author: Sreeja Athirkandathil Narayanan <sathirka@cisco.com>
Date:   Thu Nov 21 14:21:12 2019 -0500

    appid: Adding Lua-C API to handle midstream traffic

src/network_inspectors/appid/lua_detector_api.cc

index d0f8ecd78665affa7d84115884bbba1d94a08f0c..736d9f6cd847cca0bbb4b4a28c28ddabe512f3fa 100644 (file)
@@ -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<LuaClientObject>::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 }
 };