Lookup CONTEXTJ test
simon at josefsson.org
Sun Jan 9 11:30:04 CET 2011
Vint Cerf <vint at google.com> writes:
> 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?
> On Sat, Jan 8, 2011 at 5:07 AM, Simon Josefsson <simon at josefsson.org> wrote:
>> 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
>> 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
>> What is a "null rule"? I cannot find any definition.
>> Idna-update mailing list
>> Idna-update at alvestrand.no
> Idna-update mailing list
> Idna-update at alvestrand.no
More information about the Idna-update