|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: iSCSI NDT: Nameprep additionsBob, The short answer to this is not an extraordinarily strong argument, however..., it was felt that these names should follow many of the rules of domain names. It was also felt that in many cases, the names might be embedded in URLs (and the like). Also, since one of the naming conventions is derived from domain names, there didn't seem a strong reason to allow for any extra characters. So, the simpler the allowed set of non-alpha-numeric characters (punctuation, whitespace, etc). the easier to process, embed, extend, etc. On the other hand, doesn't an "underscore" accomplish much of what a "white-space" character does for readability? Jim Hafner Robert Snively <rsnively@Brocade.COM>@ece.cmu.edu on 08/20/2001 12:27:24 pm Sent by: owner-ips@ece.cmu.edu To: "'Mark Bakke'" <mbakke@cisco.com>, Kaladhar Voruganti/Almaden/IBM@IBMUS, IPS <ips@ece.cmu.edu> cc: Subject: RE: iSCSI NDT: Nameprep additions Mark, Why did we want to prohibit a properly normalized white-space character? I have always felt that spaces are useful supplements to readability, especially for symbolic character sets. Bob -----Original Message----- From: Mark Bakke [mailto:mbakke@cisco.com] Sent: Thursday, August 16, 2001 2:20 PM To: Kaladhar Voruganti; IPS Subject: iSCSI NDT: Nameprep additions Kaladhar- Here are some modifications to make to the NDT doc to add nameprep. For now, these changes will assume that nameprep will become an RFC before we do; if this is a problem, we will do some more cut-and-paste later. -- Mark Replace: 3. iSCSI names must be transcribable by humans. iSCSI names should be kept as simple as possible, and should not use more than a few special characters. They must also be case-insensitive, and cannot include white space. With: 3. iSCSI names must be transcribable by humans. iSCSI names should be kept as simple as possible, and should not use more than a few special characters. They must provide for the use of international character sets, and must not allow the use of different names that would be identical except for their case. Whitespace characters must not be allowed. Replace: The iSCSI Name may be displayed by user interfaces, but is generally uninterpreted and used as an opaque, case-sensitive string for comparison with other iSCSI Name values. With: The iSCSI Name may be displayed by user interfaces, but is generally uninterpreted and used as an opaque string for comparison with other iSCSI Name values. Replace: An iSCSI name can be any Unicode character string with the following properties: - it is in Normalization Form C (see Unicode Standard Annex #15, "Unicode Normalization Forms" at http://www.unicode.org/unicode/reports/15) - it contains only the ASCII dash character ('-'=U+002d) or the ASCII dot character ('.'=U+002e) or is in one of the following Unicode General Categories: a) Lu (Letter, Uppercase) b) Ll (Letter, Lowercase) c) Lt (Letter, Titlecase) d) Lm (Letter, Modifier) e) Lo (Letter, Other) f) Nd (Number, Decimal Digit) g) Nl (Number, Letter) h) No (Number, Other) - when encoded in UTF-8, it is no more than 255 bytes In particular, white space, punctuation (except as noted), marks and symbols are not allowed. With: An iSCSI name can be any Unicode character string with the following properties: - it is in Normalization Form C (see Unicode Standard Annex #15, "Unicode Normalization Forms" at http://www.unicode.org/unicode/reports/15) - it contains only the following types of characters: - ASCII dash character ('-'=U+002d) - ASCII dot character ('.'=U+002e) - Any character allowed by the output of the nameprep process - when encoded in UTF-8, it is no more than 255 bytes The output of the nameprep process is described in [NAMEPREP]. Nameprep is a method designed by the Internationalized Domain Name (IDN) working group to translate human-typed strings into a format that can be compared as opaque strings, and does not include punctuation, spacing, dicritical marks, or other characters that could get in the way of transcribability. It also converts everything into its equivalent of lower case. Note that in most cases, the nameprep process does not need to be implemented: - If the names are just generated using lower-case (in any character set) plus digits, no normalization is required. - If the names are generated from some other all-ASCII string, tolower() normalizes and isalnum() verifies. - If the names are generated from more general, internationalized text, either the equivalent of tolower() and isalnum() appropriate to the character set may be used, or the full nameprep procedure can be used.
Home Last updated: Tue Sep 04 01:03:58 2001 6315 messages in chronological order |