summary refs log tree commit diff
path: root/tests (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Reduce auth chains fetched during v2 state res. (#6952)Erik Johnston2020-02-191-2/+4
| | | | | | The state res v2 algorithm only cares about the difference between auth chains, so we can pass in the known common state to the `get_auth_chain` storage function so that it can ignore those events.
* Merge pull request #6949 from matrix-org/rav/list_room_aliases_peekableRichard van der Hoff2020-02-192-2/+19
|\ | | | | Make room alias lists peekable
| * Make room alias lists peekableRichard van der Hoff2020-02-191-0/+17
| | | | | | | | | | | | As per https://github.com/matrix-org/matrix-doc/pull/2432#pullrequestreview-360566830, make room alias lists accessible to users outside world_readable rooms.
| * Refactor the membership check methods in AuthRichard van der Hoff2020-02-181-2/+2
| | | | | | | | | | these were getting a bit unwieldy, so let's combine `check_joined_room` and `check_user_was_in_room` into a single `check_user_in_room`.
* | Move MSC2432 stuff onto unstable prefix (#6948)Richard van der Hoff2020-02-191-3/+13
|/ | | it's not in the spec yet, so needs to be unstable. Also add a feature flag for it. Also add a test for admin users.
* Implement GET /_matrix/client/r0/rooms/{roomId}/aliases (#6939)Richard van der Hoff2020-02-182-10/+88
| | | | | per matrix-org/matrix-doc#2432
* Merge pull request #6872 from matrix-org/rav/dictpropertyRichard van der Hoff2020-02-181-1/+1
|\ | | | | Rewrite _EventInternalMetadata to back it with a dict
| * Replace _event_dict_property with DictPropertyRichard van der Hoff2020-02-141-1/+1
| | | | | | | | | | this amounts to the same thing, but replaces `_event_dict` with `_dict`, and removes some of the function layers generated by `property`.
* | Stop sending events when creating or deleting aliases (#6904)Patrick Cloke2020-02-181-2/+152
| | | | | | Stop sending events when creating or deleting associations (room aliases). Send an updated canonical alias event if one of the alt_aliases is deleted.
* | Raise the default power levels for invites, tombstones and server acls (#6834)Andrew Morgan2020-02-171-1/+3
| |
* | Convert the directory handler tests to use HomeserverTestCase (#6919)Patrick Cloke2020-02-141-24/+17
|/ | | Convert directory handler tests to use HomeserverTestCase.
* Filter the results of user directory searching via the spam checker (#6888)Patrick Cloke2020-02-141-0/+92
| | | Add a method to the spam checker to filter the user directory results.
* Return a 404 for admin api user lookup if user not found (#6901)Andrew Morgan2020-02-121-0/+16
|
* Reject device display names that are too long (#6882)Patrick Cloke2020-02-101-0/+18
| | | | | | | | * Reject device display names that are too long. Too long is currently defined as 100 characters in length. * Add a regression test for rejecting a too long device display name.
* Add a `make_event_from_dict` method (#6858)Richard van der Hoff2020-02-079-27/+32
| | | | | | | ... and use it in places where it's trivial to do so. This will make it easier to pass room versions into the FrozenEvent constructors.
* Add typing to synapse.federation.sender (#6871)Erik Johnston2020-02-071-2/+6
|
* Admin api to add an email address (#6789)Dirk Klimpel2020-02-071-2/+17
|
* Pass room_version into `event_from_pdu_json`Richard van der Hoff2020-02-061-2/+4
| | | | It's called from all over the shop, so this one's a bit messy.
* Add typing to SyncHandler (#6821)Erik Johnston2020-02-031-1/+4
| | | | Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Merge pull request #6806 from matrix-org/rav/redact_changes/3Richard van der Hoff2020-01-312-4/+9
|\ | | | | Pass room_version into add_hashes_and_signatures
| * Pass room_version into add_hashes_and_signaturesRichard van der Hoff2020-01-301-2/+7
| |
| * Store the room version in EventBuilderRichard van der Hoff2020-01-301-2/+2
| |
* | s/get_room_version/get_room_version_id/Richard van der Hoff2020-01-313-3/+5
|/ | | | | ... to make way for a forthcoming get_room_version which returns a RoomVersion object.
* MSC2260: Block direct sends of m.room.aliases events (#6794)Richard van der Hoff2020-01-302-33/+15
| | | | | as per MSC2260
* Resync remote device list when detected as stale. (#6786)Erik Johnston2020-01-301-3/+3
|
* Type defintions for use in refactoring for redaction changes (#6803)Richard van der Hoff2020-01-301-4/+11
| | | | | | | | | | * Bump signedjson to 1.1 ... so that we can use the type definitions * Fix breakage caused by upgrade to signedjson 1.1 Thanks, @illicitonion...
* Factor out a `copy_power_levels_contents` methodRichard van der Hoff2020-01-291-2/+43
| | | | I'm going to need another copy (hah!) of this.
* Pass room version object into event_auth.check and check_redaction (#6788)Richard van der Hoff2020-01-281-7/+4
| | | | | | | These are easier to work with than the strings and we normally have one around. This fixes `FederationHander._persist_auth_tree` which was passing a RoomVersion object into event_auth.check instead of a string.
* Add `rooms.room_version` column (#6729)Erik Johnston2020-01-273-2/+18
| | | This is so that we don't have to rely on pulling it out from `current_state_events` table.
* Validate client_secret parameter (#6767)Andrew Morgan2020-01-241-0/+51
|
* Make 'event.redacts' never raise. (#6771)Erik Johnston2020-01-231-0/+35
| | | | | | There are quite a few places that we assume that a redaction event has a corresponding `redacts` key, which is not always the case. So lets cheekily make it so that event.redacts just returns None instead.
* Admin API to list, filter and sort rooms (#6720)Andrew Morgan2020-01-221-4/+389
|
* Lint + changelogBrendan Abolivier2020-01-221-3/+1
|
* Remove unused importBrendan Abolivier2020-01-221-1/+1
|
* Add tests for thumbnailingBrendan Abolivier2020-01-221-3/+45
|
* Fix and add test to deprecated quarantine media admin api (#6756)Andrew Morgan2020-01-221-4/+11
|
* Fix `/events/:event_id` deprecated API. (#6731)Erik Johnston2020-01-202-1/+28
|
* Fix changing password via user admin API. (#6730)Erik Johnston2020-01-201-0/+13
|
* Log saml assertions rather than the whole responseRichard van der Hoff2020-01-161-0/+47
| | | | | | ... since the whole response is huge. We even need to break up the assertions, since kibana otherwise truncates them.
* Port synapse.replication.tcp to async/await (#6666)Erik Johnston2020-01-161-1/+1
| | | | | | | | | | * Port synapse.replication.tcp to async/await * Newsfile * Correctly document type of on_<FOO> functions as async * Don't be overenthusiastic with the asyncing....
* Fix purge_room admin API (#6711)Erik Johnston2020-01-151-3/+1
|
* Implement RedirectException (#6687)Richard van der Hoff2020-01-151-2/+77
| | | | | Allow REST endpoint implemnentations to raise a RedirectException, which will redirect the user's browser to a given location.
* Add `local_current_membership` table (#6655)Erik Johnston2020-01-155-17/+14
| | | | | | | Currently we rely on `current_state_events` to figure out what rooms a user was in and their last membership event in there. However, if the server leaves the room then the table may be cleaned up and that information is lost. So lets add a table that separately holds that information.
* Quarantine media by ID or user ID (#6681)Andrew Morgan2020-01-132-0/+378
|
* Kill off RegistrationError (#6691)Richard van der Hoff2020-01-131-2/+0
| | | This is pretty pointless. Let's just use SynapseError.
* Allow admin users to create or modify users without a shared secret (#6495)Manuel Stahl2020-01-093-338/+467
| | | Signed-off-by: Manuel Stahl <manuel.stahl@awesome-technologies.de>
* Fix GET request on /_synapse/admin/v2/users endpoint (#6563)Manuel Stahl2020-01-081-0/+41
| | | | Fixes #6552
* Back out ill-advised notary server hackery (#6657)Richard van der Hoff2020-01-083-4/+131
| | | | | | | | | | | This was ill-advised. We can't modify verify_keys here, because the response object has already been signed by the requested key. Furthermore, it's somewhat unnecessary because existing versions of Synapse (which get upset that the notary key isn't present in verify_keys) will fall back to a direct fetch via `/key/v2/server`. Also: more tests for fetching keys via perspectives: it would be nice if we actually tested when our fetcher can't talk to our notary impl.
* port BackgroundUpdateTestCase to HomeserverTestCase (#6653)Richard van der Hoff2020-01-071-35/+37
|
* Merge pull request #6629 from matrix-org/rav/kill_event_reference_hashesRichard van der Hoff2020-01-062-16/+5
|\ | | | | Remove a bunch of unused code from event creation
| * Remove unused get_prev_events_and_hashes_for_roomRichard van der Hoff2020-01-061-13/+6
| |
| * Remove unused hashes and depths from create_event paramsRichard van der Hoff2020-01-061-5/+1
| |
| * rename get_prev_events_for_room to get_prev_events_and_hashes_for_roomRichard van der Hoff2020-01-061-2/+2
| | | | | | | | ... to make way for a new method which just returns the event ids
* | Fix exception when fetching notary server's old keys (#6625)Richard van der Hoff2020-01-061-44/+95
| | | | | | | | | | | | Lift the restriction that *all* the keys used for signing v2 key responses be present in verify_keys. Fixes #6596.
* | Workaround for error when fetching notary's own key (#6620)Richard van der Hoff2020-01-062-1/+140
|/ | | | | | | | | | | | | | * Kill off redundant SynapseRequestFactory We already get the Site via the Channel, so there's no need for a dedicated RequestFactory: we can just use the right constructor. * Workaround for error when fetching notary's own key As a notary server, when we return our own keys, include all of our signing keys in verify_keys. This is a workaround for #6596.
* Kill off redundant SynapseRequestFactory (#6619)Richard van der Hoff2020-01-031-2/+4
| | | | We already get the Site via the Channel, so there's no need for a dedicated RequestFactory: we can just use the right constructor.
* Split state groups into a separate data store (#6296)Erik Johnston2019-12-202-2/+2
|
* Change EventContext to use the Storage class (#6564)Erik Johnston2019-12-201-14/+14
|
* Clean up startup for the pusher (#6558)Richard van der Hoff2019-12-182-0/+7
| | | | | | | | | | | | | | | | | | | | | | | * Remove redundant python2 support code `str.decode()` doesn't exist on python3, so presumably this code was doing nothing * Filter out pushers with corrupt data When we get a row with unparsable json, drop the row, rather than returning a row with null `data`, which will then cause an explosion later on. * Improve logging when we can't start a pusher Log the ID to help us understand the problem * Make email pusher setup more robust We know we'll have a `data` member, since that comes from the database. What we *don't* know is if that is a dict, and if that has a `brand` member, and if that member is a string.
* Add database config class (#6513)Erik Johnston2019-12-187-95/+100
| | | | | This encapsulates config for a given database and is the way to get new connections.
* Merge release-v1.7.1 into developRichard van der Hoff2019-12-181-0/+127
|\
| * Merge pull request #6553 from matrix-org/babolivier/fix-context-filterBrendan Abolivier2019-12-161-0/+127
| |\ | | | | | | Use the filtered version of an event when responding to /context requests for that event
| | * Incorporate reviewBrendan Abolivier2019-12-161-5/+0
| | |
| | * LintBrendan Abolivier2019-12-161-2/+1
| | |
| | * Add test caseBrendan Abolivier2019-12-161-0/+133
| | |
| * | sanity-checking for events used in state res (#6531)Richard van der Hoff2019-12-161-0/+3
| |/ | | | | | | | | When we perform state resolution, check that all of the events involved are in the right room.
* | Add option to allow profile queries without sharing a room (#6523)Will Hunt2019-12-161-0/+2
| |
* | sanity-checking for events used in state res (#6531)Richard van der Hoff2019-12-131-0/+3
| | | | | | | | | | | | | | When we perform state resolution, check that all of the events involved are in the right room.
* | look up cross-signing keys from the DB in bulk (#6486)Hubert Chathi2019-12-121-8/+0
| |
* | Merge pull request #6511 from matrix-org/erikj/remove_db_config_from_appsErik Johnston2019-12-122-13/+8
|\ \ | | | | | | Move database config from apps into HomeServer object
| * | Remove database config parsing from apps.Erik Johnston2019-12-102-13/+8
| |/
* | Merge pull request #6517 from matrix-org/rav/event_auth/13Richard van der Hoff2019-12-111-5/+9
|\ \ | | | | | | Port some of FederationHandler to async/await
| * | convert to async: FederationHandler.on_receive_pduRichard van der Hoff2019-12-111-5/+9
| | | | | | | | | | | | | | | | | | | | | and associated functions: * on_receive_pdu * handle_queued_pdus * get_missing_events_for_pdu
* | | Merge pull request #6504 from matrix-org/erikj/account_validity_async_awaitErik Johnston2019-12-111-2/+1
|\ \ \ | |/ / |/| | Port handlers.account_validity to async/await.
| * | Port handlers.account_validity to async/await.Erik Johnston2019-12-101-2/+1
| |/
* | Fix race which caused deleted devices to reappear (#6514)Richard van der Hoff2019-12-101-20/+29
| | | | | | | | Stop the `update_client_ips` background job from recreating deleted devices.
* | Merge pull request #6505 from matrix-org/erikj/make_deferred_yiedableErik Johnston2019-12-101-0/+24
|\ \ | | | | | | Fix `make_deferred_yieldable` to work with coroutines
| * | Fix make_deferred_yieldable to work with coroutinesErik Johnston2019-12-101-0/+24
| |/
* | Merge pull request #6506 from matrix-org/erikj/remove_snapshot_cacheErik Johnston2019-12-101-63/+0
|\ \ | |/ |/| Remove SnapshotCache in favour of ResponseCache
| * Remove SnapshotCache in favour of ResponseCacheErik Johnston2019-12-091-63/+0
| |
* | Back out perf regression from get_cross_signing_keys_from_cache. (#6494)Neil Johnson2019-12-091-0/+8
| | | | | | Back out cross-signing code added in Synapse 1.5.0, which caused a performance regression.
* | Merge pull request #6487 from matrix-org/erikj/pass_in_dbErik Johnston2019-12-096-25/+23
|\ \ | |/ |/| Pass in Database object to data stores.
| * Fixup testsErik Johnston2019-12-066-23/+20
| |
| * Change DataStores to accept 'database' param.Erik Johnston2019-12-061-2/+3
| |
* | Merge pull request #6484 from matrix-org/erikj/port_sync_handlerErik Johnston2019-12-094-25/+43
|\ \ | |/ |/| Port SyncHandler to async/await
| * Fixup functions to consistently return deferredsErik Johnston2019-12-062-7/+21
| |
| * Port SyncHandler to async/awaitErik Johnston2019-12-052-18/+22
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-12-063-2/+15
|\| | | | | | | erikj/make_database_class
| * Fixup testsErik Johnston2019-12-053-2/+15
| |
* | Move background update handling out of storeErik Johnston2019-12-057-49/+113
| |
* | Move DB pool and helper functions into dedicated Database classErik Johnston2019-12-0514-64/+66
|/
* Remove underscore from SQLBaseStore functionsErik Johnston2019-12-0410-47/+47
|
* Merge pull request #6329 from matrix-org/babolivier/context_filtersBrendan Abolivier2019-12-044-100/+384
|\ | | | | Filter state, events_before and events_after in /context requests
| * Un-remove room purge testBrendan Abolivier2019-12-041-0/+72
| |
| * Merge branch 'babolivier/context_filters' of github.com:matrix-org/synapse ↵Brendan Abolivier2019-12-041-1/+1
| |\ | | | | | | | | | into babolivier/context_filters
| | * Merge branch 'develop' into babolivier/context_filtersBrendan Abolivier2019-11-267-19/+399
| | |\
| * | \ Merge branch 'develop' into babolivier/context_filtersBrendan Abolivier2019-12-0420-77/+846
| |\ \ \ | | |/ / | |/| |
| * | | LintBrendan Abolivier2019-11-051-30/+41
| | | |
| * | | Update copyrightsBrendan Abolivier2019-11-054-1/+10
| | | |
| * | | Add tests for /searchBrendan Abolivier2019-11-051-44/+143
| | | |
| * | | Merge labels tests for /context and /messagesBrendan Abolivier2019-11-051-146/+130
| | | |
| * | | Add test caseBrendan Abolivier2019-11-051-0/+182
| | | |
* | | | privacy by default for room dir (#6355)Neil Johnson2019-12-041-0/+52
| | | | | | | | | | | | | | | | Ensure that the the default settings for the room directory are that the it is hidden from public view by default.
* | | | Add ephemeral messages support (MSC2228) (#6409)Brendan Abolivier2019-12-031-0/+101
| |/ / |/| | | | | | | | | | | | | | | | | | | | Implement part [MSC2228](https://github.com/matrix-org/matrix-doc/pull/2228). The parts that differ are: * the feature is hidden behind a configuration flag (`enable_ephemeral_messages`) * self-destruction doesn't happen for state events * only implement support for the `m.self_destruct_after` field (not the `m.self_destruct` one) * doesn't send synthetic redactions to clients because for this specific case we consider the clients to be able to destroy an event themselves, instead we just censor it (by pruning its JSON) in the database
* | | Add testsErik Johnston2019-11-281-0/+140
| | |
* | | Implementation of MSC2314 (#6176)Amber Brown2019-11-289-52/+148
| | |
* | | add etag and count to key backup endpoints (#5858)Hubert Chathi2019-11-272-4/+35
| | |
* | | Merge pull request #6358 from matrix-org/babolivier/message_retentionBrendan Abolivier2019-11-271-0/+293
|\ \ \ | | | | | | | | Implement message retention policies (MSC1763)
| * \ \ Merge branch 'develop' into babolivier/message_retentionBrendan Abolivier2019-11-268-19/+351
| |\ \ \ | | | |/ | | |/|
| * | | Don't restrict the tests to v1 roomsBrendan Abolivier2019-11-261-2/+0
| | | |
| * | | Lint againBrendan Abolivier2019-11-191-10/+2
| | | |
| * | | LintBrendan Abolivier2019-11-191-50/+23
| | | |
| * | | Don't apply retention policy based filtering on state eventsBrendan Abolivier2019-11-061-0/+10
| | | | | | | | | | | | | | | | As per MSC1763, 'Retention is only considered for non-state events.', so don't filter out state events based on the room's retention policy.
| * | | Implement per-room message retention policiesBrendan Abolivier2019-11-041-0/+320
| | | |
* | | | Remove assertion and provide a clear warning on startup for missing ↵Andrew Morgan2019-11-261-0/+1
| |/ / |/| | | | | | | | public_baseurl (#6379)
* | | Improve the performance of structured logging (#6322)Amber Brown2019-11-261-0/+2
| | |
* | | LintBrendan Abolivier2019-11-201-6/+8
| | |
* | | Test if a purge can make /messages return 500 responsesBrendan Abolivier2019-11-201-0/+72
| | |
* | | Blacklist PurgeRoomTestCase (#6361)Andrew Morgan2019-11-131-0/+2
| | |
* | | Merge pull request #6295 from matrix-org/erikj/split_purge_historyErik Johnston2019-11-082-8/+11
|\ \ \ | | | | | | | | Split purge API into events vs state and add PurgeEventsStorage
| * | | Fix deleting state groups during room purge.Erik Johnston2019-11-061-1/+3
| | | | | | | | | | | | | | | | And fix the tests to actually test that things got deleted.
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-11-051-0/+51
| |\ \ \ | | | |/ | | |/| | | | | erikj/split_purge_history
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-11-0412-21/+693
| |\ \ \ | | | |/ | | |/| | | | | erikj/split_purge_history
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-10-315-51/+197
| |\ \ \ | | | | | | | | | | | | | | | erikj/split_purge_history
| * | | | Split purge API into events vs stateErik Johnston2019-10-301-7/+8
| | | | |
* | | | | Fix bug which caused rejected events to be stored with the wrong room state ↵Richard van der Hoff2019-11-062-11/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#6320) Fixes a bug where rejected events were persisted with the wrong state group. Also fixes an occasional internal-server-error when receiving events over federation which are rejected and (possibly because they are backwards-extremities) have no prev_group. Fixes #6289.
* | | | | Merge branch 'develop' into rav/url_preview_limit_titleRichard van der Hoff2019-11-0527-99/+1065
|\ \ \ \ \ | | |_|_|/ | |/| | |
| * | | | Remove the psutil dependency (#6318)Amber Brown2019-11-051-0/+51
| | |_|/ | |/| | | | | | * remove psutil and replace with resource
| * | | Merge pull request #6301 from matrix-org/babolivier/msc2326Brendan Abolivier2019-11-014-5/+297
| |\ \ \ | | | | | | | | | | Implement MSC2326 (label based filtering)
| | * | | Incorporate reviewBrendan Abolivier2019-11-013-12/+12
| | | | |
| | * | | Incorporate reviewBrendan Abolivier2019-11-013-15/+15
| | | | |
| | * | | LintBrendan Abolivier2019-10-303-43/+34
| | | | |
| | * | | Add integration tests for /messagesBrendan Abolivier2019-10-301-1/+101
| | | | |
| | * | | Add more integration testingBrendan Abolivier2019-10-301-6/+39
| | | | |
| | * | | Add integration tests for syncBrendan Abolivier2019-10-302-5/+122
| | | | |
| | * | | Add unit testsBrendan Abolivier2019-10-301-0/+51
| | | | |
| * | | | Factor out an _AsyncEventContextImpl (#6298)Richard van der Hoff2019-11-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The intention here is to make it clearer which fields we can expect to be populated when: notably, that the _event_type etc aren't used for the synchronous impl of EventContext.
| * | | | Support for routing outbound HTTP requests via a proxy (#6239)Richard van der Hoff2019-11-015-6/+382
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `http_proxy` and `HTTPS_PROXY` env vars can be set to a `host[:port]` value which should point to a proxy. The address of the proxy should be excluded from IP blacklists such as the `url_preview_ip_range_blacklist`. The proxy will then be used for * push * url previews * phone-home stats * recaptcha validation * CAS auth validation It will *not* be used for: * Application Services * Identity servers * Outbound federation * In worker configurations, connections from workers to masters Fixes #4198.
| * | | | Merge branch 'develop' into cross-signing_federationHubert Chathi2019-10-315-51/+197
| |\ \ \ \ | | | |_|/ | | |/| |
| | * | | Merge pull request #6294 from matrix-org/erikj/add_state_storageErik Johnston2019-10-313-50/+114
| | |\ \ \ | | | | | | | | | | | | Add StateGroupStorage interface
| | | * | | Port to use state storageErik Johnston2019-10-303-50/+114
| | | | |/ | | | |/|
| | * / | Add unit test for /purge_room APIErik Johnston2019-10-312-1/+83
| | |/ /
| * | | rename get_devices_by_remote to get_device_updates_by_remoteHubert Chathi2019-10-302-8/+8
| | | |
| * | | Merge branch 'develop' into cross-signing_federationHubert Chathi2019-10-3015-27/+126
| |\| |
| | * | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-10-307-8/+142
| | |\ \ | | | | | | | | | | | | | | | erikj/split_out_persistence_store
| | | * | Make ObservableDeferred.observe() always return deferred.Erik Johnston2019-10-302-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it easier to use in an async/await world. Also fixes a bug where cache descriptors would occaisonally return a raw value rather than a deferred.
| | | * | Port federation_server to async/awaitErik Johnston2019-10-291-0/+3
| | | |/
| | | * Quick fix to ensure cache descriptors always return deferredsErik Johnston2019-10-281-2/+2
| | | |
| | | * Merge pull request #6253 from matrix-org/uhoreg/e2e_backup_delete_keysHubert Chathi2019-10-251-0/+75
| | | |\ | | | | | | | | | | delete keys when deleting backup versions
| | | | * remove unneeded importsHubert Chathi2019-10-251-3/+1
| | | | |
| | | | * switch to using HomeserverTestCaseHubert Chathi2019-10-251-19/+25
| | | | |
| | | | * remove some unnecessary linesHubert Chathi2019-10-241-5/+0
| | | | |
| | | | * delete keys when deleting backupsHubert Chathi2019-10-241-0/+76
| | | | |
| | * | | Review commentsErik Johnston2019-10-302-6/+9
| | | | |
| | * | | Use new EventPersistenceStoreErik Johnston2019-10-238-16/+32
| | | | |
| * | | | Merge branch 'develop' into cross-signing_federationHubert Chathi2019-10-247-20/+68
| |\ \ \ \ | | | |_|/ | | |/| |
| * | | | fix unit testHubert Chathi2019-10-221-1/+3
| | | | |
* | | | | Apply suggestions from code reviewRichard van der Hoff2019-11-051-0/+1
| | | | | | | | | | | | | | | | | | | | Co-Authored-By: Brendan Abolivier <babolivier@matrix.org> Co-Authored-By: Erik Johnston <erik@matrix.org>
* | | | | Strip overlong OpenGraph data from url previewRichard van der Hoff2019-11-051-0/+34
| |_|_|/ |/| | | | | | | | | | | ... to stop people causing DoSes with malicious web pages
* | | | Fix testsErik Johnston2019-10-251-0/+2
| |/ / |/| |
* | | Option to suppress resource exceeded alerting (#6173)Neil Johnson2019-10-242-3/+57
| |/ |/| | | | | The expected use case is to suppress MAU limiting on small instances
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-10-221-1/+294
|\| | | | | | | erikj/refactor_stores
| * Merge branch 'develop' into cross-signing_sig_uploadHubert Chathi2019-10-1829-249/+1136
| |\
| * \ Merge branch 'develop' into cross-signing_sig_uploadHubert Chathi2019-09-073-60/+125
| |\ \
| * | | use something that's the right type for user_idHubert Chathi2019-09-061-1/+1
| | | |
| * | | fix testHubert Chathi2019-09-051-1/+3
| | | |
| * | | add testHubert Chathi2019-09-041-0/+88
| | | |
| * | | make isort happyHubert Chathi2019-09-041-0/+1
| | | |
| * | | make black happyHubert Chathi2019-09-041-85/+62
| | | |
| * | | allow uploading signatures of master key signed by devicesHubert Chathi2019-09-041-1/+226
| | | |
* | | | Fix postgres unit tests to use prepare_databaseErik Johnston2019-10-221-10/+2
| | | |
* | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-10-221-0/+65
|\ \ \ \ | | |_|/ | |/| | | | | | erikj/refactor_stores
| * | | Merge branch 'develop' into uhoreg/e2e_cross-signing_mergedHubert Chathi2019-10-1829-249/+1136
| |\ \ \
| * \ \ \ Merge branch 'develop' into uhoreg/e2e_cross-signing_mergedHubert Chathi2019-09-073-60/+125
| |\ \ \ \ | | |_|/ / | |/| | / | | | |/ | | |/|
| * | | Merge branch 'develop' into cross-signing_keysHubert Chathi2019-09-048-119/+544
| |\ \ \
| * \ \ \ Merge branch 'uhoreg/e2e_cross-signing_merged' into cross-signing_keysHubert Chathi2019-08-2817-56/+944
| |\ \ \ \
| * | | | | fix formattingHubert Chathi2019-08-011-1/+3
| | | | | |
| * | | | | Merge branch 'cross-signing_hidden' into cross-signing_keysHubert Chathi2019-08-0116-106/+279
| |\ \ \ \ \
| * | | | | | allow uploading keys for cross-signingHubert Chathi2019-07-251-0/+63
| | | | | | |
* | | | | | | Move storage classes into a main "data store".Erik Johnston2019-10-215-7/+9
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | This is in preparation for having multiple data stores that offer different functionality, e.g. splitting out state or event storage.
* | | | | | Fix presence timeouts when synchrotron restarts. (#6212)Erik Johnston2019-10-181-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix presence timeouts when synchrotron restarts. Handling timeouts would fail if there was an external process that had timed out, e.g. a synchrotron restarting. This was due to a couple of variable name typoes. Fixes #3715.
* | | | | | Merge pull request #6193 from matrix-org/uhoreg/interpret_device_key_in_storageHubert Chathi2019-10-111-6/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | make storage layer in charge of interpreting the device key data
| * | | | | | make storage layer in charge of interpreting the device key dataHubert Chathi2019-10-101-6/+6
| | | | | | |
* | | | | | | Merge pull request #6189 from matrix-org/uhoreg/e2e_backup_optional_versionHubert Chathi2019-10-111-16/+31
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | make version optional in body of e2e backup version update
| * | | | | | | change test name to be uniqueHubert Chathi2019-10-101-1/+1
| | | | | | | |
| * | | | | | | make version optional in body of e2e backup version updateHubert Chathi2019-10-091-16/+31
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | to agree with latest version of the MSC
* | | | | | | Fix MAU reaping where reserved users are specified. (#6168)Neil Johnson2019-10-111-9/+49
| | | | | | |
* | | | | | | Fix postgres unit testsErik Johnston2019-10-101-1/+1
| | | | | | |
* | | | | | | Merge pull request #6127 from matrix-org/erikj/patch_innerErik Johnston2019-10-102-96/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Add more log context checks when patching inlineCallbacks
| * \ \ \ \ \ \ Merge branch 'develop' of github.com:matrix-org/synapse into erikj/patch_innerErik Johnston2019-10-103-11/+18
| |\ \ \ \ \ \ \
| * | | | | | | | Move patch_inline_callbacks into synapse/Erik Johnston2019-10-102-181/+2
| | | | | | | | |
| * | | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/patch_innerErik Johnston2019-10-095-53/+182
| |\ \ \ \ \ \ \ \ | | | |/ / / / / / | | |/| | | | | |
| * | | | | | | | UpdateErik Johnston2019-09-271-8/+15
| | | | | | | | |
| * | | | | | | | Patch inlinecallbacks for log contextsErik Johnston2019-09-271-4/+82
| | | | | | | | |
* | | | | | | | | Add domain validation when creating room with list of invitees (#6121)werner2912019-10-101-0/+9
| | | | | | | | |
* | | | | | | | | send 404 as http-status when filter-id is unknown to the server (#2380)krombel2019-10-101-1/+1
| |_|/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixed the weirdness of 400 vs 404 as http status code in the case the filter id is not known by the server. As e.g. matrix-js-sdk expects 404 to catch this situation this leads to unwanted behaviour.
* | | | | | | | Fix races in room stats (and other) updates. (#6187)Richard van der Hoff2019-10-102-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hopefully this will fix the occasional failures we were seeing in the room directory. The problem was that events are not necessarily persisted (and `current_state_delta_stream` updated) in the same order as their stream_id. So for instance current_state_delta 9 might be persisted *before* current_state_delta 8. Then, when the room stats saw stream_id 9, it assumed it had done everything up to 9, and never came back to do stream_id 8. We can solve this easily by only processing up to the stream_id where we know all events have been persisted.
* | | | | | | | Refactor HomeserverConfig so it can be typechecked (#6137)Amber Brown2019-10-101-9/+16
| |/ / / / / / |/| | | | | |
* | | | | | | Merge pull request #6147 from matrix-org/babolivier/3pid-invite-revokedBrendan Abolivier2019-10-041-0/+81
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Don't 500 when trying to exchange a revoked 3PID invite
| * | | | | | | Lint (again)Brendan Abolivier2019-10-031-3/+1
| | | | | | | |
| * | | | | | | LintBrendan Abolivier2019-10-031-5/+5
| | | | | | | |
| * | | | | | | Add test caseBrendan Abolivier2019-10-031-0/+83
| | | | | | | |
* | | | | | | | Land improved room list based on room stats (#6019)Erik Johnston2019-10-021-39/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use room_stats and room_state for room directory search
* | | | | | | | Merge branch 'release-v1.4.0' of github.com:matrix-org/synapse into developErik Johnston2019-10-022-0/+47
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
| * | | | | | | Merge pull request #6146 from matrix-org/erikj/fix_destination_retry_timingsErik Johnston2019-10-021-0/+11
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Fix errors storing large retry intervals.
| | * | | | | | | Fix errors storing large retry intervals.Erik Johnston2019-10-021-0/+11
| | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have set the max retry interval to a value larger than a postgres or sqlite int can hold, which caused exceptions when updating the destinations table. To fix postgres we need to change the column to a bigint, and for sqlite we lower the max interval to 2**62 (which is still incredibly long).
| * / / / / / / Fix fetching censored redactions from DBErik Johnston2019-10-021-0/+36
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fetching a censored redactions caused an exception due to the code expecting redactions to have a `redact` key, which redacted redactions don't have.
* | | | | | | okBrendan Abolivier2019-09-271-1/+3
| | | | | | |
* | | | | | | LintBrendan Abolivier2019-09-271-7/+1
| | | | | | |
* | | | | | | Add test to validate the changeBrendan Abolivier2019-09-271-13/+57
|/ / / / / /
* | | | | | Fix dummy event insertion consent bug (#6053)Neil Johnson2019-09-262-9/+178
| | | | | | | | | | | | | | | | | | Fixes #5905
* | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-09-253-31/+103
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | erikj/cleanup_user_ips_2
| * \ \ \ \ \ Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-09-253-31/+103
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | erikj/cleanup_user_ips
| | * | | | | | Stop advertising unsupported flows for registration (#6107)Richard van der Hoff2019-09-251-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If email or msisdn verification aren't supported, let's stop advertising them for registration. Fixes #6100.
| | * | | | | | Refactor the user-interactive auth handling (#6105)Richard van der Hoff2019-09-251-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull the checkers out to their own classes, rather than having them lost in a massive 1000-line class which does everything. This is also preparation for some more intelligent advertising of flows, as per #6100
| | * | | | | | Refactor code for calculating registration flows (#6106)Richard van der Hoff2019-09-252-21/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | because, frankly, it looked like it was written by an axe-murderer. This should be a non-functional change, except that where `m.login.dummy` was previously advertised *before* `m.login.terms`, it will now be advertised afterwards. AFAICT that should have no effect, and will be more consistent with the flows that involve passing a 3pid.
* | | | | | | | Test that pruning of old user IPs worksErik Johnston2019-09-241-0/+71
|/ / / / / / /
* | | | | | | Test background updateErik Johnston2019-09-231-0/+79
| | | | | | |
* | | | | | | Query devices table for last seen info.Erik Johnston2019-09-231-1/+0
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a) simpler than querying user_ips directly and b) means we can purge older entries from user_ips without losing the required info. The storage functions now no longer return the access_token, since it was unused.
* | | | | | Add 'failure_ts' column to 'destinations' table (#6016)Richard van der Hoff2019-09-173-4/+138
| | | | | | | | | | | | | | | | | | | | | | | | Track the time that a server started failing at, for general analysis purposes.
* | | | | | Fix well-known lookups with the federation certificate whitelist (#5997)Amber Brown2019-09-141-0/+40
| | | | | |
* | | | | | Fix for structured logging tests stomping on logs (#6023)Amber Brown2019-09-132-6/+23
| | | | | |
* | | | | | Ensure support users can be registered even if MAU limit is reachedJason Robinson2019-09-111-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows support users to be created even on MAU limits via the admin API. Support users are excluded from MAU after creation, so it makes sense to exclude them in creation - except if the whole host is in disabled state. Signed-off-by: Jason Robinson <jasonr@matrix.org>
* | | | | | Fix commentsErik Johnston2019-09-111-2/+2
| | | | | | | | | | | | | | | | | | Co-Authored-By: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* | | | | | Add test for admin redaction ratelimiting.Erik Johnston2019-09-111-0/+25
| | | | | |
* | | | | | Merge pull request #6004 from matrix-org/jaywink/autojoin-create-real-usersJason Robinson2019-09-091-2/+27
|\ \ \ \ \ \ | | | | | | | | | | | | | | Only count real users when checking for auto-creation of auto-join room
| * | | | | | Only count real users when checking for auto-creation of auto-join roomJason Robinson2019-09-091-2/+27
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously if the first registered user was a "support" or "bot" user, when the first real user registers, the auto-join rooms were not created. Fix to exclude non-real (ie users with a special user type) users when counting how many users there are to determine whether we should auto-create a room. Signed-off-by: Jason Robinson <jasonr@matrix.org>
* | | | | | Merge pull request #5934 from matrix-org/erikj/censor_redactionsErik Johnston2019-09-091-1/+76
|\ \ \ \ \ \ | | | | | | | | | | | | | | Censor redactions in DB after a month
| * \ \ \ \ \ Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-09-058-119/+544
| |\ \ \ \ \ \ | | | |_|_|_|/ | | |/| | | | | | | | | | | erikj/censor_redactions
| * | | | | | Fix testErik Johnston2019-09-051-1/+3
| | | | | | |
| * | | | | | Make redaction retention period configurableErik Johnston2019-09-051-1/+3
| | | | | | |
| * | | | | | Censor redactions in DB after a monthErik Johnston2019-08-301-0/+71
| | |_|_|_|/ | |/| | | |
* | | | | | Add a build info metric to Prometheus (#6005)Amber Brown2019-09-101-2/+20
| |_|/ / / |/| | | |
* | | | | Servers-known-about statistic (#5981)Amber Brown2019-09-073-60/+125
| |/ / / |/| | |
* | | | Fix and refactor room and user stats (#5971)Erik Johnston2019-09-042-113/+538
| | | | | | | | | | | | Previously the stats were not being correctly populated.
* | | | Remove unnecessary parentheses around return statements (#5931)Andrew Morgan2019-08-306-6/+6
|/ / / | | | | | | | | | | | | Python will return a tuple whether there are parentheses around the returned values or not. I'm just sick of my editor complaining about this all over the place :)
* | | Merge pull request #5902 from matrix-org/hs/exempt-support-users-from-consentWill Hunt2019-08-281-0/+1
|\ \ \ | | | | | | | | Exempt support users from consent
| * | | Fix registration testHalf-Shot2019-08-231-0/+1
| | | |
* | | | Config templating (#5900)Jorik Schellekens2019-08-283-1/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Template config files * Imagine a system composed entirely of x, y, z etc and the basic operations.. Wait George, why XOR? Why not just neq? George: Eh, I didn't think of that.. Co-Authored-By: Erik Johnston <erik@matrix.org>
* | | | Implement a structured logging output system. (#5680)Amber Brown2019-08-284-2/+456
| | | |
* | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-08-222-39/+50
|\| | | | | | | | | | | | | | | erikj/reliable_lookups
| * | | Merge pull request #5850 from matrix-org/erikj/retry_well_known_on_failErik Johnston2019-08-221-35/+48
| |\ \ \ | | | | | | | | | | Retry well known on fail
| | * | | Change jitter to be a factor rather than absolute valueErik Johnston2019-08-201-2/+2
| | | | |
| | * | | Retry well known on fail.Erik Johnston2019-08-151-33/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have recently seen a valid well-known for a domain we want to retry on (non-final) errors a few times, to handle temporary blips in networking/etc.
| * | | | Refactor the Appservice scheduler codeRichard van der Hoff2019-08-201-4/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Get rid of the labyrinthine `recoverer_fn` code, and clean up the startup code (it seemed to be previously inexplicably split between `ApplicationServiceScheduler.start` and `_Recoverer.start`). Add some docstrings too.
* | | | Remove test debugsErik Johnston2019-08-203-3/+0
| | | |
* | | | Refactor MatrixFederationAgent to retry SRV.Erik Johnston2019-08-152-5/+66
|/ / / | | | | | | | | | | | | | | | | | | | | | This refactors MatrixFederationAgent to move the SRV lookup into the endpoint code, this has two benefits: 1. Its easier to retry different host/ports in the same way as HostnameEndpoint. 2. We avoid SRV lookups if we have a free connection in the pool
* | | Retry well-known lookup before expiry.Erik Johnston2019-08-132-2/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | This gives a bit of a grace period where we can attempt to refetch a remote `well-known`, while still using the cached result if that fails. Hopefully this will make the well-known resolution a bit more torelant of failures, rather than it immediately treating failures as "no result" and caching that for an hour.
* | | Merge pull request #5836 from matrix-org/erikj/lower_bound_ttl_well_knownErik Johnston2019-08-131-22/+21
|\ \ \ | | | | | | | | Add a lower bound to well-known TTL.
| * | | Move well known lookup into a separate clasErik Johnston2019-08-071-20/+19
| | | |