Subject: Source routing -- why not?

From: John Levine <[email-masked]>
Date: 30 Nov 2004 01:12:59 -0000

After further deliberation about source routing and SPF, I have come
around to the conclusion that Frank is to some degree right, and if
you want to use SPF/Sender-ID, you should use source routes.

SPF, after all, simply reintroduces source routes into Internet mail,
a decade or so after they disappeared.  SPF and Sender-ID assert that
some paths for a particular message are valid and others aren't.
Well, OK, that's just what source routes do.  In particular, SES and
its ilk are just clumsy recreations of source routes.

If a@a sends mail to b@b which then forwards it to c@c, the return
path on the second hop should be <@b:a@a> which says exactly what SES
would, this message was from a@a but if you want to write back, you
need to send your response via b.  Host b needs somehow to remember
that this particular relay is OK, but that's not new.

RFC 2821 says that source routes are deprecated except in unusual
circumstances, but MTAs should handle them if they see them.  Relative
to the past 20 years of e-mail, I'd have no trouble calling SPF
unusual.

Regards,
John Levine, [email-masked], Taughannock Networks, Trumansburg NY
http://www.taugh.com

---

From: "william(at)elan.net" <[email-masked]>
Date: Mon, 29 Nov 2004 18:38:10 -0800 (PST)

I think you mean SRS (sender rewriting system) not SES (which is 
cryptographic signatutures in envelope from). Other then that I agree
but would note that original source routes were such that sender
set how the email is to be routed for direct email and with SPF 
and SRS this only only for bounce messages.

-- 
William Leibzon
Elan Networks
[email-masked]

---

From: Tony Finch <[email-masked]>
Date: Tue, 30 Nov 2004 10:43:40 +0000

> you want to use SPF/Sender-ID, you should use source routes.

Source routes require all mail servers to be open relays.

Tony.
-- 
f.a.n.finch  <[email-masked]>  http://dotat.at/
MALIN HEBRIDES: NORTHEAST 4 OR 5 INCREASING 6. RAIN LATER. GOOD BECOMING
MODERATE.

---

From: Alex van den Bogaerdt <[email-masked]>
Date: Tue, 30 Nov 2004 12:49:40 +0100

> Source routes require all mail servers to be open relays.

Why?

If a@a sends mail to b@b, and if b@b forwards to c@c, then only
c@c can send a bounce via b@b towards a@a.

MTA 'b' accepted responsibility for the message.  MTA 'b' needs to
deliver it to MTA 'c' because user b@b wants it to do so. From that
moment on, the conversation is between 'b@b' and 'c@c', errors should
go to 'b@b' who can, if needed, send a bounce to 'a@a'.

Alex

---

From: Tony Finch <[email-masked]>
Date: Tue, 30 Nov 2004 12:16:42 +0000

> > Source routes require all mail servers to be open relays.

Source routes don't record the relationship between a@a, b@b, and c@c. In
your scenario the message to c@c would start MAIL FROM:<@b:a@a>. A spammer
who knows that b is a forwarding host can then spam anyone by sending MAIL
FROM:<> RCPT TO:<@b:victim@target>.

This is why SRS has all the cryptography, in order to provide a secure
replacement for the obsolete and unimplemented RFC821 forward and reverse
paths.

Tony.

---

From: Alex van den Bogaerdt <[email-masked]>
Date: Tue, 30 Nov 2004 13:38:03 +0100

> FROM:<> RCPT TO:<@b:victim@target>.

I disagree.

Source routes by themselves are not the problem.

Indeed, lack of security would be a problem.

There's no reason why MTA b would not be able to keep state somewhere
else than in the envelope.

There's no reason why MTA b would have to relay a message to @b:victim@target

There's no reason at all why MTA b would relay messages at all.  The only
"relay" functionality would be a 'reverse forward' so that bounces going
to b@b will be forward to a@a, not to c@c.

I don't even see any reason why the classic form of source routing needs
to be used.  When 'b' forwards the message to 'c', and when it uses its
own name, bounces will go to 'b' and can be 'reverse-forward' to the true
originator.

> replacement for the obsolete and unimplemented RFC821 forward and reverse

Without saying if its good or bad:
That is _a_ solution, not _the_ solution.

cheers,
Alex
-- 
I ask you to respect any "Reply-To" and "Mail-Follow-Up" headers.  If
you reply to me off-list, you'd better tell me you're doing so.  If
you don't, and if I reply to the list, that's your problem, not mine.

---

From: Tony Finch <[email-masked]>
Date: Tue, 30 Nov 2004 12:58:24 +0000

> to b@b will be forward to a@a, not to c@c.

It can't correlate the bounces with original messages (and thereby send it
to the right place) without putting some kind of cookie in the return
path.

Traditional source routing (as suggested by John Levine) cannot be made to
work.

Tony.

---

From: "John R Levine" <[email-masked]>
Date: 30 Nov 2004 10:32:35 -0500

> Source routes require all mail servers to be open relays.

Only in a naive implementation.  SPF already requires that participating
hosts be prepared to handle arbitrarily complex procedures, so adding one
more shouldn't be a big deal.  If it is a big deal, well, perhaps we're
seeing a problem with SPF more than with source routes.

Regards,
John Levine, [email-masked], Primary Perpetrator of "The Internet for Dummies",
Information Superhighwayman wanna-be, http://iecc.com/johnl, Mayor
"I dropped the toothpaste", said Tom, crestfallenly.