[Ltru] Re: [EAI] New draft for allowing UTF-8 in SMTP responses

Martin Duerst <duerst@it.aoyama.ac.jp> Sat, 19 August 2006 08:00 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GELlC-0006jM-24; Sat, 19 Aug 2006 04:00:50 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GELlB-0006jE-A1; Sat, 19 Aug 2006 04:00:49 -0400
Received: from scmailgw1.scop.aoyama.ac.jp ([133.2.251.194]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GELl8-0008Oe-I4; Sat, 19 Aug 2006 04:00:49 -0400
Received: from scmse2.scbb.aoyama.ac.jp (scmse2 [133.2.253.17]) by scmailgw1.scop.aoyama.ac.jp (secret/secret) with SMTP id k7J80XVV010771; Sat, 19 Aug 2006 17:00:33 +0900 (JST)
Received: from (133.2.210.1) by scmse2.scbb.aoyama.ac.jp via smtp id 7d11_ca2f5b3c_2f58_11db_8b57_0014221f2a2d; Sat, 19 Aug 2006 17:00:32 +0900
Received: from Tanzawa.it.aoyama.ac.jp (localhost.localdomain [127.0.0.1]) by localhost.localdomain (8.13.7/8.13.1) with ESMTP id k7J80QRA004889; Sat, 19 Aug 2006 17:00:29 +0900
Message-Id: <6.0.0.20.2.20060818150743.097d4ec0@localhost>
X-Sender: duerst@localhost
X-Mailer: QUALCOMM Windows Eudora Version 6J
Date: Fri, 18 Aug 2006 16:30:51 +0900
To: Alexey Melnikov <alexey.melnikov@isode.com>, ima@ietf.org
From: Martin Duerst <duerst@it.aoyama.ac.jp>
In-Reply-To: <44E09667.8070704@isode.com>
References: <44E09667.8070704@isode.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.3 (/)
X-Scan-Signature: 3971661e40967acfc35f708dd5f33760
Cc: LTRU Working Group <ltru@ietf.org>
Subject: [Ltru] Re: [EAI] New draft for allowing UTF-8 in SMTP responses
X-BeenThere: ltru@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Language Tag Registry Update working group discussion list <ltru.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ltru>, <mailto:ltru-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/ltru>
List-Post: <mailto:ltru@ietf.org>
List-Help: <mailto:ltru-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ltru>, <mailto:ltru-request@ietf.org?subject=subscribe>
Errors-To: ltru-bounces@ietf.org

Hello Alexey,

I have looked at the draft. I'm not totally familiar with
all the details of email transmission, but will comment
mostly from an LTRU perspective. I have cc'ed the LTRU
WG, because I think your draft makes a good usage example
for the work of the LTRU WG, and some people may be able
to provide more feedback.

At 00:27 06/08/15, Alexey Melnikov wrote:

>       Title           : SMTP Language Extension
>       Author(s)       : M. Gahrns, A. Melnikov
This list of authors and the one in the draft seem to be
out of sync, probably a clerical error?

>       Filename        : draft-melnikov-smtp-lang-05.txt
>       Pages           : 0
This seems to be some administrative error, too, probably
a tool that counts drafts without explicit page breaks as
0 pages (I'd understand 1 page, 0 is really weird).

>       Date            : 2006-8-2


Section 3: "It also recommends that server recognizes languges that
   have multiple different tags (for example "ru" and "rus")."

   This is a bad idea. RFC 3066, and its successor RFC 3066bis
   (draft-ietf-ltru-registry-14.txt, approved by the IESG and in
    operation) both make it very clear that for languages that
   have both two-letter and three-letter codes, only the two-letter
   codes are used.

Please update the reference to RFC 3066 to RFC3066bis.

For language fallback, I suggest you have a look at
http://www.ietf.org/internet-drafts/draft-ietf-ltru-matching-15.txt
(also IESG-approved). This gives you the (basic) "language-range" ABNF
construct that includes the "*" wildcard.

Also, it seems that the matching going on on the server when the
client issues a LANG command (e.g. in Example 5) is very close to
and can (and should) be described in terms of Section 3.4, Lookup,
of the above draft. The only difference I see is that Section 3.4
requires a solution (maybe default) in all cases, whereas in your
case, the default if no matching language is found is not i-default,
but "no change" or in other words, "previously selected language".


I think the discussion of mul and und is overkill. There is no
interoperability problem if the client uses 'mul', it is just
a language that's not supported. Suggesting, as in Example 2,
that the server has specific code for that issue is a bad idea,
it will tend to make the server more complex than necessary.


Somewhere in example 1, probably in the comment that starts with
"< Once the client changes...", you should say that the example
here doesn't show accents because they cannot be represented
in this format, but that accented characters, encoded in UTF-8,
would be present in the actual protocol exchange.


Note 1: This is in part overkill, and in part incorrect.
If you do fallback on the server, then you have to leave
the decision to the server (or the server programmer or
administrator). There is no a-priori difference between
the special prefixes i- and x- and two-letter and three-
letter prefixes. It's very well possible that for i-foo-bar
and i-foo-baz, there is a mutually intellegible i-foo on
the server. The server will most probably only have i-foo
if the mutual intellegibility is a reasonal assumption.
On the other hand, for some people, zh-Hans (Chinese
written in simplifed script) and zh-Hant (Chinese written
in traditional script) are not mutually intellegible,
and so it may be a bad idea to make "zh" available on
the server. I think that if you refer to the abovementioned
two drafts, that should be enough.

Aside: You could get rid of server-side fallbacks if you
could assume that the server can always send the complete
list of available languages. However, I think this would
be a bad idea, because a) there may be dozenz or hundreds
of languages, and just sending the list may present somewhat
of a scalability problem, and b) it may be much easier
computationally for the server to check for the existence
of a requested language (or it's fallback) than to list
all languages available (which may require an extensive
search for files in a large number of directories).


For the LANG command, you only allow one language.
You could extend that to use a language priority list,
but this is not really necessary, the client can
simulate a language priority list by using successive
requests until one of them is successful.

On the other hand, for the LANG parameter for the MAIL
command should allow a language priority list. The reason
for this is that (if my understanding is correct), this
parameter is passed on along the relay chain of SMTP servers,
and is supposed to go back to the original sender, and
using a list increases the chance that there is something
at the relevant server that can be understood by the
originator.

I'm also not completely clear on / happy with the following
paragraph:

>>>>
   If the message is relayed to another SMTP server that supports LANGUAGE
   ESMTP extension, the MTA acting as the client MUST check if the receiving
   MTA lists the language specified in lang-param ("requested language") in
   the list of supported language tags in LANGUAGE EHLO response.  If the
   receiving MTA either lists the requested language or doesn't list any
   language tag (i.e. the receiving MTA is unable to list languages it
   supports) the sender MUST issue LANG command for the requested language.
   After that, regardless of the result of LANG command, the client MTA MUST
   specify LANG parameter in MAIL command.
>>>>

After repeated reading, I think this is okay, but some clarification
might help. In particular, it should be pointed out that trying to
use the LANG command is done so that potential error messages in
this relay step can be sent back to the original sender in the
appropriate language if possible.

Also, on a first reading, I was thinking that if the desired language
wasn't available, the LANG parameter would no longer be used.
I think the reason for this misunderstanding is that the last two
lines come very late. I think it would be easier to understand if
the paragraph started out as follows:

   If the message is relayed to another SMTP server that supports the
   LANGUAGE ESMTP extension, the MTA acting as the client MUST do
   the following two things, in the following order:
   1) Attempt to set the language of server responses to the requested
      language(s).
   2) Independently of whether 1) is successful, use the LANG
      parameter on the MAIL command to transmit the requested
      language(s) to the next relay.

If you think more explanations and details for 1) are needed, they
should come after this list.


Regards,     Martin.



#-#-#  Martin J. Du"rst, Assoc. Professor, Aoyama Gakuin University
#-#-#  http://www.sw.it.aoyama.ac.jp       mailto:duerst@it.aoyama.ac.jp     


_______________________________________________
Ltru mailing list
Ltru@ietf.org
https://www1.ietf.org/mailman/listinfo/ltru