summary refs log tree commit diff
path: root/synapse (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #3964 from matrix-org/rav/remove_localhost_checksRichard van der Hoff2018-09-282-30/+7
|\ | | | | remove spurious federation checks on localhost
| * Fix complete fail to do the right thingRichard van der Hoff2018-09-282-1/+3
| |
| * remove spurious federation checks on localhostRichard van der Hoff2018-09-261-31/+6
| | | | | | | | | | | | | | | | | | | | | | There's really no point in checking for destinations called "localhost" because there is nothing stopping people creating other DNS entries which point to 127.0.0.1. The right fix for this is https://github.com/matrix-org/synapse/issues/3953. Blocking localhost, on the other hand, means that you get a surprise when trying to connect a test server on localhost to an existing server (with a 'normal' server_name).
* | Remove redundant call to start_get_pdu_cacheRichard van der Hoff2018-09-281-1/+0
| | | | | | | | | | I think this got forgotten in #3932. We were getting away with it because it was the last call in this function.
* | Merge pull request #3794 from matrix-org/erikj/faster_typingRichard van der Hoff2018-09-271-3/+19
|\ \ | | | | | | Improve performance of getting typing updates for replication
| * \ Merge branch 'develop' of github.com:matrix-org/synapse into erikj/faster_typingErik Johnston2018-09-1968-689/+1415
| |\ \
| * | | Improve performance of getting typing updates for replicationErik Johnston2018-09-051-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | Fetching the list of all new typing notifications involved iterating over all rooms and comparing their serial. Lets move to using a stream change cache, like we do for other streams.
* | | | Merge pull request #3967 from matrix-org/rav/federation_handler_cleanupsRichard van der Hoff2018-09-272-4/+10
|\ \ \ \ | | | | | | | | | | Clarifications in FederationHandler
| * | | | more commentsRichard van der Hoff2018-09-272-6/+3
| | | | |
| * | | | Clarifications in FederationHandlerRichard van der Hoff2018-09-271-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add some comments on things that look a bit bogus * rename this `state` variable to avoid confusion with the `state` used elsewhere in this function. (There was no actual conflict, but it was a confusing bit of spaghetti.)
* | | | | Merge pull request #3965 from matrix-org/rav/notify_app_services_bg_processAmber Brown2018-09-271-2/+6
|\ \ \ \ \ | | | | | | | | | | | | Run notify_app_services as a bg process
| * | | | | Run notify_app_services as a bg processRichard van der Hoff2018-09-261-2/+6
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ensures that its resource usage metrics get recorded somewhere rather than getting lost. (It also fixes an error when called from a nested logging context which completes before the bg process)
* | | | | Merge pull request #3970 from schnuffle/develop-py3Amber Brown2018-09-2716-17/+17
|\ \ \ \ \ | | | | | | | | | | | | Replaced all occurences of e.message with str(e)
| * | | | | Replaced all occurences of e.message with str(e)Schnuffle2018-09-2716-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Schnuffle <schnuffle@github.com>
* | | | | | Run our oldest supported configuration in CI (#3952)Amber Brown2018-09-271-13/+14
| | | | | |
* | | | | | Merge pull request #3961 from matrix-org/neilj/lock_mau_upsertsRichard van der Hoff2018-09-271-1/+4
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | fix #3854 MAU transaction errors
| * | | | | fix #3854Neil Johnson2018-09-261-1/+4
| | |/ / / | |/| | |
* | | | | Merge pull request #3966 from matrix-org/rav/rx_txn_logging_2Richard van der Hoff2018-09-272-2/+16
|\ \ \ \ \ | | | | | | | | | | | | Logging improvements
| * | | | | Logging improvementsRichard van der Hoff2018-09-262-2/+16
| |/ / / / | | | | | | | | | | | | | | | Some logging tweaks to help with debugging incoming federation transactions
* | | | | Include eventid in log lines when processing incoming federation ↵Richard van der Hoff2018-09-273-45/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | transactions (#3959) when processing incoming transactions, it can be hard to see what's going on, because we process a bunch of stuff in parallel, and because we may end up recursively working our way through a chain of three or four events. This commit creates a way to use logcontexts to add the relevant event ids to the log lines.
* | | | | docstrings and unittests for storage.state (#3958)Richard van der Hoff2018-09-271-8/+22
| |/ / / |/| | | | | | | | | | | I spent ages trying to figure out how I was going mad...
* | | | fix docstring for FederationClient.get_state_for_roomRichard van der Hoff2018-09-261-4/+4
|/ / / | | | | | | | | | trivial fixes for docstring
* | | Merge pull request #3956 from matrix-org/rav/fix_expiring_cache_lenRichard van der Hoff2018-09-262-20/+24
|\ \ \ | | | | | | | | Fix ExpiringCache.__len__ to be accurate
| * | | Log which cache is throwing exceptionsRichard van der Hoff2018-09-261-10/+17
| | | |
| * | | Fix ExpiringCache.__len__ to be accurateErik Johnston2018-09-261-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It used to try and produce an estimate, which was sometimes negative. This caused metrics to be sad, so lets always just calculate it from scratch. (This appears to have been a longstanding bug, but one which has been made more of a problem by #3932 and #3933). (This was originally done by Erik as part of #3933. I'm cherry-picking it because really it's a fix in its own right)
* | | | Merge pull request #3948 from matrix-org/rav/no_symlink_synctlAmber Brown2018-09-261-284/+0
|\ \ \ \ | | | | | | | | | | Move synctl into top dir to avoid a symlink
| * | | | Move synctl into top dir to avoid a symlinkRichard van der Hoff2018-09-251-284/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | symlinks apparently break setuptools on python3 and alpine (https://bugs.python.org/issue31940), so let's stop using a symlink and just use the file directly.
* | | | | Merge pull request #3924 from matrix-org/rav/clean_up_on_receive_pduAmber Brown2018-09-262-24/+47
|\ \ \ \ \ | |_|/ / / |/| | | | Comments and interface cleanup for on_receive_pdu
| * | | | Comments and interface cleanup for on_receive_pduRichard van der Hoff2018-09-202-24/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add some informative comments about what's going on here. Also, `sent_to_us_directly` and `get_missing` were doing the same thing (apart from in `_handle_queued_pdus`, which looks like a bug), so let's get rid of `get_missing` and use `sent_to_us_directly` consistently.
* | | | | Merge pull request #3932 from matrix-org/erikj/auto_start_expiring_cachesRichard van der Hoff2018-09-2515-38/+12
|\ \ \ \ \ | | | | | | | | | | | | Fix some instances of ExpiringCache not expiring cache items
| * | | | | Fix some instances of ExpiringCache not expiring cache itemsErik Johnston2018-09-2115-38/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ExpiringCache required that `start()` be called before it would actually start expiring entries. A number of places didn't do that. This PR removes `start` from ExpiringCache, and automatically starts backround reaping process on creation instead.
* | | | | | added "media-src: 'self'" to CSP for resources (#3578)Jérémy Farnaud2018-09-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse doesn’t allow for media resources to be played directly from Chrome. It is a problem for users on other networks (e.g. IRC) communicating with Matrix users through a gateway. The gateway sends them the raw URL for the resource when a Matrix user uploads a video and the video cannot be played directly in Chrome using that URL. Chrome argues it is not authorized to play the video because of the Content Security Policy. Chrome checks for the "media-src" policy which is missing, and defauts to the "default-src" policy which is "none". As Synapse already sends "object-src: 'self'" I thought it wouldn’t be a problem to add "media-src: 'self'" to the CSP to fix this problem.
* | | | | | Merge pull request #3925 from matrix-org/erikj/fix_producers_unregisteredRichard van der Hoff2018-09-251-14/+35
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix spurious exceptions when client closes conncetion
| * | | | | | Fix spurious exceptions when client closes conncetionErik Johnston2018-09-201-14/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a HTTP handler throws an exception while processing a request we automatically write a JSON error response. If the handler had already started writing a response twisted throws an exception. We should check for this case and simple abort the connection if there was an error after the response had started being written.
* | | | | | | We require attrs 16.0.0Richard van der Hoff2018-09-251-1/+3
| |_|_|/ / / |/| | | | | | | | | | | | | | | | | Ref: https://github.com/matrix-org/synapse/issues/3945
* | | | | | Only lazy load self-members on initial syncMatthew Hodgson2018-09-251-5/+8
| | | | | | | | | | | | | | | | | | Given we have disabled lazy loading for incr syncs in #3840, we can make self-LL more efficient by only doing it on initial sync. Also adds a bounds check for if/when we change our mind, so that we don't try to include LL members on sync responses with no timeline.
* | | | | | Merge branch 'master' into developAmber Brown2018-09-251-1/+1
|\ \ \ \ \ \
| * | | | | | bump versionAmber Brown2018-09-251-1/+1
| | | | | | |
* | | | | | | Merge branch 'master' into developAmber Brown2018-09-241-1/+1
|\| | | | | | | |_|/ / / / |/| | | | |
| * | | | | update versionAmber Brown2018-09-241-1/+1
| | | | | |
| * | | | | versionAmber Brown2018-09-171-1/+1
| | | | | |
* | | | | | Merge pull request #3927 from matrix-org/erikj/handle_background_errorsErik Johnston2018-09-211-0/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | Handle exceptions thrown by background tasks
| * | | | | | Add missing loggerErik Johnston2018-09-201-0/+4
| | | | | | |
| * | | | | | Handle exceptions thrown by background tasksErik Johnston2018-09-201-0/+2
| | |/ / / / | |/| | | | | | | | | | | | | | | | Fixes #3921
* | | | | | Always LL ourselves if we're in a room to simplify clients (#3916)Matthew Hodgson2018-09-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Should fix https://github.com/vector-im/riot-web/issues/7209
* | | | | | Merge pull request #3868 from matrix-org/neilj/fix_room_invite_mail_linksNeil Johnson2018-09-201-1/+1
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | Neilj/fix room invite mail links
| * | | | | Merge remote-tracking branch 'origin/develop' into ↵Richard van der Hoff2018-09-1813-39/+247
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | neilj/fix_room_invite_mail_links
| * | | | | | fix link for case that config.email_riot_base_url is setNeil Johnson2018-09-131-1/+1
| | | | | | |
* | | | | | | Fix client IPs being broken on Python 3 (#3908)Amber Brown2018-09-202-16/+20
| |_|/ / / / |/| | | | |
* | | | | | Merge pull request #3914 from matrix-org/erikj/remove_retry_cacheErik Johnston2018-09-201-8/+0
|\ \ \ \ \ \ | | | | | | | | | | | | | | Remove get_destination_retry_timings cache
| * | | | | | Fix up changelog and remove spurious commentErik Johnston2018-09-191-2/+0
| | | | | | |
| * | | | | | pep8Erik Johnston2018-09-191-1/+0
| | | | | | |
| * | | | | | Remove get_destination_retry_timings cacheErik Johnston2018-09-191-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we rely on the master to invalidate this cache promptly. However, after having moved most federation endpoints off of master this no longer happens, causing outbound fedeariont to get blackholed. Fixes #3798
* | | | | | | Add a regression test for logging on failed connections (#3912)Amber Brown2018-09-201-2/+2
| | | | | | |
* | | | | | | Improve the logging when handling a federation transaction (#3904)Richard van der Hoff2018-09-192-56/+110
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let's try to rationalise the logging that happens when we are processing an incoming transaction, to make it easier to figure out what is going wrong when they take ages. In particular: - make everything start with a [room_id event_id] prefix - make sure we log a warning when catching exceptions rather than just turning them into other, more cryptic, exceptions.
* | | | | | FixupErik Johnston2018-09-191-4/+1
| | | | | |
* | | | | | Replace custom DeferredTimeoutError with defer.TimeoutErrorErik Johnston2018-09-192-12/+5
| | | | | |
* | | | | | Run canceller first to allow it to generate correct errorErik Johnston2018-09-191-2/+5
| | | | | |
* | | | | | Update to use new timeout function everywhere.Erik Johnston2018-09-194-72/+43
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing deferred timeout helper function (and the one into twisted) suffer from a bug when a deferred's canceller throws an exception, #3842. The new helper function doesn't suffer from this problem.
* | | | | Merge pull request #3909 from turt2live/travis/fix-logging-1Amber Brown2018-09-191-4/+4
|\ \ \ \ \ | | | | | | | | | | | | Fix matrixfederationclient.py logging: Destination is a string
| * | | | | Destination is a stringTravis Ralston2018-09-181-4/+4
| | | | | |
* | | | | | Merge pull request #3907 from matrix-org/rav/set_sni_to_server_nameAmber Brown2018-09-191-3/+10
|\ \ \ \ \ \ | | | | | | | | | | | | | | Set SNI to the server_name, not whatever was in the SRV record
| * | | | | | Set SNI to the server_name, not whatever was in the SRV recordRichard van der Hoff2018-09-181-3/+10
| | |_|/ / / | |/| | | | | | | | | | | | | | | | Fixes #3843
* | | | | | Merge pull request #3903 from matrix-org/rav/increase_get_missing_events_timeoutAmber Brown2018-09-191-1/+30
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | Bump timeout on get_missing_events request
| * | | | | Bump timeout on get_missing_events requestRichard van der Hoff2018-09-181-1/+30
| |/ / / /
* | | | | Use directory server for room joins (#3899)Richard van der Hoff2018-09-181-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we do a join, always try the server we used for the alias lookup first. Fixes #2418
* | | | | Refactor matrixfederationclient to fix logging (#3906)Richard van der Hoff2018-09-181-149/+236
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to wait until we have read the response body before we log the request as complete, otherwise a confusing thing happens where the request appears to have completed, but we later fail it. To do this, we factor the salient details of a request out to a separate object, which can then keep track of the txn_id, so that it can be logged.
* | | | | Merge pull request #3894 from matrix-org/hs/phone_home_py_versionAmber Brown2018-09-191-0/+4
|\ \ \ \ \ | |/ / / / |/| | | | Add python_version phone home stat
| * | | | typoWill Hunt2018-09-171-1/+1
| | | | |
| * | | | make pip happy?Will Hunt2018-09-171-2/+4
| | | | |
| * | | | Use a string for versionsWill Hunt2018-09-171-1/+1
| | | | |
| * | | | Add python_version phone home statWill Hunt2018-09-171-0/+2
| | |/ / | |/| |
* | | | Merge pull request #3879 from matrix-org/matthew/fix-autojoinRichard van der Hoff2018-09-181-0/+1
|\ \ \ \ | | | | | | | | | | don't ratelimit autojoins
| * | | | don't ratelimit autojoinsMatthew Hodgson2018-09-151-0/+1
| |/ / /
* | | | Merge pull request #3889 from matrix-org/rav/404_on_remove_unknown_aliasRichard van der Hoff2018-09-182-4/+16
|\ \ \ \ | | | | | | | | | | Return a 404 when deleting unknown room alias
| * | | | Reinstate missing null checkRichard van der Hoff2018-09-171-1/+1
| | | | |
| * | | | Return a 404 when deleting unknown room aliasRichard van der Hoff2018-09-172-4/+16
| |/ / / | | | | | | | | | | | | | | | | | | | | As per https://github.com/matrix-org/matrix-doc/issues/1675 Fixes https://github.com/matrix-org/synapse/issues/2782
* | | | Fix more b'abcd' noise in metricsRichard van der Hoff2018-09-172-12/+12
| | | |
* | | | Fix some b'abcd' noise in logs and metricsRichard van der Hoff2018-09-172-5/+8
|/ / / | | | | | | | | | | | | Python 3 compatibility: make sure that we decode some byte sequences before we use them to create log lines and metrics labels.
* | | Fix timeout functionErik Johnston2018-09-151-1/+2
| | | | | | | | | | | | | | | Turns out deferred.cancel sometimes throws, so we do that last to ensure that we always do resolve the new deferred.
* | | Add an awful secondary timeout to fix wedged requestsErik Johnston2018-09-142-0/+62
| | | | | | | | | | | | This is an attempt to mitigate #3842 by adding yet-another-timeout
* | | don't filter membership events based on history visibility (#3874)Matthew Hodgson2018-09-141-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | don't filter membership events based on history visibility as we will already have filtered the messages in the timeline, and state events are always visible. and because @erikjohnston said so.
* | | Merge pull request #3872 from matrix-org/hawkowl/timeouts-2Erik Johnston2018-09-144-7/+12
|\ \ \ | | | | | | | | timeouts 2: electric boogaloo
| * | | fixAmber Brown2018-09-151-3/+3
| | | |
| * | | fixAmber Brown2018-09-141-1/+4
| | | |
| * | | fixAmber Brown2018-09-141-1/+1
| | | |
| * | | redact betterAmber Brown2018-09-141-2/+2
| | | |
| * | | we do that higher upAmber Brown2018-09-141-0/+1
| | | |
| * | | Merge remote-tracking branch 'origin/develop' into hawkowl/timeouts-2Amber Brown2018-09-144-15/+36
| |\| |
| * | | buffer?Amber Brown2018-09-141-1/+2
| | | |
* | | | Remove spurious commentErik Johnston2018-09-141-2/+0
| | | |
* | | | Measure outbound requestsErik Johnston2018-09-141-3/+6
| | | |
* | | | Add in flight real time metrics for Measure blocksErik Johnston2018-09-142-1/+131
| | | |
* | | | Fix minor typo in exceptionTravis Ralston2018-09-131-1/+1
| |/ / |/| |
* | | merge (#3576)Amber Brown2018-09-144-15/+36
|/ /
* | Merge pull request #3856 from matrix-org/erikj/speed_up_purge hhs-8Erik Johnston2018-09-131-16/+28
|\ \ | | | | | | Make purge history slightly faster
| * | commentErik Johnston2018-09-131-0/+2
| | |
| * | pep8Erik Johnston2018-09-131-1/+0
| | |
| * | Create indices after insertionErik Johnston2018-09-131-14/+18
| | |
| * | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-09-132-1/+26
| |\ \ | | | | | | | | | | | | erikj/speed_up_purge
| * | | Make purge history slightly fasterErik Johnston2018-09-131-2/+9
| | | | | | | | | | | | | | | | | | | | Don't pull out events that are outliers and won't be deleted, as nothing should happen to them.
* | | | Fix handling of redacted events from federationErik Johnston2018-09-132-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we receive an event that doesn't pass their content hash check (e.g. due to already being redacted) then we hit a bug which causes an exception to be raised, which then promplty stops the event (and request) from being processed. This effects all sorts of federation APIs, including joining rooms with a redacted state event.
* | | | Attempt to figure out what's going on with timeouts (#3857)Amber Brown2018-09-141-56/+42
| |/ / |/| |
* | | Remove some superfluous logging (#3855)Amber Brown2018-09-132-1/+26
|/ /
* | Merge pull request #3846 from matrix-org/neilj/expose-registered-users hhs-7Neil Johnson2018-09-122-3/+28
|\ \ | | | | | | expose number of real reserved users
| * | improve namingNeil Johnson2018-09-122-6/+10
| | |
| * | expose number of real reserved usersNeil Johnson2018-09-122-3/+24
| | |
* | | show heroes if a room has a 'deleted' name/canonical_alias (#3851)Matthew Hodgson2018-09-121-2/+15
| | |
* | | Merge pull request #3853 from matrix-org/erikj/log_outbound_each_timeErik Johnston2018-09-121-75/+74
|\ \ \ | | | | | | | | Log outbound requests when we retry
| * | | Log outbound requests when we retryErik Johnston2018-09-121-75/+74
| | | |
* | | | argh pep8Matthew Hodgson2018-09-121-1/+1
| | | |
* | | | correctly log gappy sync metricsMatthew Hodgson2018-09-121-1/+1
| | | |
* | | | fix loglineMatthew Hodgson2018-09-121-1/+1
| | | |
* | | | Merge pull request #3841 from matrix-org/erikj/manhole_key_lengthErik Johnston2018-09-121-13/+31
|\ \ \ \ | | | | | | | | | | Change the manhole SSH key to have more bits
| * | | | Change the manhole SSH key to have more bitsErik Johnston2018-09-111-13/+31
| | | | | | | | | | | | | | | | | | | | | | | | | Newer versions of openssh client refuse to connect to the old key due to its length.
* | | | | Port federation/ to py3 (#3847)Amber Brown2018-09-123-19/+18
| | | | |
* | | | | Merge pull request #3835 from krombel/fix_3821Amber Brown2018-09-121-1/+5
|\ \ \ \ \ | | | | | | | | | | | | fix VOIP crashes under Python 3
| * | | | | fix VOIP crashes under Python 3 (#3821)Krombel2018-09-101-1/+5
| |/ / / /
* | | | | Merge pull request #3826 from matrix-org/rav/logging_for_keyringAmber Brown2018-09-123-13/+46
|\ \ \ \ \ | | | | | | | | | | | | add some logging for the keyring queue
| * | | | | clearer logging when things fail, tooRichard van der Hoff2018-09-062-7/+28
| | | | | |
| * | | | | add some logging for the keyring queueRichard van der Hoff2018-09-061-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | why is it so damn slow?
* | | | | | Merge pull request #3824 from matrix-org/rav/fix_jwt_importAmber Brown2018-09-122-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix jwt import check
| * | | | | | Fix jwt import checkRichard van der Hoff2018-09-072-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This handy code attempted to check that we could import jwt, but utterly failed to check it was the right jwt. Fixes https://github.com/matrix-org/synapse/issues/3793
* | | | | | | Port rest/ to Python 3 (#3823)Amber Brown2018-09-1217-100/+112
| |_|_|/ / / |/| | | | |
* | | | | | Port crypto/ to Python 3 (#3822)Amber Brown2018-09-123-6/+13
| | | | | |
* | | | | | Timeout reading body for outbound HTTP requestsErik Johnston2018-09-121-7/+45
| |_|_|/ / |/| | | |
* | | | | Speed up lazy loading (#3827)Matthew Hodgson2018-09-123-30/+157
| |_|/ / |/| | | | | | | | | | | | | | | * speed up room summaries by pulling their data from room_memberships rather than room state * disable LL for incr syncs, and log incr sync stats (#3840)
* | | | Merge pull request #3810 from matrix-org/erikj/send_tags_down_sync_on_joinAmber Brown2018-09-071-0/+13
|\ \ \ \ | |/ / / |/| | | Send existing room tags down sync on join
| * | | Don't send empty tags list down syncErik Johnston2018-09-061-0/+5
| | | |
| * | | Send existing room tags down sync on joinErik Johnston2018-09-061-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a user joined a room any existing tags were not sent down the sync stream. Ordinarily this isn't a problem because the user needs to be in the room to have set tags in it, however synapse will sometimes add tags for a user to a room, e.g. for server notices, which need to come down sync.
* | | | Merge branch 'master' into developAmber Brown2018-09-071-1/+1
|\ \ \ \
| * | | | versionAmber Brown2018-09-071-1/+1
| | | | |
| * | | | Bump version and changelogErik Johnston2018-09-061-1/+1
| | | | |
| * | | | Merge tag 'v0.33.3.1' into release-v0.33.4Erik Johnston2018-09-064-31/+125
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse 0.33.3.1 (2018-09-06) ============================= SECURITY FIXES -------------- - Fix an issue where event signatures were not always correctly validated ([\#3796](https://github.com/matrix-org/synapse/issues/3796)) - Fix an issue where server_acls could be circumvented for incoming events ([\#3796](https://github.com/matrix-org/synapse/issues/3796)) Internal Changes ---------------- - Unignore synctl in .dockerignore to fix docker builds ([\#3802](https://github.com/matrix-org/synapse/issues/3802))
| * | | | | version and towncrier v0.33.4rc1Amber Brown2018-09-041-1/+1
| | | | | |
* | | | | | Merge pull request #3800 from matrix-org/neilj/remove-guests-from-mau-count hhs-6Neil Johnson2018-09-061-1/+5
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | guest users should not be part of mau total
| * | | | | ensure guests never enter mau listNeil Johnson2018-09-061-4/+3
| | | | | |
| * | | | | guest users should not be part of mau totalNeil Johnson2018-09-051-1/+6
| | | | | |
* | | | | | Merge pull request #3805 from matrix-org/erikj/limit_transaction_pdus_edusAmber Brown2018-09-071-0/+12
|\ \ \ \ \ \ | | | | | | | | | | | | | | Limit the number of PDUs/EDUs per fedreation transaction
| * | | | | | Limit the number of PDUs/EDUs per fedreation transactionErik Johnston2018-09-061-0/+12
| | | | | | |
* | | | | | | Merge pull request #3788 from matrix-org/erikj/remove_conn_idAmber Brown2018-09-071-12/+12
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Remove conn_id from repl prometheus metrics
| * | | | | | | Remove conn_idErik Johnston2018-09-041-2/+2
| | | | | | | |
| * | | | | | | Remove conn_id from repl prometheus metricsErik Johnston2018-09-031-10/+10
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | `conn_id` gets set to a random string, and so we end up filling up prometheus with tonnes of data series, which is bad.
* | | | | | | Merge pull request #3795 from matrix-org/erikj/faster_sync_stateAmber Brown2018-09-071-8/+8
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | User iter* during sync state calculations
| * | | | | | | User iter* during sync state calculationsErik Johnston2018-09-051-8/+8
| | |_|_|_|_|/ | |/| | | | |
* | | | | | | Merge pull request #3804 from matrix-org/rav/fix_openssl_depAmber Brown2018-09-071-2/+2
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | bump dep on pyopenssl to 16.x
| * | | | | | bump dep on pyopenssl to 16.xRichard van der Hoff2018-09-061-2/+2
| | |_|/ / / | |/| | | |
* | | | | | Port handlers/ to Python 3 (#3803)Amber Brown2018-09-076-19/+22
| |_|_|_|/ |/| | | |
* | | | | Merge branch 'master' into developRichard van der Hoff2018-09-065-32/+126
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| |
| * | | prepare v0.33.3.1 v0.33.3.1 github/release-v0.33.3.1 release-v0.33.3.1Richard van der Hoff2018-09-061-1/+1
| | | |
| * | | Fix origin handling for pushed transactionsRichard van der Hoff2018-09-053-15/+15
| | | | | | | | | | | | | | | | | | | | Use the actual origin for push transactions, rather than whatever the remote server claimed.
| * | | Check that signatures on events are validRichard van der Hoff2018-09-051-16/+110
| | | | | | | | | | | | | | | | | | | | | | | | We should check that both the sender's server, and the server which created the event_id (which may be different from whatever the remote server has told us the origin is), have signed the event.
* | | | Merge pull request #3790 from matrix-org/rav/respect_event_format_in_filterRichard van der Hoff2018-09-052-13/+39
|\ \ \ \ | | | | | | | | | | Implement 'event_format' filter param in /sync
| * | | | Implement 'event_format' filter param in /syncRichard van der Hoff2018-09-042-13/+39
| | |_|/ | |/| | | | | | | | | | | | | | This has been specced and part-implemented; let's implement it for /sync (but no other endpoints yet :/).
* | | | Port http/ to Python 3 (#3771)Amber Brown2018-09-066-184/+130
| |_|/ |/| |
* | | Merge pull request #3789 from matrix-org/neilj/improve_threepid_error_strings hhs-5Neil Johnson2018-09-042-7/+21
|\ \ \ | |/ / |/| | improve human readable error messages
| * | improve human readable error messageNeil Johnson2018-09-041-1/+2
| | |
| * | improve human readable error messagesNeil Johnson2018-09-042-7/+20
| | |
* | | Merge pull request #3737 from matrix-org/erikj/remove_redundant_state_funcErik Johnston2018-09-033-57/+7
|\ \ \ | |/ / |/| | Remove unnecessary resolve_events_with_state_map
| * | Remove unnecessary resolve_events_with_state_mapErik Johnston2018-08-223-57/+7
| | | | | | | | | | | | | | | We only ever used the synchronous resolve_events_with_state_map in one place, which is trivial to replace with the async version.
* | | assert rather than warn hhs-4Neil Johnson2018-08-311-3/+2
| | |
* | | move threepid checker to config, add missing yieldsNeil Johnson2018-08-315-21/+35
| | |
* | | fix reference to is_threepid_reservedNeil Johnson2018-08-311-1/+1
| | |
* | | ensure post registration auth checks do not fail erroneouslyNeil Johnson2018-08-314-6/+24
| | |
* | | fix bug where preserved threepid user comes to sign up and server is mau blockedNeil Johnson2018-08-314-3/+21
| | |
* | | Port storage/ to Python 3 (#3725)Amber Brown2018-08-3111-31/+77
| | |
* | | Merge pull request #3764 from matrix-org/rav/close_db_conn_after_initRichard van der Hoff2018-08-3012-48/+30
|\ \ \ | | | | | | | | Make sure that we close db connections opened during init
| * | | use abc.abstractpropertyRichard van der Hoff2018-08-281-5/+4
| | | | | | | | | | | | | | | | This gives clearer messages when someone gets it wrong
| * | | Make sure that we close db connections opened during initRichard van der Hoff2018-08-2812-48/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should explicitly close any db connections we open, because failing to do so can block other transactions as per https://github.com/matrix-org/synapse/issues/3682. Let's also try to factor out some of the boilerplate by having server classes define their datastore class rather than duplicating the whole of `setup`.
* | | | fix #3445Krombel2018-08-291-2/+2
| | | | | | | | | | | | | | | | | | | | itervalues(d) calls d.itervalues() [PY2] and d.values() [PY3] but SortedDict only implements d.values()
* | | | don't return non-LL-member state in incremental sync state blocks (#3760)Matthew Hodgson2018-08-281-1/+8
|/ / / | | | | | | don't return non-LL-member state in incremental sync state blocks
* | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/admin_contactErik Johnston2018-08-241-4/+3
|\ \ \
| * | | Fix checking if service notice room is already taggedErik Johnston2018-08-241-4/+3
| | | | | | | | | | | | | | | | This manifested in synapse repeatedly setting the tag for the room
* | | | Change admin_uri to admin_contact in config and errorsErik Johnston2018-08-244-8/+8
|/ / /
* | | Ensure we wake up /sync when we add tag to notice roomErik Johnston2018-08-242-2/+13
| | |
* | | Make content of tag an empty object rather than nullErik Johnston2018-08-242-2/+2
| | |
* | | Merge pull request #3754 from matrix-org/erikj/fix_whitelist hhs-1Erik Johnston2018-08-241-1/+1
|\ \ \ | | | | | | | | Allow federation_domain_whitelist to be emtpy list
| * | | Fix bug when federation_domain_whitelist is an emtpy listErik Johnston2018-08-241-1/+1
| | | | | | | | | | | | | | | | | | | | Outbound federation were incorrectly allowed when the config option was set to an empty list
* | | | Merge pull request #3753 from matrix-org/erikj/fix_no_server_noticseErik Johnston2018-08-241-0/+4
|\ \ \ \ | | | | | | | | | | Fix bug where we broke sync when using limit_usage_by_mau
| * | | | Fix bug where we broke sync when using limit_usage_by_mauErik Johnston2018-08-241-0/+4
| |/ / / | | | | | | | | | | | | | | | | We assumed that we always had service notices configured, but that is not always true
* | | | Merge pull request #3751 from matrix-org/rav/twisted_17Richard van der Hoff2018-08-241-1/+1
|\ \ \ \ | |/ / / |/| | | Pin to twisted 17.1 or later
| * | | Pin to twisted 17.1 or laterRichard van der Hoff2018-08-241-1/+1
| | | | | | | | | | | | | | | | Fixes https://github.com/matrix-org/synapse/issues/3741.
* | | | Implement trail usersErik Johnston2018-08-234-2/+43
|/ / /
* | | Fix bug where we resent "limit exceeded" server noticesErik Johnston2018-08-231-1/+5
| | | | | | | | | | | | This was due to a bug where we mutated a cached event's contents
* | | Add missing yieldErik Johnston2018-08-231-1/+2
| | |
* | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-2255-603/+1130
|\| | | | | | | | | | | neilj/server_notices_on_blocking
| * | Merge branch 'master' into developRichard van der Hoff2018-08-221-1/+1
| |\ \
| | * | Use recaptcha_ajax.js directly from GoogleRichard van der Hoff2018-08-222-196/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was originally done in commit c75b71a397d91c013a65a7f57d2c13199cf4c204, but got reverted on this branch due to the PR (#3677) being based on the wrong branch. We're ready to merge this to master now, so let's make it match release-v0.33.3.
| | * | Merge tag 'v0.33.3'Richard van der Hoff2018-08-22103-916/+2769
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Features -------- - Add support for the SNI extension to federation TLS connections. Thanks to @vojeroen! ([\#3439](https://github.com/matrix-org/synapse/issues/3439)) - Add /_media/r0/config ([\#3184](https://github.com/matrix-org/synapse/issues/3184)) - speed up /members API and add `at` and `membership` params as per MSC1227 ([\#3568](https://github.com/matrix-org/synapse/issues/3568)) - implement `summary` block in /sync response as per MSC688 ([\#3574](https://github.com/matrix-org/synapse/issues/3574)) - Add lazy-loading support to /messages as per MSC1227 ([\#3589](https://github.com/matrix-org/synapse/issues/3589)) - Add ability to limit number of monthly active users on the server ([\#3633](https://github.com/matrix-org/synapse/issues/3633)) - Support more federation endpoints on workers ([\#3653](https://github.com/matrix-org/synapse/issues/3653)) - Basic support for room versioning ([\#3654](https://github.com/matrix-org/synapse/issues/3654)) - Ability to disable client/server Synapse via conf toggle ([\#3655](https://github.com/matrix-org/synapse/issues/3655)) - Ability to whitelist specific threepids against monthly active user limiting ([\#3662](https://github.com/matrix-org/synapse/issues/3662)) - Add some metrics for the appservice and federation event sending loops ([\#3664](https://github.com/matrix-org/synapse/issues/3664)) - Where server is disabled, block ability for locked out users to read new messages ([\#3670](https://github.com/matrix-org/synapse/issues/3670)) - set admin uri via config, to be used in error messages where the user should contact the administrator ([\#3687](https://github.com/matrix-org/synapse/issues/3687)) - Synapse's presence functionality can now be disabled with the "use_presence" configuration option. ([\#3694](https://github.com/matrix-org/synapse/issues/3694)) - For resource limit blocked users, prevent writing into rooms ([\#3708](https://github.com/matrix-org/synapse/issues/3708)) Bugfixes -------- - Fix occasional glitches in the synapse_event_persisted_position metric ([\#3658](https://github.com/matrix-org/synapse/issues/3658)) - Fix bug on deleting 3pid when using identity servers that don't support unbind API ([\#3661](https://github.com/matrix-org/synapse/issues/3661)) - Make the tests pass on Twisted < 18.7.0 ([\#3676](https://github.com/matrix-org/synapse/issues/3676)) - Don’t ship recaptcha_ajax.js, use it directly from Google ([\#3677](https://github.com/matrix-org/synapse/issues/3677)) - Fixes test_reap_monthly_active_users so it passes under postgres ([\#3681](https://github.com/matrix-org/synapse/issues/3681)) - Fix mau blocking calulation bug on login ([\#3689](https://github.com/matrix-org/synapse/issues/3689)) - Fix missing yield in synapse.storage.monthly_active_users.initialise_reserved_users ([\#3692](https://github.com/matrix-org/synapse/issues/3692)) - Improve HTTP request logging to include all requests ([\#3700](https://github.com/matrix-org/synapse/issues/3700)) - Avoid timing out requests while we are streaming back the response ([\#3701](https://github.com/matrix-org/synapse/issues/3701)) - Support more federation endpoints on workers ([\#3705](https://github.com/matrix-org/synapse/issues/3705), [\#3713](https://github.com/matrix-org/synapse/issues/3713)) - Fix "Starting db txn 'get_all_updated_receipts' from sentinel context" warning ([\#3710](https://github.com/matrix-org/synapse/issues/3710)) - Fix bug where `state_cache` cache factor ignored environment variables ([\#3719](https://github.com/matrix-org/synapse/issues/3719)) - Fix bug in v0.33.3rc1 which caused infinite loops and OOMs ([\#3723](https://github.com/matrix-org/synapse/issues/3723)) - Fix bug introduced in v0.33.3rc1 which made the ToS give a 500 error ([\#3732](https://github.com/matrix-org/synapse/issues/3732)) Deprecations and Removals ------------------------- - The Shared-Secret registration method of the legacy v1/register REST endpoint has been removed. For a replacement, please see [the admin/register API documentation](https://github.com/matrix-org/synapse/blob/master/docs/admin_api/register_api.rst). ([\#3703](https://github.com/matrix-org/synapse/issues/3703)) Internal Changes ---------------- - The test suite now can run under PostgreSQL. ([\#3423](https://github.com/matrix-org/synapse/issues/3423)) - Refactor HTTP replication endpoints to reduce code duplication ([\#3632](https://github.com/matrix-org/synapse/issues/3632)) - Tests now correctly execute on Python 3. ([\#3647](https://github.com/matrix-org/synapse/issues/3647)) - Sytests can now be run inside a Docker container. ([\#3660](https://github.com/matrix-org/synapse/issues/3660)) - Port over enough to Python 3 to allow the sytests to start. ([\#3668](https://github.com/matrix-org/synapse/issues/3668)) - Update docker base image from alpine 3.7 to 3.8. ([\#3669](https://github.com/matrix-org/synapse/issues/3669)) - Rename synapse.util.async to synapse.util.async_helpers to mitigate async becoming a keyword on Python 3.7. ([\#3678](https://github.com/matrix-org/synapse/issues/3678)) - Synapse's tests are now formatted with the black autoformatter. ([\#3679](https://github.com/matrix-org/synapse/issues/3679)) - Implemented a new testing base class to reduce test boilerplate. ([\#3684](https://github.com/matrix-org/synapse/issues/3684)) - Rename MAU prometheus metrics ([\#3690](https://github.com/matrix-org/synapse/issues/3690)) - add new error type ResourceLimit ([\#3707](https://github.com/matrix-org/synapse/issues/3707)) - Logcontexts for replication command handlers ([\#3709](https://github.com/matrix-org/synapse/issues/3709)) - Update admin register API documentation to reference a real user ID. ([\#3712](https://github.com/matrix-org/synapse/issues/3712))
| | | * bump version to 0.33.3Richard van der Hoff2018-08-221-1/+1
| | | |
| | * | Revert "Use recaptcha_ajax.js directly from Google"Richard van der Hoff2018-08-132-1/+196
| | | |
| * | | Merge pull request #3724 from Half-Shot/hs/guest-fetch-eventErik Johnston2018-08-221-1/+1
| |\ \ \ | | | | | | | | | | Allow guests to use /rooms/:roomId/event/:eventId
| | * | | Allow guests to access /rooms/:roomId/event/:eventIdWill Hunt2018-08-201-1/+1
| | | | |
| * | | | Merge pull request #3659 from matrix-org/erikj/split_profilesErik Johnston2018-08-226-42/+74
| |\ \ \ \ | | | | | | | | | | | | Allow profile updates to happen on workers
| | * | | | Rename WorkerProfileHandler to BaseProfileHandlerErik Johnston2018-08-222-5/+12
| | | | | |
| | * | | | Add assert to ensure handler is only run on masterErik Johnston2018-08-221-0/+2
| | | | | |
| | * | | | Remove redundant varsErik Johnston2018-08-221-3/+0
| | | | | |
| | * | | | Add some fixmesErik Johnston2018-08-172-0/+6
| | | | | |
| | * | | | Call UserDirectoryHandler methods directlyErik Johnston2018-08-174-104/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turns out that the user directory handling is fairly racey as a bunch of stuff assumes that the processing happens on master, which it doesn't when there is a synapse.app.user_dir worker. So lets just call the function directly until we actually get round to fixing it, since it doesn't make the situation any worse.
| | * | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-1768-538/+1330
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | erikj/split_profiles
| | * | | | | Split ProfileHandler into master and workerErik Johnston2018-08-172-9/+19
| | | | | | |
| | * | | | | Remote profile cache should remain in master workerErik Johnston2018-08-171-4/+2
| | | | | | |
| | * | | | | DocstringsErik Johnston2018-08-091-1/+11
| | | | | | |
| | * | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-0930-126/+667
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | erikj/split_profiles
| | * | | | | | Allow ratelimiting on workersErik Johnston2018-08-071-29/+29
| | | | | | | |
| | * | | | | | Allow profile changes to happen on workersErik Johnston2018-08-075-8/+106
| | | | | | | |
| * | | | | | | Merge pull request #3673 from matrix-org/erikj/refactor_state_handlerErik Johnston2018-08-226-271/+388
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Refactor state module to support multiple room versions
| | * \ \ \ \ \ \ Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-2081-748/+1735
| | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | erikj/refactor_state_handler
| | * | | | | | | | Remove redundant room_version checksErik Johnston2018-08-202-15/+4
| | | | | | | | | |
| | * | | | | | | | Revert spurious changeErik Johnston2018-08-201-2/+2
| | | | | | | | | |
| | * | | | | | | | Add fast path in state res for zero prev eventsErik Johnston2018-08-091-1/+6
| | | | | | | | | |
| | * | | | | | | | Choose state algorithm based on room versionErik Johnston2018-08-094-16/+105
| | | | | | | | | |
| | * | | | | | | | Add constants for room versionsErik Johnston2018-08-091-2/+7
| | | | | | | | | |
| | * | | | | | | | Refactor state moduleErik Johnston2018-08-092-296/+325
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We split out the actual state resolution algorithm to prepare for having multiple versions.
| * | | | | | | | | Merge pull request #3735 from matrix-org/travis/federation-spellingRichard van der Hoff2018-08-221-1/+1
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | limt -> limit
| | * | | | | | | | | limt -> limitTravis Ralston2018-07-311-1/+1
| | | | | | | | | | |
| * | | | | | | | | | Merge remote-tracking branch 'origin/release-v0.33.3' into developRichard van der Hoff2018-08-221-3/+12
| |\ \ \ \ \ \ \ \ \ \ | | | |_|_|_|_|_|_|_|/ | | |/| | | | | | | |
| | * | | | | | | | | fix another consent encoding failRichard van der Hoff2018-08-211-1/+1
| | | | | | | | | | |
| | * | | | | | | | | Fix 500 error from /consent formRichard van der Hoff2018-08-211-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #3731
| * | | | | | | | | | Split the state_group_cache in two (#3726)Matthew Hodgson2018-08-221-17/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Splits the state_group_cache in two. One half contains normal state events; the other contains member events. The idea is that the lazyloading common case of: "I want a subset of member events plus all of the other state" can be accomplished efficiently by splitting the cache into two, and asking for "all events" from the non-members cache, and "just these keys" from the members cache. This means we can avoid having to make DictionaryCache aware of these sort of complicated queries, whilst letting LL requests benefit from the caching. Previously we were unable to sensibly use the caching and had to pull all state from the DB irrespective of the filtering, which made things slow. Hopefully fixes https://github.com/matrix-org/synapse/issues/3720.
| * | | | | | | | | | Merge tag 'v0.33.3rc2' into developRichard van der Hoff2018-08-213-4/+18
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bugfixes -------- - Fix bug in v0.33.3rc1 which caused infinite loops and OOMs ([\#3723](https://github.com/matrix-org/synapse/issues/3723))
| | * | | | | | | | | changelog v0.33.3rc2Amber Brown2018-08-211-1/+1
| | | | | | | | | | |
| | * | | | | | | | | Fix exceptions when a connection is closed before we read the headersRichard van der Hoff2018-08-202-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes bugs introduced in #3700, by making sure that we behave sanely when an incoming connection is closed before the headers are read.
| | * | | | | | | | | Robustness fix for logcontext filterRichard van der Hoff2018-08-201-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the logcontext filter not explode if it somehow ends up with a logcontext of None, since that infinite-loops the whole logging system.
| | * | | | | | | | | versionAmber Brown2018-08-211-1/+1
| | | |_|_|_|_|_|/ / | | |/| | | | | | |
| * | | | | | | | | Merge pull request #3727 from matrix-org/erikj/dont_error_on_missing_keysErik Johnston2018-08-212-5/+9
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Don't log exceptions when failing to fetch server keys
| | * | | | | | | | | Log more detail when we fail to authenticate requestErik Johnston2018-08-211-3/+3
| | | | | | | | | | |
| | * | | | | | | | | Don't log exceptions when failing to fetch server keysErik Johnston2018-08-212-4/+8
| | |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not being able to resolve or connect to remote servers is an expected error, so we shouldn't log at ERROR with stacktraces.
| * | | | | | | | | Fix typoErik Johnston2018-08-211-4/+4
| | | | | | | | | |
| * | | | | | | | | isortErik Johnston2018-08-211-1/+2
| | | | | | | | | |
| * | | | | | | | | Make the in flight requests metrics thread safeErik Johnston2018-08-201-3/+10
| | | | | | | | | |
| * | | | | | | | | Make the in flight background process metrics thread safeErik Johnston2018-08-201-5/+20
| |/ / / / / / / /
| * | | / / / / / Port over enough to get some sytests running on Python 3 (#3668)Amber Brown2018-08-2011-40/+90
| | |_|/ / / / / | |/| | | | | |
| * | | | | | | Use get_cache_factor_for function for `state_cache`Erik Johnston2018-08-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the cache factor for `state_cache` to be individually specified in the enviroment
| * | | | | | | Merge pull request #3713 from matrix-org/erikj/fixup_fed_loggingErik Johnston2018-08-201-1/+1
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Fix logging bug in EDU handling over replication
| | * | | | | | | Fix logging bug in EDU handling over replicationErik Johnston2018-08-171-1/+1
| | | | | | | | |
| * | | | | | | | Merge pull request #3709 from matrix-org/rav/logcontext_for_replication_commandsRichard van der Hoff2018-08-178-20/+53
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Logcontexts for replication command handlers
| | * | | | | | | | Logcontexts for replication command handlersRichard van der Hoff2018-08-178-20/+53
| | |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run the handlers for replication commands as background processes. This should improve the visibility in our metrics, and reduce the number of "running db transaction from sentinel context" warnings. Ideally it means converting the things that fire off deferreds into the night into things that actually return a Deferred when they are done. I've made a bit of a stab at this, but it will probably be leaky.
| * | | | | | | | Merge pull request #3710 from matrix-org/rav/logcontext_for_pusher_updatesRichard van der Hoff2018-08-175-21/+28
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix logcontexts for running pushers
| | * | | | | | | | Fix logcontexts for running pushersRichard van der Hoff2018-08-175-21/+28
| | |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First of all, avoid resetting the logcontext before running the pushers, to fix the "Starting db txn 'get_all_updated_receipts' from sentinel context" warning. Instead, give them their own "background process" logcontexts.
| * | | | | | | | Integrate presence from hotfixes (#3694)Amber Brown2018-08-189-17/+90
| | | | | | | | |
| * | | | | | | | Remove v1/register's broken shared secret functionality (#3703)Amber Brown2018-08-181-54/+0
| | | | | | | | |
| * | | | | | | | Merge pull request #3701 from matrix-org/rav/use_producer_for_responsesRichard van der Hoff2018-08-171-4/+13
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Use a producer to stream back responses
| | * | | | | | | | Use a producer to stream back responsesRichard van der Hoff2018-08-151-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem with dumping all of the json response into the Request object at once is that doing so starts the timeout for the next request to be received: so if it takes longer than 60s to stream back the response to the client, the client never gets it. The correct solution is to use a Producer; then the timeout is only started once all of the content is sent over the TCP connection.
| * | | | | | | | | Merge pull request #3700 from matrix-org/rav/wait_for_producersRichard van der Hoff2018-08-172-92/+179
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Refactor request logging code
| | * | | | | | | | | Refactor request logging codeRichard van der Hoff2018-08-152-92/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit moves a bunch of the logic for deciding when to log the receipt and completion of HTTP requests into SynapseRequest, rather than in the request handling wrappers. Advantages of this are: * we get logs for *all* requests (including OPTIONS and HEADs), rather than just those that end up hitting handlers we've remembered to decorate correctly. * when a request handler wires up a Producer (as the media stuff does currently, and as other things will do soon), we log at the point that all of the traffic has been sent to the client.
* | | | | | | | | | | Update notice formatErik Johnston2018-08-222-5/+15
| | | | | | | | | | |
* | | | | | | | | | | rename error codeNeil Johnson2018-08-182-4/+4
| | | | | | | | | | |
* | | | | | | | | | | special case server_notices_mxidNeil Johnson2018-08-181-0/+6
| | | | | | | | | | |
* | | | | | | | | | | special case server_notices_mxidNeil Johnson2018-08-181-1/+1
| | | | | | | | | | |