]> source.dussan.org Git - rspamd.git/commitdiff
Pass task object to fin_callback.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 17 Apr 2015 16:06:18 +0000 (17:06 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 17 Apr 2015 16:06:18 +0000 (17:06 +0100)
src/libserver/task.c
src/libserver/task.h

index 91a6696477efd1275d05e0bef400bed07141672b..2f763556109daece34a65d8c122854f2dd184114 100644 (file)
@@ -114,7 +114,7 @@ static void
 rspamd_task_reply (struct rspamd_task *task)
 {
        if (task->fin_callback) {
-               task->fin_callback (task->fin_arg);
+               task->fin_callback (task, task->fin_arg);
        }
        else {
                rspamd_protocol_write_reply (task);
@@ -318,7 +318,9 @@ rspamd_task_process (struct rspamd_task *task,
        /* We got body, set wanna_die flag */
        task->s->wanna_die = TRUE;
 
-       rspamd_protocol_handle_headers (task, msg);
+       if (msg) {
+               rspamd_protocol_handle_headers (task, msg);
+       }
 
        if (task->flags & RSPAMD_TASK_FLAG_HAS_CONTROL) {
                /* We have control chunk, so we need to process it separately */
index 608be868556b77b8943d295ed8144c4e32555839..204ea4cad2c757afc6ccc655fb6c3de880701c3d 100644 (file)
@@ -144,7 +144,7 @@ struct rspamd_task {
        struct timeval tv;                                          /**< time of connection                                                             */
        guint32 scan_milliseconds;                                  /**< how much milliseconds passed                                   */
        guint32 parser_recursion;                                   /**< for avoiding recursion stack overflow                  */
-       gboolean (*fin_callback)(void *arg);                        /**< calback for filters finalizing                                 */
+       gboolean (*fin_callback)(struct rspamd_task *task, void *arg); /**< calback for filters finalizing                                      */
        void *fin_arg;                                              /**< argument for fin callback                                              */
 
        guint32 dns_requests;                                       /**< number of DNS requests per this task                   */