[netmod] types-011: multiple lexical representations

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Sun, 26 October 2008 09:48 UTC

Return-Path: <netmod-bounces@ietf.org>
X-Original-To: netmod-archive@ietf.org
Delivered-To: ietfarch-netmod-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 212013A68A6; Sun, 26 Oct 2008 02:48:47 -0700 (PDT)
X-Original-To: netmod@core3.amsl.com
Delivered-To: netmod@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 40C513A6A00 for <netmod@core3.amsl.com>; Sun, 26 Oct 2008 02:48:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.226
X-Spam-Level:
X-Spam-Status: No, score=-2.226 tagged_above=-999 required=5 tests=[AWL=0.023, BAYES_00=-2.599, HELO_EQ_DE=0.35]
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 u2kjdf+wtVR6 for <netmod@core3.amsl.com>; Sun, 26 Oct 2008 02:48:45 -0700 (PDT)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) by core3.amsl.com (Postfix) with ESMTP id C75073A68A6 for <netmod@ietf.org>; Sun, 26 Oct 2008 02:48:44 -0700 (PDT)
Received: from localhost (demetrius3.jacobs-university.de [212.201.44.48]) by hermes.jacobs-university.de (Postfix) with ESMTP id D0D5DC0011 for <netmod@ietf.org>; Sun, 26 Oct 2008 10:50:10 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius3.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id em7D94-Rr62P; Sun, 26 Oct 2008 10:50:03 +0100 (CET)
Received: from elstar.local (elstar.iuhb02.iu-bremen.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id BEBABC0015; Sun, 26 Oct 2008 10:50:03 +0100 (CET)
Received: by elstar.local (Postfix, from userid 501) id 8DCC682A514; Sun, 26 Oct 2008 10:50:03 +0100 (CET)
Date: Sun, 26 Oct 2008 10:50:03 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: netmod@ietf.org
Message-ID: <20081026095003.GA2622@elstar.local>
Mail-Followup-To: netmod@ietf.org
MIME-Version: 1.0
Content-Disposition: inline
User-Agent: Mutt/1.5.18 (2008-05-17)
Subject: [netmod] types-011: multiple lexical representations
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: j.schoenwaelder@jacobs-university.de
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/netmod>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: netmod-bounces@ietf.org
Errors-To: netmod-bounces@ietf.org

Some types allow multiple representations of the same value. A good
example are IPv6 addresses, e.g. ::1 and 0:0:0:0:0:0:0:1. This raises
several questions:

1) We need to define how comparisions are done. At the interim, there
   was agreement that comparisons are done in the value space so the
   fact that there might be different lexical representations for the
   same value becomes a non-issue. (This needs to be confirmed on the
   mailing list.)

2) At the interim meeting, there was agreement to define normalization
   rules - the basic idea here is the following:

   a) implementations MUST accept normalized values as input
   b) implementations MUST generate normalized values as output
   c) implementations MAY accept non-normalized values as input

   In general, it was preferred that implementations do not have to
   remember the representation that was used to configure a value.  It
   should be sufficient to just store the value.  (This needs to be
   confirmed on the mailing list.)

3) There was no agreement how we write down normalization rules are the
   interim meeting. There are several options:

   (1) we simply add text to description statements

   (2) we introduce a separate statement with a separate description
       clause, e.g.

       normalization {
         description "turn all characters to lower case";
       }

   (3) we introduce a separate statement with a separate description
       clause and allow an additional pattern that can be more
       restrictive for normalized values, e.g.

       normalization {
         pattern "[a-z]";
	 description "normalized representation is in lower case";
       }

   In option (1) and (2), it remains unclear whether the retrictions
   (pattern etc.) associated with a type only cover the normalized
   representation or also other representations that implementations
   MAY allow. One option is to simply just define what MUST be allowed
   and leave everything else to the Postel principle (implementations
   may be lenient in what they accept). This will work for several
   types, but might not work for all of them.

4) I got the task to go over all definitions in the -type document to
   identify types that may need normalization rules.  I have done that
   and for each type we need to decide between the following options:

   (i)  we further restrict the lexical space so that we have a 1:1
        mapping of the lexical representation to the value space

   (ii) we define what the normalization rules are

   * date-and-time: 2008-10-26T10:35:00Z
                    2008-10-26T10:35:00+00:00

   * ipv4-address:  numeric versus textual zone index

   * ipv6-address:  shortened and mixed forms, zone index

   * ipv4-prefix:   unused bits (127.0.0.0/8 vs. 127.1.2.3/8)

   * ipv6-prefix:   shortened and mixed forms, unused bits

   * domain-name:   lower-case normalization, make this mandatory
                    like in the uri description statement?

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1, 28759 Bremen, Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod