Re: [EAI] Extending IDNA to email

Nick Teint <nick.teint@googlemail.com> Fri, 26 March 2010 12:45 UTC

Return-Path: <nick.teint@googlemail.com>
X-Original-To: ima@core3.amsl.com
Delivered-To: ima@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 305B53A6957 for <ima@core3.amsl.com>; Fri, 26 Mar 2010 05:45:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.082
X-Spam-Level:
X-Spam-Status: No, score=0.082 tagged_above=-999 required=5 tests=[AWL=0.329, BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, GB_I_LETTER=-2]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4cr4eFrGiQM0 for <ima@core3.amsl.com>; Fri, 26 Mar 2010 05:45:03 -0700 (PDT)
Received: from mail-ww0-f44.google.com (mail-ww0-f44.google.com [74.125.82.44]) by core3.amsl.com (Postfix) with ESMTP id B44063A6A65 for <ima@ietf.org>; Fri, 26 Mar 2010 05:44:56 -0700 (PDT)
Received: by wwb31 with SMTP id 31so823896wwb.31 for <ima@ietf.org>; Fri, 26 Mar 2010 05:45:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:received:message-id:subject:to:content-type :content-transfer-encoding; bh=EcSb8dgBRqJJrXeNjWkK4hVo8IiWftSr3KM0e7RG1iw=; b=w9fUHmXiTXXk1Hhr1r3DzcOOz0NHQ+EIMS90z5jErJZf0QPddmrNta0C5i8ABfdyG7 OHBNMlUqY0XBF31DFbSqm6smXEoFkP0hyhcKNX/lL7OjZx/eFi6o0N9+opoaQq+4gHlE aKe+lm9vQDFqI3xSdL2YzmsSt5iwXSfMBsO1I=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; b=AnJ6dUmAiakAM9LSwPUVIae3u4GPvVlOicc2TXLxm0sqdQS/WpZIa1GtlEKcmFcxYw o/MvkhK4t/l92y/ueyvq3vPQKZf2sZY1MnqphiiLNmpJOnExD0lGZ2TljkrA5hf3gAez 9eqNuQQtfYFnUlINb1ErvIinuh5uYibW3oD30=
MIME-Version: 1.0
Received: by 10.216.7.213 with HTTP; Fri, 26 Mar 2010 05:44:57 -0700 (PDT)
In-Reply-To: <op.u94dib0l6hl8nm@clerew.man.ac.uk>
References: <7dabd4501003231316j2992076cvfeec15861f98c68c@mail.gmail.com> <op.u92kslib6hl8nm@clerew.man.ac.uk> <7dabd4501003240903j212c1833n506c78a1599c0a8b@mail.gmail.com> <op.u94dib0l6hl8nm@clerew.man.ac.uk>
From: Nick Teint <nick.teint@googlemail.com>
Date: Fri, 26 Mar 2010 13:44:57 +0100
Received: by 10.216.176.3 with SMTP id a3mr402929wem.212.1269607517147; Fri, 26 Mar 2010 05:45:17 -0700 (PDT)
Message-ID: <7dabd4501003260544r75b63e33g53bb65f4df929828@mail.gmail.com>
To: IMA <ima@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Subject: Re: [EAI] Extending IDNA to email
X-BeenThere: ima@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "EAI \(Email Address Internationalization\)" <ima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ima>, <mailto:ima-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ima>
List-Post: <mailto:ima@ietf.org>
List-Help: <mailto:ima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ima>, <mailto:ima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 26 Mar 2010 12:45:04 -0000

2010/3/25 Charles Lindsey <chl@clerew.man.ac.uk>:
> On Wed, 24 Mar 2010 16:03:03 -0000, Nick Teint <nick.teint@googlemail.com> wrote:
>> That's correct. However, this limitation only applies to addresses
>> that contain non-ASCII characters. IMO it's not worthwhile to preserve
>> case-sensitiveness (which is retained "just in case" there's a system
>> that still needs it) for an expansion of the address space.
>
> I cannot see that is a satisfactory response. RFC 5321 makes it clear that a
> local-part is entitled to be conveyed case-sensitively. It is not a matter
> of "just in case" the final agent needs it - the final agent has absolute
> discretion to insist on it (unless and until RFC 5321 is revised to say
> otherwise).

Most final agents do not insist. The reason RFC 5321 still has this
requirement is backwards compatibility, "just in case".

X-IDNA does not remove this requirement for existing ASCII addresses.
A final agent can insist that the local-part it's being sent is
exactly "xn--Mller-kva" and treat it differently from "xn--mller-kva".
It just can't insist that a used who types "Müller" (German for
"Miller") will end up sending mail to "xn--Mller-kva"; user agents
would usually map "Müller" to "müller" and then to "xn--mller-kva".

Actually, X-IDNA *is* case-sensitive, just as IDNA2008: The mapping to
lowercase is considered a local matter, described in "Mapping
Characters in IDNA" (draft-ietf-idnabis-mappings-xx). If you don't do
it, the conversion to Punycode is case-preserving. Then, however, it
gets complicated: A case-insensitive comparison based on the ASCII
form will compare ASCII chars (encoded as-is in Punycode)
case-insensitively but non-ASCII (encoded as lower case ASCII chars)
chars case-sensitively. Further, case-insensitive comparison is not
well-defined in Unicode and depends on the locale (in Turkey, I/ı and
İ/i form pairs; in Germany, there's ẞ/ß/ss/SS; in France, there's
E/é/è/ê; etc.)

IDNA2008 (much unlike IDNA2003) avoids this mess by assuming that all
internationalised addresses are in lower case. However, this
assumption is not part of the core protocol but an assumption that can
be used by applications when mapping user input to useable strings.
The protocol only requires NFC.

This approach would also work with EAI (UTF8SMTP):

- User Agents are expected to do any mapping. They may take the user's
preferences and expectations into account.
- Mail Handling Services do not do any mapping
- "Registries" should not create local-parts that are unwise, i.e.
that contain characters commonly mapped to other characters
(upper-case letters, chars with a canonical decomposition, etc.)

- In UTF8SMTP, Mail Handling Services MAY complain about non-NFC characters.
- When downgrading using X-IDNA, Mail Handling Services do convert to
ASCII but they do not do any further mapping.

> AFAIR, our EAI extension still preserves that requirement (but
> now it applies to lots of new characters which may well have alternative UC
> and LC versions). So your method could not be used as a downgrade mechanism
> for EAI addresses.

EAI is currently silent about case-sensitivity or mapping.

However, future revisions of EAI will have to approach this issue, as
seen by this example:
Bob wants to send an email to Abdülmecid <abdülmecid@example.net>. He
types the email address as "ABDÜLMECID@EXAMPLE.NET", expecting that
case does not matter. The mail bounces. While Abdülmecid's ISP does
indeed match local-parts case-insensitively, it is located in Turkey.
So it treats "ABDÜLMECID" as equivalent to "abdülmecıd" but not
"abdülmecid".

NT