Fix join membership auth rules when `join_rule` is knock (#3737)

Fixes #3736
pull/3739/head
Tulir Asokan 2 years ago committed by GitHub
parent 7afac76e18
commit be3b8e3a3c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1 @@
Fix join membership auth rules when `join_rule` is `knock`.

@ -53,8 +53,8 @@ The rules are as follows:
`state_key` is the creator, allow. `state_key` is the creator, allow.
2. If the `sender` does not match `state_key`, reject. 2. If the `sender` does not match `state_key`, reject.
3. If the `sender` is banned, reject. 3. If the `sender` is banned, reject.
4. If the `join_rule` is `invite` then allow if membership 4. If the `join_rule` is `invite` or `knock` then allow if
state is `invite` or `join`. membership state is `invite` or `join`.
5. If the `join_rule` is `restricted`: 5. If the `join_rule` is `restricted`:
1. If membership state is `join` or `invite`, allow. 1. If membership state is `join` or `invite`, allow.
2. If the `join_authorised_via_users_server` key in `content` 2. If the `join_authorised_via_users_server` key in `content`

@ -82,8 +82,8 @@ The rules are as follows:
`state_key` is the creator, allow. `state_key` is the creator, allow.
2. If the `sender` does not match `state_key`, reject. 2. If the `sender` does not match `state_key`, reject.
3. If the `sender` is banned, reject. 3. If the `sender` is banned, reject.
4. If the `join_rule` is `invite` then allow if membership 4. If the `join_rule` is `invite` or `knock` then allow if
state is `invite` or `join`. membership state is `invite` or `join`.
5. If the `join_rule` is `public`, allow. 5. If the `join_rule` is `public`, allow.
6. Otherwise, reject. 6. Otherwise, reject.
3. If `membership` is `invite`: 3. If `membership` is `invite`:

Loading…
Cancel
Save