From 048f86ef5d87a2f11baf907c785a3558912baefe Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Wed, 17 Jul 2019 14:54:58 +0200 Subject: Fix check of the association between a 3PID invite and the subsequent m.room.member event in the 3rd party rules --- synapse/third_party_rules/access_rules.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/synapse/third_party_rules/access_rules.py b/synapse/third_party_rules/access_rules.py index c8698c66cc..521b0347a4 100644 --- a/synapse/third_party_rules/access_rules.py +++ b/synapse/third_party_rules/access_rules.py @@ -454,5 +454,11 @@ class RoomAccessRules(object): invite (EventBase): The m.room.member event with "invite" membership. threepid_invite_token (str): The state key from the 3PID invite. """ - token = invite.content.get("third_party_signed", {}).get("token", "") + if "third_party_signed" in invite.content: + token = invite.content.get("third_party_signed", {}).get("token", "") + else: + token = invite.content.get( + "third_party_invite", {}, + ).get("signed", {}).get("token", "") + return token == threepid_invite_token -- cgit 1.5.1 From 34dd738e4b6cc1dd5ce230209b2adfddc8581e16 Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Wed, 17 Jul 2019 15:03:23 +0200 Subject: There's no third_party_signed property in an invite's content --- synapse/third_party_rules/access_rules.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/synapse/third_party_rules/access_rules.py b/synapse/third_party_rules/access_rules.py index 521b0347a4..e3f97bdf3a 100644 --- a/synapse/third_party_rules/access_rules.py +++ b/synapse/third_party_rules/access_rules.py @@ -454,11 +454,8 @@ class RoomAccessRules(object): invite (EventBase): The m.room.member event with "invite" membership. threepid_invite_token (str): The state key from the 3PID invite. """ - if "third_party_signed" in invite.content: - token = invite.content.get("third_party_signed", {}).get("token", "") - else: - token = invite.content.get( - "third_party_invite", {}, - ).get("signed", {}).get("token", "") + token = invite.content.get( + "third_party_invite", {}, + ).get("signed", {}).get("token", "") return token == threepid_invite_token -- cgit 1.5.1 From 446fb64d5036cc344e2e6f4b5c5fffb448d06f83 Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Wed, 17 Jul 2019 15:03:34 +0200 Subject: Changelog --- changelog.d/5702.bugfix | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/5702.bugfix diff --git a/changelog.d/5702.bugfix b/changelog.d/5702.bugfix new file mode 100644 index 0000000000..e4641dc571 --- /dev/null +++ b/changelog.d/5702.bugfix @@ -0,0 +1 @@ +Fix 3PID invite to invite association detection in the Tchap room access rules -- cgit 1.5.1 From 13ad3f5ab1378c0562b7e3a84171e15a48e25937 Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Wed, 17 Jul 2019 15:10:16 +0200 Subject: Fix changelog --- changelog.d/5702.bugfix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog.d/5702.bugfix b/changelog.d/5702.bugfix index e4641dc571..43b6e39b13 100644 --- a/changelog.d/5702.bugfix +++ b/changelog.d/5702.bugfix @@ -1 +1 @@ -Fix 3PID invite to invite association detection in the Tchap room access rules +Fix 3PID invite to invite association detection in the Tchap room access rules. -- cgit 1.5.1