Re: [storm] iSCSI and Unicode (newprep BOF)

"Paul Koning" <> Wed, 24 March 2010 17:26 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 15B593A6D4C for <>; Wed, 24 Mar 2010 10:26:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -102.869
X-Spam-Status: No, score=-102.869 tagged_above=-999 required=5 tests=[BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id q4Z-34WAyo-M for <>; Wed, 24 Mar 2010 10:26:46 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 792573A6D37 for <>; Wed, 24 Mar 2010 10:26:35 -0700 (PDT)
X-Loopcount0: from
X-IronPort-AV: E=Sophos;i="4.51,301,1267423200"; d="scan'208";a="438794377"
Received: from unknown (HELO ([]) by with SMTP; 24 Mar 2010 12:26:55 -0500
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Wed, 24 Mar 2010 13:26:52 -0400
Message-ID: <>
In-Reply-To: <>
Thread-Topic: [storm] iSCSI and Unicode (newprep BOF)
Thread-Index: AcrLFYOv3uBjX3T+S0isPHnVyiushAAYL9ow
References: <> <> <> <> <> <>
From: "Paul Koning" <>
To: "Julian Satran" <>, <>
Subject: Re: [storm] iSCSI and Unicode (newprep BOF)
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Storage Maintenance WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 24 Mar 2010 17:26:47 -0000

> A way out that would enable things to coexist would be to negotiate
> stringprep or nameprep with stringprep mandatory and default and
> nameprep only when the two parties have it. It may not be a major
> issue for a while (or till we learn to live in Babylon :-)).
> Regards,
> Julo

That sounds promising.  It effectively creates two encodings: one is
UTF8-stringprep and the other is UTF8-newprep.

The hard part is to figure out what to do with names that are handled
differently by the two rules.  The question applies to new names (names
added after this machinery is put in) and old names.

For new names, I think you'd want to use these rules:

a. A new name is legal only if both stringprep and newprep consider it
b. A name is unique (i.e., allowed to name a new object distinct from
existing objects) only if it is distinct by both the stringprep and
newprep rules. 

For example, using the example that David mentioned (German sharp s,
written here as B for ASCIIness): stringprep maps StraBe to strasse,
while newprep uses the separate Unicode character.  So if I have an
existing iSCSI name "strasse" and I propose to create a new name
"straBe" this will be rejected because it isn't unique by both
stringprep and newprep rules (only newprep calls it unique).

For existing names, a name lookup is done by the matching rules for the
encoding that was given.  (For example, a request for "straBe" when
there is an existing name "strasse" will match that names if the
requested encoding was UTF8-stringprep, and will fail (no such name) if
the requested encoding was UTF8-newprep.