Lookup CONTEXTJ test

Simon Josefsson simon at josefsson.org
Sun Jan 9 11:30:04 CET 2011


Vint Cerf <vint at google.com> writes:

> simon:
>
> Suppose you are (well, your software is) examining a string to determine
> whether to look it up in the DNS and, on examination, you discover a
> character in an apparent U-label that is labeled "CONTEXTJ". CONTEXTJ is one
> of the several special handling rules in IDNA2008. Upon examination, you
> discover that the character does NOT conform to the rule associated with
> CONTEXTJ. At this point you should cease further examination and reject the
> string as not being acceptable even for lookup in the DNS.  If the character
> satisfies the associated CONTEXTJ rule, you may continue to examine the
> string prior to looking it up.
>
> Your interpretation (2) is the correct one. The idea is to allow the use of
> "joiner" characters only under specific conditions.

Thank you, this is clear to me now.

> A "null" rule is a condition that has no specific actions associated with
> it. It's like defining a class of characters (perhaps by their Unicode
> properties) for purposes of singling them out for special treatment, and
> then not saying what should be done about them. If there is no rule, and if
> a character in a string under examination meets the condition, the string
> must be rejected if the condition does not have a defined rule (action)
> associated with it. The lack of a rule means there is no test to perform and
> it is interpreted in IDNA2008 as having failed implicitly. "null rule" means
> a rule that is "empty" "has no content" "missing" "awol"

When would this situation occur?

/Simon

>
> v
>
>
>
>
> On Sat, Jan 8, 2011 at 5:07 AM, Simon Josefsson <simon at josefsson.org> wrote:
>
>> Hi,
>>
>> I need help with interpretation regarding section 5.4 which says:
>>
>>   Putative U-labels with any of the following characteristics MUST be
>>   rejected prior to DNS lookup:
>> ...
>>   o  Labels containing code points that are identified in the Tables
>>      document as "CONTEXTJ", i.e., requiring exceptional contextual
>>      rule processing on lookup, but that do not conform to those rules.
>>
>> I have trouble understand the bullet text.  To me, it seems as if the
>> first part of the sentence, namely:
>>
>>    Labels containing code points that are identified in the Tables
>>    document as "CONTEXTJ"
>>
>> says one thing but the rest of the sentence, namely:
>>
>>      requiring exceptional contextual rule processing on lookup, but
>>      that do not conform to those rules.
>>
>> says a different thing.
>>
>> What is not clear to me is whether the test on a particular label is
>> intended to fail if and only if:
>>
>> 1) the label has any code point with the CONTEXTJ property.
>>
>> 2) the label has any code point with the CONTEXTJ property AND the rule
>>   fails.
>>
>> Interpretation 2) makes the most sense to me, but the normative part of
>> the sentence suggests otherwise so I am looking for clarification.
>>
>> The text goes on and says:
>>
>>      Note that this implies that a rule must be defined, not null: a
>>      character that requires a contextual rule but for which the rule
>>      is null is treated in this step as having failed to conform to the
>>      rule.
>>
>> What is a "null rule"?  I cannot find any definition.
>>
>> /Simon
>> _______________________________________________
>> Idna-update mailing list
>> Idna-update at alvestrand.no
>> http://www.alvestrand.no/mailman/listinfo/idna-update
>>
> _______________________________________________
> Idna-update mailing list
> Idna-update at alvestrand.no
> http://www.alvestrand.no/mailman/listinfo/idna-update


More information about the Idna-update mailing list