]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] Update all rspamd_url_find_multiple callers with lua_state
authorVsevolod Stakhov <vsevolod@rspamd.com>
Fri, 14 Nov 2025 20:09:50 +0000 (20:09 +0000)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Fri, 14 Nov 2025 20:09:50 +0000 (20:09 +0000)
- 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
src/lua/lua_task.c
src/lua/lua_url.c

index 910fe2082e472e3c27a24050261e4bf1153d3509..caeaf4c05e91ff370d1f57e23ccba7f98369a33f 100644 (file)
@@ -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 */
index e10c7e089ba6c8a2c696f6d8707e8ff658da74e5..d242bbe76d3da9a2c0fc71faa1b244c9adba5f54 100644 (file)
@@ -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) {
index 73118f4781aef7afe079ad2fcfcffe63feb4a430..b6c42b0c7b94b43876b3fd3a30fd6c6e8712167f 100644 (file)
@@ -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);