summary refs log tree commit diff
path: root/synapse (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Limit in flight DNS requestsErik Johnston2019-04-091-1/+82
| | | | | | | This is to work around a bug in twisted where a large number of concurrent DNS requests cause it to tight loop forever. c.f. https://twistedmatrix.com/trac/ticket/9620#ticket
* Merge pull request #5027 from matrix-org/babolivier/account_expirationBrendan Abolivier2019-04-095-0/+84
|\ | | | | Add time-based account expiration
| * Add account expiration featureBrendan Abolivier2019-04-096-1/+85
| |
* | Merge pull request #5030 from matrix-org/rav/rewrite_g_s_v_kRichard van der Hoff2019-04-093-71/+72
|\ \ | | | | | | Rewrite Datastore.get_server_verify_keys
| * | Rewrite Datastore.get_server_verify_keysRichard van der Hoff2019-04-092-49/+63
| | | | | | | | | | | | Rewrite this so that it doesn't hammer the database.
| * | Replace SlavedKeyStore with a shimRichard van der Hoff2019-04-081-14/+4
| | | | | | | | | | | | | | | since we're pulling everything out of KeyStore anyway, we may as well simplify it.
| * | Remove redundant merged_keys dictRichard van der Hoff2019-04-081-8/+5
| | | | | | | | | | | | | | | | | | There's no point in collecting a merged dict of keys: it is sufficient to consider just the new keys which have been fetched by the most recent key_fetch_fns.
* | | Bump psycopg requirement (#5032)Richard van der Hoff2019-04-091-1/+3
|/ /
* | Remove unused server_tls_certificates functions (#5028)Richard van der Hoff2019-04-084-62/+5
| | | | | | | | These have been unused since #4120, and with the demise of perspectives, it is unlikely that they will ever be used again.
* | add context to phonehome stats (#5020)Neil Johnson2019-04-082-1/+5
| | | | | | | | add context to phonehome stats
* | Merge pull request #5024 from matrix-org/rav/record_correct_server_in_serverkeysRichard van der Hoff2019-04-081-1/+1
|\ \ | | | | | | Fix from_server buglet in get_keys_from_perspectives
| * | Fix from_server buglet in get_keys_from_perspectivesRichard van der Hoff2019-04-081-1/+1
| | | | | | | | | | | | | | | make sure we store the name of the server the keys came from, rather than the origin server, after doing a fetch-from-perspectives.
* | | drop tables listed in #1830 (#4992)Neil Johnson2019-04-0824-752/+42
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tables dropped: * application_services, * application_services_regex, * transaction_id_to_pdu, * stats_reporting * current_state_resets * event_content_hashes * event_destinations * event_edge_hashes * event_signatures * feedback * room_hosts * state_forward_extremities
* | Merge pull request #5001 from matrix-org/rav/keyring_cleanupsRichard van der Hoff2019-04-082-33/+50
|\ \ | | | | | | Cleanups in the Keyring
| * | Hoist server_name check out of process_v2_responseRichard van der Hoff2019-04-041-13/+7
| | | | | | | | | | | | | | | It's easier to check it in the caller than to complicate the interface with an extra param.
| * | Clean up Keyring.process_v2_responseRichard van der Hoff2019-04-041-23/+46
| | | | | | | | | | | | | | | | | | Make this just return the key dict, rather than a single-entry dict mapping the server name to the key dict. It's easy for the caller to get the server name from from the response object anyway.
| * | Fix docstring on get_server_keys_jsonRichard van der Hoff2019-04-041-2/+2
| | |
* | | Add config option to block users from looking up 3PIDs (#5010)Brendan Abolivier2019-04-042-0/+10
| | |
* | | Clean up the database pagination code (#5007)Amber Brown2019-04-052-67/+63
| | | | | | | | | | | | | | | | | | | | | | | | * rewrite & simplify * changelog * cleanup potential sql injection
* | | Merge pull request #5002 from matrix-org/erikj/delete_groupErik Johnston2019-04-043-0/+136
|\ \ \ | | | | | | | | Add delete group admin API
| * | | Add admin API for group deletionErik Johnston2019-04-031-0/+26
| | | |
| * | | Add functions to delete a groupErik Johnston2019-04-032-0/+110
| | | |
* | | | Prevent kicking users who aren't in the room (#4999)Andrew Morgan2019-04-041-0/+9
| | | | | | | | | | | | Prevent kick events from succeeding if the user is not currently in the room.
* | | | Avoid redundant URL encoding (#4555)Marcel Krüger2019-04-041-1/+1
|/ / / | | | | | | | | | | | | | | | | | | * Do not double encode fallback redirect URL Signed-off-by: Marcel Fabian Krüger <zauguin@gmail.com>
* / / Fix grammar and document get_current_users_in_room (#4998)Andrew Morgan2019-04-0311-18/+29
|/ /
* | Remove presence lists (#4989)Neil Johnson2019-04-037-338/+22
| | | | | | Remove presence list support as per MSC 1819
* | Merge pull request #4982 from matrix-org/erikj/msc1915Erik Johnston2019-04-036-17/+215
|\ \ | | | | | | Implement MSC1915 - 3PID unbind APIs
| * | Correctly handle id_server paramErik Johnston2019-04-021-0/+1
| | |
| * | Remove threepid binding if id server returns 400/404/501Erik Johnston2019-04-021-9/+10
| | |
| * | Fixup docstringsErik Johnston2019-04-023-7/+9
| | |
| * | Add unbind API to /r0 as it is now stabalisedErik Johnston2019-04-011-1/+1
| | |
| * | Grandfather in existing user threepidsErik Johnston2019-04-012-0/+37
| | | | | | | | | | | | | | | | | | We assume, as we did before, that users bound their threepid to one of the trusted identity servers. So we simply fill the new table with all threepids in `user_threepids` joined with the trusted identity servers.
| * | Allowing specifying IS to use in unbind API.Erik Johnston2019-04-014-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default the homeserver will use the identity server used during the binding of the 3PID to unbind the 3PID. However, we need to allow clients to explicitly ask the homeserver to unbind via a particular identity server, for the case where the 3PID was bound out of band from the homeserver. Implements MSC915.
| * | For unbind poke IS used during binding of 3PIDErik Johnston2019-04-011-9/+35
| | | | | | | | | | | | | | | | | | | | | | | | This changes the behaviour from using the server specified trusted identity server to using the IS that used during the binding of the 3PID, if known. This is the behaviour specified by MSC1915.
| * | Track IS used to bind 3PIDsErik Johnston2019-04-013-0/+119
| | | | | | | | | | | | | | | This will then be used to know which IS to default to when unbinding the threepid.
* | | Run black on the rest of the storage module (#4996)Amber Brown2019-04-0341-2455/+2130
| | |
* | | Merge pull request #4991 from matrix-org/erikj/stagger_push_startupErik Johnston2019-04-024-8/+73
|\ \ \ | | | | | | | | Make starting pushers faster during start up
| * | | Make starting pushers faster during start upErik Johnston2019-04-024-8/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We start all pushers on start up and immediately start a background process to fetch push to send. This makes start up incredibly painful when dealing with many pushers. Instead, let's do a quick fast DB check to see if there *may* be push to send and only start the background processes for those pushers. We also stagger starting up and doing those checks so that we don't try and handle all pushers at once.
* | | | Transfer related groups on room upgrade (#4990)Andrew Morgan2019-04-022-0/+2
| | | | | | | | | | | | Transfers the m.room.related_groups state event on room upgrade.
* | | | Add config.signing_key_path. (#4974)Richard van der Hoff2019-04-021-1/+2
|/ / / | | | | | | | | | | | | | | | As requested by @andrewshadura
* | | Fix sync bug when accepting invites (#4956)Richard van der Hoff2019-04-023-20/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hopefully this time we really will fix #4422. We need to make sure that the cache on `get_rooms_for_user_with_stream_ordering` is invalidated *before* the SyncHandler is notified for the new events, and we can now do so reliably via the `events` stream.
* | | Merge branch 'master' into developNeil Johnson2019-04-011-1/+1
|\ \ \ | | |/ | |/|
| * | 0.99.3 v0.99.3 github/release-v0.99.3 release-v0.99.3Neil Johnson2019-04-011-1/+1
| | |
| * | bump versionNeil Johnson2019-03-271-1/+1
| | |
* | | Collect room-version variations into one place (#4969)Richard van der Hoff2019-04-0118-142/+188
| |/ |/| | | | | Collect all the things that make room-versions different to one another into one place, so that it's easier to define new room versions.
* | Merge pull request #4955 from matrix-org/rav/merge_state_into_eventsRichard van der Hoff2019-03-288-49/+140
|\ \ | | | | | | Combine the CurrentStateDeltaStream into the EventStream
| * | Combine the CurrentStateDeltaStream into the EventStreamRichard van der Hoff2019-03-275-33/+43
| | |
| * | Make EventStream rows have a typeRichard van der Hoff2019-03-274-17/+98
| | | | | | | | | | | | ... as a precursor to combining it with the CurrentStateDelta stream.
* | | Merge pull request #4954 from matrix-org/rav/refactor_parse_rowRichard van der Hoff2019-03-283-5/+21
|\ \ \ | | | | | | | | Refactors to replication stream row update/parsing
| * \ \ Merge remote-tracking branch 'origin/develop' into rav/refactor_parse_rowRichard van der Hoff2019-03-282-380/+335
| |\ \ \ | | |/ / | |/| |
| * | | Skip building a ROW_TYPE when building updatesRichard van der Hoff2019-03-271-2/+2
| | | | | | | | | | | | | | | | | | | | We're about to turn it straight into a JSON object anyway so building a ROW_TYPE is a bit pointless, and reduces flexibility in the update_function.
| * | | Add parse_row method to replication stream classRichard van der Hoff2019-03-273-3/+19
| | | | | | | | | | | | | | | | This will allow individual stream classes to override how a row is parsed.
* | | | remove log line for password (#4965)Neil Johnson2019-03-281-2/+0
| | | | | | | | | | | | | | | | Remove log line for password.
* | | | Allow password providers to bind emails (#4947)Andrew Morgan2019-03-282-4/+22
| | | | | | | | | | | | This PR allows password provider modules to bind email addresses when a user is registering and is motivated by matrix-org/matrix-synapse-ldap3#58
* | | | Merge pull request #4942 from matrix-org/erikj/fix_presenceErik Johnston2019-03-283-32/+236
|\ \ \ \ | |_|/ / |/| | | Use event streams to calculate presence
| * | | Use an assertErik Johnston2019-03-281-2/+1
| | | |
| * | | Review commentsErik Johnston2019-03-281-44/+62
| | | |
| * | | Use event streams to calculate presenceErik Johnston2019-03-273-32/+219
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Primarily this fixes a bug in the handling of remote users joining a room where the server sent out the presence for all local users in the room to all servers in the room. We also change to using the state delta stream, rather than the distributor, as it will make it easier to split processing out of the master process (as well as being more flexible). Finally, when sending presence states to newly joined servers we filter out old presence states to reduce the number sent. Initially we filter out states that are offline and have a last active more than a week ago, though this can be changed down the line. Fixes #3962
* | | Merge pull request #4953 from matrix-org/rav/refactor_replication_streamsRichard van der Hoff2019-03-286-76/+133
|\ \ \ | | |/ | |/| Split up replication.tcp.streams into smaller files
| * | move FederationStream out to its own fileRichard van der Hoff2019-03-274-23/+43
| | |
| * | move EventsStream out to its own fileRichard van der Hoff2019-03-273-23/+42
| | |
| * | Move replication.tcp.streams into a packageRichard van der Hoff2019-03-273-34/+52
| | |
* | | Run `black` on some storage modules that the stats branch touches (#4959)Amber Brown2019-03-292-380/+335
|/ /
* / Fix/improve some docstrings in the replication code. (#4949)Richard van der Hoff2019-03-272-7/+19
|/
* Support 3PID login in password providers (#4931)Andrew Morgan2019-03-266-26/+122
| | | | | Adds a new method, check_3pid_auth, which gives password providers the chance to allow authentication with third-party identifiers such as email or msisdn.
* Use the state event amount for userdir import batching, not room count (#4944)Amber Brown2019-03-271-8/+20
|
* Make federation endpoints more tolerant of trailing slashes v2 (#4935)Andrew Morgan2019-03-263-8/+9
| | | Redo of https://github.com/matrix-org/synapse/pull/4840
* Fix ClientReplicationStreamProtocol.__str__ (#4929)Richard van der Hoff2019-03-252-4/+5
| | | | | | | | `__str__` depended on `self.addr`, which was absent from ClientReplicationStreamProtocol, so attempting to call str on such an object would raise an exception. We can calculate the peer addr from the transport, so there is no need for addr anyway.
* Fix bug where read-receipts lost their timestamps (#4927)Richard van der Hoff2019-03-253-12/+30
| | | | | Make sure that they are sent correctly over the replication stream. Fixes: #4898
* Refactor out state delta handling into its own class (#4917)Amber Brown2019-03-254-110/+151
|
* Merge pull request #4869 from matrix-org/erikj/yaml_loadErik Johnston2019-03-223-5/+5
|\ | | | | Fix yaml warnings by using safe_load
| * Use yaml safe_loadErik Johnston2019-03-223-5/+5
| |
* | Remove trailing slashes from outbound federation requests and retry on 400 ↵Andrew Morgan2019-03-212-17/+89
|\ \ | |/ |/| | | | | (#4840) As per #3622, we remove trailing slashes from outbound federation requests. However, to ensure that we remain backwards compatible with previous versions of Synapse, if we receive a HTTP 400 with `M_UNRECOGNIZED`, then we are likely talking to an older version of Synapse in which case we retry with a trailing slash appended to the request path.
| * Clean up backoff_on_404 and metehod callsAndrew Morgan2019-03-211-9/+13
| |
| * kwargs doesn't like commas on calling funcs either. TILAndrew Morgan2019-03-201-2/+2
| |
| * lintAndrew Morgan2019-03-201-2/+6
| |
| * New test, fix issuesAndrew Morgan2019-03-201-49/+28
| |
| * Fix comments. v0.99.2 -> v0.99.3Andrew Morgan2019-03-201-5/+5
| |
| * Just return if not doing any trailing slash shennanigansAndrew Morgan2019-03-201-0/+2
| |
| * lintAndrew Morgan2019-03-181-1/+1
| |
| * Better exception handlingAndrew Morgan2019-03-181-16/+17
| |
| * Correct var nameAndrew Morgan2019-03-131-2/+2
| |
| * receiving a 400 caused an exception. handle itAndrew Morgan2019-03-131-5/+12
| |
| * is this what purgatory feels likeAndrew Morgan2019-03-131-3/+3
| |
| * i should have given up x2Andrew Morgan2019-03-131-18/+13
| |
| * i should have given upAndrew Morgan2019-03-131-1/+1
| |
| * there comes a time when you should give up. but you dontAndrew Morgan2019-03-131-1/+1
| |
| * as aboveAndrew Morgan2019-03-131-2/+4
| |
| * no kwargs todayAndrew Morgan2019-03-131-7/+12
| |
| * Or perhaps I was the one who was drunkAndrew Morgan2019-03-131-6/+3
| |
| * go home python, you're drunkAndrew Morgan2019-03-131-4/+2
| |
| * Syntax checker is borkAndrew Morgan2019-03-131-6/+5
| |
| * Destructure againAndrew Morgan2019-03-131-7/+8
| |
| * Are you happy nowAndrew Morgan2019-03-131-2/+2
| |
| * Syntax testAndrew Morgan2019-03-131-6/+5
| |
| * Remove testing codeAndrew Morgan2019-03-131-3/+0
| |
| * Add missing docstring detailAndrew Morgan2019-03-131-1/+1
| |
| * Fix syntax issuesAndrew Morgan2019-03-131-7/+10
| |
| * Switch to wrapper function around _send_requestAndrew Morgan2019-03-132-37/+76
| |
| * Retry on 400:M_UNRECOGNIZEDAndrew Morgan2019-03-131-6/+10
| |
| * Fix paranthesis indentAndrew Morgan2019-03-131-1/+2
| |
| * Add workaround noteAndrew Morgan2019-03-131-10/+4
| |
| * Cleaner way of implementing trailing slashesAndrew Morgan2019-03-122-68/+62
| |
| * Merge branch 'develop' into anoa/trailing_slashes_clientAndrew Morgan2019-03-112-9/+9
| |\
| * \ Merge branch 'develop' into anoa/trailing_slashes_clientAndrew Morgan2019-03-114-19/+53
| |\ \
| * | | lintAndrew Morgan2019-03-081-1/+3
| | | |
| * | | Retry certain federation requests on 404Andrew Morgan2019-03-082-5/+50
| | | |
| * | | Remove trailing slashes from outbound federation requestsAndrew Morgan2019-03-081-7/+7
| | | |
* | | | Merge pull request #4908 from matrix-org/erikj/block_peek_on_blocked_roomsErik Johnston2019-03-212-2/+11
|\ \ \ \ | | | | | | | | | | Deny peeking into rooms that have been blocked
| * | | | Deny peeking into rooms that have been blockedErik Johnston2019-03-212-2/+11
| | | | |
* | | | | Merge pull request #4904 from matrix-org/erikj/fix_shutdownErik Johnston2019-03-216-24/+62
|\| | | | | | | | | | | | | | Fixup shutdown room API
| * | | | Fix upsertErik Johnston2019-03-211-0/+1
| | | | |
| * | | | Revert spurious deleteErik Johnston2019-03-201-0/+4
| | | | |
| * | | | comment block_roomErik Johnston2019-03-201-0/+9
| | | | |
| * | | | Use flagsErik Johnston2019-03-205-15/+17
| | | | |
| * | | | Move requester check into assert_accepted_privacy_policyErik Johnston2019-03-201-5/+8
| | | | |
| * | | | Gracefully handle failing to kick userErik Johnston2019-03-201-19/+27
| | | | |
| * | | | Log new room IDErik Johnston2019-03-201-1/+6
| | | | |
| * | | | Only require consent for events with an associated requestErik Johnston2019-03-201-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a number of instances where a server or admin may puppet a user to join/leave rooms, which we don't want to fail if the user has not consented to the privacy policy. We fix this by adding a check to test if the requester has an associated access_token, which is used as a proxy to answer the question of whether the action is being done on behalf of a real request from the user.
| * | | | Allow blocking a room multiple timesErik Johnston2019-03-201-2/+4
| | | | |
* | | | | Merge pull request #4896 from matrix-org/erikj/disable_room_directoryErik Johnston2019-03-213-0/+32
|\ \ \ \ \ | | | | | | | | | | | | Add option to disable search room lists
| * | | | | Disable publishing to room list when its disabledErik Johnston2019-03-201-0/+8
| | | | | |
| * | | | | Pull out config optionErik Johnston2019-03-201-3/+3
| | | | | |
| * | | | | Return before we logErik Johnston2019-03-201-4/+5
| | | | | |
| * | | | | Fix up config commentsErik Johnston2019-03-201-3/+4
| | | | | |
| * | | | | Add option to disable search room listsErik Johnston2019-03-192-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | This disables both local and remote room list searching.
* | | | | | Merge pull request #4895 from matrix-org/erikj/disable_user_searchErik Johnston2019-03-202-0/+15
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | Add option to disable searching in the user dir
| * | | | | Fix up sample configErik Johnston2019-03-201-2/+4
| | | | | |
| * | | | | Update synapse/config/user_directory.pyRichard van der Hoff2019-03-201-1/+1
| | | | | | | | | | | | | | | | | | Co-Authored-By: erikjohnston <erikj@jki.re>
| * | | | | Add option to disable searching in the user dirErik Johnston2019-03-192-0/+13
| |/ / / / | | | | | | | | | | | | | | | We still populate it, as it can still be accessed via the admin API.
* | | | | Batching in the user directory import (#4900)Amber Brown2019-03-211-0/+13
| | | | |
* | | | | Add a config option for torture-testing worker replication. (#4902)Richard van der Hoff2019-03-202-1/+22
| | | | | | | | | | | | | | | Setting this to 50 or so makes a bunch of sytests fail in worker mode.
* | | | | Batch up outgoing read-receipts to reduce federation traffic. (#4890)Richard van der Hoff2019-03-204-22/+171
|/ / / / | | | | | | | | | | | | Rate-limit outgoing read-receipts as per #4730.
* | | | Use a regular HomeServerConfig object for unit testsRichard van der Hoff2019-03-192-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than using a Mock for the homeserver config, use a genuine HomeServerConfig object. This makes for a more realistic test, and means that we don't have to keep remembering to add things to the mock config every time we add a new config setting.
* | | | Merge remote-tracking branch 'origin/develop' into HEADRichard van der Hoff2019-03-193-4/+16
|\ \ \ \
| * | | | fix test_auto_create_auto_join_where_no_consent (#4886)Neil Johnson2019-03-192-3/+15
| | | | |
| * | | | Fix user directory background update (#4887)Erik Johnston2019-03-191-1/+1
| | | | |
* | | | | Enforce hs_disabled_message correctlyRichard van der Hoff2019-03-191-3/+5
|/ / / / | | | | | | | | | | | | | | | | Fixes a bug where hs_disabled_message was not enforced for 3pid-based requests if there was no server_notices_mxid configured.
* | | | Comment out most options in the generated config. (#4863)Richard van der Hoff2019-03-1914-98/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it so that most options in the config are optional, and commented out in the generated config. The reasons this is a good thing are as follows: * If we decide that we should change the default for an option, we can do so, and only those admins that have deliberately chosen to override that option will be stuck on the old setting. * It moves us towards a point where we can get rid of the super-surprising feature of synapse where the default settings for the config come from the generated yaml. * It makes setting up a test config for unit testing an order of magnitude easier (see forthcoming PR). * It makes the generated config more consistent, and hopefully easier for users to understand.
* | | | Migrate the user directory initial population to a background task (#4864)Amber Brown2019-03-194-256/+325
| | | |
* | | | Add ratelimiting on failed login attempts (#4865)Brendan Abolivier2019-03-182-5/+32
| | | |
* | | | Add ratelimiting on login (#4821)Brendan Abolivier2019-03-156-22/+102
| | | | | | | | | | | | Add two ratelimiters on login (per-IP address and per-userID).
* | | | Merge pull request #4855 from matrix-org/rav/refactor_transaction_queueRichard van der Hoff2019-03-157-761/+864
|\ \ \ \ | | | | | | | | | | Split TransactionQueue up
| * | | | Rename and move the classesRichard van der Hoff2019-03-137-811/+864
| | | | |
| * | | | Factor per-destination stuff out of TransactionQueueRichard van der Hoff2019-03-131-132/+182
| | | | | | | | | | | | | | | | | | | | This is easier than having to have a million fields keyed on destination.
* | | | | Merge pull request #4852 from matrix-org/rav/move_rr_sending_to_workerRichard van der Hoff2019-03-155-55/+110
|\| | | | | | | | | | | | | | Move client receipt processing to federation sender worker.
| * | | | Move client receipt processing to federation sender worker.Richard van der Hoff2019-03-134-33/+78
| | | | | | | | | | | | | | | | | | | | | | | | | This is mostly a prerequisite for #4730, but also fits with the general theme of "move everything off the master that we possibly can".
| * | | | declare a ReadReceipt classRichard van der Hoff2019-03-132-24/+34
| | | | | | | | | | | | | | | | | | | | | | | | | I'm going to use this in queues and things, so it'll be useful to give it more of a structure.
* | | | | Merge pull request #4853 from matrix-org/erikj/worker_docker_ciErik Johnston2019-03-154-17/+53
|\ \ \ \ \ | | | | | | | | | | | | Allow passing --daemonize to workers
| * | | | | Correctly handle all command line optionsErik Johnston2019-03-143-16/+42
| | | | | |
| * | | | | Allow passing --daemonize to workersErik Johnston2019-03-132-1/+11
| | | | | |
* | | | | | Revert "Make federation endpoints more tolerant of trailing slashes for some ↵Erik Johnston2019-03-142-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | endpoints (#4793)" This reverts commit 290552fd836f4ae2dc1d893a7f72f7fff85365d3.
* | | | | | Merge pull request #4846 from matrix-org/hawkowl/userdir-searchErik Johnston2019-03-147-123/+183
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Improve searching in the userdir
| * | | | | fixupAmber Brown2019-03-132-2/+2
| | | | | |
| * | | | | fixupAmber Brown2019-03-133-55/+16
| | | | | |
| * | | | | fixupAmber Brown2019-03-121-1/+1
| | | | | |
| * | | | | fixupAmber Brown2019-03-121-1/+2
| | | | | |
| * | | | | fixupAmber Brown2019-03-123-160/+139
| | | | | |
| * | | | | fixupAmber Brown2019-03-121-1/+1
| | | | | |
| * | | | | use the old methodAmber Brown2019-03-121-3/+2
| | | | | |
| * | | | | fixAmber Brown2019-03-121-1/+1
| | | | | |
| * | | | | pep8Amber Brown2019-03-121-2/+1
| | | | | |
| * | | | | fixesAmber Brown2019-03-123-48/+62
| | | | | |
| * | | | | master startupAmber Brown2019-03-112-0/+9
| | | | | |
| * | | | | Merge remote-tracking branch 'origin/develop' into hawkowl/userdir-searchAmber Brown2019-03-114-19/+53
| |\ \ \ \ \ | | | |_|/ / | | |/| | |
| * | | | | initialAmber Brown2019-03-114-4/+102
| | |_|/ / | |/| | |
* | | | | Document using a certificate with a full chain (#4849)Andrew Morgan2019-03-131-0/+5
| |_|/ / |/| | |
* | | | Transfer local user's push rules on room upgrade (#4838)Andrew Morgan2019-03-122-0/+61
| | | | | | | | | | | | Transfer push rules (notifications) on room upgrade
* | | | Clarify what registration_shared_secret allows for (#2885) (#4844)Aaron Raimist2019-03-111-2/+2
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | * Clarify what registration_shared_secret allows for (#2885) Signed-off-by: Aaron Raimist <aaron@raim.ist> * Add changelog Signed-off-by: Aaron Raimist <aaron@raim.ist>
* | | Make federation endpoints more tolerant of trailing slashes for some ↵Andrew Morgan2019-03-112-8/+8
| | | | | | | | | | | | | | | endpoints (#4793) Server side of a solution towards #3622.
* | | Correctly log expected errors when fetching server keysErik Johnston2019-03-111-2/+2
| |/ |/|
* | fix incorrect encoding of filenames with spaces in (#2090)Matthew Hodgson2019-03-111-3/+51
| | | | | | | | fixes https://github.com/vector-im/riot-web/issues/3155
* | Add comment to schemaErik Johnston2019-03-081-0/+2
| |
* | Make `prev_state` field optionalErik Johnston2019-03-082-16/+0
|/ | | | | | | The `prev_state` field on events is not specced and so synapse shouldn't explode if an event is missing the field. Fixes #4787
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-03-0817-426/+384
|\ | | | | | | erikj/soft_fail_impl
| * Merge pull request #4829 from matrix-org/erikj/device_list_seen_updatesErik Johnston2019-03-081-3/+7
| |\ | | | | | | When re-syncing device lists reset the state
| | * When re-syncing device lists reset the stateErik Johnston2019-03-071-3/+7
| | | | | | | | | | | | | | | | | | | | | We keep track of what stream IDs we've seen so that we know what updates we've handled or missed. If we re-sync we don't know if the updates we've seen are included in the re-sync (there may be a race), so we should reset the seen updates.
| * | Add some debug logging for device list handlingErik Johnston2019-03-071-2/+38
| |/
| * Rewrite userdir to be faster (#4537)Amber Brown2019-03-073-366/+174
| |
| * Merge pull request #4779 from matrix-org/travis/iconsTravis Ralston2019-03-063-7/+7
| |\ | | | | | | Use static locations for Riot icons
| | * Use static locations for Riot iconsTravis Ralston2019-03-013-7/+7
| | | | | | | | | See https://github.com/vector-im/riot-web/issues/9009
| * | Merge pull request #4818 from matrix-org/erikj/prefill_client_ipsErik Johnston2019-03-061-0/+2
| |\ \ | | | | | | | | Prefill client IPs cache on workers
| | * | Prefill client IPs cache on workersErik Johnston2019-03-061-0/+2
| | | |
| * | | Merge pull request #4815 from matrix-org/erikj/docstringsErik Johnston2019-03-062-7/+45
| |\ \ \ | | | | | | | | | | Add docstrings from matrix-org-hotfixes
| | * | | Add docstrings from matrix-org-hotfixesErik Johnston2019-03-062-7/+45
| | |/ /
| * | | Merge pull request #4816 from matrix-org/erikj/4422_debugErik Johnston2019-03-061-7/+46
| |\ \ \ | | | | | | | | | | Port #4422 debug logging from hotfixes
| | * | | Port #4422 debug logging from hotfixesErik Johnston2019-03-061-7/+46
| | |/ /
| * / / Send message after room has been shutdownErik Johnston2019-03-061-11/+11
| |/ / | | | | | | | | | | | | | | | | | | | | | Currently the explanation message is sent to the abuse room before any users are forced joined, which means it tends to get lost in the backlog of joins. So instead we send the message *after* we've forced joined everyone.
| * | Merge pull request #4792 from matrix-org/anoa/replication_tokensAndrew Morgan2019-03-061-3/+28
| |\ \ | | | | | | | | Support batch updates in the worker sender
| | * | Simplify token replication logicAndrew Morgan2019-03-051-23/+14
| | | |
| | * | Clean up logic and add commentsAndrew Morgan2019-03-041-11/+18
| | | |
| | * | Clearer branching, fix missing list clearAndrew Morgan2019-03-041-4/+11
| | | |
| | * | Prevent replication wedgingAndrew Morgan2019-03-041-4/+24
| | | |
| * | | Make registration ratelimiter separate from the main events oneBrendan Abolivier2019-03-063-2/+6
| | | |
| * | | Revert "Split ratelimiters in two (one for events, one for registration)"Brendan Abolivier2019-03-065-11/+7
| | | | | | | | | | | | | | | | This reverts commit d7dbad3526136cfc9fdbd568635be5016fb637db.
| * | | Split ratelimiters in two (one for events, one for registration)Brendan Abolivier2019-03-055-7/+11
| | | |
| * | | Move settings from registration to ratelimiting in config fileBrendan Abolivier2019-03-052-18/+20
| | | |
* | | | Factor out soft fail checksErik Johnston2019-03-081-5/+22
| | | |
* | | | Implement soft failErik Johnston2019-03-064-1/+95
|/ / /
* | | Merge pull request #4772 from jbweston/jbweston/server-version-apiErik Johnston2019-03-051-0/+23
|\ \ \ | | | | | | | | Add 'server_version' endpoint to admin API
| * | | Add 'server_version' endpoint to admin APIJoseph Weston2019-03-011-0/+23
| | | | | | | | | | | | | | | | | | | | This is required because the 'Server' HTTP header is not always passed through proxies.
* | | | Add rate-limiting on registration (#4735)Brendan Abolivier2019-03-056-31/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rate-limiting for registration * Add unit test for registration rate limiting * Add config parameters for rate limiting on auth endpoints * Doc * Fix doc of rate limiting function Co-Authored-By: babolivier <contact@brendanabolivier.com> * Incorporate review * Fix config parsing * Fix linting errors * Set default config for auth rate limiting * Fix tests * Add changelog * Advance reactor instead of mocked clock * Move parameters to registration specific config and give them more sensible default values * Remove unused config options * Don't mock the rate limiter un MAU tests * Rename _register_with_store into register_with_store * Make CI happy * Remove unused import * Update sample config * Fix ratelimiting test for py2 * Add non-guest test
* | | | Merge pull request #4794 from matrix-org/anoa/erroneous_dollahsAndrew Morgan2019-03-051-22/+22
|\ \ \ \ | | | | | | | | | | Remove unnecessary dollar signs
| * | | | Remove unnecessary dollar signsAndrew Morgan2019-03-041-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | | A dollar sign is already appended to the end of each PATH, so there's no need to add one in the PATH declaration as well.
* | | | | Merge pull request #4699 from matrix-org/erikj/stop_fed_not_in_roomErik Johnston2019-03-053-29/+126
|\ \ \ \ \ | | | | | | | | | | | | Stop backpaginating when events not visible
| * | | | | clarify commentsErik Johnston2019-03-052-9/+12
| | | | | |
| * | | | | Fix missing null guardErik Johnston2019-03-041-1/+1
| | | | | |
| * | | | | Only check history visibility when filteringErik Johnston2019-03-042-35/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When filtering events to send to server we check more than just history visibility. However when deciding whether to backfill or not we only care about the history visibility.
| * | | | | s/get_forward_events/get_successor_events/Erik Johnston2019-03-042-3/+3
| | | | | |
| * | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-03-0436-191/+571
| |\ \ \ \ \ | | | |_|_|/ | | |/| | | | | | | | | erikj/stop_fed_not_in_room
| * | | | | Update commentsErik Johnston2019-02-271-3/+13
| | | | | |
| * | | | | Stop backpaginating when events not visibleErik Johnston2019-02-203-5/+78
| | | | | |
* | | | | | Merge pull request #4799 from matrix-org/rav/clean_up_replication_codeErik Johnston2019-03-051-60/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | Clean ups in replication notifier
| * | | | | | Remove redundant PreserveLoggingContextRichard van der Hoff2019-03-041-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both (!) things that register as replication listeners do the right thing wrt logcontexts, so this is redundant.
| * | | | | | Remove unused `wait_for_replication` methodRichard van der Hoff2019-03-041-50/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I guess this was used once? It's not now, anyway.
* | | | | | | Merge pull request #4796 from matrix-org/erikj/factor_out_e2e_keysErik Johnston2019-03-059-747/+762
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Allow /keys/{changes,query} API to run on worker
| * | | | | | | Allow /keys/{changes,query} API to run on workerErik Johnston2019-03-042-2/+13
| | | | | | | |
| * | | | | | | Split DeviceHandler into master and workerErik Johnston2019-03-042-170/+179
| | | | | | | |
| * | | | | | | Fixup slave storesErik Johnston2019-03-046-577/+572
| | |_|_|/ / / | |/| | | | |
* | | | | | | Add some debug about processing read receipts.Richard van der Hoff2019-03-041-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm hoping to establish which rooms are having lots of RRs sent for them, and how old the events are when they are sent.
* | | | | | | Clean up read-receipt handling.Richard van der Hoff2019-03-041-59/+44
| |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove a call to run_as_background_process: there is no need to run this as a background process, because build_and_send_edu does not block. We may as well inline the whole of _push_remotes.
* | | | | | Include a default configuration file in the 'docs' directory. (#4791)Richard van der Hoff2019-03-044-13/+25
|/ / / / /
* | / / / Avoid rebuilding Edu objects in worker mode (#4770)Richard van der Hoff2019-03-045-19/+36
| |/ / / |/| | | | | | | | | | | | | | | In worker mode, on the federation sender, when we receive an edu for sending over the replication socket, it is parsed into an Edu object. There is no point extracting the contents of it so that we can then immediately build another Edu.
* | | | Fix incorrect log about not persisting duplicate state event. (#4776)Richard van der Hoff2019-03-011-3/+4
| |_|/ |/| | | | | We were logging this when it was not true.
* | | Merge branch 'master' into developRichard van der Hoff2019-03-011-1/+1
|\ \ \ | |_|/ |/| |
| * | 0.99.2Richard van der Hoff2019-03-011-1/+1
| | |
* | | Minor docstring fixes for MatrixFederationAgent (#4765)Andrew Morgan2019-02-281-1/+5
| | |
* | | Make 'event_id' a required parameter in federated state requests (#4741)Amber Brown2019-02-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * make 'event_id' a required parameter in federated state requests As per the spec: https://matrix.org/docs/spec/server_server/r0.1.1.html#id40 Signed-off-by: Joseph Weston <joseph@weston.cloud> * add changelog entry for bugfix Signed-off-by: Joseph Weston <joseph@weston.cloud> * Update server.py
* | | Fix parsing of Content-Disposition headers (#4763)Richard van der Hoff2019-02-271-20/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix parsing of Content-Disposition headers TIL: filenames in content-dispostion headers can contain semicolons, and aren't %-encoded. * fix python2 incompatibility * Fix docstrings
* | | Move from TravisCI to BuildKite (#4752)Amber Brown2019-02-271-1/+1
| | |
* | | Merge pull request #4759 from matrix-org/erikj/3pid_client_readerErik Johnston2019-02-272-33/+35
|\ \ \ | | | | | | | | Move /account/3pid to client_reader
| * | | Move /account/3pid to client_readerErik Johnston2019-02-272-33/+35
| | | |
* | | | Merge pull request #4758 from matrix-org/erikj/use_presence_replicationErik Johnston2019-02-272-2/+8
|\ \ \ \ | | | | | | | | | | When presence is disabled don't send over replication
| * | | | When presence is enabled don't send over replicationErik Johnston2019-02-272-2/+8
| |/ / /
* / / / Move server key queries to federation readerErik Johnston2019-02-271-1/+5
|/ / /
* | | Merge pull request #4749 from matrix-org/erikj/replication_connection_backoffErik Johnston2019-02-273-5/+39
|\ \ \ | |/ / |/| | Fix tightloop over connecting to replication server
| * | Move connecting logic into ClientReplicationStreamProtocolErik Johnston2019-02-272-18/+17
| | |
| * | Increase the max delay between retry attemptsErik Johnston2019-02-261-1/+1
| | | | | | | | | | | | | | | Otherwise if you have many workers they can easily take out master with their connection attempts
| * | Fix tightloop over connecting to replication serverErik Johnston2019-02-262-4/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the client failed to process incoming commands during the initial set up of the replication connection it would immediately disconnect and reconnect, resulting in a tightloop. This can happen, for example, when subscribing to a stream that has a row that is too long in the backlog. The fix here is to not consider the connection successfully set up until the client has succesfully subscribed and caught up with the streams. This ensures that the retry logic timers aren't reset until then, meaning that if an error does happen during start up the client will continue backing off before retrying again.
* | | 0.99.2rc1 v0.99.2rc1Richard van der Hoff2019-02-271-1/+1
| | |
* | | Limit cache invalidation replication line length (#4748)Erik Johnston2019-02-272-5/+27
| | |
* | | Add database version to phonehome stats. (#4753)Richard van der Hoff2019-02-274-0/+45
|/ /
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Andrew Morgan2019-02-26193-4548/+9279
|\ \ | | | | | | | | | anoa/public_rooms_federate_develop
| * | Revert "Prevent showing non-fed rooms in fed /publicRooms"Andrew Morgan2019-02-264-70/+17
| | |
| * | Merge pull request #4736 from matrix-org/anoa/public_rooms_federateAndrew Morgan2019-02-264-17/+70
| |\ \ | | | | | | | | Config option to prevent showing non-fed rooms in fed /publicRooms
| | * | Cleaner chunk logicAndrew Morgan2019-02-261-5/+4
| | | |
| | * | Correct indentAndrew Morgan2019-02-261-3/+3
| | | |
| | * | Correct docstring types and chunk logicAndrew Morgan2019-02-261-10/+11
| | | |
| | * | Clean up room chunk logicAndrew Morgan2019-02-261-6/+8
| | | |
| | * | Make not showing non-federated rooms the defaultAndrew Morgan2019-02-262-13/+1
| | | |