> I am wondering if replacing (simplified, left out my -d ip,ip and more
> complex -u for spamc):
> command = /usr/local/sbin/exim -oMr spam-scanned -bS
> transport_filter = /usr/local/bin/spamc -f -s 500000 -u nobody
> with for instance:
> command = /usr/local/bin/spamc -B -f -t 30 -s 500000 -u nobody -e
> /usr/local/sbin/exim -oMr spam-scanned -bS
> (and no transport_filter) helps.
>
> This way the exim -bS is called by spamc (that is now bsmtp aware) and
> only _after_ the message is processed by spamassassin. No open pipe to
> that process, and exim only has to handle the errors and timeouts from
> the pipe, and not both pipe and the transport_filter... No chance that
> the filter will timeout and provide broken output to the pipe. (Right?)
That sounds logic. I'll try that out, too. Any reasons for not doing
this?
> I tried this, but I could only simulate an 421 by making the exim -bS
> impatient by adding "-os 2s". Then this works, but I'm not sure if it
> works with my broken TCP sessions, or your broken whatever it is (maybe
> a busy/non-responding spamd or something).
>
> If I'm able to reproduce the problem in a controlled enviroment (which
> I'm trying) I can tell if this helps or not, but somehow I think it's
> already better than using an transport_filter?
If you have any problems with it, please tell me. I will do so, too.
Regards
Marco