summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--changelog.d/13710.bugfix1
-rw-r--r--synapse/event_auth.py10
2 files changed, 5 insertions, 6 deletions
diff --git a/changelog.d/13710.bugfix b/changelog.d/13710.bugfix
deleted file mode 100644
index 4c318d15f5..0000000000
--- a/changelog.d/13710.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug where Synapse would count codepoints instead of bytes when validating the size of some fields.
diff --git a/synapse/event_auth.py b/synapse/event_auth.py
index 5036604036..bab31e33c5 100644
--- a/synapse/event_auth.py
+++ b/synapse/event_auth.py
@@ -342,15 +342,15 @@ def check_state_dependent_auth_rules(
 
 
 def _check_size_limits(event: "EventBase") -> None:
-    if len(event.user_id.encode("utf-8")) > 255:
+    if len(event.user_id) > 255:
         raise EventSizeError("'user_id' too large")
-    if len(event.room_id.encode("utf-8")) > 255:
+    if len(event.room_id) > 255:
         raise EventSizeError("'room_id' too large")
-    if event.is_state() and len(event.state_key.encode("utf-8")) > 255:
+    if event.is_state() and len(event.state_key) > 255:
         raise EventSizeError("'state_key' too large")
-    if len(event.type.encode("utf-8")) > 255:
+    if len(event.type) > 255:
         raise EventSizeError("'type' too large")
-    if len(event.event_id.encode("utf-8")) > 255:
+    if len(event.event_id) > 255:
         raise EventSizeError("'event_id' too large")
     if len(encode_canonical_json(event.get_pdu_json())) > MAX_PDU_SIZE:
         raise EventSizeError("event too large")