Lookup CONTEXTJ test

Vint Cerf vint at google.com
Sat Jan 8 15:44:22 CET 2011


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.

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"

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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.alvestrand.no/pipermail/idna-update/attachments/20110108/8d91b63d/attachment.html>


More information about the Idna-update mailing list