X-Git-Url: https://git.exim.org/users/jgh/exim.git/blobdiff_plain/54fc8428c5c4b3fa90347e5ca7d89c2d752a7032..2a47f02825993e5ade191f8206cb767b0d9fc44c:/src/src/spool_out.c diff --git a/src/src/spool_out.c b/src/src/spool_out.c index 724b00e44..ce25a564e 100644 --- a/src/src/spool_out.c +++ b/src/src/spool_out.c @@ -1,10 +1,8 @@ -/* $Cambridge: exim/src/src/spool_out.c,v 1.13 2007/01/22 16:29:54 ph10 Exp $ */ - /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2007 */ +/* Copyright (c) University of Cambridge 1995 - 2012 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions for writing spool files, and moving them about. */ @@ -95,10 +93,12 @@ double-check the mode because the group setting doesn't always get set automatically. */ if (fd >= 0) - { - (void)fchown(fd, exim_uid, exim_gid); - (void)fchmod(fd, SPOOL_MODE); - } + if (fchown(fd, exim_uid, exim_gid) || fchmod(fd, SPOOL_MODE)) + { + DEBUG(D_any) debug_printf("failed setting perms on %s\n", temp_name); + (void) close(fd); fd = -1; + Uunlink(temp_name); + } return fd; } @@ -198,6 +198,7 @@ tree_walk(acl_var_m, &acl_var_write, f); /* Now any other data that needs to be remembered. */ fprintf(f, "-body_linecount %d\n", body_linecount); +fprintf(f, "-max_received_linelength %d\n", max_received_linelength); if (body_zerocount > 0) fprintf(f, "-body_zerocount %d\n", body_zerocount); @@ -227,9 +228,10 @@ if (bmi_verdicts != NULL) fprintf(f, "-bmi_verdicts %s\n", bmi_verdicts); #endif #ifdef SUPPORT_TLS -if (tls_certificate_verified) fprintf(f, "-tls_certificate_verified\n"); -if (tls_cipher != NULL) fprintf(f, "-tls_cipher %s\n", tls_cipher); -if (tls_peerdn != NULL) fprintf(f, "-tls_peerdn %s\n", tls_peerdn); +if (tls_in.certificate_verified) fprintf(f, "-tls_certificate_verified\n"); +if (tls_in.cipher != NULL) fprintf(f, "-tls_cipher %s\n", tls_in.cipher); +if (tls_in.peerdn != NULL) fprintf(f, "-tls_peerdn %s\n", string_printing(tls_in.peerdn)); +if (tls_in.sni != NULL) fprintf(f, "-tls_sni %s\n", string_printing(tls_in.sni)); #endif /* To complete the envelope, write out the tree of non-recipients, followed by