[Exim] [Feature request] Logging in data-ACL without dumping…

Top Page
Delete this message
Reply to this message
Author: Andreas Metzler
Date:  
To: exim-users
CC: 208782-forwarded
Subject: [Exim] [Feature request] Logging in data-ACL without dumping full headers to reject.log
Hello,
This is basically http://bugs.debian.org/208782 reported by Kevin
"Starfox" Arima <admin at furball.org> it talks specifically about
exiscan but applies to vanilla exim, too, e.g. this silly example[1]

   warn log_message =  Big message received: $message_size
        condition = ${if >{$message_size}{6M}{yes}{no}}


will not only log the respective line in main.log but will also dump
the full message-headers to reject.log, which was not necessarily
intended, having log_info or similar that does not trigger dumping the
headers to reject.log woul be nice.

Just for reference: I did not search _very_ long but I failed to come
up with documentation for the fact that "warn log_message" writes to
reject.log at all.[2]

Please keep the cc on 208782-forwarded@??? on followups.

Here's the original report:
|-------------------------------
| Package: exim4-daemon-heavy
| Version: 4.22-3
| Severity: wishlist

|
| Because of the way most of exiscan's "features" works during the DATA
| phase, you cannot easily add log_message to log informative information in
| the exim logs without incurring an exponential increase in rejectlog.
| Because log_message writes to both LOG_MAIN and LOG_REJECT, and log.c adds
| the entire header of the message whenever anything is written to
| LOG_REJECT during the DATA phase, you cannot do simple things like:

|
| warn log_message = SpamAssassin score is $spam_score

|
| There should be a logging option (log_info) that only writes to LOG_MAIN
| so sysadmins can decide whether or not logging of the header is important.

|
| Kevin "Starfox" Arima

|-------------------------------

        thanks, cu andreas


[1] I am sure people can come up with more intelligent examples like
using delay to teergrube messages with unverifyable headers.
[2] On a sidenote: warn log_message... without any any other conditions
seems to be ignored, ie:
warn log_message =  size $message_size
does not work but
warn log_message =  size $message_size
     condition = true
does.
--
"See, I told you they'd listen to Reason," [SPOILER] Svfurlr fnlf,
fuhggvat qbja gur juveyvat tha.
Neal Stephenson in "Snow Crash"