forked from MirrorHub/synapse
Clamp the "to" token for /rooms/{roomId}/messages to when the user left
the room. There isn't a way for the client to learn a valid "to" token for a room that they have left in the C-S API but that doesn't stop a client making one up.
This commit is contained in:
parent
8e3bbc9bd0
commit
1e101ed4a4
1 changed files with 4 additions and 0 deletions
|
@ -120,6 +120,10 @@ class MessageHandler(BaseHandler):
|
|||
if source_config.direction == "f":
|
||||
if source_config.to_key is None:
|
||||
source_config.to_key = str(leave_token)
|
||||
else:
|
||||
to_token = RoomStreamToken.parse(source_config.to_key)
|
||||
if leave_token.topological < to_token.topological:
|
||||
source_config.to_key = str(leave_token)
|
||||
|
||||
yield self.hs.get_handlers().federation_handler.maybe_backfill(
|
||||
room_id, room_token.topological
|
||||
|
|
Loading…
Reference in a new issue