Skip to content
Snippets Groups Projects
Commit d04d672a authored by Erik Johnston's avatar Erik Johnston Committed by GitHub
Browse files

Merge pull request #2290 from matrix-org/erikj/ensure_round_trip

Reject local events that don't round trip the DB
parents 036f439f 1bce3e6b
Branches
Tags
No related merge requests found
...@@ -34,6 +34,7 @@ from canonicaljson import encode_canonical_json ...@@ -34,6 +34,7 @@ from canonicaljson import encode_canonical_json
import logging import logging
import random import random
import ujson
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
...@@ -498,6 +499,14 @@ class MessageHandler(BaseHandler): ...@@ -498,6 +499,14 @@ class MessageHandler(BaseHandler):
logger.warn("Denying new event %r because %s", event, err) logger.warn("Denying new event %r because %s", event, err)
raise err raise err
# Ensure that we can round trip before trying to persist in db
try:
dump = ujson.dumps(event.content)
ujson.loads(dump)
except:
logger.exception("Failed to encode content: %r", event.content)
raise
yield self.maybe_kick_guest_users(event, context) yield self.maybe_kick_guest_users(event, context)
if event.type == EventTypes.CanonicalAlias: if event.type == EventTypes.CanonicalAlias:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment