Linkify
This commit is contained in:
parent
87f656ee0a
commit
ee3fe989ca
1 changed files with 11 additions and 4 deletions
|
@ -35,15 +35,20 @@ User ID Localparts:
|
||||||
- MUST NOT contain one of the 107 blacklisted characters on this list:
|
- MUST NOT contain one of the 107 blacklisted characters on this list:
|
||||||
http://kb.mozillazine.org/Network.IDN.blacklist_chars
|
http://kb.mozillazine.org/Network.IDN.blacklist_chars
|
||||||
- After stripping " 0-9, +, -, [, ], _, and the space character it MUST NOT
|
- After stripping " 0-9, +, -, [, ], _, and the space character it MUST NOT
|
||||||
contain characters from >1 language, defined by http://cldr.unicode.org/
|
contain characters from >1 language, defined by the `exemplar characters`_
|
||||||
|
on http://cldr.unicode.org/
|
||||||
|
|
||||||
|
.. _exemplar characters: http://cldr.unicode.org/translation/characters#TOC-Exemplar-Characters
|
||||||
|
|
||||||
Room Alias Localparts:
|
Room Alias Localparts:
|
||||||
- MUST NOT contain a ``:``
|
- MUST NOT contain a ``:``
|
||||||
- MUST NOT contain one of the 107 blacklisted characters on this list:
|
- MUST NOT contain one of the 107 blacklisted characters on this list:
|
||||||
http://kb.mozillazine.org/Network.IDN.blacklist_chars
|
http://kb.mozillazine.org/Network.IDN.blacklist_chars
|
||||||
- After stripping " 0-9, +, -, [, ], _, and the space character it MUST NOT
|
- After stripping " 0-9, +, -, [, ], _, and the space character it MUST NOT
|
||||||
contain characters from >1 language, defined by http://cldr.unicode.org/
|
contain characters from >1 language, defined by the `exemplar characters`_
|
||||||
|
on http://cldr.unicode.org/
|
||||||
|
|
||||||
|
.. _exemplar characters: http://cldr.unicode.org/translation/characters#TOC-Exemplar-Characters
|
||||||
|
|
||||||
In the event of a failed user ID check, well behaved homeservers MUST:
|
In the event of a failed user ID check, well behaved homeservers MUST:
|
||||||
- Rewrite user IDs in the offending events to be punycode with an additional ``@``
|
- Rewrite user IDs in the offending events to be punycode with an additional ``@``
|
||||||
|
@ -79,12 +84,14 @@ Each ID is split into segments (localpart/domain) around the ``:``. For
|
||||||
this reason, ``:`` is a reserved character and cannot be a localpart character.
|
this reason, ``:`` is a reserved character and cannot be a localpart character.
|
||||||
The 107 blacklisted characters are used to prevent non-printable characters and
|
The 107 blacklisted characters are used to prevent non-printable characters and
|
||||||
spaces from being used. The decision to ban characters from more than 1 language
|
spaces from being used. The decision to ban characters from more than 1 language
|
||||||
matches the behaviour of Google Chrome for IDN handling. This is to protect
|
matches the behaviour of `Google Chrome for IDN handling`_. This is to protect
|
||||||
against common homograph attacks such as ebаy.com (Cyrillic "a", rest is
|
against common homograph attacks such as ebаy.com (Cyrillic "a", rest is
|
||||||
English). This would always result in a failed check. Even with this though
|
English). This would always result in a failed check. Even with this though
|
||||||
there are limitations. For example, сахар is entirely Cyrillic, whereas caxap is
|
there are limitations. For example, сахар is entirely Cyrillic, whereas caxap is
|
||||||
entirely Latin.
|
entirely Latin.
|
||||||
|
|
||||||
|
.. _Google Chrome for IDN handling: https://www.chromium.org/developers/design-documents/idn-in-google-chrome
|
||||||
|
|
||||||
User ID localparts cannot start with ``@`` so that a namespace of localparts
|
User ID localparts cannot start with ``@`` so that a namespace of localparts
|
||||||
beginning with ``@`` can be created. This namespace is used for user IDs which
|
beginning with ``@`` can be created. This namespace is used for user IDs which
|
||||||
fail the ID checks. A failed ID could look like ``@@xn--c1yn36f:domain.com``.
|
fail the ID checks. A failed ID could look like ``@@xn--c1yn36f:domain.com``.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue