> Somebody on this list gave me a script to use in my smtpd-run file,
> which would call qmail-smtpd, selectively invoking recordio depending
> on an environment variable. I could set the variable in my tcprules
> file to turn on recordio just for the problem connections, to log all
> the traffic. When I did that, I could see qmail-smtpd telling the
> NYTimes servers that it wasn't going to talk to them because they
> were sending bare LFs. Then I could use the same technique to invoke
> fixcrio just for those IPs to fix the problem.
>
Alternately, you can have it always run through recordio, and use
multilog's filtering capability to selectively keep only those lines that
matter. I'll include my comprehensive filter below my .sig - it's
designed to log everyhting based on my current patchset, but unless your
setup can emit additional response codes (which you should add to it),
that shouldn't matter.
Josh
--
Joshua Megerman
SJGames MIB #5273 - OGRE AI Testing Division
You can't win; You can't break even; You can't even quit the game.
- Layman's translation of the Laws of Thermodynamics
qmail@honorablemenschen.com
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog \
t s2097152 n256 \
'-* * > *' \
'-* * < *' \
'+* * > 220 *' \
'-* * > 220 *' \
'+* * > 221 *' \
'+* * > 235 *' \
'+* * > 250 *' \
'-* * > 250 AUTH *' \
'+* * > 354 *' \
'+* * > 421 *' \
'+* * > 430 *' \
'+* * > 451 *' \
'+* * > 454 *' \
'+* * > 500 *' \
'+* * > 501 *' \
'+* * > 502 *' \
'+* * > 503 *' \
'+* * > 504 *' \
'+* * > 522 *' \
'+* * > 535 *' \
'+* * > 550 *' \
'+* * > 550-*' \
'+* * > 552 *' \
'+* * > 553 *' \
'+* * > 554 *' \
'+* * > 571 *' \
'+* * < EHLO *' \
'+* * < ehlo *' \
'+* * < HELO *' \
'+* * < HELO+' \
'+* * < Helo *' \
'+* * < helo *' \
'+* * < STARTTLS*' \
'+* * < starttls*' \
'+* * < AUTH *' \
'+* * < auth *' \
'+* * < MAIL FROM*' \
'+* * < MAIL From*' \
'+* * < Mail From*' \
'+* * < Mail from*' \
'+* * < mail FROM*' \
'+* * < mail from*' \
'+* * < RCPT TO*' \
'+* * < RCPT To*' \
'+* * < RCPT to*' \
'+* * < Rcpt To*' \
'+* * < rcpt TO*' \
'+* * < rcpt to*' \
'+* * < EXPN *' \
'+* * < expn *' \
'+* * < VRFY *' \
'+* * < vrfy *' \
'+* * < RSET*' \
'+* * < Rset*' \
'+* * < rset*' \
'-* * < rset=*' \
'+* * < DATA*' \
'+* * < Data*' \
'+* * < data*' \
'+* * < Message-ID*' \
'+* * < Message-Id*' \
'+* * < Message-id*' \
'+* * < HELP*' \
'+* * < help*' \
'+* * < NOOP*' \
'+* * < Noop*' \
'+* * < noop*' \
'+* * < QUIT*' \
'+* * < Quit*' \
'+* * < quit*' \
'+* * < GET /*' \
'+* * < get /*' \
'+* * < POST /*' \
'+* * < post /*' \
'+* * < HEAD /*' \
'+* * < head /*' \
/var/log/smtpd
|