From 600b20bd600ac68a63f013cd7b902f6ff4c78be7 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 14 Nov 2025 20:09:50 +0000 Subject: [PATCH] [Fix] Update all rspamd_url_find_multiple callers with lua_state - Add lua_state parameter to lua_task.c (inject_url_query_callback) - Add lua_state parameter to message.c (Subject header URL extraction) - Add lua_state parameter to lua_url.c (rspamd.url.all function) - All callers pass task->cfg->lua_state or L depending on context - Completes the lua_state parameter addition --- src/libmime/message.c | 3 ++- src/lua/lua_task.c | 3 ++- src/lua/lua_url.c | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/libmime/message.c b/src/libmime/message.c index 910fe2082e..caeaf4c05e 100644 --- a/src/libmime/message.c +++ b/src/libmime/message.c @@ -1776,7 +1776,8 @@ void rspamd_message_process(struct rspamd_task *task) strlen(MESSAGE_FIELD(task, subject)), RSPAMD_URL_FIND_STRICT, NULL, rspamd_url_task_subject_callback, - task); + task, + task->cfg ? task->cfg->lua_state : NULL); } /* Calculate average words length and number of short words */ diff --git a/src/lua/lua_task.c b/src/lua/lua_task.c index e10c7e089b..d242bbe76d 100644 --- a/src/lua/lua_task.c +++ b/src/lua/lua_task.c @@ -2807,7 +2807,8 @@ inject_url_query(struct rspamd_task *task, struct rspamd_url *url, rspamd_url_find_multiple(task->task_pool, rspamd_url_query_unsafe(url), url->querylen, RSPAMD_URL_FIND_ALL, NULL, - inject_url_query_callback, &cbd); + inject_url_query_callback, &cbd, + task->cfg ? task->cfg->lua_state : NULL); } if (part_urls) { diff --git a/src/lua/lua_url.c b/src/lua/lua_url.c index 73118f4781..b6c42b0c7b 100644 --- a/src/lua/lua_url.c +++ b/src/lua/lua_url.c @@ -986,7 +986,7 @@ lua_url_all(lua_State *L) lua_newtable(L); rspamd_url_find_multiple(pool, text, length, RSPAMD_URL_FIND_ALL, NULL, - lua_url_table_inserter, L); + lua_url_table_inserter, L, L); } else { lua_pushnil(L); -- 2.47.3