From d459d0b352ed8b33ebf51d8a4abd00d33d4e7a03 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Fri, 7 Jul 2017 11:14:04 +0200 Subject: [PATCH] lua/alert: expose transaction if available Bug #1748. --- src/output-lua.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/output-lua.c b/src/output-lua.c index 16f599aaf5..55e9110570 100644 --- a/src/output-lua.c +++ b/src/output-lua.c @@ -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);