Extra restrictions to make parsing easier.

This commit is contained in:
Kegan Dougal 2014-09-09 15:11:06 -07:00
parent 56a358481e
commit f23e5b17b6

View File

@ -41,6 +41,9 @@ Checks
- mix of language sets from 'preferred' language not allowed. - mix of language sets from 'preferred' language not allowed.
- Language sets from CLDR dataset. - Language sets from CLDR dataset.
- Treated in segments (localpart, domain) - Treated in segments (localpart, domain)
- Additional restrictions for ease of processing IDs.
- Room alias localparts MUST NOT have ``#`` or ``:``.
- User ID localparts MUST NOT have ``@`` or ``:``.
Rejecting Rejecting
--------- ---------
@ -50,9 +53,13 @@ Rejecting
on creation and on events. on creation and on events.
- Any home server whose domain does not pass this check, MUST use their punycode - Any home server whose domain does not pass this check, MUST use their punycode
domain name instead of the IDN, to prevent other home servers rejecting you. domain name instead of the IDN, to prevent other home servers rejecting you.
- Error code is M_FAILED_HOMOGRAPH_CHECK. - Error code is ``M_FAILED_HUMAN_ID_CHECK``. (generic enough for both failing
due to homograph attacks, and failing due to including ``:``s, etc)
- Error message MAY go into further information about which characters were - Error message MAY go into further information about which characters were
rejected and why. rejected and why.
- Error message SHOULD contain a ``failed_keys`` key which contains an array
of strings which represent the keys which failed the check e.g:
- ``failed_keys: [ user_id, room_alias ]``
Other considerations Other considerations
-------------------- --------------------