<span class="Apple-style-span" style="font-family: Garamond; "><div style="margin-top: 0px; margin-bottom: 0px; "><div style="margin-top: 0px; margin-bottom: 0px; "><div style="margin-top: 0px; margin-bottom: 0px; "><h1 style="font-size: 18pt; ">
Protocol</h1><div style="margin-top: 0px; margin-bottom: 0px; "><i><span class="Apple-style-span" style="font-size: small;">Other than A-Label and U-Label issue already covered:</span></i></div><div style="margin-top: 0px; margin-bottom: 0px; ">
<span class="Apple-style-span" style="font-size: small;"><br></span><span class="Apple-style-span" style="font-size: small;"><i></i></span></div></div></div></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">[[anchor2: This paragraph is not normative and not required to understand this spec. It will be removed in version -07 unless someone provides a convincing rationale for retaining it.]]</span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><div style="margin-top: 0px; margin-bottom: 0px; "><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">I strongly agree on removal.<br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br>
</span></div><div style="margin-top: 0px; margin-bottom: 0px; "><hr></div></div></div><div style="margin-top: 0px; margin-bottom: 0px; "><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br>
</span></div></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">2. Comparison of labels SHOULD be done on the A-label form, using an ASCII case-insensitive comparison as with all comparisons of DNS labels. Because A-labels and U-labels can be transformed into each other without loss of information, comparison of native character labels is possible if the application first carefully verifies that the strings are U-labels.</span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">=></span></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">2. Comparison of labels MUST be done on equivalent forms: either both A-Label forms or both U-Label forms. Because A-labels and U-labels can be transformed into each other without loss of information, these comparisons are equivalent. However, when the A-label form is compared, it MUST use an ASCII case-insensitive comparison as with all comparisons of DNS labels. Comparison is only valid if the putative labels have been verified to be either A-Labels or U-Labels.</span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><b><span class="Apple-style-span" style="font-size: small;">Rationale.</span></b><span class="Apple-style-span" style="font-size: small;"> Since either form of comparison is precisely equivalent, the SHOULD is misplaced. The text should focus on what is required, and alert the user that both the A-Label and the U-Label need verification.</span></div>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><hr></div><div style="margin-top: 0px; margin-bottom: 0px; ">
<span class="Apple-style-span" style="font-size: small;"><br></span></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">The registry MAY permit submission of labels in A-label form. If it does so, it SHOULD perform a conversion to a U-label, perform the steps and tests described below,...</span></blockquote>
<span class="Apple-style-span" style="font-size: small;">=><br></span><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">The registry MAY permit submission of labels in A-label form. If it does so, it MUST perform a conversion to a U-label, perform the steps and tests described below,...</span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><b><span class="Apple-style-span" style="font-size: small;">Rationale.</span></b><span class="Apple-style-span" style="font-size: small;"> It is pointless to have a massive and complex process in IDNA2008 to describe what a registry must do to verify U-Labels if it is trivial to circumvent the entire process and supply invalid A-Labels!! This is especially because the Lookup process is more lenient than the registration process. We need to close this truck-sized hole.</span></div>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><hr></div><div style="margin-top: 0px; margin-bottom: 0px; ">
<span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><b><span class="Apple-style-span" style="font-size: small;">Also: </span></b><span class="Apple-style-span" style="font-size: small;">In the definitions, we should make clear what "A-Label form" and "U-Label form" mean. According to what I read of the text, they are something like "strings that appear to be A-Labels (resp U-Labels), but have not been verified to be so". I called that "putative A-Label" or "putative U-Label" in my message on these definitions, because that term is used in some places. </span><span class="Apple-style-span" style="font-style: italic; "><span class="Apple-style-span" style="font-size: small;">But we need to have a single term, use it consistently, and provide a definition so that the meaning is precise.</span></span></div>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">I would also suggest having the terms "invalid A-Label" = putative A-Label that is not an A-Label, and the same for "invalid U-Label".<br>
</span></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><hr></div><div style="margin-top: 0px; margin-bottom: 0px; ">
<span class="Apple-style-span" style="font-size: small;"><br></span></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">As a local implementation choice, the implementation MAY choose to map some forbidden characters to permitted characters (for instance mapping uppercase characters to lowercase ones), displaying the result to the user, and allowing processing to continue. However, it is strongly recommended that, to avoid any possible ambiguity, entities responsible for zone files ("registries") accept registrations only for A-labels (to be converted to U-labels by the registry as discussed above) or U-labels actually produced from A-labels, not forms expected to be converted by some other process.</span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">=></span></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">As a local implementation choice, the implementation MAY choose to map some forbidden characters to permitted characters (for instance mapping uppercase characters to lowercase ones), displaying the result to the user, and allowing processing to continue. However, if this is done, the mapping SHOULD be in accord with the general rules for IDNA2003 mappings (NFKC mapping plus case folding), and the implementation SHOULD request the user to confirm that the resulting U-Label is in fact the requested string.</span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; ">
<b><span class="Apple-style-span" style="font-size: small;">Rationale. </span></b><span class="Apple-style-span" style="font-size: small;">The text left a hole open for some of the very unpleasantness that removing the mapping was supposed to prevent: people thinking that they were registering one string when they were in fact registering a different one.<br>
</span><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><hr></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;"><a href="http://4.3.2.1">4.3.2.1</a>. Rejection of Confusing or Hostile Sequences in U-labels</span></blockquote><div style="margin-top: 0px; margin-bottom: 0px; ">
<span class="Apple-style-span" style="font-size: small;">=></span></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;"><a href="http://4.3.2.1">4.3.2.1</a>. Rejection of Hyphen Sequences in U-labels</span></blockquote><div style="margin-top: 0px; margin-bottom: 0px; "><div style="margin-top: 0px; margin-bottom: 0px; ">
<span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><b><span class="Apple-style-span" style="font-size: small;">Rationale. </span></b><span class="Apple-style-span" style="font-size: small;">At this point in the text, the application of <a href="http://4.3.2.1">4.3.2.1</a> is to -- in 3rd and 4th position. That is neither Confusing nor Hostile -- it is restricted because we want to allow for future signatures. (And what the heck is a Hostile Sequence: ":-("?)</span></div>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><hr><span class="Apple-style-span" style="font-size: small;"><br>
</span></div></div></div></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">[[anchor14: Should this paragraph be removed? Note that I've been strongly encouraged to supply specific examples to reduce abstraction and questions about the appropriateness of the text. -JcK]]</span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><div style="margin-top: 0px; margin-bottom: 0px; "><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br>Yes, unless you want to add specific examples, it needs to be removed. And even if you do add examples, it would need to be moved to Rationale.</span></div>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><hr></div><div style="margin-top: 0px; margin-bottom: 0px; ">
<span class="Apple-style-span" style="font-size: small;"><br></span></div></div></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">Strings that have been produced by the steps above, and whose contents pass the above tests, are U-labels. </span></blockquote><div style="margin-top: 0px; margin-bottom: 0px; ">
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">=></span></div></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">Move to after 4.5. </span></blockquote><div style="margin-top: 0px; margin-bottom: 0px; "><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br>
</span></div><div style="margin-top: 0px; margin-bottom: 0px; "><b><span class="Apple-style-span" style="font-size: small;">Rationale. </span></b><span class="Apple-style-span" style="font-size: small;">Otherwise this is false, since an A-Label generated from a string that passed the "above" tests could be too long.</span></div>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><hr></div></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">The failure conditions identified in the Punycode encoding procedure cannot occur if the input is a U-label as determined by the steps above.</span></blockquote><span class="Apple-style-span" style="font-size: small;">=><br>
</span><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">[REMOVE]</span></blockquote><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span><b><span class="Apple-style-span" style="font-size: small;">Rationale.</span></b><span class="Apple-style-span" style="font-size: small;"> It is false. The A-Label could be too long.</span></div>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><hr></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">The Unicode string MAY then be processed to prevent confounding of user expectations. For instance, it might be reasonable, at this step, to convert all upper case characters to lower case, if this makes sense in the user's environment, but even this should be approached with caution due to some edge cases: in the long term, it is probably better for users to understand IDNs strictly in lower- case, U-label, form. More generally, preprocessing may be useful to smooth the transition from IDNA2003, especially for direct user input, but with similar cautions. In general, IDNs appearing in files and those transmitted across the network as part of protocols are expected to be in either ASCII form (including A-labels) or to contain U-labels, rather than being in forms requiring mapping or other conversions. Other examples of processing for localization might be applied, especially to direct user input, at this point. They include interpreting various characters as separating domain name components from each other (label separators) because they either look like periods or are used to separate sentences, mapping halfwidth or fullwidth East Asian characters to the common form permitted in labels, or giving special treatment to characters whose presentation forms are dependent only on placement in the label. Such localization changes are also outside the scope of this specification. Recommendations for preprocessing for global contexts (i.e., when local considerations do not apply or cannot be used) and for maximum interoperability with labels that might have been specified under liberal readings of IDNA2003 are given in [IDNA2008-Rationale]. It is important to note that the intent of these specifications is that labels in application protocols, files, or links are intended to be in U-label or A-label form. Preprocessing MUST NOT map a character that is valid in a label as specified elsewhere in this document or in [IDNA2008-Tables] into another character. Excessively liberal use of preprocessing, especially to strings stored in files, poses a threat to consistent and predictable behavior for the user even if not to actual interoperability. Because these transformations are local, it is important that domain names that might be passed between systems (e.g., in IRIs) be U-labels or A-labels and not forms that might be accepted locally as a consequence of this step. This step is not standardized as part of IDNA, and is not further specified here. </span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">=></span></div>
<blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">The Unicode string MAY then be processed to for interoperability and backwards compatibility with IDNA2003. Such preprocessing MUST be in accordance with the mappings used in IDNA2003: that is, normalization with NFKC and case-folding.<br>
<br></span></blockquote><b><span class="Apple-style-span" style="font-size: small;">Rationale.</span></b><span class="Apple-style-span" style="font-size: small;"> Otherwise, by allowing any and all mappings, we would be opening the door to massive security issues.<br>
</span><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><hr></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">o Labels containing other code points that are shown in the permitted character table as requiring a contextual rule ("CONTEXTO" in the tables), but for which no such rule appears in the table of rules. With the exception in the rule immediately above, applications resolving DNS names or carrying out equivalent operations are not required to test contextual rules, only to verify that a rule exists.</span></blockquote>
<span class="Apple-style-span" style="font-size: small;">=></span><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">[Delete]</span></blockquote><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span><div style="margin-top: 0px; margin-bottom: 0px; ">
<b><span class="Apple-style-span" style="font-size: small;">Rationale.</span></b><span class="Apple-style-span" style="font-size: small;"> It is pretty pointless to require checking that rules exist if we aren't going to require that people actually verify that the rules apply.</span></div>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><hr></div></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">an attempt to look up and resolve such strings will almost certainly lead to a DNS lookup failure except when wildcards are present in the zone.</span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">=></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">[clarify. Why are we saying "almost certainly"? What are the other failure cases besides wildcards?]</span></div>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><hr></div><div style="margin-top: 0px; margin-bottom: 0px; ">
<span class="Apple-style-span" style="font-size: small;"><br></span></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">IDNA specifies that all internationalized domain names served by DNS servers that cannot be represented directly in ASCII must use the A-label form. Conversion to A-labels must be performed prior to a zone being signed by the private key for that zone. </span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">=></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">[both "must"s to "MUST"?]</span></div>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-bottom: 0px; "><hr></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">8. Make bidirectional domain names (delimited strings of labels, not just labels standing on their own) display in a non- surprising fashion whether they appear in obvious domain name contexts or as part of running text in paragraphs.</span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">=></span></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; ">
<span class="Apple-style-span" style="font-size: small;">8. Make bidirectional domain names (delimited strings of labels, not just labels standing on their own) display in a less surprising fashion whether they appear in obvious domain name contexts or as part of running text in paragraphs.<br>
<br><br></span></blockquote><span class="Apple-style-span" style="font-weight: bold; "><span class="Apple-style-span" style="font-size: small;">Rationale. </span></span><span class="Apple-style-span" style="font-size: small;">Because we couldn't get in the inter-label bidi checks, it is only "less" surprising, not "non-" surprising.</span></span><span class="Apple-style-span" style="font-size: small;"><br clear="all">
Mark</span><br>