lua_pushcfunction(L, &rspamd_lua_traceback);
err_idx = lua_gettop(L);
/* Preallocate stack (small opt) */
- lua_checkstack(L, err_idx + 9);
+ lua_checkstack(L, err_idx + nargs + 9);
/* function */
lua_rawgeti(L, LUA_REGISTRYINDEX, cur->cbref);
/* client IP */
{
/* Start lua pre handler */
lua_State *L = session->ctx->cfg->lua_state;
- int err_idx, ret, nargs = 5;
+ int err_idx, ret, nargs = 7;
lua_pushcfunction(L, &rspamd_lua_traceback);
err_idx = lua_gettop(L);
/* Preallocate stack (small opt) */
- lua_checkstack(L, err_idx + 5);
+ lua_checkstack(L, err_idx + nargs + 1);
/* function */
lua_rawgeti(L, LUA_REGISTRYINDEX, cur->cbref);
/* client IP */
nargs++;
}
+ /* Flag and value */
+ lua_pushinteger(L, cmd->flag);
+ lua_pushinteger(L, cmd->value);
+
if ((ret = lua_pcall(L, nargs, LUA_MULTRET, err_idx)) != 0) {
msg_err("call to lua_pre_handler lua "
"script failed (%d): %s",