]> source.dussan.org Git - rspamd.git/commitdiff
* Handle cases of broken requests
authorVsevolod Stakhov <vsevolod@rambler-co.ru>
Mon, 19 Jul 2010 15:55:25 +0000 (19:55 +0400)
committerVsevolod Stakhov <vsevolod@rambler-co.ru>
Mon, 19 Jul 2010 15:55:25 +0000 (19:55 +0400)
src/protocol.c
src/worker.c

index f86f2567784a98cf5437ee276ff35bc9ccd15a2d..cb79b258ceab80d5050c8e37e6ecb1f0736cd24e 100644 (file)
@@ -123,7 +123,7 @@ parse_command (struct worker_task *task, f_str_t * line)
        task->proto_ver = RSPAMC_PROTO_1_1;
        token = separate_command (line, ' ');
        if (line == NULL || token == NULL) {
-               debug_task ("bad command: %s", token);
+               debug_task ("bad command");
                return -1;
        }
 
@@ -979,9 +979,7 @@ write_reply (struct worker_task *task)
                        debug_task ("writing error: %s", outbuf);
                }
                /* Write to bufferevent error message */
-               if (! rspamd_dispatcher_write (task->dispatcher, outbuf, r, FALSE, FALSE)) {
-                       return FALSE;
-               }
+               return rspamd_dispatcher_write (task->dispatcher, outbuf, r, FALSE, FALSE);
        }
        else {
                switch (task->cmd) {
index 8edf2ccceea2f491d2580eff97968e1d549b220b..15b73e2c7f2c9a1e9db25a7542baabfa8cf52954 100644 (file)
@@ -351,6 +351,10 @@ read_socket (f_str_t * in, void *arg)
                        return write_socket (task);
                }
                break;
+       case WRITE_REPLY:
+       case WRITE_ERROR:
+               return write_socket (task);
+               break;
        default:
                debug_task ("invalid state on reading stage");
                break;