[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Simple] Re: [Geopriv] Domain identifier in common policy
I'm not saying you are wrong, but that's not the impression I got when
reading that section. Otherwise, whey is step 1 (simple string
comparison) a MUST in certain situations if it always a MUST.
I'm not sure which MUST you are referring to, but based on
If this range of comparison practices is considered as a ladder, the
following discussion will climb the ladder, starting with practices
that are cheap but have a relatively higher chance of producing false
negatives, and proceeding to those that have higher computational
cost and lower risk of false negatives.
I take it that you start with 5.3.1 and compare the two IRIs. If the
string comparison produces "equal", you're done. If not, it is still
possible that two IRIs are equal, after transformation, so you proceed
to step 5.3.2, etc. At any step, if you discover equality, you fall off
the ladder and declare equality. The steps are set up not to produce
false positives, i.e., declaring two IRIs equal when they are not.
First, I think we can restrict ourselves to discussing URIs appearing
in specific protocols, such as part of a SIP From URI or an XMPP URI.
I do not agree with this. If HELD comes to fruition, we'll be talking
about HTTP schemes as well.
'such as' does not preclude other protocols. For HTTP, the notion of
using the request URI as an identifier makes little sense since it
identifies the target of the query (the "presentity"). The authorization
is clearly based on who is asking, not who is being asked. Thus, for
HTTP, you would probably need to use the Digest or other identity
string, not the request URI. This is an orthogonal issue, however.
The word in the RFC is MAY:
Implementations with scheme-specific knowledge MAY convert
punycode-encoded domain name labels to the corresponding characters
by using the ToUnicode procedure.
For our application, it might make sense to make this MUST.
Also, what do you do with the domain attribute? With
domain="xn--99zt52a" there is no scheme specific part. Because this is
being done for comparison purposes, perhaps common-policy ought to
insist on the conversion in domain= with a MUST ToUnicode. The only
problem with this is a future scenario where UTF-8 is considered legal
in DNS (DNS is 8-bit) labels. Then you have two domain names that are
compared as equivalent even though they may not be. Perhaps thats
worrying too much.
I looked at RFC 3490 (IDNA) in more detail just now. For the 'domain'
attribute, I think we can simplify the comparison process as follows:
--- begin text ---
Common policy MUST use UTF-8 to store domain names in 'id' domain
attributes. For non-IDNs, lower-case ASCII SHOULD be used.
(1) If both domain attribute and protocol domain identifier are in UTF-8
and do not begin with xn--, attempt a string comparison. If the string
comparison indicates equality, the comparison succeeds and the remaining
steps are skipped.
(2) Translate percent-encoding for either string and repeat (1).
(3) Convert both domain strings using the toASCII operation described in
RFC 3490. (Naturally, if one of the strings already begins with the ACE
prefix xn--, the conversion operation has already been performed.)
(4) Compare the two domain strings for ASCII equality, for each label.
If the conversion fails in step (3), the domains are not equal.
--- end text ----
Does this work?
Henning
_______________________________________________
Simple mailing list
Simple at ietf.org
https://www1.ietf.org/mailman/listinfo/simple