[exim-cvs] Bugzilla 1041: pull patch id=425, DCC fixes.

Kezdőlap
Üzenet törlése
Válasz az üzenetre
Szerző: Exim Git Commits Mailing List
Dátum:  
Címzett: exim-cvs
Tárgy: [exim-cvs] Bugzilla 1041: pull patch id=425, DCC fixes.
Gitweb: http://git.exim.org/exim.git/commitdiff/6f0c431a792c79870266913600a71f3be21ee620
Commit:     6f0c431a792c79870266913600a71f3be21ee620
Parent:     fa1fce6bfaeba9f94c90d279bb8f66f5b38db349
Author:     Phil Pennock <pdp@???>
AuthorDate: Sat Jan 22 18:33:45 2011 -0500
Committer:  Phil Pennock <pdp@???>
CommitDate: Sat Jan 22 18:33:45 2011 -0500


    Bugzilla 1041: pull patch id=425, DCC fixes.


    DCC return codes were not always correct. Patch from DCC code
    maintainer, Wolfgang Breyha.
---
 src/src/dcc.c     |    3 ++-
 src/src/receive.c |   12 ++++++++++++
 2 files changed, 14 insertions(+), 1 deletions(-)


diff --git a/src/src/dcc.c b/src/src/dcc.c
index ff760bc..6de5102 100644
--- a/src/src/dcc.c
+++ b/src/src/dcc.c
@@ -512,7 +512,8 @@ int dcc_process(uschar **listptr) {
     debug_printf("Before returning to exim main process:\nreturn_text = %s - retval = %d\ndcc_result = %s\n", dcc_return_text, retval, dcc_result);


(void)fclose(data_file);
- return retval;
+ dcc_rc = retval;
+ return dcc_rc;
}

 #endif
diff --git a/src/src/receive.c b/src/src/receive.c
index c4fb31e..914b1d2 100644
--- a/src/src/receive.c
+++ b/src/src/receive.c
@@ -1101,6 +1101,9 @@ if (mbox_file == NULL) {
          "acl_smtp_mime: error while creating mbox spool file, message temporarily rejected.");
   Uunlink(spool_name);
   unspool_mbox();
+#ifdef EXPERIMENTAL_DCC
+  dcc_ok = 0;
+#endif
   smtp_respond(US"451", 3, TRUE, US"temporary local problem");
   message_id[0] = 0;            /* Indicate no message accepted */
   *smtp_reply_ptr = US"";       /* Indicate reply already sent */
@@ -1180,6 +1183,9 @@ else if (rc != OK)
   {
   Uunlink(spool_name);
   unspool_mbox();
+#ifdef EXPERIMENTAL_DCC
+  dcc_ok = 0;
+#endif
   if (smtp_handle_acl_fail(ACL_WHERE_MIME, rc, user_msg, log_msg) != 0)
     *smtp_yield_ptr = FALSE;    /* No more messsages after dropped connection */
   *smtp_reply_ptr = US"";       /* Indicate reply already sent */
@@ -3092,6 +3098,9 @@ else
 #ifdef WITH_CONTENT_SCAN
         unspool_mbox();
 #endif
+#ifdef EXPERIMENTAL_DCC
+    dcc_ok = 0;
+#endif
         if (smtp_handle_acl_fail(ACL_WHERE_DATA, rc, user_msg, log_msg) != 0)
           smtp_yield = FALSE;    /* No more messsages after dropped connection */
         smtp_reply = US"";       /* Indicate reply already sent */
@@ -3131,6 +3140,9 @@ else
 #ifdef WITH_CONTENT_SCAN
         unspool_mbox();
 #endif
+#ifdef EXPERIMENTAL_DCC
+    dcc_ok = 0;
+#endif
         /* The ACL can specify where rejections are to be logged, possibly
         nowhere. The default is main and reject logs. */