synapse/tests/handlers
Kegan Dougal 259442fa4c
bugfix: make msc3967 idempotent (#16943)
MSC3967 was updated recently to make it more robust to network failures:

> there is an existing cross-signing master key and it exactly matches
the cross-signing master key provided in the request body. If there are
any additional keys provided in the request (self signing key, user
signing key) they MUST also match the existing keys stored on the
server. In other words, the request contains no new keys. If there are
new keys, UIA MUST be performed.


https://github.com/matrix-org/matrix-spec-proposals/blob/hughns/device-signing-upload-uia/proposals/3967-device-signing-upload-uia.md#proposal

This covers the case where the 200 OK is lost in transit so the client
retries the upload, only to then get UIA'd.

Complement tests: https://github.com/matrix-org/complement/pull/713 -
passing example
https://github.com/element-hq/synapse/actions/runs/7976948122/job/21778795094?pr=16943#step:7:8820

### Pull Request Checklist

<!-- Please read
https://element-hq.github.io/synapse/latest/development/contributing_guide.html
before submitting your pull request -->

* [x] Pull request is based on the develop branch
* [x] Pull request includes a [changelog
file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog).
The entry should:
- Be a short description of your change which makes sense to users.
"Fixed a bug that prevented receiving messages from other servers."
instead of "Moved X method from `EventStore` to `EventWorkerStore`.".
  - Use markdown where necessary, mostly for `code blocks`.
  - End with either a period (.) or an exclamation mark (!).
  - Start with a capital letter.
- Feel free to credit yourself, by adding a sentence "Contributed by
@github_username." or "Contributed by [Your Name]." to the end of the
entry.
* [x] [Code
style](https://element-hq.github.io/synapse/latest/code_style.html) is
correct
(run the
[linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))

---------

Co-authored-by: reivilibre <oliverw@matrix.org>
2024-04-15 10:57:56 +00:00
..
__init__.py Reference Matrix Home Server 2014-08-12 15:10:52 +01:00
oidc_test_key.p8 JWT OIDC secrets for Sign in with Apple (#9549) 2021-03-09 15:03:37 +00:00
oidc_test_key.pub.pem JWT OIDC secrets for Sign in with Apple (#9549) 2021-03-09 15:03:37 +00:00
test_admin.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_appservice.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_auth.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_cas.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_deactivate_account.py Fix reject knocks on deactivating account (#17010) 2024-03-21 18:05:54 +00:00
test_device.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_directory.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_e2e_keys.py bugfix: make msc3967 idempotent (#16943) 2024-04-15 10:57:56 +00:00
test_e2e_room_keys.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_federation.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_federation_event.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_message.py Improve event validation (#16908) 2024-03-19 17:52:53 +00:00
test_oauth_delegation.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_oidc.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_password_providers.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_presence.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_profile.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_receipts.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_register.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_room.py Add missing type hints to tests.handlers. (#14680) 2022-12-16 11:53:01 +00:00
test_room_list.py Filter out rooms from the room directory being served to other homeservers when those rooms block that homeserver by their Access Control Lists. (#16759) 2024-01-08 17:24:20 +00:00
test_room_member.py Replace make_awaitable with AsyncMock (#16179) 2023-08-24 19:38:46 -04:00
test_room_summary.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_saml.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_send_email.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_sso.py Update license headers 2023-11-21 15:29:58 -05:00
test_stats.py Update license headers 2023-11-21 15:29:58 -05:00
test_sync.py Also check if first event matches the last in prev batch (#17066) 2024-04-09 14:01:12 +00:00
test_typing.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_user_directory.py Update license headers 2023-11-21 15:29:58 -05:00
test_worker_lock.py Improve lock performance when a lot of locks are waiting (#16840) 2024-03-14 13:49:54 +00:00