Re: [exim-dev] message_logs = false does not work

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Michael Haardt
CC: exim-dev
Subject: Re: [exim-dev] message_logs = false does not work
On Thu, 5 Jan 2006, Michael Haardt wrote:

> I tried using message_logs = false, but still get some message
> logs. In deliver.c, around line 1671, I see:
>
> /* If one of the return_output flags is set on the transport, create and open a
> file in the message log directory for the transport to write its output onto.
> This is mainly used by pipe transports. The file needs to be unique to the
> address. This feature is not available for shadow transports. */
>
> if (!shadowing && (tp->return_output || tp->return_fail_output ||
>     tp->log_output || tp->log_fail_output))
>   {
>   uschar *error;
>   addr->return_filename =
>     string_sprintf("%s/msglog/%s/%s-%d-%d", spool_directory, message_subdir,
>       message_id, getpid(), return_count++);
>   addr->return_file = open_msglog_file(addr->return_filename, 0400, &error);
>   if (addr->return_file < 0)
>     {
>     common_error(TRUE, addr, errno, US"Unable to %s file for %s transport "
>       "to return message: %s", error, tp->name, strerror(errno));
>     return;
>     }
>   }

>
> Can I safely add
>
> message_logs &&
>
> to the front of the first condition?


No. As the comment says, this is not a message log, though it gets put
into the message log directory. This is a file for the transport to
write its output onto. By setting one of the relevant flags, you have
asked Exim to catch this output and either return it or log it.


-- 
Philip Hazel            University of Cambridge Computing Service
Get the Exim 4 book:    http://www.uit.co.uk/exim-book