|
|
@ -56,7 +56,7 @@ rules from room version 6](https://matrix.org/docs/spec/rooms/v6#authorization-r
|
|
|
|
f. If `membership` is `knock`:
|
|
|
|
f. If `membership` is `knock`:
|
|
|
|
i. If the `join_rule` is anything other than `knock`, reject.
|
|
|
|
i. If the `join_rule` is anything other than `knock`, reject.
|
|
|
|
ii. If `sender` does not match `state_key`, reject.
|
|
|
|
ii. If `sender` does not match `state_key`, reject.
|
|
|
|
iii. If the `sender`'s membership is not `ban`, `knock`, `invite` or `join`, allow.
|
|
|
|
iii. If the `sender`'s membership is not `ban`, `invite` or `join`, allow.
|
|
|
|
iv. Otherwise, reject.
|
|
|
|
iv. Otherwise, reject.
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
@ -66,9 +66,9 @@ Note that:
|
|
|
|
the `state_key` is the invitee.
|
|
|
|
the `state_key` is the invitee.
|
|
|
|
- f.ii is justified as one user should not be able to knock on behalf of
|
|
|
|
- f.ii is justified as one user should not be able to knock on behalf of
|
|
|
|
another user.
|
|
|
|
another user.
|
|
|
|
- a.iii is justified as knocks should not be allowed if the knocking user
|
|
|
|
- f.iii is justified as knocks should not be allowed if the knocking user
|
|
|
|
has been banned from the room, has already knocked on the room, is
|
|
|
|
has been banned from the room, is invited to the room or if they are already
|
|
|
|
invited to the room or if they are already in the room.
|
|
|
|
in the room.
|
|
|
|
- Knocks are not restricted by power level like invites are. The `join_rules`
|
|
|
|
- Knocks are not restricted by power level like invites are. The `join_rules`
|
|
|
|
are already used to enforce whether someone can or cannot knock. However,
|
|
|
|
are already used to enforce whether someone can or cannot knock. However,
|
|
|
|
power level rules do apply when approving or denying the knock, as discussed
|
|
|
|
power level rules do apply when approving or denying the knock, as discussed
|
|
|
|