summary refs log tree commit diff
path: root/synapse (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Move README into synapse/storage/__init__.pyErik Johnston2019-10-222-13/+12
|
* Add a basic README to synapse.storageErik Johnston2019-10-221-0/+13
|
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-10-2219-198/+631
|\ | | | | | | erikj/refactor_stores
| * Remove Auth.check method (#6217)Richard van der Hoff2019-10-182-21/+5
| | | | | | This method was somewhat redundant, and confusing.
| * Merge branch 'uhoreg/e2e_cross-signing_merged' into developHubert Chathi2019-10-1812-21/+623
| |\
| | * Merge branch 'develop' into uhoreg/e2e_cross-signing_mergedHubert Chathi2019-10-18149-2344/+5400
| | |\
| | * | use the right function for when we're already in runInteractionHubert Chathi2019-10-181-4/+4
| | | |
| | * | Merge branch 'develop' into uhoreg/e2e_cross-signing_mergedHubert Chathi2019-09-0736-510/+1219
| | |\ \
| | * | | add user signature stream change cache to slaved device storeHubert Chathi2019-09-041-0/+3
| | | | |
| | * | | Merge branch 'develop' into cross-signing_keysHubert Chathi2019-09-0496-1261/+1463
| | |\ \ \
| | * \ \ \ Merge branch 'uhoreg/e2e_cross-signing_merged' into cross-signing_keysHubert Chathi2019-08-2898-1378/+3636
| | |\ \ \ \
| | | * \ \ \ Merge branch 'develop' into uhoreg/e2e_cross-signing_mergedHubert Chathi2019-08-2885-1304/+3405
| | | |\ \ \ \
| | | * | | | | Cross-signing [1/4] -- hidden devices (#5759)Hubert Chathi2019-08-123-10/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * allow devices to be marked as "hidden" This is a prerequisite for cross-signing, as it allows us to create other things that live within the device namespace, so they can be used for signatures.
| | * | | | | | blackHubert Chathi2019-08-281-3/+1
| | | | | | | |
| | * | | | | | use stream ID generator instead of timestampHubert Chathi2019-08-284-23/+23
| | | | | | | |
| | * | | | | | make isort happyHubert Chathi2019-08-211-1/+0
| | | | | | | |
| | * | | | | | apply PR review suggestionsHubert Chathi2019-08-214-53/+46
| | | | | | | |
| | * | | | | | make changes from PR reviewHubert Chathi2019-08-014-49/+75
| | | | | | | |
| | * | | | | | Merge branch 'cross-signing_hidden' into cross-signing_keysHubert Chathi2019-08-01187-1954/+2779
| | |\ \ \ \ \ \
| | | * | | | | | don't need to return the hidden column any moreHubert Chathi2019-08-011-1/+1
| | | | | | | | |
| | | * | | | | | really fix queries to work with PostgresHubert Chathi2019-07-311-19/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (by going back to not using SQL directly)
| | | * | | | | | PostgreSQL, Y U no like?Hubert Chathi2019-07-311-3/+4
| | | | | | | | |
| | | * | | | | | remove extra SQL query paramHubert Chathi2019-07-311-1/+0
| | | | | | | | |
| | | * | | | | | Merge branch 'develop' into cross-signing_hiddenHubert Chathi2019-07-30187-1934/+2767
| | | |\ \ \ \ \ \
| | * | | | | | | | Merge branch 'cross-signing_hidden' into cross-signing_keysHubert Chathi2019-07-303-21/+17
| | |\| | | | | | |
| | | * | | | | | | apply changes from PR reviewHubert Chathi2019-07-303-20/+17
| | | | | | | | | |
| | * | | | | | | | allow uploading keys for cross-signingHubert Chathi2019-07-2510-12/+558
| | |/ / / / / / /
| | * | | | | | | allow devices to be marked as "hidden"Hubert Chathi2019-07-242-16/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a prerequisite for cross-signing, as it allows us to create other things that live within the device namespace, so they can be used for signatures.
| * | | | | | | | Merge remote-tracking branch 'origin/develop' into rav/event_auth/1Richard van der Hoff2019-10-189-122/+125
| |\ \ \ \ \ \ \ \
| | * | | | | | | | Fix logging config for the docker image (#6197)Richard van der Hoff2019-10-181-3/+2
| | | |_|_|_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turns out that loggers that are instantiated before the config is loaded get turned off. Also bring the logging config that is generated by --generate-config into line. Fixes #6194.
| * | | | | | | | Merge remote-tracking branch 'origin/develop' into rav/event_auth/1Richard van der Hoff2019-10-1829-187/+354
| |\ \ \ \ \ \ \ \
| * | | | | | | | | rip out some unreachable codeRichard van der Hoff2019-10-174-153/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only possible rejection reason is AUTH_ERROR, so all of this is unreachable.
* | | | | | | | | | Fix schema management to work with multiple data stores.Erik Johnston2019-10-211-41/+108
| | | | | | | | | |
* | | | | | | | | | Move storage classes into a main "data store".Erik Johnston2019-10-21261-4324/+4500
| |_|/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is in preparation for having multiple data stores that offer different functionality, e.g. splitting out state or event storage.
* | | | | | | | | Merge branch 'master' into developBrendan Abolivier2019-10-181-1/+1
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | 1.4.1Brendan Abolivier2019-10-181-1/+1
| | | | | | | | | |
* | | | | | | | | | Merge pull request #6196 from matrix-org/erikj/awaitErik Johnston2019-10-186-114/+113
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Move rest/admin to use async/await.
| * | | | | | | | | | Port synapse/rest/client/_base.py to async/awaitErik Johnston2019-10-111-9/+5
| | | | | | | | | | |
| * | | | | | | | | | Add maybe_awaitable and fix __init__ bugsErik Johnston2019-10-112-2/+34
| | | | | | | | | | |
| * | | | | | | | | | Port synaps/rest/client/users.py to async/awaitErik Johnston2019-10-111-11/+7
| | | | | | | | | | |
| * | | | | | | | | | Port synaps/rest/client/server_notice_servlet.py to async/awaitErik Johnston2019-10-111-6/+3
| | | | | | | | | | |
| * | | | | | | | | | Port synaps/rest/client/media.py to async/awaitErik Johnston2019-10-111-16/+11
| | | | | | | | | | |
| * | | | | | | | | | Port rest/admin/__init__.py to async/awaitErik Johnston2019-10-111-72/+55
| | | | | | | | | | |
* | | | | | | | | | | Fix presence timeouts when synchrotron restarts. (#6212)Erik Johnston2019-10-181-4/+9
| |_|_|/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 tag 'v1.4.1rc1' into developRichard van der Hoff2019-10-171-1/+1
|\ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse 1.4.1rc1 (2019-10-17) ============================= Bugfixes -------- - Fix bug where redacted events were sometimes incorrectly censored in the database, breaking APIs that attempted to fetch such events. ([\#6185](https://github.com/matrix-org/synapse/issues/6185), [5b0e9948](https://github.com/matrix-org/synapse/commit/5b0e9948eaae801643e594b5abc8ee4b10bd194e))
| * | | | | | | | | 1.4.1rc1 v1.4.1rc1Richard van der Hoff2019-10-171-1/+1
| | | | | | | | | |
| * | | | | | | | | Do the update as a background indexErik Johnston2019-10-172-9/+51
| | | | | | | | | |
| * | | | | | | | | Merge pull request #6185 from matrix-org/erikj/fix_censored_evnetsErik Johnston2019-10-172-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix inserting bytes as text in `censor_redactions`
* | | | | | | | | | Merge pull request #6193 from matrix-org/uhoreg/interpret_device_key_in_storageHubert Chathi2019-10-112-12/+16
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | make storage layer in charge of interpreting the device key data
| * | | | | | | | | | expand on commentHubert Chathi2019-10-111-1/+2
| | | | | | | | | | |
| * | | | | | | | | | make sure we actually return somethingHubert Chathi2019-10-102-2/+9
| | | | | | | | | | |
| * | | | | | | | | | make storage layer in charge of interpreting the device key dataHubert Chathi2019-10-102-13/+9
| | | | | | | | | | |
* | | | | | | | | | | Merge pull request #6189 from matrix-org/uhoreg/e2e_backup_optional_versionHubert Chathi2019-10-112-3/+3
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | make version optional in body of e2e backup version update
| * | | | | | | | | | | make version optional in body of e2e backup version updateHubert Chathi2019-10-092-3/+3
| |/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to agree with latest version of the MSC
* | | | | | | | | | | Merge pull request #6195 from matrix-org/erikj/opentracing_preview_urlErik Johnston2019-10-112-5/+11
|\ \ \ \ \ \ \ \ \ \ \ | | |_|/ / / / / / / / | |/| | | | | | | | | Trace non-JSON APIs, /media, /key etc
| * | | | | | | | | | Trace non-JSON APIs, /media, /key etcErik Johnston2019-10-112-5/+11
| | | | | | | | | | |
* | | | | | | | | | | cas: support setting display name (#6114)Valérian Rousset2019-10-112-1/+6
|/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | Now, the CAS server can return an attribute stating what's the desired displayname, instead of using the username directly.
* | | | | | | | | | Fix MAU reaping where reserved users are specified. (#6168)Neil Johnson2019-10-112-42/+65
| | | | | | | | | |
* | | | | | | | | | Merge pull request #6156 from matrix-org/erikj/postgres_anyErik Johnston2019-10-1014-109/+189
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Use Postgres ANY for selecting many values.
| * | | | | | | | | | Fix SQLite take 2Erik Johnston2019-10-101-1/+1
| | | | | | | | | | |
| * | | | | | | | | | Fix SQLiteErik Johnston2019-10-101-1/+1
| | | | | | | | | | |
| * | | | | | | | | | Remove add_in_list_sql_clauseErik Johnston2019-10-104-34/+25
| | | | | | | | | | |
| * | | | | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/postgres_anyErik Johnston2019-10-103-3/+231
| |\ \ \ \ \ \ \ \ \ \ | | | |_|/ / / / / / / | | |/| | | | | | | |
| * | | | | | | | | | Replace IN usage with helper funcsErik Johnston2019-10-1011-97/+138
| | | | | | | | | | |
| * | | | | | | | | | Add helper funcs to use postgres ANYErik Johnston2019-10-101-8/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This means that we can write queries with `col = ANY(?)`, which helps postgres.
* | | | | | | | | | | Fix store_url_cache using bytesErik Johnston2019-10-101-2/+2
| | | | | | | | | | |
* | | | | | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-10-103-3/+231
|\ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | erikj/disable_sql_bytes
| * | | | | | | | | | Merge pull request #6127 from matrix-org/erikj/patch_innerErik Johnston2019-10-103-3/+231
| |\ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / | |/| | | | | | | | | Add more log context checks when patching inlineCallbacks
| | * | | | | | | | | Fixup commentsErik Johnston2019-10-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
| | * | | | | | | | | Fix py3.5Erik Johnston2019-10-101-1/+1
| | | | | | | | | | |
| | * | | | | | | | | Fix py3.5Erik Johnston2019-10-101-1/+1
| | | | | | | | | | |
| | * | | | | | | | | sortErik Johnston2019-10-101-3/+1
| | | | | | | | | | |
| | * | | | | | | | | Appease mypyErik Johnston2019-10-101-13/+18
| | | | | | | | | | |
| | * | | | | | | | | Add comentsErik Johnston2019-10-101-5/+25
| | | | | | | | | | |
| | * | | | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/patch_innerErik Johnston2019-10-1039-146/+521
| | |\ \ \ \ \ \ \ \ \
| | * | | | | | | | | | Fix packagingErik Johnston2019-10-101-2/+4
| | | | | | | | | | | |
| | * | | | | | | | | | Log correct contextErik Johnston2019-10-101-6/+6
| | | | | | | | | | | |
| | * | | | | | | | | | Test for sentinel commitErik Johnston2019-10-101-2/+19
| | | | | | | | | | | |
| | * | | | | | | | | | Move patch_inline_callbacks into synapse/Erik Johnston2019-10-102-1/+180
| | | | | | | | | | | |
| | * | | | | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/patch_innerErik Johnston2019-10-0962-1041/+1507
| | |\ \ \ \ \ \ \ \ \ \ | | | | |/ / / / / / / / | | | |/| | | | | | | |
| | * | | | | | | | | | Patch inlinecallbacks for log contextsErik Johnston2019-09-274-6/+13
| | | | | | | | | | | |
* | | | | | | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-10-1088-1620/+2239
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | erikj/disable_sql_bytes
| * | | | | | | | | | | Add domain validation when creating room with list of invitees (#6121)werner2912019-10-101-1/+3
| | | | | | | | | | | |
| * | | | | | | | | | | before fulfilling a group invite,check if user is already joined/invited (#3436)Michael Telatynski2019-10-101-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes vector-im/riot-web#5645
| * | | | | | | | | | | send 404 as http-status when filter-id is unknown to the server (#2380)krombel2019-10-102-22/+31
| | |_|/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-104-23/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | | | | | Rewrite the user_filter migration again (#6184)Richard van der Hoff2019-10-101-26/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | you can't plausibly ALTER TABLE in sqlite, so we create the new table with the right schema to start with.
| * | | | | | | | | | Move tag/push rules room upgrade checking ealier (#6155)Andrew Morgan2019-10-101-18/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that _local_membership_update doesn't run when you join a new, remote room. It only runs if you're joining a room that your server already knows about. This would explain #4703 and #5295 and why the transfer would work in testing and some rooms, but not others. This would especially hit single-user homeservers. The check has been moved to right after the room has been joined, and works much more reliably. (Though it may still be a bit awkward of a place).
| * | | | | | | | | | Refactor HomeserverConfig so it can be typechecked (#6137)Amber Brown2019-10-1033-79/+385
| | |/ / / / / / / / | |/| | | | | | | |
| * | | | | | | | | Merge pull request #6185 from matrix-org/erikj/fix_censored_evnetsErik Johnston2019-10-092-4/+28
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Fix inserting bytes as text in `censor_redactions`
| * \ \ \ \ \ \ \ \ \ Merge pull request #6178 from matrix-org/babolivier/factor_out_bg_updatesBrendan Abolivier2019-10-099-605/+670
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Factor out backgroung updates
| | * | | | | | | | | | Fix RegistrationStoreBrendan Abolivier2019-10-081-1/+1
| | | | | | | | | | | |
| | * | | | | | | | | | Cleanup client_ipsBrendan Abolivier2019-10-081-7/+0
| | | | | | | | | | | |
| | * | | | | | | | | | Don't end up with 4 classes in registrationBrendan Abolivier2019-10-081-52/+50
| | | | | | | | | | | |
| | * | | | | | | | | | LintBrendan Abolivier2019-10-073-3/+3
| | | | | | | | | | | |
| | * | | | | | | | | | Move roommember's bg updates to a dedicated storeBrendan Abolivier2019-10-071-108/+114
| | | | | | | | | | | |
| | * | | | | | | | | | Move user_directory's bg updates to a dedicated storeBrendan Abolivier2019-10-071-84/+94
| | | | | | | | | | | |
| | * | | | | | | | | | Move state's bg updates to a dedicated storeBrendan Abolivier2019-10-071-190/+204
| | | | | | | | | | | |
| | * | | | | | | | | | Move search's bg updates to a dedicated storeBrendan Abolivier2019-10-071-25/+31
| | | | | | | | | | | |
| | * | | | | | | | | | Move registration's bg updates to a dedicated storeBrendan Abolivier2019-10-071-95/+103
| | | | | | | | | | | |
| | * | | | | | | | | | Move media_repository's bg updates to a dedicated storeBrendan Abolivier2019-10-071-3/+9
| | | | | | | | | | | |
| | * | | | | | | | | | Move devices's bg updates to a dedicated storeBrendan Abolivier2019-10-071-22/+27
| | | | | | | | | | | |
| | * | | | | | | | | | Move deviceinbox's bg updates to a dedicated storeBrendan Abolivier2019-10-071-15/+22
| | | | | | | | | | | |
| | * | | | | | | | | | Move client_ips's bg updates to a dedicated storeBrendan Abolivier2019-10-071-94/+106
| | | | | | | | | | | |
| * | | | | | | | | | | add M_TOO_LARGE error code for uploading a too large file (#6151)Anshul Angaria2019-10-081-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #6109
| * | | | | | | | | | | Remove unused public room list timeout param (#6179)Andrew Morgan2019-10-081-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove unused public room list timeout param * Add changelog
| * | | | | | | | | | | Fix /federation/v1/state for recent room versions (#6170)Richard van der Hoff2019-10-081-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix /federation/v1/state for recent room versions Turns out this endpoint was completely broken for v3 rooms. Hopefully this re-signing code is irrelevant nowadays anyway.
| * | | | | | | | | | | Merge pull request #6161 from matrix-org/erikj/dont_regen_user_id_on_failureErik Johnston2019-10-071-6/+4
| |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Don't regenerate numeric user ID if registration fails.
| | * | | | | | | | | | | Remove unused variableErik Johnston2019-10-031-2/+0
| | | | | | | | | | | | |
| | * | | | | | | | | | | Don't regenerate numeric user ID if registration fails.Erik Johnston2019-10-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This causes huge amounts of DB IO if registrations start to fail e.g. because the DB is struggling with IO.
| * | | | | | | | | | | | Log responder we are using. (#6139)Michael Kaye2019-10-071-1/+1
| | |/ / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | This prevents us logging "Responding to media request with responder %s".
| * | | | | | | | | | | add some logging to the rooms stats updates, to try to track down a flaky ↵Richard van der Hoff2019-10-072-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | test (#6167)
| * | | | | | | | | | | Merge pull request #6175 from matrix-org/babolivier/fix_unique_user_filter_indexBrendan Abolivier2019-10-071-2/+2
| |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Fix unique_user_filter_index schema update
| | * | | | | | | | | | | Fix unique_user_filter_index schema updateBrendan Abolivier2019-10-071-2/+2
| | | | | | | | | | | | |
| * | | | | | | | | | | | Merge pull request #6159 from matrix-org/erikj/cache_membershipsErik Johnston2019-10-071-19/+45
| |\ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / | |/| | | | | | | | | | | Cache room membership lookups in _get_joined_users_from_context
| | * | | | | | | | | | | Fix bug where we didn't pull out event IDErik Johnston2019-10-071-1/+1
| | | | | | | | | | | | |
| | * | | | | | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-10-034-19/+43
| | |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | erikj/cache_memberships
| | * | | | | | | | | | | | Use the right error....Erik Johnston2019-10-031-1/+1
| | | | | | | | | | | | | |
| | * | | | | | | | | | | | pep8Erik Johnston2019-10-031-1/+0
| | | | | | | | | | | | | |
| | * | | | | | | | | | | | Fixup names and commentsErik Johnston2019-10-031-6/+7
| | | | | | | | | | | | | |
| | * | | | | | | | | | | | cachedList descriptor doesn't like typingErik Johnston2019-10-031-2/+2
| | | | | | | | | | | | | |
| | * | | | | | | | | | | | Cache room membership lookups in _get_joined_users_from_contextErik Johnston2019-10-031-19/+45
| | | |/ / / / / / / / / / | | |/| | | | | | | | | |
| * | | | | | | | | | | | Merge pull request #6147 from matrix-org/babolivier/3pid-invite-revokedBrendan Abolivier2019-10-041-2/+7
| |\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't 500 when trying to exchange a revoked 3PID invite
| | * | | | | | | | | | | | TypoBrendan Abolivier2019-10-041-1/+1
| | | | | | | | | | | | | |
| | * | | | | | | | | | | | LintBrendan Abolivier2019-10-041-3/+1
| | | | | | | | | | | | | |
| | * | | | | | | | | | | | Incorporate reviewBrendan Abolivier2019-10-041-14/+8
| | | | | | | | | | | | | |
| | * | | | | | | | | | | | Add test caseBrendan Abolivier2019-10-031-1/+1
| | | | | | | | | | | | | |
| | * | | | | | | | | | | | LintBrendan Abolivier2019-10-021-1/+3
| | | | | | | | | | | | | |
| | * | | | | | | | | | | | Don't 500 code when trying to exchange a revoked 3PID inviteBrendan Abolivier2019-10-021-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While this is not documented in the spec (but should be), Riot (and other clients) revoke 3PID invites by sending a m.room.third_party_invite event with an empty ({}) content to the room's state. When the invited 3PID gets associated with a MXID, the identity server (which doesn't know about revocations) sends down to the MXID's homeserver all of the undelivered invites it has for this 3PID. The homeserver then tries to talk to the inviting homeserver in order to exchange these invite for m.room.member events. When one of the invite is revoked, the inviting homeserver responds with a 500 error because it tries to extract a 'display_name' property from the content, which is empty. This might cause the invited server to consider that the server is down and not try to exchange other, valid invites (or at least delay it). This fix handles the case of revoked invites by avoiding trying to fetch a 'display_name' from the original invite's content, and letting the m.room.member event fail the auth rules (because, since the original invite's content is empty, it doesn't have public keys), which results in sending a 403 with the correct error message to the invited server.
| * | | | | | | | | | | | | Update `user_filters` table to have a unique index, and non-null columns (#1172)Alexander Maznev2019-10-041-0/+46
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | media/thumbnailer: Better quality for 1-bit / 8-bit color palette images (#2142)Robert Swain2019-10-041-3/+11
| | |_|/ / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pillow will use nearest neighbour as the resampling algorithm if the source image is either 1-bit or a color palette using 8 bits. If we convert to RGB before scaling, we'll probably get a better result.
| * | | | | | | | | | | | add some metrics on the federation sender (#6160)Richard van der Hoff2019-10-034-19/+43
| | |/ / / / / / / / / / | |/| | | | | | | | | |
| * | | | | | | | | | | Merge branch 'master' into developAndrew Morgan2019-10-032-3/+5
| |\ \ \ \ \ \ \ \ \ \ \ | | | |_|_|/ / / / / / / | | |/| | | | | | | | |
| * | | | | | | | | | | Merge pull request #6154 from matrix-org/erikj/fix_appservice_paginationErik Johnston2019-10-021-18/+18
| |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Fix appservice room list pagination
| | * | | | | | | | | | | Fix appservice room list paginationErik Johnston2019-10-021-18/+18
| | | | | | | | | | | | |
| * | | | | | | | | | | | Merge pull request #6153 from matrix-org/erikj/fix_room_list_non_federatableErik Johnston2019-10-021-0/+3
| |\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix not showing non-federatable rooms to remote room list queries
| | * | | | | | | | | | | | Fix not showing non-federatable rooms to remote room list queriesErik Johnston2019-10-021-0/+3
| | |/ / / / / / / / / / /
| * | | | | | | | | | | | Merge pull request #6148 from matrix-org/erikj/find_next_generatedErik Johnston2019-10-021-1/+3
| |\ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / | |/| | | | | | | | | | | Bound find_next_generated_user_id DB query.
| | * | | | | | | | | | | Bound find_next_generated_user_id DB query.Erik Johnston2019-10-021-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can easily bound the set of user IDs we pull out of the DB, so lets do that.
| * | | | | | | | | | | | Fix public room list pagination.Erik Johnston2019-10-022-27/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We incorrectly used `room_id` as to bound the result set, even though we order by `joined_members, room_id`, leading to incorrect results after pagination.
| * | | | | | | | | | | | Land improved room list based on room stats (#6019)Erik Johnston2019-10-025-311/+272
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use room_stats and room_state for room directory search
| * | | | | | | | | | | | Fix up some typechecking (#6150)Amber Brown2019-10-0220-40/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * type checking fixes * changelog
| * | | | | | | | | | | | Fix yields and copy instead of move push rules on room upgrade (#6144)Andrew Morgan2019-10-022-12/+8
| |/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Copy push rules during a room upgrade from the old room to the new room, instead of deleting them from the old room. For instance, we've defined upgrading of a room multiple times to be possible, and push rules won't be transferred on the second upgrade if they're deleted during the first. Also fix some missing yields that probably broke things quite a bit.
| * | | | | | | | | | | Merge branch 'release-v1.4.0' of github.com:matrix-org/synapse into developErik Johnston2019-10-026-19/+143
| |\ \ \ \ \ \ \ \ \ \ \ | | |_|/ / / / / / / / / | |/| | | | | | | | | |
| * | | | | | | | | | | Merge branch 'erikj/fixup_devices_last_seen_query' of ↵Erik Johnston2019-10-014-8/+55
| |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | github.com:matrix-org/synapse into develop
| * | | | | | | | | | | | Drop unused tables (#6115)Richard van der Hoff2019-09-301-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These tables are unused since #5893 (as amended by #6047), so we can now drop them. Fixes #6048.
| * | | | | | | | | | | | Edit SimpleHttpClient to reference that header keys can be passed as str or ↵Andrew Morgan2019-09-271-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bytes (#6077)
| * | | | | | | | | | | | Incorporate reviewBrendan Abolivier2019-09-271-4/+2
| | | | | | | | | | | | |
| * | | | | | | | | | | | Update synapse/handlers/deactivate_account.pyBrendan Abolivier2019-09-271-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
| * | | | | | | | | | | | Update synapse/handlers/deactivate_account.pyBrendan Abolivier2019-09-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
| * | | | | | | | | | | | LintBrendan Abolivier2019-09-271-3/+1
| | | | | | | | | | | | |
| * | | | | | | | | | | | Fixup and add some loggingBrendan Abolivier2019-09-271-1/+9
| | | | | | | | | | | | |
| * | | | | | | | | | | | Reject pending invites on deactivationBrendan Abolivier2019-09-271-0/+31
| | |_|_|_|/ / / / / / / | |/| | | | | | | | | |
| * | | | | | | | | | | Move lookup-related functions from RoomMemberHandler to IdentityHandler (#5978)Andrew Morgan2019-09-272-364/+359
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just to have all the methods that make calls to identity services in one place.
| * | | | | | | | | | | Merge pull request #6108 from matrix-org/erikj/remove_get_user_by_req-spanErik Johnston2019-09-272-1/+21
| |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Add some helpful opentracing tags and remove get_user_by_req span
| | * | | | | | | | | | | isortErik Johnston2019-09-251-1/+1
| | | | | | | | | | | | |
| | * | | | | | | | | | | Add device and appservice tagsErik Johnston2019-09-251-0/+3
| | | | | | | | | | | | |
| | * | | | | | | | | | | Add tags for event_id and txn_id in event sendingErik Johnston2019-09-251-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will make it easier to search for sending event requests.
| | * | | | | | | | | | | Don't create new span for get_user_by_reqErik Johnston2019-09-251-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't actually care about what happens in `get_user_by_req` and having it as a separate span means that the entity tag isn't added to the servlet spans, making it harder to search.
| * | | | | | | | | | | | Kill off half-implemented password-reset via sms (#6101)Richard van der Hoff2019-09-261-64/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Doing a password reset via SMS has never worked, and in any case is a silly idea because msisdn recycling is a thing. See also matrix-org/matrix-doc#2303.
* | | | | | | | | | | | | Do the update as a background indexErik Johnston2019-10-092-9/+51
| | | | | | | | | | | | |
* | | | | | | | | | | | | Disable bytes usage with postgresErik Johnston2019-10-083-3/+10
| |_|_|_|_|/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More often than not passing bytes to `txn.execute` is a bug (where we meant to pass a string) that just happens to work if `BYTEA_OUTPUT` is set to `ESCAPE`. However, this is a bit of a footgun so we want to instead error when this happens, and force using `bytearray` if we actually want to use bytes.
* | | | | | | | | | | | Fix existing hex encoded json values in DBErik Johnston2019-10-081-0/+26
| | | | | | | | | | | |
* | | | | | | | | | | | Fix inserting bytes as textErik Johnston2019-10-081-4/+2
| |_|_|_|/ / / / / / / |/| | | | | | | | | |
* | | | | | | | | | | 1.4.0 v1.4.0 github/release-v1.4.0 release-v1.4.0Andrew Morgan2019-10-031-1/+1
| | | | | | | | | | |
* | | | | | | | | | | Replace client_secret with <redacted> in server logs (#6158)Andrew Morgan2019-10-031-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace `client_secret` query parameter values with `<redacted>` in the logs. Prevents a scenario where a MITM of server traffic can horde 3pids on their account.
* | | | | | | | | | | 1.4.0rc2 v1.4.0rc2Andrew Morgan2019-10-021-1/+1
| |_|_|/ / / / / / / |/| | | | | | | | |
* | | | | | | | | | Merge pull request #6146 from matrix-org/erikj/fix_destination_retry_timingsErik Johnston2019-10-022-1/+19
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Fix errors storing large retry intervals.
| * | | | | | | | | | Fix errors storing large retry intervals.Erik Johnston2019-10-022-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* | | | | | | | | | | Merge pull request #6145 from matrix-org/erikj/fix_censored_redactionsErik Johnston2019-10-021-0/+14
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | | Fix fetching censored redactions from DB
| * | | | | | | | | | Fix fetching censored redactions from DBErik Johnston2019-10-021-0/+14
| | |_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fetching a censored redactions caused an exception due to the code expecting redactions to have a `redact` key, which redacted redactions don't have.
* | | | | | | | | | Use `received_ts` to find uncensored redacted eventsErik Johnston2019-10-011-14/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Joining against `events` and ordering by `stream_ordering` is inefficient as it forced scanning the entirety of the redactions table. This isn't the case if we use `redactions.received_ts` column as we can then use an index.
* | | | | | | | | | Add received_ts column to redactions.Erik Johnston2019-10-013-9/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow us to efficiently search for uncensored redactions in the DB before a given time.
* | | | | | | | | | Don't repeatedly attempt to censor events we don't have.Erik Johnston2019-10-011-1/+17
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we don't set `have_censored` column if we don't have the target event of a redaction, which means we repeatedly attempt to censor the same non-existant event. When we persist non-redacted events we unset the `have_censored` column for any redactions that target said event.
* | | | | | | | | Fix `devices_last_seen` background update.Erik Johnston2019-09-303-7/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #6134.
* | | | | | | | | Fix 'redaction_retention_period' sampel config to match guidelinesErik Johnston2019-09-261-1/+1
|/ / / / / / / /
* | | | | | | | Explicitly log when a homeserver does not have a trusted key server ↵Neil Johnson2019-09-262-12/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | configured (#6090)
* | | | | | | | bump versionRichard van der Hoff2019-09-261-1/+1
| | | | | | | |
* | | | | | | | Fix dummy event insertion consent bug (#6053)Neil Johnson2019-09-262-30/+87
| | | | | | | | | | | | | | | | | | | | | | | | Fixes #5905
* | | | | | | | Update comments and docstringRichard van der Hoff2019-09-251-4/+6
| | | | | | | |
* | | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-09-2519-404/+1106
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | erikj/cleanup_user_ips_2
| * \ \ \ \ \ \ \ Merge pull request #6089 from matrix-org/erikj/cleanup_user_ipsErik Johnston2019-09-252-49/+99
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Move last seen info into devices table
| | * \ \ \ \ \ \ \ Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-09-2518-400/+1104
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | erikj/cleanup_user_ips
| | * | | | | | | | | Use if `is not None`Erik Johnston2019-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
| * | | | | | | | | | Enable cleaning up extremities with dummy events by default to prevent undue ↵Neil Johnson2019-09-251-3/+1
| | |/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | build up of forward extremities. (#5884)
| * | | | | | | | | Threepid validity checks on msisdns should not be dependent on ↵Neil Johnson2019-09-251-29/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'threepid_behaviour_email'. (#6104) Fixes #6103
| * | | | | | | | | Stop advertising unsupported flows for registration (#6107)Richard van der Hoff2019-09-253-4/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-253-131/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-251-62/+62
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | | | Merge pull request #6092 from ↵Brendan Abolivier2019-09-242-6/+6
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | matrix-org/babolivier/background_update_deactivated_return Fix the return value in the users_set_deactivated_flag background job
| | * | | | | | | | Incorporate reviewBrendan Abolivier2019-09-241-3/+3
| | | | | | | | | |
| | * | | | | | | | Fix loggingBrendan Abolivier2019-09-241-1/+1
| | | | | | | | | |
| | * | | | | | | | TypoBrendan Abolivier2019-09-231-1/+1
| | | | | | | | | |
| | * | | | | | | | Fix the return value in the users_set_deactivated_flag background jobBrendan Abolivier2019-09-231-4/+4
| | | | | | | | | |
| * | | | | | | | | Merge remote-tracking branch 'origin/develop' into rav/saml_mapping_workRichard van der Hoff2019-09-244-8/+72
| |\ \ \ \ \ \ \ \ \
| | * | | | | | | | | remove unused parameter to get_user_id_by_threepid (#6099)Richard van der Hoff2019-09-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added in #5377, apparently in error
| | * | | | | | | | | Merge pull request #6069 from matrix-org/rav/fix_attribute_mappingRichard van der Hoff2019-09-242-7/+61
| | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Fix a bug with saml attribute maps.
| | | * | | | | | | | | docstrings and commentsRichard van der Hoff2019-09-241-7/+21
| | | | | | | | | | | |
| | | * | | | | | | | | Merge branch 'develop' into rav/fix_attribute_mappingRichard van der Hoff2019-09-19181-2622/+6021
| | | |\ \ \ \ \ \ \ \ \
| | | * | | | | | | | | | Fix a bug with saml attribute maps.Richard van der Hoff2019-09-192-7/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a bug where the default attribute maps were prioritised over user-specified ones, resulting in incorrect mappings. The problem is that if you call SPConfig.load() multiple times, it adds new attribute mappers to a list. So by calling it with the default config first, and then the user-specified config, we would always get the default mappers before the user-specified mappers. To solve this, let's merge the config dicts first, and then pass them to SPConfig.
| | * | | | | | | | | | | Add sid to next_link for email validation (#6097)J. Ryan Stinnett2019-09-241-0/+10
| | | | | | | | | | | | |
| * | | | | | | | | | | | Merge remote-tracking branch 'origin/develop' into rav/saml_mapping_workRichard van der Hoff2019-09-2420-196/+674
| |\| | | | | | | | | | |
| | * | | | | | | | | | | Add submit_url response parameter to msisdn /requestToken (#6079)Andrew Morgan2019-09-232-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Second part of solving #6076 Fixes #6076 We return a submit_url parameter on calls to POST */msisdn/requestToken so that clients know where to submit token information to.
| | * | | | | | | | | | | Add an unstable feature flag for separate add/bind 3pid APIs (#6044)Andrew Morgan2019-09-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a m.separate_add_and_bind flag set to True. See MSC2290's Backward Compatibility section for details.
| | * | | | | | | | | | | Merge pull request #6064 from matrix-org/rav/saml_config_cleanupRichard van der Hoff2019-09-231-51/+62
| | |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the sample saml config closer to our standards
| | | * \ \ \ \ \ \ \ \ \ \ Merge branch 'develop' into rav/saml_config_cleanupRichard van der Hoff2019-09-19181-2622/+6021
| | | |\ \ \ \ \ \ \ \ \ \ \ | | | | | |/ / / / / / / / / | | | | |/| | | | | | | | |
| | * | | | | | | | | | | | Use the federation blacklist for requests to untrusted Identity Servers (#6000)Andrew Morgan2019-09-233-4/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Uses a SimpleHttpClient instance equipped with the federation_ip_range_blacklist list for requests to identity servers provided by user input. Does not use a blacklist when contacting identity servers specified by account_threepid_delegates. The homeserver trusts the latter and we don't want to prevent homeserver admins from specifying delegates that are on internal IP addresses. Fixes #5935
| | * | | | | | | | | | | | Add m.id_access_token to /versions unstable_features (MSC2264) (#5974)Andrew Morgan2019-09-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a flag to /versions' unstable_features section indicating that this Synapse understands what an id_access_token is, as per MSC2264. Fixes #5927
| | * | | | | | | | | | | | Add m.require_identity_server to /versions unstable_flags (#5972)Andrew Morgan2019-09-231-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As MSC2263 states, m.require_identity_server must be set to false when it does not require an identity server to be provided by the client for the purposes of email registration or password reset. Adds an m.require_identity_server flag to /versionss unstable_flags section. This will advertise that Synapse no longer needs id_server as a parameter.
| | * | | | | | | | | | | | Add POST submit_token endpoint for MSISDN (#6078)Andrew Morgan2019-09-232-2/+79
| | | |_|_|/ / / / / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | First part of solving #6076
| | * | | | | | | | | | | Implement MSC2290 (#6043)Andrew Morgan2019-09-235-125/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements MSC2290. This PR adds two new endpoints, /unstable/account/3pid/add and /unstable/account/3pid/bind. Depending on the progress of that MSC the unstable prefix may go away. This PR also removes the blacklist on some 3PID tests which occurs in #6042, as the corresponding Sytest PR changes them to use the new endpoints. Finally, it also modifies the account deactivation code such that it doesn't just try to deactivate 3PIDs that were bound to the user's account, but any 3PIDs that were bound through the homeserver on that user's account.
| * | | | | | | | | | | | Merge commit '33757bad1' into rav/saml_mapping_workRichard van der Hoff2019-09-201-1/+2
| |\ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | More better loggingRichard van der Hoff2019-09-201-1/+2
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | Merge branch 'develop' into rav/saml_mapping_workRichard van der Hoff2019-09-19181-2622/+6021
| |\ \ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / / | |/| | | / / / / / / / / / | | | |_|/ / / / / / / / / | | |/| | | | | | | | | |
| * | | | | | | | | | | | better loggingRichard van der Hoff2019-09-191-0/+2
| | | | | | | | | | | | |
| * | | | | | | | | | | | Record mappings from saml users in an external tableRichard van der Hoff2019-09-135-10/+250
| | |_|/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to assign unique mxids to saml users based on an incrementing suffix. For that to work, we need to record the allocated mxid in a separate table.
| * | | | | | | | | | | Make the sample saml config closer to our standardsRichard van der Hoff2019-09-131-51/+62
| | |_|/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It' still not great, thanks to the nested dictionaries, but it's better.
* | | | | | | | | | | Review commentsErik Johnston2019-09-253-6/+3
| | | | | | | | | | |
* | | | | | | | | | | Prune rows in user_ips older than configured periodErik Johnston2019-09-242-8/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Defaults to pruning everything older than 28d.
* | | | | | | | | | | Add has_completed_background_updateErik Johnston2019-09-241-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows checking if a specific background update has completed.
* | | | | | | | | | | Add wrap_as_background_process decorator.Erik Johnston2019-09-241-1/+28
| |_|_|/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This does the same thing as `run_as_background_process` but means we don't need to create superfluous functions.
* | | | | | | | | | Query devices table for last seen info.Erik Johnston2019-09-231-49/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 BG update to populate devices last seen infoErik Johnston2019-09-232-0/+55
| | | | | | | | | |
* | | | | | | | | | Add last seen info to devices table.Erik Johnston2019-09-232-0/+36
| |_|/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to purge old user_ips entries without having to preserve the latest last seen info for active devices.
* | | | | | | | | Disable /register/available if registration is disabled (#6082)Andrew Morgan2019-09-231-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #6066 This register endpoint should be disabled if registration is disabled, otherwise we're giving anyone the ability to check if a username exists on a server when we don't need to be. Error code is 403 (Forbidden) as that's the same returned by /register when registration is disabled.
* | | | | | | | | Generalize email sending logging (#6075)Andrew Morgan2019-09-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In ancient times Synapse would only send emails when it was notifying a user about a message they received... Now it can do all sorts of neat things! Change the logging so it's not just about notifications.
* | | | | | | | | Return timeout error to user for identity server calls (#6073)Andrew Morgan2019-09-232-11/+37
| | | | | | | | |
* | | | | | | | | Merge pull request #6072 from matrix-org/rav/fix_retry_resetRichard van der Hoff2019-09-231-1/+1
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix exception when resetting retry timings
| * | | | | | | | | Fix exception when resetting retry timingsRichard van der Hoff2019-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: > TypeError: set_destination_retry_timings() missing 1 required positional argument: 'retry_interval' Introduced in #6016.
* | | | | | | | | | fix broken copyrightsMatthew Hodgson2019-09-232-2/+2
| | | | | | | | | |
* | | | | | | | | | Allow HS to send emails when adding an email to the HS (#6042)Andrew Morgan2019-09-2010-72/+346
| | | | | | | | | |
* | | | | | | | | | Remove trailing slash ability from password reset's submit_token endpoint ↵Andrew Morgan2019-09-201-1/+1
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#6074) Remove trailing slash ability from the password reset submit_token endpoint. Since we provide the link in an email, and have never sent it with a trailing slash, there's no point for us to accept them on the endpoint.
* | | | | | | | | Ensure email validation link parameters are URL-encoded (#6063)Andrew Morgan2019-09-201-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | The validation links sent via email had their query parameters inserted without any URL-encoding. Surprisingly this didn't seem to cause any issues, but if a user were to put a `/` in their client_secret it could lead to problems.
* | | | | | | | | Drop support for bind param on POST /account/3pid (MSC2290) (#6067)Andrew Morgan2019-09-201-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | As per [MSC2290](https://github.com/matrix-org/matrix-doc/pull/2290/files#diff-05cde9463e9209b701312b3baf2fb2ebR151), we're dropping the bind parameter from `/account/3pid`. This endpoint can now only be used for adding threepid's to the user's account on the homeserver.
* | | | | | | | | Use unstable prefix for 3PID unbind API (#6062)J. Ryan Stinnett2019-09-191-1/+1
| | | | | | | | |
* | | | | | | | | Undo the deletion of some tables (#6047)Richard van der Hoff2019-09-191-20/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a partial revert of #5893. The problem is that if we drop these tables in the same release as removing the code that writes to them, it prevents users users from being able to roll back to a previous release. So let's leave the tables in place for now, and remember to drop them in a subsequent release. (Note that these tables haven't been *read* for *years*, so any missing rows resulting from a temporary upgrade to vNext won't cause a problem.)
* | | | | | | | | Remove POST method from password reset submit_token endpoint (#6056)Andrew Morgan2019-09-191-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Removes the POST method from `/password_reset/<medium>/submit_token/` as it's only used by phone number verification which Synapse does not support yet.
* | | | | | | | | Fix typo in account_threepid_delegates config (#6028)Jorik Schellekens2019-09-181-1/+1
| | | | | | | | |
* | | | | | | | | Fix logcontext spam on non-Linux platforms (#6059)J. Ryan Stinnett2019-09-181-2/+11
| |/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This checks whether the current platform supports thread resource usage tracking before logging a warning to avoid log spam. Fixes https://github.com/matrix-org/synapse/issues/6055
* | | | | | | | v2 3PID Invites (part of MSC2140) (#5979)Andrew Morgan2019-09-171-23/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3PID invites require making a request to an identity server to check that the invited 3PID has an Matrix ID linked, and if so, what it is. These requests are being made on behalf of a user. The user will supply an identity server and an access token for that identity server. The homeserver will then forward this request with the access token (using an `Authorization` header) and, if the given identity server doesn't support v2 endpoints, will fall back to v1 (which doesn't require any access tokens). Requires: ~~#5976~~
* | | | | | | | (#5849) Convert rst to markdown (#6040)dstipp2019-09-171-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Converting some of the rst documentation to markdown. Attempted to preserve whitespace and line breaks to minimize cosmetic change.
* | | | | | | | Fix race condition in room stats. (#6029)Erik Johnston2019-09-171-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Broke in #5971 Basically the bug is that if get_current_state_deltas returns no new updates and we then take the max pos, its possible that we miss an update that happens in between the two calls. (e.g. get_current_state_deltas looks up to stream pos 5, then an event persists and so getting the max stream pos returns 6, meaning that next time we check for things with a stream pos bigger than 6)
* | | | | | | | Add 'failure_ts' column to 'destinations' table (#6016)Richard van der Hoff2019-09-173-8/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-143-15/+22
| | | | | | | |
* | | | | | | | Fix for structured logging tests stomping on logs (#6023)Amber Brown2019-09-137-24/+45
| | | | | | | |
* | | | | | | | Remove the cap on federation retry interval. (#6026)Richard van der Hoff2019-09-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Essentially the intention here is to end up blacklisting servers which never respond to federation requests. Fixes https://github.com/matrix-org/synapse/issues/5113.
* | | | | | | | Fix bug in calculating the federation retry backoff period (#6025)Richard van der Hoff2019-09-121-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was intended to introduce an element of jitter; instead it gave you a 30/60 chance of resetting to zero.
* | | | | | | | Fix SSO fallback loginDavid Baker2019-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Well, it worked, but forgot to remove the thing saying login was unavailable.
* | | | | | | | add report_stats_endpoint config option (#6012)Sorunome2019-09-122-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | This PR adds the optional `report_stats_endpoint` to configure where stats are reported to, if enabled.
* | | | | | | | Blow up config if opentracing is missing (#5985)Jorik Schellekens2019-09-121-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Blow up config if opentracing is missing