diff --git a/lua/zapret-lib.lua b/lua/zapret-lib.lua index b129161..927d02a 100644 --- a/lua/zapret-lib.lua +++ b/lua/zapret-lib.lua @@ -18,9 +18,14 @@ function luaexec(ctx, desync) if not desync.arg.code then error("luaexec: no 'code' parameter") end - local fname = desync.func_instance.."_luaexec_code" + local fname = desync.func_instance.."_code" if not _G[fname] then - _G[fname] = load(desync.arg.code, fname) + local err + _G[fname], err = load(desync.arg.code, fname) + if not _G[fname] then + error(err) + return + end end -- allow dynamic code to access desync _G.desync = desync diff --git a/nfq2/lua.c b/nfq2/lua.c index f66ddba..3f12aff 100644 --- a/nfq2/lua.c +++ b/nfq2/lua.c @@ -1440,11 +1440,11 @@ void lua_pushf_ctrack(lua_State *L, const t_ctrack *ctrack, const t_ctrack_posit { LUA_STACK_GUARD_ENTER(L) - if (!tpos) tpos = &ctrack->pos; - lua_pushliteral(L, "track"); if (ctrack) { + if (!tpos) tpos = &ctrack->pos; + lua_createtable(L, 0, 9); if (ctrack->incoming_ttl)