* 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