simon:<div><br></div><div>from RFC5894</div><div><br></div><div><div>3.1.2.2.  Rules and Their Application</div><div><br></div><div>   Rules have descriptions such as "Must follow a character from Script</div><div>   XYZ", "Must occur only if the entire label is in Script ABC", or</div>
<div>   "Must occur only if the previous and subsequent characters have the</div><div>   DFG property".  The actual rules may be DEFINED or NULL.  If present,</div><div>   they may have values of "True" (character may be used in any position</div>
<div>   in any label), "False" (character may not be used in any label), or</div><div>   may be a set of procedural rules that specify the context in which</div><div>   the character is permitted.</div><div><br>
</div><div>   Because it is easier to identify these characters than to know that</div><div>   they are actually needed in IDNs or how to establish exactly the</div><div>   right rules for each one, a rule may have a null value in a given</div>
<div>   version of the tables.  Characters associated with null rules are not</div><div>   permitted to appear in putative labels for either registration or</div><div>   lookup.  Of course, a later version of the tables might contain a</div>
<div>   non-null rule.</div><div><br></div><div>   The actual rules and their descriptions are in Sections 2 and 3 of</div><div>   the Tables document [RFC5892].  That document also specifies the</div><div>   creation of a registry for future rules.</div>
<div><br></div><div><br></div><br><div class="gmail_quote">On Sun, Jan 9, 2011 at 5:30 AM, Simon Josefsson <span dir="ltr"><<a href="mailto:simon@josefsson.org">simon@josefsson.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">Vint Cerf <<a href="mailto:vint@google.com">vint@google.com</a>> writes:<br>
<br>
> simon:<br>
><br>
> Suppose you are (well, your software is) examining a string to determine<br>
> whether to look it up in the DNS and, on examination, you discover a<br>
> character in an apparent U-label that is labeled "CONTEXTJ". CONTEXTJ is one<br>
> of the several special handling rules in IDNA2008. Upon examination, you<br>
> discover that the character does NOT conform to the rule associated with<br>
> CONTEXTJ. At this point you should cease further examination and reject the<br>
> string as not being acceptable even for lookup in the DNS.  If the character<br>
> satisfies the associated CONTEXTJ rule, you may continue to examine the<br>
> string prior to looking it up.<br>
><br>
> Your interpretation (2) is the correct one. The idea is to allow the use of<br>
> "joiner" characters only under specific conditions.<br>
<br>
</div>Thank you, this is clear to me now.<br>
<div class="im"><br>
> A "null" rule is a condition that has no specific actions associated with<br>
> it. It's like defining a class of characters (perhaps by their Unicode<br>
> properties) for purposes of singling them out for special treatment, and<br>
> then not saying what should be done about them. If there is no rule, and if<br>
> a character in a string under examination meets the condition, the string<br>
> must be rejected if the condition does not have a defined rule (action)<br>
> associated with it. The lack of a rule means there is no test to perform and<br>
> it is interpreted in IDNA2008 as having failed implicitly. "null rule" means<br>
> a rule that is "empty" "has no content" "missing" "awol"<br>
<br>
</div>When would this situation occur?<br>
<font color="#888888"><br>
/Simon<br>
</font><div><div></div><div class="h5"><br>
><br>
> v<br>
><br>
><br>
><br>
><br>
> On Sat, Jan 8, 2011 at 5:07 AM, Simon Josefsson <<a href="mailto:simon@josefsson.org">simon@josefsson.org</a>> wrote:<br>
><br>
>> Hi,<br>
>><br>
>> I need help with interpretation regarding section 5.4 which says:<br>
>><br>
>>   Putative U-labels with any of the following characteristics MUST be<br>
>>   rejected prior to DNS lookup:<br>
>> ...<br>
>>   o  Labels containing code points that are identified in the Tables<br>
>>      document as "CONTEXTJ", i.e., requiring exceptional contextual<br>
>>      rule processing on lookup, but that do not conform to those rules.<br>
>><br>
>> I have trouble understand the bullet text.  To me, it seems as if the<br>
>> first part of the sentence, namely:<br>
>><br>
>>    Labels containing code points that are identified in the Tables<br>
>>    document as "CONTEXTJ"<br>
>><br>
>> says one thing but the rest of the sentence, namely:<br>
>><br>
>>      requiring exceptional contextual rule processing on lookup, but<br>
>>      that do not conform to those rules.<br>
>><br>
>> says a different thing.<br>
>><br>
>> What is not clear to me is whether the test on a particular label is<br>
>> intended to fail if and only if:<br>
>><br>
>> 1) the label has any code point with the CONTEXTJ property.<br>
>><br>
>> 2) the label has any code point with the CONTEXTJ property AND the rule<br>
>>   fails.<br>
>><br>
>> Interpretation 2) makes the most sense to me, but the normative part of<br>
>> the sentence suggests otherwise so I am looking for clarification.<br>
>><br>
>> The text goes on and says:<br>
>><br>
>>      Note that this implies that a rule must be defined, not null: a<br>
>>      character that requires a contextual rule but for which the rule<br>
>>      is null is treated in this step as having failed to conform to the<br>
>>      rule.<br>
>><br>
>> What is a "null rule"?  I cannot find any definition.<br>
>><br>
>> /Simon<br>
>> _______________________________________________<br>
>> Idna-update mailing list<br>
>> <a href="mailto:Idna-update@alvestrand.no">Idna-update@alvestrand.no</a><br>
>> <a href="http://www.alvestrand.no/mailman/listinfo/idna-update" target="_blank">http://www.alvestrand.no/mailman/listinfo/idna-update</a><br>
>><br>
> _______________________________________________<br>
> Idna-update mailing list<br>
> <a href="mailto:Idna-update@alvestrand.no">Idna-update@alvestrand.no</a><br>
> <a href="http://www.alvestrand.no/mailman/listinfo/idna-update" target="_blank">http://www.alvestrand.no/mailman/listinfo/idna-update</a><br>
</div></div></blockquote></div><br></div>