summaryrefslogtreecommitdiffstats
path: root/src/lua
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2014-08-16 18:32:55 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2014-08-16 18:32:55 +0100
commit1c730cbe45ff63cccd1c9a0ff1ebe188b061f166 (patch)
treeab08753d13050df0a1ff6309e74c81f0248b04d9 /src/lua
parentbdf14a499e73d5dd762aaaeec701870d39bdf1fc (diff)
downloadrspamd-1c730cbe45ff63cccd1c9a0ff1ebe188b061f166.tar.gz
rspamd-1c730cbe45ff63cccd1c9a0ff1ebe188b061f166.zip
Add lua method to get config for the task.
Diffstat (limited to 'src/lua')
-rw-r--r--src/lua/lua_task.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/lua/lua_task.c b/src/lua/lua_task.c
index 2a2c173e1..fd4bda533 100644
--- a/src/lua/lua_task.c
+++ b/src/lua/lua_task.c
@@ -51,6 +51,7 @@ LUA_FUNCTION_DEF (task, create_from_buffer);
/* Task methods */
LUA_FUNCTION_DEF (task, get_message);
LUA_FUNCTION_DEF (task, process_message);
+LUA_FUNCTION_DEF (task, get_cfg);
LUA_FUNCTION_DEF (task, set_cfg);
LUA_FUNCTION_DEF (task, destroy);
LUA_FUNCTION_DEF (task, get_mempool);
@@ -105,6 +106,7 @@ static const struct luaL_reg tasklib_m[] = {
LUA_INTERFACE_DEF (task, destroy),
LUA_INTERFACE_DEF (task, process_message),
LUA_INTERFACE_DEF (task, set_cfg),
+ LUA_INTERFACE_DEF (task, get_cfg),
LUA_INTERFACE_DEF (task, get_mempool),
LUA_INTERFACE_DEF (task, get_session),
LUA_INTERFACE_DEF (task, get_ev_base),
@@ -316,6 +318,20 @@ lua_task_process_message (lua_State *L)
return 1;
}
+
+static int
+lua_task_get_cfg (lua_State *L)
+{
+ struct rspamd_task *task = lua_check_task (L);
+ struct rspamd_config **pcfg;
+
+ pcfg = lua_newuserdata (L, sizeof (gpointer));
+ lua_setclass (L, "rspamd{config}", -1);
+ *pcfg = task->cfg;
+
+ return 1;
+}
+
static int
lua_task_set_cfg (lua_State *L)
{