]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
lua/alert: expose transaction if available
authorVictor Julien <victor@inliniac.net>
Fri, 7 Jul 2017 09:14:04 +0000 (11:14 +0200)
committerVictor Julien <victor@inliniac.net>
Fri, 7 Jul 2017 09:14:04 +0000 (11:14 +0200)
Bug #1748.

src/output-lua.c

index 16f599aaf5056a67bea3819d09f935e998bcf53d..55e9110570312424995f1568cd58e64f1f56248e 100644 (file)
@@ -213,8 +213,13 @@ static int LuaPacketLoggerAlerts(ThreadVars *tv, void *thread_data, const Packet
 
         lua_getglobal(td->lua_ctx->luastate, "log");
 
+        void *txptr = NULL;
+        if (p->flow && p->flow->alstate && (pa->flags & PACKET_ALERT_FLAG_TX))
+            txptr = AppLayerParserGetTx(p->proto, p->flow->alproto, p->flow->alstate, pa->tx_id);
+
         LuaStateSetThreadVars(td->lua_ctx->luastate, tv);
         LuaStateSetPacket(td->lua_ctx->luastate, (Packet *)p);
+        LuaStateSetTX(td->lua_ctx->luastate, txptr);
         LuaStateSetFlow(td->lua_ctx->luastate, p->flow);
         LuaStateSetPacketAlert(td->lua_ctx->luastate, (PacketAlert *)pa);