summaryrefslogtreecommitdiffstats
path: root/src/lua/lua_util.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-06-02 14:26:56 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-06-02 15:39:37 +0100
commita0adb37f33c5a6cb19edc053b0fbdf7a0b4eddab (patch)
treea3e0ee4ab428486f42ec480e6356240c1bf04805 /src/lua/lua_util.c
parenta645c70082c32d2a60454b8bce30152b4760636b (diff)
downloadrspamd-a0adb37f33c5a6cb19edc053b0fbdf7a0b4eddab.tar.gz
rspamd-a0adb37f33c5a6cb19edc053b0fbdf7a0b4eddab.zip
Adopt LUA API.
Diffstat (limited to 'src/lua/lua_util.c')
-rw-r--r--src/lua/lua_util.c29
1 files changed, 17 insertions, 12 deletions
diff --git a/src/lua/lua_util.c b/src/lua/lua_util.c
index ac0c5f18a..3e6b34c81 100644
--- a/src/lua/lua_util.c
+++ b/src/lua/lua_util.c
@@ -195,24 +195,29 @@ lua_util_process_message (lua_State *L)
task->s = rspamd_session_create (task->task_pool, rspamd_task_fin,
rspamd_task_restore, rspamd_task_free_hard, task);
- if (rspamd_task_process (task, NULL, message, mlen, TRUE)) {
- event_base_loop (base, 0);
+ if (!rspamd_task_load_message (task, NULL, message, mlen)) {
+ lua_pushnil (L);
+ }
+ else {
+ if (rspamd_task_process (task, RSPAMD_TASK_PROCESS_ALL)) {
+ event_base_loop (base, 0);
- if (res != NULL) {
- ucl_object_push_lua (L, res, true);
+ if (res != NULL) {
+ ucl_object_push_lua (L, res, true);
- ucl_object_unref (res);
+ ucl_object_unref (res);
+ }
+ else {
+ ucl_object_push_lua (L, rspamd_protocol_write_ucl (task, NULL),
+ true);
+ rdns_resolver_release (task->resolver->r);
+ rspamd_task_free_hard (task);
+ }
}
else {
- ucl_object_push_lua (L, rspamd_protocol_write_ucl (task, NULL),
- true);
- rdns_resolver_release (task->resolver->r);
- rspamd_task_free_hard (task);
+ lua_pushnil (L);
}
}
- else {
- lua_pushnil (L);
- }
event_base_free (base);
}