]> source.dussan.org Git - rspamd.git/commitdiff
Allow getting message queue ID from Lua 248/head
authorAndrew Lewis <nerf@judo.za.org>
Thu, 2 Apr 2015 11:00:33 +0000 (13:00 +0200)
committerAndrew Lewis <nerf@judo.za.org>
Thu, 2 Apr 2015 11:00:33 +0000 (13:00 +0200)
src/lua/lua_task.c

index 96292bee82c79bf69a039813290f8c375da41a29..c4e595c8b58c8b958f4baa3b77313b87a86d27ac 100644 (file)
@@ -245,6 +245,11 @@ LUA_FUNCTION_DEF (task, get_raw_headers);
  * @return {table of tables} list of received headers described above
  */
 LUA_FUNCTION_DEF (task, get_received_headers);
+/***
+ * @method task:get_queue_id()
+ * Returns queue ID of the message being processed.
+ */
+LUA_FUNCTION_DEF (task, get_queue_id);
 /***
  * @method task:get_resolver()
  * Returns ready to use rspamd_resolver object suitable for making asynchronous DNS requests.
@@ -464,6 +469,7 @@ static const struct luaL_reg tasklib_m[] = {
        LUA_INTERFACE_DEF (task, get_header_full),
        LUA_INTERFACE_DEF (task, get_raw_headers),
        LUA_INTERFACE_DEF (task, get_received_headers),
+       LUA_INTERFACE_DEF (task, get_queue_id),
        LUA_INTERFACE_DEF (task, get_resolver),
        LUA_INTERFACE_DEF (task, inc_dns_req),
        LUA_INTERFACE_DEF (task, get_recipients),
@@ -1236,6 +1242,20 @@ lua_task_get_received_headers (lua_State * L)
        return 1;
 }
 
+static gint
+lua_task_get_queue_id (lua_State *L)
+{
+       struct rspamd_task *task = lua_check_task (L, 1);
+
+       if (task && task->queue_id != NULL && task->queue_id != "undef") {
+               lua_pushstring (L, task->queue_id);
+               return 1;
+       }
+
+       lua_pushnil (L);
+       return 1;
+}
+
 static gint
 lua_task_get_resolver (lua_State *L)
 {