summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--synapse/api/events/__init__.py4
-rw-r--r--synapse/federation/replication.py3
-rw-r--r--tests/federation/test_federation.py3
-rw-r--r--tests/handlers/test_federation.py3
4 files changed, 11 insertions, 2 deletions
diff --git a/synapse/api/events/__init__.py b/synapse/api/events/__init__.py
index 0019789dd1..a01c4a1351 100644
--- a/synapse/api/events/__init__.py
+++ b/synapse/api/events/__init__.py
@@ -119,7 +119,7 @@ class SynapseEvent(JsonEncodedObject):
 
     def get_pdu_json(self, time_now=None):
         pdu_json = self.get_full_dict()
-        pdu_json.pop("destination", None)
+        pdu_json.pop("destinations", None)
         pdu_json.pop("outlier", None)
         pdu_json.pop("replaces_state", None)
         pdu_json.pop("redacted", None)
@@ -132,6 +132,8 @@ class SynapseEvent(JsonEncodedObject):
             age = time_now - pdu_json["age_ts"]
             pdu_json.setdefault("unsigned", {})["age"] = int(age)
             del pdu_json["age_ts"]
+        user_id = pdu_json.pop("user_id")
+        pdu_json["sender"] = user_id
         return pdu_json
 
 
diff --git a/synapse/federation/replication.py b/synapse/federation/replication.py
index 2ed303e12d..65a53ae17c 100644
--- a/synapse/federation/replication.py
+++ b/synapse/federation/replication.py
@@ -582,6 +582,9 @@ class ReplicationLayer(object):
         #TODO: Check we have all the PDU keys here
         pdu_json.setdefault("hashes", {})
         pdu_json.setdefault("signatures", {})
+        sender = pdu_json.pop("sender", None)
+        if sender is not None:
+            pdu_json["user_id"] = sender
         state_hash = pdu_json.get("unsigned", {}).pop("state_hash", None)
         if state_hash is not None:
             pdu_json["state_hash"] = state_hash
diff --git a/tests/federation/test_federation.py b/tests/federation/test_federation.py
index efac4075dc..73dd289276 100644
--- a/tests/federation/test_federation.py
+++ b/tests/federation/test_federation.py
@@ -100,6 +100,7 @@ class FederationTestCase(unittest.TestCase):
                 make_pdu(
                     event_id="the-pdu-id",
                     origin="red",
+                    user_id="@a:red",
                     room_id="my-context",
                     type="m.topic",
                     origin_server_ts=123456789000,
@@ -145,6 +146,7 @@ class FederationTestCase(unittest.TestCase):
                 make_pdu(
                     event_id="abc123def456",
                     origin="red",
+                    user_id="@a:red",
                     room_id="my-context",
                     type="m.text",
                     origin_server_ts=123456789001,
@@ -172,6 +174,7 @@ class FederationTestCase(unittest.TestCase):
         pdu = SynapseEvent(
             event_id="abc123def456",
             origin="red",
+            user_id="@a:red",
             room_id="my-context",
             type="m.text",
             origin_server_ts=123456789001,
diff --git a/tests/handlers/test_federation.py b/tests/handlers/test_federation.py
index e19b073817..3487a090e9 100644
--- a/tests/handlers/test_federation.py
+++ b/tests/handlers/test_federation.py
@@ -81,8 +81,9 @@ class FederationTestCase(unittest.TestCase):
             content={"msgtype": u"fooo"},
             origin_server_ts=0,
             event_id="$a:b",
+            user_id="@a:b",
             origin="b",
-            hashes={"sha256":"PvbCLWrTBxnBsSO7/cJ76072ySTCgI/XGadESRAe02M"},
+            hashes={"sha256":"AcLrgtUIqqwaGoHhrEvYG1YLDIsVPYJdSRGhkp3jJp8"},
         )
 
         self.datastore.persist_event.return_value = defer.succeed(None)