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);