On 2007-01-06, at 0101, Matthew R. Dempsky wrote:
On Sat, Jan 06, 2007 at 12:22:25AM -0500, Joshua Megerman wrote:
Here's a 1-line patch to your program that spits out a 554
response code
before exiting if strict checking is enabled - this is required to
maintain
RFC2821 compliance. Since you are accepting the connection, you
must give a
response, even if it's just "go away"...
I had considered this and have had others suggest the same. The only
thing I don't like about it, however, is my understanding is that most
SMTP clients (vanilla qmail-remote is an exception that comes to mind)
treat a 554 error at connection as a permanent rejection, and there
aren't any 4xx codes that RFC 2821 allows at connection.
actually, if a client is going to jump the gun like this, chances are
they're going to do it every time- which means i don't want to talk
to them, therefore a permanent rejection is exactly the point i want
to make.
my own version of this patch sends "554 SMTP protocol violation"
before hanging up the connection. let the filthy spammer figure out
for himself what he did wrong.
One other thought I had was to just set the RBLSMTPD environment
variable, and require the user to chain rblsmtpd after greetdelay.
if you have the greetdelay logic in an external program, that's fine.
but if you're using a patch which makes it part of qmail-smtpd,
that's not possible.
----------------------------------------------------------------
| John M. Simpson --- KG4ZOW --- Programmer At Large |
| http://www.jms1.net/ <jms1@jms1.net> |
----------------------------------------------------------------
| http://video.google.com/videoplay?docid=-4312730277175242198 |
----------------------------------------------------------------
PGP.sig
Description: This is a digitally signed message part
|