commit 68a07a2: [Minor] Fix newindex
Vsevolod Stakhov
vsevolod at rspamd.com
Tue May 16 10:49:03 UTC 2023
Author: Vsevolod Stakhov
Date: 2023-05-16 11:41:53 +0100
URL: https://github.com/rspamd/rspamd/commit/68a07a2c1d66746a9265ddcf539c494b96a5f63f (HEAD -> master)
[Minor] Fix newindex
---
src/lua/lua_config.c | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/src/lua/lua_config.c b/src/lua/lua_config.c
index b0e2a475c..680203c1e 100644
--- a/src/lua/lua_config.c
+++ b/src/lua/lua_config.c
@@ -2729,7 +2729,7 @@ lua_config_newindex (lua_State *L)
/* Deal with flags and ids */
lua_pushstring (L, "flags");
- lua_gettable (L, 2);
+ lua_gettable (L, -2);
if (lua_type(L, -1) == LUA_TSTRING) {
flags = lua_parse_symbol_flags (lua_tostring (L, -1));
}
@@ -2741,7 +2741,7 @@ lua_config_newindex (lua_State *L)
lua_pop (L, 1); /* Clean flags */
lua_pushstring(L, "allowed_ids");
- lua_gettable (L, 2);
+ lua_gettable (L, -2);
if (lua_type(L, -1) == LUA_TSTRING) {
allowed_ids = rspamd_process_id_list(lua_tostring (L, -1));
}
@@ -2755,6 +2755,21 @@ lua_config_newindex (lua_State *L)
}
lua_pop (L, 1);
+ lua_pushstring(L, "forbidden_ids");
+ lua_gettable (L, -2);
+ if (lua_type(L, -1) == LUA_TSTRING) {
+ forbidden_ids = rspamd_process_id_list(lua_tostring (L, -1));
+ }
+ else if (lua_type(L, -1) == LUA_TTABLE) {
+ forbidden_ids = g_array_sized_new(FALSE, FALSE, sizeof (guint32),
+ rspamd_lua_table_size(L, -1));
+ for (lua_pushnil (L); lua_next (L, -2); lua_pop (L, 1)) {
+ guint32 v = lua_tointeger(L, -1);
+ g_array_append_val(forbidden_ids, v);
+ }
+ }
+ lua_pop (L, 1);
+
id = rspamd_register_symbol_fromlua (L,
cfg,
name,
More information about the Commits
mailing list