ietf-asrg
[Top] [All Lists]

Re: [Asrg] SICS

2004-12-23 00:00:10
Note also that der Mouse already implemented something of that nature
as described in his post, but probably not the way I'm going to
describe it.

[much snippage -dM]
Use a dedicated proxy in front of your SMTP servers.  This proxy
keeps all the addresses in memory, either hashed or set up as a trie.

The proxy server is not going to be a full SMTP server.
Conceptually, it's going to wait for HELO, MAIL, RCPT, and at that
point check if the address is valid. If valid, the proxy opens a real
SMTP connection to your SMTP servers and replays the HELO, MAIL, RCPT
commands, then transparently forwards the SMTP conversation.

This is..._almost exactly_ what I did.  The only ways in which it isn't
are (a) that it HELOs as itself, rather than relaying the HELO from the
client, and (b) it inserts a Received: header at the beginning of the
data (if the conversation gets to that point).

BTW, the proxy scenario I gave above isn't intended to be a ready
solution, rather it's an argument to prop up my claim that handling
the invalid requests can be handled scalably.

It certainly was a solution to a very real practical problem when I
wrote it; their mailserver went from tottering on the brink of total
collapse to fully usable in the length of time it took the MX record
changes to work their way through the world's DNS caches.  Not a really
large ISP - your transaction counts were high by orders of magnitude
compared to them - but not a mom-&-pop either.

Anyone who would like a copy of the code is welcome to it (minus a few
site-specific fragments that really need to be written per-site, like
checking that the domain portion of the address is right).  Drop me a
line and if I get lots of requests I'll put it up for ftp.  No
guarantees, of course, but I figure at worst someone may steal some
ideas from it.

/~\ The ASCII                           der Mouse
\ / Ribbon Campaign
 X  Against HTML               
mouse(_at_)rodents(_dot_)montreal(_dot_)qc(_dot_)ca
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B

_______________________________________________
Asrg mailing list
Asrg(_at_)ietf(_dot_)org
https://www1.ietf.org/mailman/listinfo/asrg


<Prev in Thread] Current Thread [Next in Thread>