X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/c988f1f4faa9f679f79beddf3c14676c5dcb8e28..d7d7b7b91dd75cec636fc144da7e27eed860f971:/src/src/spool_out.c diff --git a/src/src/spool_out.c b/src/src/spool_out.c index a157e84ba..bbfd785d2 100644 --- a/src/src/spool_out.c +++ b/src/src/spool_out.c @@ -1,10 +1,10 @@ -/* $Cambridge: exim/src/src/spool_out.c,v 1.4 2005/01/04 10:00:42 ph10 Exp $ */ +/* $Cambridge: exim/src/src/spool_out.c,v 1.10 2006/02/07 11:19:00 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2005 */ +/* Copyright (c) University of Cambridge 1995 - 2006 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions for writing spool files, and moving them about. */ @@ -48,7 +48,7 @@ uschar *msg = (where == SW_RECEIVING)? strerror(errno)); if (temp_name != NULL) Uunlink(temp_name); -if (f != NULL) fclose(f); +if (f != NULL) (void)fclose(f); if (errmsg == NULL) log_write(0, LOG_MAIN|LOG_PANIC_DIE, "%s", msg); @@ -96,8 +96,8 @@ automatically. */ if (fd >= 0) { - fchown(fd, exim_uid, exim_gid); - fchmod(fd, SPOOL_MODE); + (void)fchown(fd, exim_uid, exim_gid); + (void)fchmod(fd, SPOOL_MODE); } return fd; @@ -175,9 +175,9 @@ if (sender_host_address != NULL) if (interface_address != NULL) fprintf(f, "-interface_address %s.%d\n", interface_address, interface_port); - + if (smtp_active_hostname != primary_hostname) - fprintf(f, "-active_hostname %s\n", smtp_active_hostname); + fprintf(f, "-active_hostname %s\n", smtp_active_hostname); /* Likewise for any ident information; for local messages this is likely to be the same as originator_login, but will be different if @@ -193,10 +193,17 @@ if (received_protocol != NULL) /* Preserve any ACL variables that are set. Because the values may contain newlines, we use an explicit length. */ -for (i = 0; i < ACL_C_MAX + ACL_M_MAX; i++) +for (i = 0; i < ACL_CVARS; i++) { if (acl_var[i] != NULL) - fprintf(f, "-acl %d %d\n%s\n", i, Ustrlen(acl_var[i]), acl_var[i]); + fprintf(f, "-aclc %d %d\n%s\n", i, Ustrlen(acl_var[i]), acl_var[i]); + } + +for (i = 0; i < ACL_MVARS; i++) + { + int j = i + ACL_CVARS; + if (acl_var[j] != NULL) + fprintf(f, "-aclm %d %d\n%s\n", i, Ustrlen(acl_var[j]), acl_var[j]); } /* Now any other data that needs to be remembered. */ @@ -215,6 +222,7 @@ 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 (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"); if (sender_local) fprintf(f, "-local\n"); if (local_error_message) fprintf(f, "-localerror\n");