synapse/tests
Andrew Morgan 7b06f85c0e
Ensure we use a copy of the event content dict before modifying it in serialize_event (#9585)
This bug was discovered by DINUM. We were modifying `serialized_event["content"]`, which - if you've got `USE_FROZEN_DICTS` turned on or are [using a third party rules module](17cd48fe51/synapse/events/third_party_rules.py (L73-L76)) - will raise a 500 if you try to a edit a reply to a message.

`serialized_event["content"]` could be set to the edit event's content, instead of a copy of it, which is bad as we attempt to modify it. Instead, we also end up modifying the original event's content. DINUM uses a third party rules module, which meant the event's content got frozen and thus an exception was raised.

To be clear, the problem is not that the event's content was frozen. In fact doing so helped us uncover the fact we weren't copying event content correctly.
2021-03-17 16:51:55 +00:00
..
api Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
app Remove spurious "SynapseRequest" result from `make_request" 2020-12-15 22:35:40 +00:00
appservice Add ability for access tokens to belong to one user but grant access to another user. (#8616) 2020-10-29 15:58:44 +00:00
config Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
crypto Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
events Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
federation Don't go into federation catch up mode so easily (#9561) 2021-03-15 14:42:40 +00:00
handlers Add SSO attribute requirements for OIDC providers (#9609) 2021-03-16 11:46:07 -04:00
http Add tests for blacklisting reactor/agent. (#9563) 2021-03-11 09:15:22 -05:00
logging Various clean-ups to the logging context code (#8935) 2020-12-14 14:19:47 -05:00
module_api Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
push Test that we require validated email for email pushers (#9496) 2021-02-25 15:35:14 +00:00
replication Fix remaining mypy issues due to Twisted upgrade. (#9608) 2021-03-15 11:14:39 -04:00
rest Ensure we use a copy of the event content dict before modifying it in serialize_event (#9585) 2021-03-17 16:51:55 +00:00
scripts Port register_new_matrix_user to Python 3 and add tests (#4085) 2018-10-26 22:05:22 +11:00
server_notices Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
state Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
storage Use the chain cover index in get_auth_chain_ids. (#9576) 2021-03-10 09:57:59 -05:00
test_utils Fix additional type hints. (#9543) 2021-03-09 07:41:32 -05:00
util Add ResponseCache tests. (#9458) 2021-03-08 14:00:07 -05:00
__init__.py Move patch_inline_callbacks into synapse/ 2019-10-10 10:53:06 +01:00
server.py Fix remaining mypy issues due to Twisted upgrade. (#9608) 2021-03-15 11:14:39 -04:00
test_distributor.py Run black. 2018-08-10 23:54:09 +10:00
test_event_auth.py Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
test_federation.py Various clean-ups to the logging context code (#8935) 2020-12-14 14:19:47 -05:00
test_mau.py Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
test_metrics.py Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
test_phone_home.py Allow background tasks to be run on a separate worker. (#8369) 2020-10-02 08:23:15 -04:00
test_preview.py Handle additional errors when previewing URLs. (#9333) 2021-02-08 12:33:30 -05:00
test_server.py Update black, and run auto formatting over the codebase (#9381) 2021-02-16 22:32:34 +00:00
test_state.py Add admin API for logging in as a user (#8617) 2020-11-17 10:51:25 +00:00
test_terms_auth.py Remove spurious "SynapseRequest" result from `make_request" 2020-12-15 22:35:40 +00:00
test_test_utils.py Run black. 2018-08-10 23:54:09 +10:00
test_types.py Add basic domain validation for `DomainSpecificString.is_valid`. (#9071) 2021-01-13 07:05:16 -05:00
test_visibility.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
unittest.py Ensure we use a copy of the event content dict before modifying it in serialize_event (#9585) 2021-03-17 16:51:55 +00:00
utils.py Remove vestiges of uploads_path config (#9462) 2021-02-22 19:54:49 +00:00