]> source.dussan.org Git - rspamd.git/commitdiff
* Fix character policy in dispatcher
authorVsevolod Stakhov <vsevolod@rambler-co.ru>
Mon, 2 Mar 2009 00:58:37 +0000 (03:58 +0300)
committerVsevolod Stakhov <vsevolod@rambler-co.ru>
Mon, 2 Mar 2009 00:58:37 +0000 (03:58 +0300)
src/buffer.c
src/message.c

index 268b6cbb1a64e6e65da644aecc4a88705dc68d9a..6cffbea9eec3e289fdeb8e294650911f3cf811b5 100644 (file)
@@ -286,8 +286,14 @@ rspamd_create_dispatcher (int fd, enum io_policy policy,
        bzero (new, sizeof (rspamd_io_dispatcher_t));
 
        new->pool = memory_pool_new (memory_pool_get_size ());
-       new->tv = memory_pool_alloc (new->pool, sizeof (struct timeval));
-       memcpy (new->tv, tv, sizeof (struct timeval));
+       if (tv != NULL) {
+               new->tv = memory_pool_alloc (new->pool, sizeof (struct timeval));
+               memcpy (new->tv, tv, sizeof (struct timeval));
+       }
+       else {
+               new->tv = NULL;
+       }
+       new->nchars = 0;
        new->policy = policy;
        new->read_callback = read_cb;
        new->write_callback = write_cb;
@@ -320,7 +326,7 @@ rspamd_set_dispatcher_policy (rspamd_io_dispatcher_t *d,
 {
        f_str_t *tmp;
 
-       if (d->policy != policy || d->nchars != nchars) {
+       if (d->policy != policy) {
                d->policy = policy;
                d->nchars = nchars ? nchars : BUFSIZ;
                /* Resize input buffer if needed */
index 98c710fe8ff3ad08e353296c81405c0a100b60d6..8978ea827ccd2e69cd7f01cde1172b2d10027e35 100644 (file)
@@ -318,6 +318,7 @@ process_message (struct worker_task *task)
        GMimeStream *stream;
 
        stream = g_mime_stream_mem_new_with_buffer (task->msg->begin, task->msg->len);
+       msg_debug ("process_message: construct mime parser from string length %ld", (long int)task->msg->len);
        /* create a new parser object to parse the stream */
        parser = g_mime_parser_new_with_stream (stream);