* G.W. Haywood wrote:
> Hi there,
> 
> It should come as no surprise to anyone that having read the message,
> it's possible to store it somewhere in the filesystem, e.g. for later
> analysis, despite the fact that the message is to be rejected.
> 

:-)

>> Does anyone know a way to make sendmail return a 550 for quarantined
>> messages?  I'm using Sendmail 8.14.3.
> 
> Not if the quarantining is caused by clamav-milter.  When I asked
> about this a while ago, the new milter's author said "if you don't
> like it, you can always use the old version which is kept under
> /contrib/old-clamav-milter".  To be fair, I don't think his first
> qualification was in Customer Relations. :)
> 

Chomp, chomp, chomp.
Down, be nice.

> 
> When the old clamav-milter quarantined a message by putting it in a
> directory of its own, not within the grasp of Sendmail, as far as all
> the mail servers were concerned if Sendmail then rejected the message
> that was the end of it.  You would have a copy, but Sendmail neither
> knows nor cares about that.
> 

I understand the desire to have someone else's code do the work, but
there is a gain in flexibility when you do it yourself.

> To mimic the old behaviour you could have clamav-milter add headers to
> infected messages, and use another milter to read those headers then
> store and reject the mail if it sees an 'infected' header.  MIMEDefang
> can do what you want, at the price of some complexity and overhead.
> 
> A simpler alternative is to write all the incoming mail to a log file,
> as it comes in, during the SMTP conversation.  One of the milters that
> I use (milter-regex, which I highly recommend) does this as an option.
> If a message is rejected for any reason, the full text (or, depending
> on how you configure things, perhaps just the text up to the point at
> which a decision was made to reject) will be in the log.  It's a bit
> of a pain to retrieve messages from the logs, and naturally they grow
> rapidly and will need to be rotated regularly.
> 
> ..oOo..
> 

Added complexity to something that should be simple.
Then again, why do it simply when we can get the users to do it
back-tailwards.

Grrrr, ROAR.
DOWN!

> * To try it, all you'd probably need to do is change one line in the
> function action_quarantine() clamfi.c and recompile:
> 
> static sfsistat action_quarantine(SMFICTX *ctx) {
>     if(smfi_quarantine(ctx, "quarantined by clamav-milter") != MI_SUCCESS) {
>         logg("^Failed to quarantine message\n");
>         return SMFIS_TEMPFAIL;
>     }
>     return SMFIS_ACCEPT;
> }
> 

C Coding, something that, fortunately for this project, I don't know how
to do.

> Change SMFIS_ACCEPT to SMFIS_REJECT and see what happens.  If it does
> work, please let us know.  If it doesn't work, then maybe we can come
> up with something.  It might mean quite a bit of coding to set up a
> quarantine directory, and I probably wouldn't have time for that, but
> a lot of the work has probably been done in the old milter.  The odds
> are that the code wouldn't make it into the ClamAV trunk unless a lot
> of people make their appreciation known on this list.
> 

HERE! HERE!


_______________________________________________
Help us build a comprehensive ClamAV guide: visit http://wiki.clamav.net
http://www.clamav.net/support/ml

Reply via email to