From c4e69d8cb15c3442484e988a83dc85d749423caa Mon Sep 17 00:00:00 2001 From: kegsay <7190048+kegsay@users.noreply.github.com> Date: Wed, 21 Feb 2024 21:16:40 +0000 Subject: [PATCH] Clarify that invite->knock is not a valid transition (#1717) This reverts https://github.com/matrix-org/matrix-spec/pull/1175 See https://github.com/matrix-org/matrix-spec/issues/1710 --- changelogs/room_versions/newsfragments/1717.clarification | 1 + content/rooms/fragments/v8-auth-rules.md | 3 ++- content/rooms/v10.md | 3 ++- content/rooms/v11.md | 3 ++- content/rooms/v7.md | 3 ++- 5 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 changelogs/room_versions/newsfragments/1717.clarification diff --git a/changelogs/room_versions/newsfragments/1717.clarification b/changelogs/room_versions/newsfragments/1717.clarification new file mode 100644 index 00000000..80bc9d55 --- /dev/null +++ b/changelogs/room_versions/newsfragments/1717.clarification @@ -0,0 +1 @@ +For room versions 7 through 11: Clarify that `invite->knock` is not a legal transition. \ No newline at end of file diff --git a/content/rooms/fragments/v8-auth-rules.md b/content/rooms/fragments/v8-auth-rules.md index 98a88bf1..3f1a4558 100644 --- a/content/rooms/fragments/v8-auth-rules.md +++ b/content/rooms/fragments/v8-auth-rules.md @@ -117,7 +117,8 @@ The rules are as follows: 7. If `membership` is `knock`: 1. If the `join_rule` is anything other than `knock`, reject. 2. If `sender` does not match `state_key`, reject. - 3. If the `sender`'s current membership is not `ban` or `join`, allow. + 3. If the `sender`'s current membership is not `ban`, `invite`, + or `join`, allow. 4. Otherwise, reject. 8. Otherwise, the membership is unknown. Reject. 5. If the `sender`'s current membership state is not `join`, reject. diff --git a/content/rooms/v10.md b/content/rooms/v10.md index 46bdb4c7..1d366c8c 100644 --- a/content/rooms/v10.md +++ b/content/rooms/v10.md @@ -194,7 +194,8 @@ The rules are as follows: If the `join_rule` is anything other than `knock` or `knock_restricted`, reject. 2. If `sender` does not match `state_key`, reject. - 3. If the `sender`'s current membership is not `ban` or `join`, allow. + 3. If the `sender`'s current membership is not `ban`, `invite`, + or `join`, allow. 4. Otherwise, reject. 8. Otherwise, the membership is unknown. Reject. 5. If the `sender`'s current membership state is not `join`, reject. diff --git a/content/rooms/v11.md b/content/rooms/v11.md index d0aa4b45..5d44161c 100644 --- a/content/rooms/v11.md +++ b/content/rooms/v11.md @@ -200,7 +200,8 @@ The rules are as follows: 1. If the `join_rule` is anything other than `knock` or `knock_restricted`, reject. 2. If `sender` does not match `state_key`, reject. - 3. If the `sender`'s current membership is not `ban` or `join`, allow. + 3. If the `sender`'s current membership is not `ban`, `invite`, + or `join`, allow. 4. Otherwise, reject. 8. Otherwise, the membership is unknown. Reject. 5. If the `sender`'s current membership state is not `join`, reject. diff --git a/content/rooms/v7.md b/content/rooms/v7.md index 40a9962c..eda351d0 100644 --- a/content/rooms/v7.md +++ b/content/rooms/v7.md @@ -139,7 +139,8 @@ The rules are as follows: If `membership` is `knock`: 1. If the `join_rule` is anything other than `knock`, reject. 2. If `sender` does not match `state_key`, reject. - 3. If the `sender`'s current membership is not `ban` or `join`, allow. + 3. If the `sender`'s current membership is not `ban`, `invite`, + or `join`, allow. 4. Otherwise, reject. 7. Otherwise, the membership is unknown. Reject. 5. If the `sender`'s current membership state is not `join`, reject.