Theo Schlossnagle wrote:
I'm unable to answer my own stupid questions... :-(
Correct.
LOL, indeed.
for all those who hate SRS... here's why I like it:
That won't answer my stupid questions, because I'm not
in the position to hate SRS before I understand it. ;-)
I cant implement rewriting in my own crazy way
That part is clear, but how do you do it actually ?
The last practical question came from Hannah, and if she
was talking about Schlund that's several _millions_ of
hosted domains. Some of them forwarding all mails sent
to whatever(_at_)hosted(_dot_)domain(_dot_)example to say their address
at AOL.
AFAIK there are limits for the left and right hand sides
of a mailbox address found in a return path.
Maybe it's something like 64 + 256, but you never know,
or do you reject "unrewritable" addresses ?
An obvious idea would be some kind of hash table, where
the <encoded-x-for-y> is the hash, and you can find the
original <x> for all bounces to <encoded-x-for-y>.
Actually you don't need <y>, you only need a <hashed-x>
as local part of the MAIL FROM in mails forwarded to <z>
for <y> resp. forwarded to any <z'> for any <y'>.
Because there are too many different <x> you also need
a "last access" time stamp in your <hashed-x> table.
And from time to time you would remove "old" <hashed-x>
entries from your table. Where "old" is defined by
the last usage of <x> plus say 14 days.
Is that how you do it ? And if so what's your hash
function, and how big is the table ? Does it survive
an attack by one million different very long <x> ?
Or do you use a direct scheme encoding the complete
return path where possible, plus a hash table only for
odd cases where the local part would be too long ?
Bye, Frank