ietf-822
[Top] [All Lists]

Re: MTS transparency and anonymity

2005-02-28 06:56:44

On Mon February 28 2005 08:18, Keith Moore wrote:

in practice, it has the semantics of "nowhere", or "you can't get 
there
from here, no matter where 'here' is."

If I repeat Claus Assmann's experiment using 127.0.0.1 (the loopback),
what I get has semantics of "here".

and if you do it with 0.0.0.0 or 127.0.0.2, you get the semantics of 
"you can't get there from here"

No, I get what Claus and Russ got, semantics of "here":

marty:/src/abnff # telnet 0.0.0.0 smtp
Trying 0.0.0.0...
Connected to 0.0.0.0.
Escape character is '^]'.
220 mail.blilly.com ESMTP Sendmail /8.13.1/mail.blilly.com sendmail.mc.mail 
1.18 2004/05/15 07:23:45: Mon, 28 Feb 2005 08:34:20 -0500
quit
221 2.0.0 mail.blilly.com closing connection
Connection closed by foreign host.
marty:/src/abnff # telnet 127.0.0.2 smtp
Trying 127.0.0.2...
Connected to 127.0.0.2.
Escape character is '^]'.
220 mail.blilly.com ESMTP Sendmail /8.13.1/mail.blilly.com sendmail.mc.mail 
1.18 2004/05/15 07:23:45: Mon, 28 Feb 2005 08:34:42 -0500
quit
221 2.0.0 mail.blilly.com closing connection
Connection closed by foreign host.
marty:/src/abnff # uname -a
Linux marty 2.6.8-24.11-default #1 Fri Jan 14 13:01:26 UTC 2005 i686 i686 i386 
GNU/Linux

So that's SunOS and two versions of Linux kernels... On what
sort of system are you getting different semantics for 0.0.0.0
and 127.0.0.2?
 
it's a backward compatibility issue.  MUAs and MTAs that know about 
the
convention are not the problem, since it's easy for them to recognize
such addresses and treat them accordingly. the problem is making this
work with MUAs and MTAs that don't know about the convention.

hey, I'd be fine with anonymous(_at_)[ipv6:::0]

or perhaps even anonymous(_at_)[no-such-network:]

And the backwards compatibility of either is ... ?

hard to say.  my gut sense is that an IPv4 domain literal is less 
likely to break things than an IPv6 domain literal.

One is an RFC 2821 IPv6 literal, the other is an as-yet undefined
and unregistered literal that fits 2821 "General" literal syntax.

<> is illegal syntax, and some things do check.  even those things that 
do parse <> might end up extracting a null string, which could break 
scripts.  and we're talking about email here, not HTTP or SIP.

It's illegal now, but was legal under RFC 733. HTTP and
SIP are mentioned because they refer back to the (RFC 822)
defined syntax of the From field; any change to that syntax
will affect those protocols as well as the Internet Message
Format.  When you propose such syntax changes, you must consider
the effects on all protocols affected by the change.
 
overall, my preference is for something(_at_)[0(_dot_)0(_dot_)0(_dot_)0], 
maybe something 
short like anon(_at_)[0(_dot_)0(_dot_)0(_dot_)0] or something like 
0(_at_)[0(_dot_)0(_dot_)0(_dot_)0]

But Keith, by definition (RFC 3330) 0.0.0.0 doesn't mean anything
like "anonymous", it means ""this' host on 'this' network", and
that has been confirmed in practice by experiment on three separate
systems.  Your assertion otherwise seems to be rather unconvincing.

It is easily identified by 
humans as a "special" address that probably doesn't correspond to a 
real user.

I suggest that you try an experiment: ask a random sample of
people outside of the field of computer science what 
"0(_at_)[0(_dot_)0(_dot_)0(_dot_)0]"
means.  I doubt that any will say anything like "anonymous"; I
suspect most will say that they don't know. [moot point, since
the real semantics point to the local host]
 
something(_at_)[127(_dot_)0(_dot_)0(_dot_)2] would also work

As a way of addressing the mailbox "something" known to the
local host, yes, but that's not what's desired.

either of those would be better than [127.0.0.1]

All three literals have the same meaning.