ietf
[Top] [All Lists]

Re: SMTP question - a session containing multiple transactions

2012-04-20 23:52:32
Let's say that there are two SMTP servers, A and B, and A initiates a
session (TCP connect to B). After A finished one transaction (transferring
some email content from A to B), is it possible B starts transferring some
email content to A using the same TCP connect?

The short answer is no.

The longer answer is that thirty years ago, in RFC 821 there was a
TURN command which does what you suggest, switches the roles of the
two ends of the SMTP session.  But that turns out to be a giant
security hole, since a bad guy A' could steal mail by connecting to B
while pretending to be A, doing a TURN, and collecting mail intended
for A.  So SMTP servers don't do that any more.

Keep in mind that the number of TCP packets needed to send a TURN
command and then receive the 250 confirmation message is no less than
the number needed to set up a new connection, so even if it were
possible to fix the security problems, TURN would have little
practical benefit.  RFC 821 says it was intended for connections like
telephone dialup where setting up a new connection really is slow.

R's,
John