Disallow invite->knock membership changes
@@ -54,7 +54,7 @@ rules from room version 5 are:
a. If `membership` is `knock`:
i. If the `join_rule` is anything other than `knock`, reject.
ii. If `sender` does not match `state_key`, reject.
- iii. If the `sender`'s membership is not `ban`, `knock` or `join`, allow.
+ iii. If the `sender`'s membership is not `ban`, `knock`, `invite` or `join`, allow.
iv. Otherwise, reject.
```
@@ -67,7 +67,8 @@ rules from room version 5 are:
- a.ii is justified as one user should not be able to knock on behalf of
another user.
- a.iii is justified as knocks should not be allowed if the knocking user
- has been banned from the room, or if they are already in the room.
+ has been banned from the room, has already knocked on the room, is
+ invited to the room or if they are already in the room.
- Knocks are not restricted by power level like invites are. The `join_rules`
are already used to enforce whether someone can or cannot knock.
