Remove declared-invalid `invite->knock` restriction from auth rules (#1175)

* Remove declared-invalid `invite->knock` restriction from auth rules

* Changelog

* real changelog
pull/1196/head
Travis Ralston 2 years ago committed by GitHub
parent f24cad1653
commit b36d4eff7d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1 @@
For room versions 7 through 10: Clarify that `invite->knock` is actually a legal transition.

@ -118,8 +118,7 @@ The rules are as follows:
7. If `membership` is `knock`: 7. If `membership` is `knock`:
1. If the `join_rule` is anything other than `knock`, reject. 1. If the `join_rule` is anything other than `knock`, reject.
2. If `sender` does not match `state_key`, reject. 2. If `sender` does not match `state_key`, reject.
3. If the `sender`'s current membership is not `ban`, `invite`, 3. If the `sender`'s current membership is not `ban` or `join`, allow.
or `join`, allow.
4. Otherwise, reject. 4. Otherwise, reject.
8. Otherwise, the membership is unknown. Reject. 8. Otherwise, the membership is unknown. Reject.
5. If the `sender`'s current membership state is not `join`, reject. 5. If the `sender`'s current membership state is not `join`, reject.

@ -193,8 +193,7 @@ The rules are as follows:
If the `join_rule` is anything other than `knock` or If the `join_rule` is anything other than `knock` or
`knock_restricted`, reject. `knock_restricted`, reject.
2. If `sender` does not match `state_key`, reject. 2. If `sender` does not match `state_key`, reject.
3. If the `sender`'s current membership is not `ban`, `invite`, 3. If the `sender`'s current membership is not `ban` or `join`, allow.
or `join`, allow.
4. Otherwise, reject. 4. Otherwise, reject.
8. Otherwise, the membership is unknown. Reject. 8. Otherwise, the membership is unknown. Reject.
5. If the `sender`'s current membership state is not `join`, reject. 5. If the `sender`'s current membership state is not `join`, reject.

@ -135,8 +135,7 @@ The rules are as follows:
6. If `membership` is `knock`: 6. If `membership` is `knock`:
1. If the `join_rule` is anything other than `knock`, reject. 1. If the `join_rule` is anything other than `knock`, reject.
2. If `sender` does not match `state_key`, reject. 2. If `sender` does not match `state_key`, reject.
3. If the `sender`'s current membership is not `ban`, `invite`, 3. If the `sender`'s current membership is not `ban` or `join`, allow.
or `join`, allow.
4. Otherwise, reject. 4. Otherwise, reject.
7. Otherwise, the membership is unknown. Reject. 7. Otherwise, the membership is unknown. Reject.
5. If the `sender`'s current membership state is not `join`, reject. 5. If the `sender`'s current membership state is not `join`, reject.

Loading…
Cancel
Save