Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Password complexity error codes shouldn't be in the Matrix namespace #9727

Open
turt2live opened this issue Apr 1, 2021 · 3 comments
Open
Labels
T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.

Comments

@turt2live
Copy link
Member

PASSWORD_TOO_SHORT = "M_PASSWORD_TOO_SHORT"
PASSWORD_NO_DIGIT = "M_PASSWORD_NO_DIGIT"
PASSWORD_NO_UPPERCASE = "M_PASSWORD_NO_UPPERCASE"
PASSWORD_NO_LOWERCASE = "M_PASSWORD_NO_LOWERCASE"
PASSWORD_NO_SYMBOL = "M_PASSWORD_NO_SYMBOL"
PASSWORD_IN_DICTIONARY = "M_PASSWORD_IN_DICTIONARY"
WEAK_PASSWORD = "M_WEAK_PASSWORD"

These are unspecified identifiers and thus are subject to the unstable namespacing rules.

@babolivier
Copy link
Contributor

babolivier commented Apr 1, 2021

For context this comes from matrix-org/matrix-spec-proposals#2000 which predates unstable prefixes (at that time using M_ or m. namespaces was how you'd implement an MSC) so at this point I'm not sure it's fair to say it's a compliance issue - if so then we should also move away from identifiers such as m.relates_to and such since they're also unspecified and thus subject to the unstable namespacing rules.

@turt2live
Copy link
Member Author

(m.relates_to is in the spec, but much of aggregations isn't: they're a somewhat different beast, but yes: we shouldn't have used m.* for that either)

@babolivier
Copy link
Contributor

Ah sorry I missed that m.relates_to had made it to the spec, then correct my comment with something like m.reference.

I don't think the issue is whether we should or shouldn't have used the namespace for it; the issue is that then the rule was one thing and now it's another thing, and my understanding was that the compliant thing to do was to only consider unstable namespacing rules when dealing with rules from after this change. Otherwise it means all of the MSCs that are still open from before then are now invalid, with, for some, close to no way to make them valid.

@erikjohnston erikjohnston added the T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks. label Apr 6, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.
Projects
None yet
Development

No branches or pull requests

3 participants