<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&nbsp;A-Label&nbsp;and&nbsp;U-Label&nbsp;issue&nbsp;already&nbsp;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&nbsp;paragraph&nbsp;is&nbsp;not&nbsp;normative&nbsp;and&nbsp;not&nbsp;required&nbsp;to&nbsp;understand&nbsp;this&nbsp;spec.&nbsp;It&nbsp;will&nbsp;be&nbsp;removed&nbsp;in&nbsp;version&nbsp;-07&nbsp;unless&nbsp;someone&nbsp;provides&nbsp;a&nbsp;convincing&nbsp;rationale&nbsp;for&nbsp;retaining&nbsp;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&nbsp;strongly&nbsp;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&nbsp;of&nbsp;labels&nbsp;SHOULD&nbsp;be&nbsp;done&nbsp;on&nbsp;the&nbsp;A-label&nbsp;form,&nbsp;using&nbsp;an&nbsp;ASCII&nbsp;case-insensitive&nbsp;comparison&nbsp;as&nbsp;with&nbsp;all&nbsp;comparisons&nbsp;of&nbsp;DNS&nbsp;labels.&nbsp;Because&nbsp;A-labels&nbsp;and&nbsp;U-labels&nbsp;can&nbsp;be&nbsp;transformed&nbsp;into&nbsp;each&nbsp;other&nbsp;without&nbsp;loss&nbsp;of&nbsp;information,&nbsp;comparison&nbsp;of&nbsp;native&nbsp;character&nbsp;labels&nbsp;is&nbsp;possible&nbsp;if&nbsp;the&nbsp;application&nbsp;first&nbsp;carefully&nbsp;verifies&nbsp;that&nbsp;the&nbsp;strings&nbsp;are&nbsp;U-labels.</span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">=&gt;</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&nbsp;of&nbsp;labels MUST be&nbsp;done&nbsp;on equivalent forms: either both A-Label forms or both U-Label forms.&nbsp;Because&nbsp;A-labels&nbsp;and&nbsp;U-labels&nbsp;can&nbsp;be&nbsp;transformed&nbsp;into&nbsp;each&nbsp;other&nbsp;without&nbsp;loss&nbsp;of&nbsp;information, these comparisons are equivalent. However, when the A-label&nbsp;form is compared, it MUST use an&nbsp;ASCII&nbsp;case-insensitive&nbsp;comparison&nbsp;as&nbsp;with&nbsp;all&nbsp;comparisons&nbsp;of&nbsp;DNS&nbsp;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;">&nbsp;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&nbsp;MAY&nbsp;permit&nbsp;submission&nbsp;of&nbsp;labels&nbsp;in&nbsp;A-label&nbsp;form.&nbsp;If&nbsp;it&nbsp;does&nbsp;so,&nbsp;it&nbsp;SHOULD&nbsp;perform&nbsp;a&nbsp;conversion&nbsp;to&nbsp;a&nbsp;U-label,&nbsp;perform&nbsp;the&nbsp;steps&nbsp;and&nbsp;tests&nbsp;described&nbsp;below,...</span></blockquote>
<span class="Apple-style-span" style="font-size: small;">=&gt;<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&nbsp;MAY&nbsp;permit&nbsp;submission&nbsp;of&nbsp;labels&nbsp;in&nbsp;A-label&nbsp;form.&nbsp;If&nbsp;it&nbsp;does&nbsp;so,&nbsp;it MUST perform&nbsp;a&nbsp;conversion&nbsp;to&nbsp;a&nbsp;U-label,&nbsp;perform&nbsp;the&nbsp;steps&nbsp;and&nbsp;tests&nbsp;described&nbsp;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;">&nbsp;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:&nbsp;</span></b><span class="Apple-style-span" style="font-size: small;">In the definitions, we should make clear what &quot;A-Label form&quot; and &quot;U-Label form&quot; mean. According to what I read of the text, they are something like &quot;strings that appear to be A-Labels (resp U-Labels), but have not been verified to be so&quot;. I called that &quot;putative A-Label&quot; or &quot;putative U-Label&quot; in my message on these definitions, because that term is used in some places.&nbsp;</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 &quot;invalid A-Label&quot; = putative A-Label that is not an A-Label, and the same for &quot;invalid U-Label&quot;.<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&nbsp;local&nbsp;implementation&nbsp;choice,&nbsp;the&nbsp;implementation&nbsp;MAY&nbsp;choose&nbsp;to&nbsp;map&nbsp;some&nbsp;forbidden&nbsp;characters&nbsp;to&nbsp;permitted&nbsp;characters&nbsp;(for&nbsp;instance&nbsp;mapping&nbsp;uppercase&nbsp;characters&nbsp;to&nbsp;lowercase&nbsp;ones),&nbsp;displaying&nbsp;the&nbsp;result&nbsp;to&nbsp;the&nbsp;user,&nbsp;and&nbsp;allowing&nbsp;processing&nbsp;to&nbsp;continue.&nbsp;However,&nbsp;it&nbsp;is&nbsp;strongly&nbsp;recommended&nbsp;that,&nbsp;to&nbsp;avoid&nbsp;any&nbsp;possible&nbsp;ambiguity,&nbsp;entities&nbsp;responsible&nbsp;for&nbsp;zone&nbsp;files&nbsp;(&quot;registries&quot;)&nbsp;accept&nbsp;registrations&nbsp;only&nbsp;for&nbsp;A-labels&nbsp;(to&nbsp;be&nbsp;converted&nbsp;to&nbsp;U-labels&nbsp;by&nbsp;the&nbsp;registry&nbsp;as&nbsp;discussed&nbsp;above)&nbsp;or&nbsp;U-labels&nbsp;actually&nbsp;produced&nbsp;from&nbsp;A-labels,&nbsp;not&nbsp;forms&nbsp;expected&nbsp;to&nbsp;be&nbsp;converted&nbsp;by&nbsp;some&nbsp;other&nbsp;process.</span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">=&gt;</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&nbsp;local&nbsp;implementation&nbsp;choice,&nbsp;the&nbsp;implementation MAY choose&nbsp;to&nbsp;map&nbsp;some&nbsp;forbidden&nbsp;characters&nbsp;to&nbsp;permitted&nbsp;characters&nbsp;(for&nbsp;instance&nbsp;mapping&nbsp;uppercase&nbsp;characters&nbsp;to&nbsp;lowercase&nbsp;ones),&nbsp;displaying&nbsp;the&nbsp;result&nbsp;to&nbsp;the&nbsp;user,&nbsp;and&nbsp;allowing&nbsp;processing&nbsp;to&nbsp;continue.&nbsp;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.&nbsp;</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&nbsp;of&nbsp;Confusing&nbsp;or&nbsp;Hostile&nbsp;Sequences&nbsp;in&nbsp;U-labels</span></blockquote><div style="margin-top: 0px; margin-bottom: 0px; ">
<span class="Apple-style-span" style="font-size: small;">=&gt;</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&nbsp;of Hyphen Sequences&nbsp;in&nbsp;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.&nbsp;</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: &quot;:-(&quot;?)</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&nbsp;this&nbsp;paragraph&nbsp;be&nbsp;removed?&nbsp;Note&nbsp;that&nbsp;I&#39;ve&nbsp;been&nbsp;strongly&nbsp;encouraged&nbsp;to&nbsp;supply&nbsp;specific&nbsp;examples&nbsp;to&nbsp;reduce&nbsp;abstraction&nbsp;and&nbsp;questions&nbsp;about&nbsp;the&nbsp;appropriateness&nbsp;of&nbsp;the&nbsp;text.&nbsp;-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,&nbsp;unless&nbsp;you&nbsp;want&nbsp;to&nbsp;add&nbsp;specific&nbsp;examples,&nbsp;it&nbsp;needs&nbsp;to&nbsp;be&nbsp;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&nbsp;have&nbsp;been&nbsp;produced&nbsp;by&nbsp;the&nbsp;steps&nbsp;above,&nbsp;and&nbsp;whose&nbsp;contents&nbsp;pass&nbsp;the&nbsp;above&nbsp;tests,&nbsp;are&nbsp;U-labels.&nbsp;</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;">=&gt;</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.&nbsp;</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.&nbsp;</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 &quot;above&quot; 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&nbsp;conditions&nbsp;identified&nbsp;in&nbsp;the&nbsp;Punycode&nbsp;encoding&nbsp;procedure&nbsp;cannot&nbsp;occur&nbsp;if&nbsp;the&nbsp;input&nbsp;is&nbsp;a&nbsp;U-label&nbsp;as&nbsp;determined&nbsp;by&nbsp;the&nbsp;steps&nbsp;above.</span></blockquote><span class="Apple-style-span" style="font-size: small;">=&gt;<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;">&nbsp;It&nbsp;is&nbsp;false.&nbsp;The&nbsp;A-Label&nbsp;could&nbsp;be&nbsp;too&nbsp;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&nbsp;string&nbsp;MAY&nbsp;then&nbsp;be&nbsp;processed&nbsp;to&nbsp;prevent&nbsp;confounding&nbsp;of&nbsp;user&nbsp;expectations.&nbsp;For&nbsp;instance,&nbsp;it&nbsp;might&nbsp;be&nbsp;reasonable,&nbsp;at&nbsp;this&nbsp;step,&nbsp;to&nbsp;convert&nbsp;all&nbsp;upper&nbsp;case&nbsp;characters&nbsp;to&nbsp;lower&nbsp;case,&nbsp;if&nbsp;this&nbsp;makes&nbsp;sense&nbsp;in&nbsp;the&nbsp;user&#39;s&nbsp;environment,&nbsp;but&nbsp;even&nbsp;this&nbsp;should&nbsp;be&nbsp;approached&nbsp;with&nbsp;caution&nbsp;due&nbsp;to&nbsp;some&nbsp;edge&nbsp;cases:&nbsp;in&nbsp;the&nbsp;long&nbsp;term,&nbsp;it&nbsp;is&nbsp;probably&nbsp;better&nbsp;for&nbsp;users&nbsp;to&nbsp;understand&nbsp;IDNs&nbsp;strictly&nbsp;in&nbsp;lower-&nbsp;case,&nbsp;U-label,&nbsp;form.&nbsp;More&nbsp;generally,&nbsp;preprocessing&nbsp;may&nbsp;be&nbsp;useful&nbsp;to&nbsp;smooth&nbsp;the&nbsp;transition&nbsp;from&nbsp;IDNA2003,&nbsp;especially&nbsp;for&nbsp;direct&nbsp;user&nbsp;input,&nbsp;but&nbsp;with&nbsp;similar&nbsp;cautions.&nbsp;In&nbsp;general,&nbsp;IDNs&nbsp;appearing&nbsp;in&nbsp;files&nbsp;and&nbsp;those&nbsp;transmitted&nbsp;across&nbsp;the&nbsp;network&nbsp;as&nbsp;part&nbsp;of&nbsp;protocols&nbsp;are&nbsp;expected&nbsp;to&nbsp;be&nbsp;in&nbsp;either&nbsp;ASCII&nbsp;form&nbsp;(including&nbsp;A-labels)&nbsp;or&nbsp;to&nbsp;contain&nbsp;U-labels,&nbsp;rather&nbsp;than&nbsp;being&nbsp;in&nbsp;forms&nbsp;requiring&nbsp;mapping&nbsp;or&nbsp;other&nbsp;conversions.&nbsp;Other&nbsp;examples&nbsp;of&nbsp;processing&nbsp;for&nbsp;localization&nbsp;might&nbsp;be&nbsp;applied,&nbsp;especially&nbsp;to&nbsp;direct&nbsp;user&nbsp;input,&nbsp;at&nbsp;this&nbsp;point.&nbsp;They&nbsp;include&nbsp;interpreting&nbsp;various&nbsp;characters&nbsp;as&nbsp;separating&nbsp;domain&nbsp;name&nbsp;components&nbsp;from&nbsp;each&nbsp;other&nbsp;(label&nbsp;separators)&nbsp;because&nbsp;they&nbsp;either&nbsp;look&nbsp;like&nbsp;periods&nbsp;or&nbsp;are&nbsp;used&nbsp;to&nbsp;separate&nbsp;sentences,&nbsp;mapping&nbsp;halfwidth&nbsp;or&nbsp;fullwidth&nbsp;East&nbsp;Asian&nbsp;characters&nbsp;to&nbsp;the&nbsp;common&nbsp;form&nbsp;permitted&nbsp;in&nbsp;labels,&nbsp;or&nbsp;giving&nbsp;special&nbsp;treatment&nbsp;to&nbsp;characters&nbsp;whose&nbsp;presentation&nbsp;forms&nbsp;are&nbsp;dependent&nbsp;only&nbsp;on&nbsp;placement&nbsp;in&nbsp;the&nbsp;label.&nbsp;Such&nbsp;localization&nbsp;changes&nbsp;are&nbsp;also&nbsp;outside&nbsp;the&nbsp;scope&nbsp;of&nbsp;this&nbsp;specification.&nbsp;Recommendations&nbsp;for&nbsp;preprocessing&nbsp;for&nbsp;global&nbsp;contexts&nbsp;(i.e.,&nbsp;when&nbsp;local&nbsp;considerations&nbsp;do&nbsp;not&nbsp;apply&nbsp;or&nbsp;cannot&nbsp;be&nbsp;used)&nbsp;and&nbsp;for&nbsp;maximum&nbsp;interoperability&nbsp;with&nbsp;labels&nbsp;that&nbsp;might&nbsp;have&nbsp;been&nbsp;specified&nbsp;under&nbsp;liberal&nbsp;readings&nbsp;of&nbsp;IDNA2003&nbsp;are&nbsp;given&nbsp;in&nbsp;[IDNA2008-Rationale].&nbsp;It&nbsp;is&nbsp;important&nbsp;to&nbsp;note&nbsp;that&nbsp;the&nbsp;intent&nbsp;of&nbsp;these&nbsp;specifications&nbsp;is&nbsp;that&nbsp;labels&nbsp;in&nbsp;application&nbsp;protocols,&nbsp;files,&nbsp;or&nbsp;links&nbsp;are&nbsp;intended&nbsp;to&nbsp;be&nbsp;in&nbsp;U-label&nbsp;or&nbsp;A-label&nbsp;form.&nbsp;Preprocessing&nbsp;MUST&nbsp;NOT&nbsp;map&nbsp;a&nbsp;character&nbsp;that&nbsp;is&nbsp;valid&nbsp;in&nbsp;a&nbsp;label&nbsp;as&nbsp;specified&nbsp;elsewhere&nbsp;in&nbsp;this&nbsp;document&nbsp;or&nbsp;in&nbsp;[IDNA2008-Tables]&nbsp;into&nbsp;another&nbsp;character.&nbsp;Excessively&nbsp;liberal&nbsp;use&nbsp;of&nbsp;preprocessing,&nbsp;especially&nbsp;to&nbsp;strings&nbsp;stored&nbsp;in&nbsp;files,&nbsp;poses&nbsp;a&nbsp;threat&nbsp;to&nbsp;consistent&nbsp;and&nbsp;predictable&nbsp;behavior&nbsp;for&nbsp;the&nbsp;user&nbsp;even&nbsp;if&nbsp;not&nbsp;to&nbsp;actual&nbsp;interoperability.&nbsp;Because&nbsp;these&nbsp;transformations&nbsp;are&nbsp;local,&nbsp;it&nbsp;is&nbsp;important&nbsp;that&nbsp;domain&nbsp;names&nbsp;that&nbsp;might&nbsp;be&nbsp;passed&nbsp;between&nbsp;systems&nbsp;(e.g.,&nbsp;in&nbsp;IRIs)&nbsp;be&nbsp;U-labels&nbsp;or&nbsp;A-labels&nbsp;and&nbsp;not&nbsp;forms&nbsp;that&nbsp;might&nbsp;be&nbsp;accepted&nbsp;locally&nbsp;as&nbsp;a&nbsp;consequence&nbsp;of&nbsp;this&nbsp;step.&nbsp;This&nbsp;step&nbsp;is&nbsp;not&nbsp;standardized&nbsp;as&nbsp;part&nbsp;of&nbsp;IDNA,&nbsp;and&nbsp;is&nbsp;not&nbsp;further&nbsp;specified&nbsp;here.&nbsp;</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;">=&gt;</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&nbsp;string&nbsp;MAY&nbsp;then&nbsp;be&nbsp;processed&nbsp;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;">&nbsp;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&nbsp;containing&nbsp;other&nbsp;code&nbsp;points&nbsp;that&nbsp;are&nbsp;shown&nbsp;in&nbsp;the&nbsp;permitted&nbsp;character&nbsp;table&nbsp;as&nbsp;requiring&nbsp;a&nbsp;contextual&nbsp;rule&nbsp;(&quot;CONTEXTO&quot;&nbsp;in&nbsp;the&nbsp;tables),&nbsp;but&nbsp;for&nbsp;which&nbsp;no&nbsp;such&nbsp;rule&nbsp;appears&nbsp;in&nbsp;the&nbsp;table&nbsp;of&nbsp;rules.&nbsp;With&nbsp;the&nbsp;exception&nbsp;in&nbsp;the&nbsp;rule&nbsp;immediately&nbsp;above,&nbsp;applications&nbsp;resolving&nbsp;DNS&nbsp;names&nbsp;or&nbsp;carrying&nbsp;out&nbsp;equivalent&nbsp;operations&nbsp;are&nbsp;not&nbsp;required&nbsp;to&nbsp;test&nbsp;contextual&nbsp;rules,&nbsp;only&nbsp;to&nbsp;verify&nbsp;that&nbsp;a&nbsp;rule&nbsp;exists.</span></blockquote>
<span class="Apple-style-span" style="font-size: small;">=&gt;</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;">&nbsp;It is pretty pointless to require checking that rules exist if we aren&#39;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&nbsp;to&nbsp;look&nbsp;up&nbsp;and&nbsp;resolve&nbsp;such&nbsp;strings&nbsp;will&nbsp;almost&nbsp;certainly&nbsp;lead&nbsp;to&nbsp;a&nbsp;DNS&nbsp;lookup&nbsp;failure&nbsp;except&nbsp;when&nbsp;wildcards&nbsp;are&nbsp;present&nbsp;in&nbsp;the zone.</span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">=&gt;</span></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">[clarify. Why are we saying &quot;almost certainly&quot;? 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&nbsp;that&nbsp;all&nbsp;internationalized&nbsp;domain&nbsp;names&nbsp;served&nbsp;by&nbsp;DNS&nbsp;servers&nbsp;that&nbsp;cannot&nbsp;be&nbsp;represented&nbsp;directly&nbsp;in&nbsp;ASCII&nbsp;must&nbsp;use&nbsp;the&nbsp;A-label&nbsp;form.&nbsp;Conversion&nbsp;to&nbsp;A-labels&nbsp;must&nbsp;be&nbsp;performed&nbsp;prior&nbsp;to&nbsp;a&nbsp;zone&nbsp;being&nbsp;signed&nbsp;by&nbsp;the&nbsp;private&nbsp;key&nbsp;for&nbsp;that&nbsp;zone.&nbsp;</span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">=&gt;</span></div><div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">[both &quot;must&quot;s to &quot;MUST&quot;?]</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&nbsp;bidirectional&nbsp;domain&nbsp;names&nbsp;(delimited&nbsp;strings&nbsp;of&nbsp;labels,&nbsp;not&nbsp;just&nbsp;labels&nbsp;standing&nbsp;on&nbsp;their&nbsp;own)&nbsp;display&nbsp;in&nbsp;a&nbsp;non-&nbsp;surprising&nbsp;fashion&nbsp;whether&nbsp;they&nbsp;appear&nbsp;in&nbsp;obvious&nbsp;domain&nbsp;name&nbsp;contexts&nbsp;or&nbsp;as&nbsp;part&nbsp;of&nbsp;running&nbsp;text&nbsp;in&nbsp;paragraphs.</span></blockquote>
<div style="margin-top: 0px; margin-bottom: 0px; "><span class="Apple-style-span" style="font-size: small;">=&gt;</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&nbsp;bidirectional&nbsp;domain&nbsp;names&nbsp;(delimited&nbsp;strings&nbsp;of&nbsp;labels,&nbsp;not&nbsp;just&nbsp;labels&nbsp;standing&nbsp;on&nbsp;their&nbsp;own)&nbsp;display&nbsp;in&nbsp;a less surprising&nbsp;fashion&nbsp;whether&nbsp;they&nbsp;appear&nbsp;in&nbsp;obvious&nbsp;domain&nbsp;name&nbsp;contexts&nbsp;or&nbsp;as&nbsp;part&nbsp;of&nbsp;running&nbsp;text&nbsp;in&nbsp;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.&nbsp;</span></span><span class="Apple-style-span" style="font-size: small;">Because we couldn&#39;t get in the inter-label bidi checks, it is only &quot;less&quot; surprising, not &quot;non-&quot; surprising.</span></span><span class="Apple-style-span" style="font-size: small;"><br clear="all">
Mark</span><br>