[milters] Archive

Lists Index Date Thread Search

Article: 915
From: Taylor, Grant
Date: 2006-05-04 12:31:33 -0400
Subject: Re: Milter-Report v0.8 Strange Behavior...

Removal...........: milters-request@milter.info?subject=remove
More information..: http://www.milter.info/#Support
--------------------------------------------------------

> It would be advantageous (the Apache 2 API allows for independent 
> placing of each handler), but the milter API doesn't support it.

*nod*  It was worth proposing I guess.  Idea:  What if you broke milter-report in to two
milters.  If you broke Milter-Report in to Milter-Report-Pre and Milter-Report-Post and
had them communicate between them selves (via IPC or socket?) so collectively they would
have the full story.  Just and idea, take it for what it is worth.

>> dnl Milter-Sender is doing something that needs the following M4 directive.
>> dnl I don't know what it is but it will not work with out it.
>> define(`confMILTER_MACROS_CONNECT', confMILTER_MACROS_CONNECT`, {client_addr},
{client_name}, {client_port}, {client_resolve}')
>> INPUT_MAIL_FILTER(`milter-7bit', `S=unix:/var/lib/milter-7bit/socket,
T=C:1m;S:30s;R:2m;E:1m')
>> INPUT_MAIL_FILTER(`milter-date', `S=unix:/var/lib/milter-date/socket,
T=C:1m;S:30s;R:90s;E:1m')
>> INPUT_MAIL_FILTER(`milter-spiff', `S=unix:/var/lib/milter-spiff/socket,
T=C:10s;S:10s;R:4m;E:10s')
>> INPUT_MAIL_FILTER(`milter-sender', `S=unix:/var/lib/milter-sender/socket,
T=C:30s;S:10s;R:10s;E:1m')
>> INPUT_MAIL_FILTER(`milter-spamc', `S=unix:/var/lib/milter-spamc/socket,
T=C:1m;S:30s;R:6m;E:1m')
>> INPUT_MAIL_FILTER(`milter-clamc', `S=unix:/var/lib/milter-clamc/socket,
T=C:10s;E:5m')
>> INPUT_MAIL_FILTER(`milter-report', `S=unix:/var/lib/milter-report/socket,
T=C:10s;S:10s;R:60s;E:10s')
>> define(`confINPUT_MAIL_FILTERS',
`milter-7bit,milter-date,milter-spiff,milter-sender,milter-spamc,milter-clamc,milter-report')
> 
> You don't really need this. You order the milters simply by ordering the 
> INPUT_MAIL_FILTER() macros; but yes milter-report is executing last.

Are you saying that I don't need to "define(`confINPUT_MAIL_FILTERS', ` ... ')"?
 If so that was not always the case.  I recently switched from clamc-milter provided with
Clam AV to milter-clamc.  When I was running clamc-milter I *DID* have to put the
"define(`confINPUT_MAIL_FILTERS', ` ... ')" statement in to get it working, it
was even in their documentation as (I believe) required.  However, I may no longer need to
do so as I have not tested otherwise yet.

>> Below is a copy of the mail log entries for the message that I'm
>> replying to. Interestingly enough I do not see milter-report listed in
>> the log for this email.
> 
> That is because milter-report has NO xxfi_eom handler and does not add 
> headers.

(related to my other reply regarding log entries)
Hmm.  Most of the time the other emails that come in generate a milter-report log entry
similar to the following:
May  3 15:44:41 rti02 milter-report[22863]: 13021 k43KifMS022854: recipient
<xxxxxxxxxx@yyyyyyyyyyy.tld> OK 

> So I've created this simple patch to try out that adds a stub xxfi_eom 
> handler. If my understanding is correct, then this should cause 
> sendmail/libmilter to invoke the xxfi_abort handler when some other 
> milter rejects the message ahead of milter-report's xxfi_eom handler.

I'll apply and test your patch later on this evening.

I will also mention that I have not changed any thing or restarted milter-report in the
past few days but still I did receive reports for my recipients as I would expect last
report period.  The only thing that happened is I did restart sendmail after defining the
"confPRIVACY_FLAGS" in the mc file.  I just found out how to prevent sendmail
from sending the full message in DSNs vs. just rfc822-headers.  I.e. (for those who, like
me, may / did not know):  `confPRIVACY_FLAGS', `nobodyreturn'.



Grant. . . .

Lists Index Date Thread Search