mirror of
https://github.com/element-hq/synapse.git
synced 2025-09-17 11:05:10 +02:00
Don't log exceptions for obviously incorrect stream tokens (#18139)
We log incorrect ones as we want to catch bugs where Synapse returns bad tokens. However, sometimes clients just send tokens that are e.g. empty. --------- Co-authored-by: Eric Eastwood <erice@element.io>
This commit is contained in:
1
changelog.d/18139.misc
Normal file
1
changelog.d/18139.misc
Normal file
@@ -0,0 +1 @@
|
||||
Do not log at the exception-level when clients provide empty `since` token to `/sync` API.
|
||||
@@ -664,6 +664,11 @@ class RoomStreamToken(AbstractMultiWriterStreamToken):
|
||||
|
||||
@classmethod
|
||||
async def parse(cls, store: "PurgeEventsStore", string: str) -> "RoomStreamToken":
|
||||
# Check that it looks like a Synapse token first. We do this so that
|
||||
# we don't log at the exception-level for obviously incorrect tokens.
|
||||
if not string or string[0] not in ("s", "t", "m"):
|
||||
raise SynapseError(400, f"Invalid room stream token {string:!r}")
|
||||
|
||||
try:
|
||||
if string[0] == "s":
|
||||
return cls(topological=None, stream=int(string[1:]))
|
||||
|
||||
Reference in New Issue
Block a user