1 files changed, 11 insertions, 0 deletions
diff --git a/synapse/handlers/_base.py b/synapse/handlers/_base.py
index ee2d571329..6a26cb1879 100644
--- a/synapse/handlers/_base.py
+++ b/synapse/handlers/_base.py
@@ -21,6 +21,7 @@ from synapse.api.constants import Membership, EventTypes
from synapse.types import UserID, RoomAlias
from synapse.util.logcontext import PreserveLoggingContext
+from synapse.util import third_party_invites
import logging
@@ -169,6 +170,16 @@ class BaseHandler(object):
)
)
+ if (
+ event.type == EventTypes.Member and
+ event.content["membership"] == Membership.JOIN and
+ third_party_invites.join_has_third_party_invite(event.content)
+ ):
+ yield third_party_invites.check_key_valid(
+ self.hs.get_simple_http_client(),
+ event
+ )
+
federation_handler = self.hs.get_handlers().federation_handler
if event.type == EventTypes.Member:
|