X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Fspool_out.c;h=92bf0aa64c05793386f58cf4d755b7fbec0ad5fa;hb=9031f51a298749869af8c082bad850eb103db09a;hp=01b70341d12794fa3072c2bba1868a2fdbc5a7f0;hpb=6c1c3d1dbe1a62ffd24ad9b3cd9efdfe275c74c5;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/spool_out.c b/src/src/spool_out.c index 01b70341d..92bf0aa64 100644 --- a/src/src/spool_out.c +++ b/src/src/spool_out.c @@ -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. */ @@ -210,7 +210,7 @@ if (authenticated_sender != NULL) if (allow_unqualified_recipient) fprintf(f, "-allow_unqualified_recipient\n"); if (allow_unqualified_sender) fprintf(f, "-allow_unqualified_sender\n"); if (deliver_firsttime) fprintf(f, "-deliver_firsttime\n"); -if (deliver_freeze) fprintf(f, "-frozen %d\n", deliver_frozen_at); +if (deliver_freeze) fprintf(f, "-frozen " TIME_T_FMT "\n", deliver_frozen_at); if (dont_deliver) fprintf(f, "-N\n"); if (host_lookup_deferred) fprintf(f, "-host_lookup_deferred\n"); if (host_lookup_failed) fprintf(f, "-host_lookup_failed\n"); @@ -245,13 +245,20 @@ if (tls_in.ourcert) if (tls_in.ocsp) fprintf(f, "-tls_ocsp %d\n", tls_in.ocsp); #endif -#ifdef EXPERIMENTAL_DSN +#ifdef EXPERIMENTAL_INTERNATIONAL +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 +270,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 +513,5 @@ return TRUE; #endif /* End of spool_out.c */ +/* vi: aw ai sw=2 +*/