]> source.dussan.org Git - rspamd.git/commitdiff
* Add more information about why we drop smtp connection
authorVsevolod Stakhov <vsevolod@rambler-co.ru>
Wed, 23 Jun 2010 12:11:05 +0000 (16:11 +0400)
committerVsevolod Stakhov <vsevolod@rambler-co.ru>
Wed, 23 Jun 2010 12:11:05 +0000 (16:11 +0400)
* Fix mkstemp call

src/smtp.c
src/smtp_proto.c

index 24e453c4f63b829c499ceb223e2787b470fdc3d4..f630c242812fcf005c10651ca87e021e5c63eec7 100644 (file)
@@ -308,6 +308,7 @@ smtp_send_upstream_message (struct smtp_session *session)
        session->upstream_state = SMTP_STATE_IN_SENDFILE;
        session->state = SMTP_STATE_WAIT_UPSTREAM;
        if (! rspamd_dispatcher_sendfile (session->upstream_dispatcher, session->temp_fd, session->temp_size)) {
+               msg_err ("sendfile failed: %s", strerror (errno));
                goto err;
        }
        return TRUE;
@@ -330,6 +331,7 @@ process_smtp_data (struct smtp_session *session)
        char                           *s;
 
        if (fstat (session->temp_fd, &st) == -1) {
+               msg_err ("fstat failed: %s", strerror (errno));
                goto err;
        }
        /* Now mmap temp file if it is small enough */
@@ -344,6 +346,7 @@ process_smtp_data (struct smtp_session *session)
 #else
                if ((session->task->msg->begin = mmap (NULL, st.st_size, PROT_READ, MAP_SHARED, session->temp_fd, 0)) == MAP_FAILED) {
 #endif
+                       msg_err ("mmap failed: %s", strerror (errno));
                        goto err;
                }
                session->task->msg->len = st.st_size;
@@ -375,6 +378,7 @@ process_smtp_data (struct smtp_session *session)
                if (process_message (session->task) == -1) {
                        msg_err ("cannot process message");
                        munmap (session->task->msg->begin, st.st_size);
+                       msg_err ("process message failed: %s", strerror (errno));
                        goto err;
                }
                r = process_filters (session->task);
index f499efd7ad37f518de87114d330d9d1a0c5719b0..ef019016365824221eaebcec0d673880dec3b0bb 100644 (file)
@@ -551,9 +551,9 @@ smtp_upstream_read_socket (f_str_t * in, void *arg)
                                return FALSE;
                        }
                        else if (r == 1) {
-                               r = strlen (session->cfg->temp_dir) + sizeof ("/rspamd-XXXXXX.tmp");
+                               r = strlen (session->cfg->temp_dir) + sizeof ("/rspamd-XXXXXX");
                                session->temp_name = memory_pool_alloc (session->pool, r);
-                               snprintf (session->temp_name, r, "%s%crspamd-XXXXXX.tmp", session->cfg->temp_dir, G_DIR_SEPARATOR);
+                               snprintf (session->temp_name, r, "%s%crspamd-XXXXXX", session->cfg->temp_dir, G_DIR_SEPARATOR);
 #ifdef HAVE_MKSTEMP
                                /* Umask is set before */
                                session->temp_fd = mkstemp (session->temp_name);
@@ -561,6 +561,7 @@ smtp_upstream_read_socket (f_str_t * in, void *arg)
                                session->temp_fd = g_mkstemp_full (session->temp_name, O_RDWR, S_IWUSR | S_IRUSR);
 #endif
                                if (session->temp_fd == -1) {
+                                       msg_err ("mkstemp error: %s", strerror (errno));
                                        session->error = SMTP_ERROR_FILE;
                                        session->state = SMTP_STATE_CRITICAL_ERROR;
                                        rspamd_dispatcher_restore (session->dispatcher);