update to pre-4.87 master
[exim.git] / src / src / spool_out.c
index 67ac8bce790c542c596ce453cb94dd1c72faba4f..8d0ee7c719a19ba2a204440ca036a6f0622859f2 100644 (file)
@@ -2,7 +2,7 @@
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2012 */
+/* Copyright (c) University of Cambridge 1995 - 2015 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 /* Functions for writing spool files, and moving them about. */
@@ -218,7 +218,9 @@ if (sender_local) fprintf(f, "-local\n");
 if (local_error_message) fprintf(f, "-localerror\n");
 if (local_scan_data != NULL) fprintf(f, "-local_scan %s\n", local_scan_data);
 #ifdef WITH_CONTENT_SCAN
-if (spam_score_int != NULL) fprintf(f,"-spam_score_int %s\n", spam_score_int);
+if (spam_bar)       fprintf(f,"-spam_bar %s\n",       spam_bar);
+if (spam_score)     fprintf(f,"-spam_score %s\n",     spam_score);
+if (spam_score_int) fprintf(f,"-spam_score_int %s\n", spam_score_int);
 #endif
 if (deliver_manual_thaw) fprintf(f, "-manual_thaw\n");
 if (sender_set_untrusted) fprintf(f, "-sender_set_untrusted\n");
@@ -245,13 +247,20 @@ if (tls_in.ourcert)
 if (tls_in.ocsp)        fprintf(f, "-tls_ocsp %d\n",   tls_in.ocsp);
 #endif
 
-#ifdef EXPERIMENTAL_DSN
+#ifdef SUPPORT_I18N
+if (message_smtputf8)
+  {
+  fprintf(f, "-smtputf8\n");
+  if (message_utf8_downconvert)
+    fprintf(f, "-utf8_%sdowncvt\n", message_utf8_downconvert < 0 ? "opt" : "");
+  }
+#endif
+
 /* Write the dsn flags to the spool header file */
 DEBUG(D_deliver) debug_printf("DSN: Write SPOOL :-dsn_envid %s\n", dsn_envid);
 if (dsn_envid != NULL) fprintf(f, "-dsn_envid %s\n", dsn_envid);
 DEBUG(D_deliver) debug_printf("DSN: Write SPOOL :-dsn_ret %d\n", dsn_ret);
 if (dsn_ret != 0) fprintf(f, "-dsn_ret %d\n", dsn_ret);
-#endif
 
 /* To complete the envelope, write out the tree of non-recipients, followed by
 the list of recipients. These won't be disjoint the first time, when no
@@ -263,34 +272,21 @@ fprintf(f, "%d\n", recipients_count);
 for (i = 0; i < recipients_count; i++)
   {
   recipient_item *r = recipients_list + i;
-#ifdef EXPERIMENTAL_DSN
 DEBUG(D_deliver) debug_printf("DSN: Flags :%d\n", r->dsn_flags);
-#endif
-  if (r->pno < 0 && r->errors_to == NULL
-    #ifdef EXPERIMENTAL_DSN
-     && r->dsn_flags == 0
-    #endif
-    )
+  if (r->pno < 0 && r->errors_to == NULL && r->dsn_flags == 0)
     fprintf(f, "%s\n", r->address);
   else
     {
     uschar *errors_to = (r->errors_to == NULL)? US"" : r->errors_to;
-    #ifdef EXPERIMENTAL_DSN
     /* for DSN SUPPORT extend exim 4 spool in a compatible way by
        adding new values upfront and add flag 0x02 */
     uschar *orcpt = (r->orcpt == NULL)? US"" : r->orcpt;
     fprintf(f, "%s %s %d,%d %s %d,%d#3\n", r->address, orcpt, Ustrlen(orcpt), r->dsn_flags,
       errors_to, Ustrlen(errors_to), r->pno);
-    #else
-    fprintf(f, "%s %s %d,%d#1\n", r->address, errors_to,
-      Ustrlen(errors_to), r->pno);
-    #endif
     }
-    
-    #ifdef EXPERIMENTAL_DSN
+
       DEBUG(D_deliver) debug_printf("DSN: **** SPOOL_OUT - address: |%s| errorsto: |%s| orcpt: |%s| dsn_flags: %d\n",
          r->address, r->errors_to, r->orcpt, r->dsn_flags);
-    #endif
   }
 
 /* Put a blank line before the headers */
@@ -519,3 +515,5 @@ return TRUE;
 #endif
 
 /* End of spool_out.c */
+/* vi: aw ai sw=2
+*/