}
-void LuaExtensionsMatchSetup(lua_State *lua_state, DetectLuaData *ld, DetectEngineThreadCtx *det_ctx, Flow *f, int flow_locked)
+void LuaExtensionsMatchSetup(lua_State *lua_state, DetectLuaData *ld, DetectEngineThreadCtx *det_ctx,
+ Flow *f, int flow_locked, Packet *p)
{
SCLogDebug("det_ctx %p, f %p", det_ctx, f);
}
}
}
+
+ if (p != NULL)
+ LuaStateSetPacket(lua_state, p);
}
/**
void LuaExtensionsMatchSetup(lua_State *lua_state,
DetectLuaData *, DetectEngineThreadCtx *det_ctx,
- Flow *f, int flow_locked);
+ Flow *f, int flow_locked, Packet *p);
#endif /* HAVE_LUA */
#endif
SCReturnInt(0);
/* setup extension data for use in lua c functions */
- LuaExtensionsMatchSetup(tluajit->luastate, luajit, det_ctx, f, flow_lock);
+ LuaExtensionsMatchSetup(tluajit->luastate, luajit, det_ctx,
+ f, flow_lock, /* no packet in the ctx */NULL);
/* prepare data to pass to script */
lua_getglobal(tluajit->luastate, "match");
SCReturnInt(0);
/* setup extension data for use in lua c functions */
- LuaExtensionsMatchSetup(tluajit->luastate, luajit, det_ctx, p->flow, /* flow not locked */LUA_FLOW_NOT_LOCKED_BY_PARENT);
+ LuaExtensionsMatchSetup(tluajit->luastate, luajit, det_ctx,
+ p->flow, /* flow not locked */LUA_FLOW_NOT_LOCKED_BY_PARENT, p);
if ((tluajit->flags & DATATYPE_PAYLOAD) && p->payload_len == 0)
SCReturnInt(0);