diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-06-02 14:26:56 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-06-02 15:39:37 +0100 |
commit | a0adb37f33c5a6cb19edc053b0fbdf7a0b4eddab (patch) | |
tree | a3e0ee4ab428486f42ec480e6356240c1bf04805 /src/lua/lua_util.c | |
parent | a645c70082c32d2a60454b8bce30152b4760636b (diff) | |
download | rspamd-a0adb37f33c5a6cb19edc053b0fbdf7a0b4eddab.tar.gz rspamd-a0adb37f33c5a6cb19edc053b0fbdf7a0b4eddab.zip |
Adopt LUA API.
Diffstat (limited to 'src/lua/lua_util.c')
-rw-r--r-- | src/lua/lua_util.c | 29 |
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); } |