|
|
Subject: Re: message_logs = false does not work - msg#00005
List: mail.exim.devel
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
--
Was this page helpful?
Thread at a glance:
Previous Message by Date:
click to view message preview
message_logs = false does not work
Hello,
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?
Michael
--
Next Message by Date:
click to view message preview
Re: pdf with change indicators? Re: Creating XML
On Wed, 4 Jan 2006, Lutz Pressler wrote:
> It's probably a DocBook XML limitation, but do you see a way to have
> change indicators not only in the HTML but also other versions like PDF?
It is not a DocBook XML limitation. The XML can be created with
revisionflag="changed"
on the appropriate elements, and indeed that is what already happens.
Unfortunately, at present, the only XML processor that recognizes this
attribute is the one that generates HTML. We just have to hope that in
future the processors that generate the other formats take note of this
attribute.
This is, however, something that irks me. If I ever get time, I may
investigate whether the XSL stylesheets can be made to generate
something useful.
--
Philip Hazel University of Cambridge Computing Service
Get the Exim 4 book: http://www.uit.co.uk/exim-book
--
Previous Message by Thread:
click to view message preview
message_logs = false does not work
Hello,
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?
Michael
--
Next Message by Thread:
click to view message preview
Re: message_logs = false does not work
On Thu, Jan 05, 2006 at 11:21:51AM +0000, Philip Hazel wrote:
> 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.
It turned out that I was wrong on the source of the message logs.
They were not generated by the pipe transport, which has no output
options set, btw.
There must have been some older processes running which still generated
message logs, as they ran with the old configuration. I don't know why
Exim did not remove them, because the code does not stop removing the
logs if message_logs is not set.
Half an hour later, Exim did not generate any new message logs, so
everything is fine apart from the small problem I had during the
transition.
Michael
--
|
|