summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Add 'server_version' endpoint to admin APIJoseph Weston2019-03-012-1/+58
| | | | | This is required because the 'Server' HTTP header is not always passed through proxies.
* Import 'admin' module rather than 'register_servlets' directlyJoseph Weston2019-03-011-2/+2
| | | | | | We will later need also to import 'register_servlets' from the 'login' module, so we un-pollute the namespace now to keep the logical changes separate.
* Minor docstring fixes for MatrixFederationAgent (#4765)Andrew Morgan2019-02-282-1/+6
|
* Make 'event_id' a required parameter in federated state requests (#4741)Amber Brown2019-02-272-2/+3
| | | | | | | | | | | | | | * 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-273-20/+111
| | | | | | | | | | | * 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-2713-108/+325
|
* Merge pull request #4759 from matrix-org/erikj/3pid_client_readerErik Johnston2019-02-274-33/+37
|\ | | | | Move /account/3pid to client_reader
| * Update changelog.d/4759.featureRichard van der Hoff2019-02-271-1/+1
| | | | | | Co-Authored-By: erikjohnston <erikj@jki.re>
| * NewsfileErik Johnston2019-02-271-0/+1
| |
| * Move /account/3pid to client_readerErik Johnston2019-02-273-33/+36
| |
* | Merge pull request #4758 from matrix-org/erikj/use_presence_replicationErik Johnston2019-02-273-2/+9
|\ \ | | | | | | When presence is disabled don't send over replication
| * | NewsfileErik Johnston2019-02-271-0/+1
| | |
| * | When presence is enabled don't send over replicationErik Johnston2019-02-272-2/+8
| |/
* | Merge pull request #4757 from matrix-org/erikj/key_api_fed_readaeErik Johnston2019-02-274-1/+13
|\ \ | |/ |/| Move server key queries to federation reader
| * Fix unit testsErik Johnston2019-02-271-0/+6
| |
| * NewsfileErik Johnston2019-02-271-0/+1
| |
| * Move server key queries to federation readerErik Johnston2019-02-272-1/+6
|/
* Merge pull request #4749 from matrix-org/erikj/replication_connection_backoffErik Johnston2019-02-275-6/+43
|\ | | | | Fix tightloop over connecting to replication server
| * Move connecting logic into ClientReplicationStreamProtocolErik Johnston2019-02-272-18/+17
| |
| * NewsfileErik Johnston2019-02-261-0/+1
| |
| * 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-263-5/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2750-53/+63
| |
* | Limit cache invalidation replication line length (#4748)Erik Johnston2019-02-273-5/+28
| |
* | Add database version to phonehome stats. (#4753)Richard van der Hoff2019-02-275-0/+46
| |
* | Fix check-newsfragment script (#4750)Richard van der Hoff2019-02-263-4/+10
| | | | | | | | | | | | | | | | | | | | * Fix check-newsfragment script I previously broke this so that it always succeeded... * more fixes * fix newsfiles
* | Fix apache reverse proxy example (#4742)Paul Tötterman2019-02-261-1/+1
|/ | | | | So that it actually works. See https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxypass Signed-off-by: Paul Tötterman <paul.totterman@iki.fi>
* Merge pull request #4746 from matrix-org/anoa/public_rooms_federate_developAndrew Morgan2019-02-264-13/+65
|\ | | | | Prevent showing non-fed rooms in fed /publicRooms v2
| * Merge branch 'develop' of github.com:matrix-org/synapse into ↵Andrew Morgan2019-02-26391-6363/+18845
| |\ | |/ |/| | | anoa/public_rooms_federate_develop
* | Merge pull request #4745 from matrix-org/revert-4736-anoa/public_rooms_federateAndrew Morgan2019-02-264-70/+17
|\ \ | | | | | | Revert "Prevent showing non-fed rooms in fed /publicRooms"
| * | 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
| | |
| * | Result may be NoneAndrew Morgan2019-02-261-1/+1
| | |
| * | Address rich commentsAndrew Morgan2019-02-262-7/+31
| | |
| * | Fix group's call to generate_room_entryAndrew Morgan2019-02-251-4/+2
| | |
| * | elif not else ifAndrew Morgan2019-02-251-1/+1
| | |
| * | syntax derpAndrew Morgan2019-02-251-1/+1
| | |
| * | Simplify call to generate_room_entryAndrew Morgan2019-02-251-17/+13
| | |
| * | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-02-25384-6331/+18693
| |\ \ | | | | | | | | | | | | anoa/public_rooms_federate
| * | | Docs and arg name clarificationAndrew Morgan2019-02-251-2/+15
| | | |
| * | | Don't restrict non-fed rooms over client APIsAndrew Morgan2019-02-253-14/+22
| | | |
| * | | Config option to prevent showing non-fed rooms in fed /publicRoomsAndrew Morgan2019-02-252-2/+26
| | | |
* | | | Don't log stack trace when client has gone away during media download (#4738)Erik Johnston2019-02-252-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Don't log stack trace when client has gone away during media download * Newsfile * Fixup newsfile
* | | | Fix ACME config for python 2. (#4717)Richard van der Hoff2019-02-252-3/+8
| | | | | | | | | | | | Fixes #4675.
* | | | switch from google.com to recaptcha.net for reCAPTCHA (#4731)Matthew Hodgson2019-02-255-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add trivial clarification about jemalloc * switch from google.com to recaptcha.net because https://developers.google.com/recaptcha/docs/faq#can-i-use-recaptcha-globally
* | | | Merge pull request #4737 from matrix-org/erikj/failure_log_tbErik Johnston2019-02-255-8/+14
|\ \ \ \ | | | | | | | | | | Log tracebacks correctly
| * | | | NewsfileErik Johnston2019-02-252-1/+2
| | | | |
| * | | | Log tracebacks correctlyErik Johnston2019-02-253-7/+12
| | |/ / | |/| |
* | | | Merge pull request #4718 from matrix-org/erikj/fix_backfill_state_shredErik Johnston2019-02-252-3/+32
|\ \ \ \ | | | | | | | | | | Fix backfill storing incorrect state for events
| * | | | Fixup changelogErik Johnston2019-02-251-1/+1
| | | | |
| * | | | Fix typoErik Johnston2019-02-251-1/+1
| | | | |
| * | | | More commentsErik Johnston2019-02-251-0/+4
| | | | |
| * | | | Assert rather than clobber the valuesErik Johnston2019-02-251-2/+2
| | | | |
| * | | | NewsfileErik Johnston2019-02-251-0/+1
| | | | |
| * | | | Add comments and paranoiaErik Johnston2019-02-251-2/+23
| | | | |
| * | | | Fix backfill storing incorrect state for eventsErik Johnston2019-02-221-1/+4
| | | | |
* | | | | Merge pull request #4721 from matrix-org/erikj/msc_1866Erik Johnston2019-02-253-2/+27
|\ \ \ \ \ | | | | | | | | | | | | MSC 1866 - Use M_UNSUPPORTED_ROOM_VERSION for invite API
| * | | | | NewsfileErik Johnston2019-02-231-0/+1
| | | | | |
| * | | | | MSC 1866 - Use M_UNSUPPORTED_ROOM_VERSION for invite APIErik Johnston2019-02-232-2/+26
| | | | | |
* | | | | | Merge pull request #4722 from ↵Erik Johnston2019-02-252-21/+52
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | matrix-org/erikj/correctly_handle_keyring_exceptions Handle errors when fetching remote server keys
| * | | | | raise_from already raisesErik Johnston2019-02-251-4/+4
| | | | | |
| * | | | | NewsfileErik Johnston2019-02-231-0/+1
| | | | | |
| * | | | | Handle errors when fetching remote server keysErik Johnston2019-02-231-21/+51
| |/ / / /
* | | | | Merge pull request #4723 from matrix-org/erikj/frontend_proxy_exceptionErik Johnston2019-02-252-5/+11
|\ \ \ \ \ | |/ / / / |/| | | | Correctly proxy exception in frontend_proxy worker
| * | | | NewsfileErik Johnston2019-02-231-0/+1
| | | | |
| * | | | Correctly proxy exception in frontend_proxy workerErik Johnston2019-02-231-5/+10
|/ / / /
* | | | Merge pull request #4716 from matrix-org/erikj/pusher_loggingErik Johnston2019-02-224-1/+17
|\ \ \ \ | | | | | | | | | | Fix up pusher logging a bit
| * | | | Add missing returnErik Johnston2019-02-221-0/+1
| | | | |
| * | | | Correctly handle PusherConfigExceptionErik Johnston2019-02-221-0/+9
| | | | |
| * | | | NewsfileErik Johnston2019-02-221-0/+1
| | | | |
| * | | | Drop logging level of creating a pusherErik Johnston2019-02-221-1/+1
| | | | |
| * | | | Correctly handle null data in HttpPusherErik Johnston2019-02-221-0/+5
| |/ / /
* | | | Merge pull request #4715 from matrix-org/erikj/fix_state_invalidationErik Johnston2019-02-223-12/+36
|\ \ \ \ | | | | | | | | | | Fix state cache invalidation on workers
| * | | | NewsfileErik Johnston2019-02-221-0/+1
| | | | |
| * | | | Fix state cache invalidation on workersErik Johnston2019-02-222-12/+35
| |/ / /
* / / / Debian: fix overwriting of config settings on upgrade (#4696)Richard van der Hoff2019-02-225-8/+165
|/ / / | | | | | | | | | | | | | | | Make sure that users' changes to the config files are preserved. Fixes #4440.
* | | Add prometheus metrics for number of badge update pushes. (#4709)Richard van der Hoff2019-02-222-8/+26
| | | | | | | | | | | | | | | | | | We're counting the number of push notifications, but not the number of badges; I'd like to see if they are significant.
* | | Better checks on newsfragments (#4698)Richard van der Hoff2019-02-224-12/+68
| | | | | | | | | | | | | | | * You need an entry in the debian changelog (and not a regular newsfragment) for debian packaging changes. * Regular newsfragments must end in full stops.
* | | Minor tweaks to acme docs (#4689)Richard van der Hoff2019-02-222-10/+10
| | |
* | | bail out early in on_new_receipts if no pushers (#4706)Richard van der Hoff2019-02-212-0/+9
| | |
* | | Run push_receipts_to_remotes as background job (#4707)Richard van der Hoff2019-02-212-34/+35
| | | | | | | | | I suspect the CPU usage metrics for this are going to /dev/null at the moment.
* | | Added HAProxy example (#4660)Benoît S2019-02-212-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added HAProxy example Proposal of an example with HAProxy. Asked by #4541. Signed-off-by: Benoît S. (“Benpro”) <gitlab@benpro.fr> * Following suggestions of @richvdh
* | | Merge pull request #4263 from rkfg/developErik Johnston2019-02-212-1/+2
|\ \ \ | | | | | | | | Prevent crash on pagination.
| * | | Prevent crash on pagination.rkfg2018-12-062-1/+2
| | | |
* | | | Merge pull request #4701 from fistons/fix-migration-scriptErik Johnston2019-02-212-0/+4
|\ \ \ \ | | | | | | | | | | Migration Script: consider e2e_room_keys.is_verified column as boolean
| * | | | Consider e2e_room_keys.is_verified column as booleanEric2019-02-202-0/+4
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | This column was considered as an int, crashing the whole migration process Signed-off-by: Eric <eric@pedr0.net>
* | | | Merge pull request #4694 from matrix-org/erikj/fix_sentry_config_formatErik Johnston2019-02-202-0/+3
|\ \ \ \ | | | | | | | | | | Fixup generated metrics config
| * | | | NewsfileErik Johnston2019-02-201-0/+1
| | | | |
| * | | | Fixup generated metrics configErik Johnston2019-02-201-0/+2
| | | | |
* | | | | Add metrics for number of outgoing EDUs, by type (#4695)Richard van der Hoff2019-02-203-6/+19
| | | | |
* | | | | UPSERT many functionality (#4644)Amber Brown2019-02-204-13/+224
| | | | |
* | | | | Logging improvements for the pusher (#4691)Richard van der Hoff2019-02-203-13/+15
| | | | |
* | | | | Fix TaskStopped exceptions when outbound requests time out (#4690)Richard van der Hoff2019-02-204-18/+30
| | | | |
* | | | | Clean up gitignores (#4688)Richard van der Hoff2019-02-203-58/+38
| | | | | | | | | | | | | | | | | | | | | | | | | I just got bitten by a file being caught by the .gitignore, which shouldn't have been, and am now pissed off with the .gitignore. I have basically declared bankruptcy on it and started again.
* | | | | Merge pull request #4678 from matrix-org/rav/tls_install_instructionsRichard van der Hoff2019-02-2026-216/+268
|\ \ \ \ \ | |/ / / / |/| | | | Attempt to clarify installation/config instructions
| * | | | changelogRichard van der Hoff2019-02-191-0/+1
| | | | |
| * | | | Attempt to make default config more consistentRichard van der Hoff2019-02-1924-196/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The general idea here is that config examples should just have a hash and no extraneous whitespace, both to make it easier for people who don't understand yaml, and to make the examples stand out from the comments.
| * | | | clarify TLS instructionsRichard van der Hoff2019-02-191-20/+19
| | | | |
* | | | | Fix registration on workers (#4682)Erik Johnston2019-02-2014-151/+277
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move RegistrationHandler init to HomeServer * Move post registration actions to RegistrationHandler * Add post regisration replication endpoint * Newsfile
* | | | | Run unit tests against python 3.7 (#4677)Richard van der Hoff2019-02-203-38/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Run unit tests against python 3.7 ... so that we span the full range of our supported python versions * Switch to xenial * fix psql fail * pep8 etc want python 3.6
* | | | | Merge pull request #4671 from matrix-org/erikj/state_cache_invalidationErik Johnston2019-02-195-33/+96
|\ \ \ \ \ | |/ / / / |/| | | | Batch cache invalidation over replication
| * | | | DocsErik Johnston2019-02-192-2/+8
| | | | |
| * | | | Use itertoolsErik Johnston2019-02-191-2/+2
| | | | |
| * | | | DocumentationErik Johnston2019-02-192-5/+24
| | | | |
| * | | | NewsfileErik Johnston2019-02-181-0/+1
| | | | |
| * | | | Batch cache invalidation over replicationErik Johnston2019-02-183-32/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently whenever the current state changes in a room invalidate a lot of caches, which cause *a lot* of traffic over replication. Instead, lets batch up all those invalidations and send a single poke down the replication streams. Hopefully this will reduce load on the master process by substantially reducing traffic.
* | | | | Merge pull request #4676 from matrix-org/rav/pg95Richard van der Hoff2019-02-192-14/+33
|\ \ \ \ \ | | | | | | | | | | | | Test against Postgres 9.5 as well as 9.4
| * | | | | Test against Postgres 9.5 as well as 9.4Richard van der Hoff2019-02-192-14/+33
| |/ / / / | | | | | | | | | | | | | | | | | | | | Postgres 9.5 is the first to support UPSERTs, so we should really run against it as well as 9.4.
* | | | | Merge pull request #4652 from matrix-org/babolivier/acme-delegatedBrendan Abolivier2019-02-193-4/+21
|\ \ \ \ \ | | | | | | | | | | | | Support .well-known delegation when issuing certificates through ACME
| * | | | | Improve config documentationBrendan Abolivier2019-02-191-3/+11
| | | | | |
| * | | | | Fetch ACME domain into an instance memberBrendan Abolivier2019-02-191-4/+5
| | | | | |
| * | | | | Use a configuration parameter to give the domain to generate a certificate forBrendan Abolivier2019-02-182-25/+11
| | | | | |
| * | | | | Merge branch 'develop' into babolivier/acme-delegatedBrendan Abolivier2019-02-1814-41/+297
| |\ \ \ \ \
| * | | | | | Typo in changelogAndrew Morgan2019-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | Co-Authored-By: babolivier <contact@brendanabolivier.com>
| * | | | | | Typo in info logAndrew Morgan2019-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | Co-Authored-By: babolivier <contact@brendanabolivier.com>
| * | | | | | Various cosmetics to make TravisCI happyBrendan Abolivier2019-02-151-2/+5
| | | | | | |
| * | | | | | Remove unused importBrendan Abolivier2019-02-151-1/+0
| | | | | | |
| * | | | | | Support .well-known delegation when issuing certificates through ACMEBrendan Abolivier2019-02-152-4/+24
| | | | | | |
* | | | | | | Merge pull request #4670 from matrix-org/erikj/register_login_splitErik Johnston2019-02-195-43/+47
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Split /login into client_reader
| * | | | | | | NewsfileErik Johnston2019-02-181-0/+1
| | | | | | | |
| * | | | | | | Update worker docsErik Johnston2019-02-182-2/+3
| | | | | | | |
| * | | | | | | Split /login into client_readerErik Johnston2019-02-182-41/+43
| | | | | | | |
* | | | | | | | Try and make TLS federation client code faster (#4674)Richard van der Hoff2019-02-192-8/+7
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix to use makeContext so that we don't need to rebuild the certificateoptions each time
| * | | | | | | | misc->featureRichard van der Hoff2019-02-191-0/+0
| | | | | | | | |
| * | | | | | | | changelogAmber Brown2019-02-191-0/+1
| | | | | | | | |
| * | | | | | | | fix to use makeContext so that we don't need to rebuild the ↵Amber Brown2019-02-191-8/+6
| | |_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | certificateoptions each time
* | | | | | | | Merge pull request #4642 from matrix-org/anoa/bans_room_upgradeAndrew Morgan2019-02-192-0/+23
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | Transfer bans on room upgrade
| * | | | | | | lintAndrew Morgan2019-02-181-1/+3
| | | | | | | |
| * | | | | | | Move member event processing and changelog fixAndrew Morgan2019-02-182-9/+7
| | | | | | | |
| * | | | | | | Membership events are done laterAndrew Morgan2019-02-181-12/+20
| | | | | | | |
| * | | | | | | Add changelogAndrew Morgan2019-02-181-0/+1
| | | | | | | |
| * | | | | | | Transfer bans on room upgradeAndrew Morgan2019-02-181-0/+14
| | | | | | | |
* | | | | | | | Merge pull request #4632 from matrix-org/erikj/basic_sentryErik Johnston2019-02-184-1/+61
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Add basic optional sentry.io integration
| * | | | | | | | Fixup error handling and messageErik Johnston2019-02-181-5/+6
| | | | | | | | |
| * | | | | | | | FixupErik Johnston2019-02-181-1/+1
| | | | | | | | |
| * | | | | | | | Fixup comments and add warningErik Johnston2019-02-133-6/+11
| | | | | | | | |
| * | | | | | | | NewsfileErik Johnston2019-02-121-0/+1
| | | | | | | | |
| * | | | | | | | CommentsErik Johnston2019-02-121-0/+8
| | | | | | | | |
| * | | | | | | | Raise an appropriate error message if sentry_sdk missingErik Johnston2019-02-121-1/+15
| | | | | | | | |
| * | | | | | | | Basic sentry integrationErik Johnston2019-02-123-0/+31
| | | | | | | | |
* | | | | | | | | Merge pull request #4666 from matrix-org/erikj/register_login_splitErik Johnston2019-02-1811-255/+450
|\ \ \ \ \ \ \ \ \ | | |_|/ / / / / / | |/| | | | | | | Split out registration to worker
| * | | | | | | | Move register_device into handlerErik Johnston2019-02-185-172/+97
| | | | | | | | |
| * | | | | | | | Update docsErik Johnston2019-02-182-1/+7
| | | | | | | | |
| * | | | | | | | Update changelog.d/4666.featureWill Hunt2019-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: erikjohnston <erikj@jki.re>
| * | | | | | | | Fix unit testsErik Johnston2019-02-181-6/+15
| | | | | | | | |
| * | | | | | | | NewsfileErik Johnston2019-02-181-0/+1
| | | | | | | | |
| * | | | | | | | Split out registration to workerErik Johnston2019-02-187-147/+401
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows registration to be handled by a worker, though the actual write to the database still happens on master. Note: due to the in-memory session map all registration requests must be handled by the same worker.
* | | | | | | | | Merge pull request #4668 from matrix-org/erikj/catch_exceptionsErik Johnston2019-02-182-5/+10
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Correctly handle HttpResponseException when handling device updates
| * | | | | | | | | pep8Erik Johnston2019-02-181-1/+5
| | | | | | | | | |
| * | | | | | | | | NewsfileErik Johnston2019-02-181-0/+1
| | | | | | | | | |
| * | | | | | | | | Correctly handle HttpResponseExceptionErik Johnston2019-02-181-4/+4
| | |_|_|_|/ / / / | |/| | | | | | |
* | | | | | | | | Merge pull request #4669 from matrix-org/erikj/log_exceptionErik Johnston2019-02-182-3/+4
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Cleanup top level request exception logging
| * | | | | | | | | NewsfileErik Johnston2019-02-181-0/+1
| | | | | | | | | |
| * | | | | | | | | Cleanup top level request exception loggingErik Johnston2019-02-181-3/+3
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firstly, we always logged that the request was being handled via `JsonResource._async_render`, so we change that to use the servlet name we add to the request. Secondly, we pass the exception information to the logger rather than formatting it manually. This makes it consistent with other exception logging, allwoing logging hooks and formatters to access the exception information.
* | | | | | | | | Merge pull request #4651 from matrix-org/matthew/well-known-corsErik Johnston2019-02-182-0/+4
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | set CORS on .well-known URI to unbreak modular
| * | | | | | | | | FixupErik Johnston2019-02-182-1/+2
| | | | | | | | | |
| * | | | | | | | | changelogMatthew Hodgson2019-02-181-0/+1
| | | | | | | | | |
| * | | | | | | | | fix missig importMatthew Hodgson2019-02-181-0/+1
| | | | | | | | | |
| * | | | | | | | | tabsMatthew Hodgson2019-02-141-1/+1
| | | | | | | | | |
| * | | | | | | | | set CORS on .well-known URI to unbreak modularMatthew Hodgson2019-02-141-0/+1
| | |_|_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | otherwise a riot/web running on foo.riot.im can't query the .well-known on foo.modular.im...
* | | | | | | | | Merge pull request #4667 from matrix-org/erikj/fix_revoke_guest_access_workersErik Johnston2019-02-183-1/+4
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | | Fix kicking guest users in worker mode
| * | | | | | | | NewsfileErik Johnston2019-02-181-0/+1
| | | | | | | | |
| * | | | | | | | Fix kicking guest users in worker modeErik Johnston2019-02-182-1/+3
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When guest_access changes from allowed to forbidden all local guest users should be kicked from the room. This did not happen when revocation was received from federation on a worker. Presumably broken in #4141
* | | | | | | | Merge pull request #4643 from matrix-org/erikj/catch_exceptionsErik Johnston2019-02-185-8/+20
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | Correctly handle RequestSendFailed exceptions
| * | | | | | | NewsfileErik Johnston2019-02-141-0/+1
| | | | | | | |
| * | | | | | | Correctly handle RequestSendFailed exceptionsErik Johnston2019-02-144-8/+19
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | This mainly reduces the number of exceptions we log.
* | | | | | | Merge pull request #4657 from matrix-org/travis/linda/spellingErik Johnston2019-02-183-2/+3
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix spelling mistakes
| * | | | | | | UPGRADE.rst: Fix a typo in "Upgrading Synapse" sectionJuuso "Linda" Lapinlampi2019-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See: https://en.wiktionary.org/wiki/successful
| * | | | | | | config: Remove a repeated word from a logger warningJuuso "Linda" Lapinlampi2019-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The warning for missing macaroon_secret_key was "missing missing".
| * | | | | | | ChangelogTravis Ralston2019-02-151-0/+1
|/ / / / / / /
* | | | | | | Merge pull request #4647 from matrix-org/erikj/add_room_publishing_rulesErik Johnston2019-02-156-31/+274
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | Add configurable room list publishing rules
| * | | | | | Move defaults up into codeErik Johnston2019-02-151-22/+44
| | | | | | |
| * | | | | | Hoist up checks to reduce overall workErik Johnston2019-02-151-17/+15
| | | | | | |
| * | | | | | Fixup commentsErik Johnston2019-02-151-8/+27
| | | | | | |
| * | | | | | Clarify commentsErik Johnston2019-02-141-3/+3
| | | | | | |
| * | | | | | Clarify and fix behaviour when there are multiple aliasesErik Johnston2019-02-142-6/+24
| | | | | | |
| * | | | | | Only fetch aliases when publishing roomsErik Johnston2019-02-141-15/+15
| | | | | | |
| * | | | | | Fixup commentsErik Johnston2019-02-141-8/+15
| | | | | | |
| * | | | | | NewsfileErik Johnston2019-02-141-0/+1
| | | | | | |
| * | | | | | Add configurable room list publishing rulesErik Johnston2019-02-145-22/+200
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | This allows specifying who and what is allowed to be published onto the public room list
* | | | | | Merge branch 'master' into developRichard van der Hoff2019-02-146-8/+37
|\ \ \ \ \ \
| * \ \ \ \ \ Merge branch 'release-v0.99.1'Richard van der Hoff2019-02-146-8/+37
| |\ \ \ \ \ \
| | * | | | | | Fix debian build dockerfile github/release-v0.99.1 release-v0.99.1Richard van der Hoff2019-02-141-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure it refreshes the apt cache before trying to install stuff
| | * | | | | | 0.99.1.1 v0.99.1.1Richard van der Hoff2019-02-144-3/+17
| | | | | | | |
| | * | | | | | Fix errors in acme provisioning (#4648)Richard van der Hoff2019-02-143-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Better logging for errors on startup * Fix "TypeError: '>' not supported" when starting without an existing certificate * Fix a bug where an existing certificate would be reprovisoned every day
* | | | | | | | Merge branch 'master' into developRichard van der Hoff2019-02-146-7/+17
|\| | | | | | | | |_|/ / / / / |/| | | | | |
| * | | | | | Merge tag 'v0.99.1'Richard van der Hoff2019-02-1456-555/+1312
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse 0.99.1 (2019-02-14) =========================== Features -------- - Include m.room.encryption on invites by default ([\#3902](https://github.com/matrix-org/synapse/issues/3902)) - Federation OpenID listener resource can now be activated even if federation is disabled ([\#4420](https://github.com/matrix-org/synapse/issues/4420)) - Synapse's ACME support will now correctly reprovision a certificate that approaches its expiry while Synapse is running. ([\#4522](https://github.com/matrix-org/synapse/issues/4522)) - Add ability to update backup versions ([\#4580](https://github.com/matrix-org/synapse/issues/4580)) - Allow the "unavailable" presence status for /sync. This change makes Synapse compliant with r0.4.0 of the Client-Server specification. ([\#4592](https://github.com/matrix-org/synapse/issues/4592)) - There is no longer any need to specify `no_tls`: it is inferred from the absence of TLS listeners ([\#4613](https://github.com/matrix-org/synapse/issues/4613), [\#4615](https://github.com/matrix-org/synapse/issues/4615), [\#4617](https://github.com/matrix-org/synapse/issues/4617), [\#4636](https://github.com/matrix-org/synapse/issues/4636)) - The default configuration no longer requires TLS certificates. ([\#4614](https://github.com/matrix-org/synapse/issues/4614)) Bugfixes -------- - Copy over room federation ability on room upgrade. ([\#4530](https://github.com/matrix-org/synapse/issues/4530)) - Fix noisy "twisted.internet.task.TaskStopped" errors in logs ([\#4546](https://github.com/matrix-org/synapse/issues/4546)) - Synapse is now tolerant of the `tls_fingerprints` option being None or not specified. ([\#4589](https://github.com/matrix-org/synapse/issues/4589)) - Fix 'no unique or exclusion constraint' error ([\#4591](https://github.com/matrix-org/synapse/issues/4591)) - Transfer Server ACLs on room upgrade. ([\#4608](https://github.com/matrix-org/synapse/issues/4608)) - Fix failure to start when not TLS certificate was given even if TLS was disabled. ([\#4618](https://github.com/matrix-org/synapse/issues/4618)) - Fix self-signed cert notice from generate-config. ([\#4625](https://github.com/matrix-org/synapse/issues/4625)) - Fix performance of `user_ips` table deduplication background update ([\#4626](https://github.com/matrix-org/synapse/issues/4626), [\#4627](https://github.com/matrix-org/synapse/issues/4627)) Internal Changes ---------------- - Change the user directory state query to use a filtered call to the db instead of a generic one. ([\#4462](https://github.com/matrix-org/synapse/issues/4462)) - Reject federation transactions if they include more than 50 PDUs or 100 EDUs. ([\#4513](https://github.com/matrix-org/synapse/issues/4513)) - Reduce duplication of ``synapse.app`` code. ([\#4567](https://github.com/matrix-org/synapse/issues/4567)) - Fix docker upload job to push -py2 images. ([\#4576](https://github.com/matrix-org/synapse/issues/4576)) - Add port configuration information to ACME instructions. ([\#4578](https://github.com/matrix-org/synapse/issues/4578)) - Update MSC1711 FAQ to calrify .well-known usage ([\#4584](https://github.com/matrix-org/synapse/issues/4584)) - Clean up default listener configuration ([\#4586](https://github.com/matrix-org/synapse/issues/4586)) - Clarifications for reverse proxy docs ([\#4607](https://github.com/matrix-org/synapse/issues/4607)) - Move ClientTLSOptionsFactory init out of `refresh_certificates` ([\#4611](https://github.com/matrix-org/synapse/issues/4611)) - Fail cleanly if listener config lacks a 'port' ([\#4616](https://github.com/matrix-org/synapse/issues/4616)) - Remove redundant entries from docker config ([\#4619](https://github.com/matrix-org/synapse/issues/4619)) - README updates ([\#4621](https://github.com/matrix-org/synapse/issues/4621))
| | * | | | | 0.99.1 v0.99.1Richard van der Hoff2019-02-143-16/+11
| | | | | | |
| | * | | | | implement `reload` by sending the HUP signal (#4622)Дамјан Георгиевски2019-02-142-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * implement `reload` by sending the HUP signal According to the 0.99 release info* synapse now uses the HUP signal to reload certificates: > Synapse will now reload TLS certificates from disk upon SIGHUP. (#4495, #4524) So the matrix-synapse.service unit file should include a reload directive. Signed-off-by: Дамјан Георгиевски <gdamjan@gmail.com>
| | * | | | | 0.99.1rc2 v0.99.1rc2Richard van der Hoff2019-02-133-2/+10
| | | | | | |
| * | | | | | Update MSC1711_certificates_FAQ.mdErik Johnston2019-02-081-1/+1
| | | | | | | | | | | | | | | | | | | | | Fix incorrect heading level
* | | | | | | Merge pull request #4450 from 14mRh4X0r/fix-dependency-messageRichard van der Hoff2019-02-132-2/+7
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix error message for optional dependencies
| * | | | | | | Fix error message for optional dependenciesWillem Mulder2019-01-232-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Willem Mulder <willemmaster@hotmail.com>
* | | | | | | | Merge remote-tracking branch 'origin/release-v0.99.1' into developRichard van der Hoff2019-02-134-22/+35
|\ \ \ \ \ \ \ \ | | |_|/ / / / / | |/| | | | | |
| * | | | | | | Merge pull request #4636 from matrix-org/rav/bind_address_fixesRichard van der Hoff2019-02-134-22/+35
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Fix errors when using default bind_addresses with replication/metrics listeners
| | * | | | | | | Update synapse/app/_base.pyErik Johnston2019-02-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: richvdh <1389908+richvdh@users.noreply.github.com>
| | * | | | | | | changelogRichard van der Hoff2019-02-131-0/+1
| | | | | | | | |
| | * | | | | | | Use `listen_tcp` for the replication listenerRichard van der Hoff2019-02-131-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the "can't listen on 0.0.0.0" error. Also makes it more consistent with what we do elsewhere.
| | * | | | | | | Improve logging around listening servicesRichard van der Hoff2019-02-132-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I wanted to bring listen_tcp into line with listen_ssl in terms of returning a list of ports, and wanted to check that was a safe thing to do - hence the logging in `refresh_certificate`. Also, pull the 'Synapse now listening' message up to homeserver.py, because it was being duplicated everywhere else.
| | * | | | | | | Special-case the default bind_addresses for metrics listenerRichard van der Hoff2019-02-132-4/+7
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | turns out it doesn't really support ipv6, so let's hack around that by only listening on ipv4 by default.
* / / / / / / / Run `black` on user directory code (#4635)Amber Brown2019-02-133-131/+117
|/ / / / / / /
* | | | | | | Fixup changelog v0.99.1rc1Erik Johnston2019-02-121-4/+4
| | | | | | |
* | | | | | | Update changelog and versionErik Johnston2019-02-1232-32/+47
| | | | | | |
* | | | | | | Merge pull request #4608 from matrix-org/anoa/acls_room_upgradeErik Johnston2019-02-122-0/+2
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | Transfer Server ACLs on room upgrade
| * | | | | | ChangelogAndrew Morgan2019-02-111-0/+1
| | | | | | |
| * | | | | | Transfer Server ACLs on room upgradeAndrew Morgan2019-02-111-0/+1
| | | | | | |
* | | | | | | Fixup changelog entriesErik Johnston2019-02-124-2/+2
| | | | | | |
* | | | | | | Merge pull request #4627 from matrix-org/erikj/user_ips_analyzeErik Johnston2019-02-123-3/+32
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Analyze user_ips before running deduplication
| * | | | | | | Fix pep8Erik Johnston2019-02-121-1/+1
| | | | | | | |
| * | | | | | | NewsfileErik Johnston2019-02-121-0/+1
| | | | | | | |
| * | | | | | | Analyze user_ips before running deduplicationErik Johnston2019-02-122-3/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the table locks taken out by the naive upsert, the table statistics may be out of date. During deduplication it is important that the correct index is used as otherwise a full table scan may be incorrectly used, which can end up thrashing the database badly.
* | | | | | | | Merge pull request #4626 from matrix-org/erikj/fixup_user_ips_dedupeErik Johnston2019-02-122-3/+61
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Reduce user_ips bloat during dedupe background update
| * | | | | | | | NewsfileErik Johnston2019-02-121-0/+1
| | | | | | | | |
| * | | | | | | | Reduce user_ips bloat during dedupe background updateErik Johnston2019-02-121-3/+60
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The background update to remove duplicate rows naively deleted and reinserted the duplicates. For large tables with a large number of duplicates this causes a lot of bloat (with postgres), as the inserted rows are appended to the table, since deleted rows will not be overwritten until a VACUUM has happened. This should hopefully also help ensure that the query in the last batch uses the correct index, as inserting a large number of new rows without analyzing will upset the query planner.
* | | | | | | | Merge pull request #4625 from matrix-org/rav/fix_generate_config_warningsErik Johnston2019-02-122-7/+3
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | fix self-signed cert notice from generate-config
| * | | | | | | | fix self-signed cert notice from generate-configRichard van der Hoff2019-02-122-7/+3
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | fixes #4620
* | | | | | | | README updates (#4621)Richard van der Hoff2019-02-123-63/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lots of updates to the README/INSTALL.md. Fixes #4601.
* | | | | | | | Disable TLS by default (#4614)Richard van der Hoff2019-02-123-27/+28
| | | | | | | |
* | | | | | | | Fix error when loading cert if tls is disabled (#4618)Richard van der Hoff2019-02-124-18/+47
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If TLS is disabled, it should not be an error if no cert is given. Fixes #4554.
* | | | | | | Merge pull request #4619 from matrix-org/rav/remove_docker_no_tls_hacksErik Johnston2019-02-123-24/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Remove redundant entries from docker config
| * | | | | | | Remove redundant entries from docker configRichard van der Hoff2019-02-113-24/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * no_tls is now redundant (#4613) * we don't need a dummy cert any more (#4618)
* | | | | | | | Merge pull request #4613 from matrix-org/rav/deprecate_no_tlsErik Johnston2019-02-1211-44/+82
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | Infer no_tls from presence of TLS listeners
| * | | | | | | fix testsRichard van der Hoff2019-02-112-3/+7
| | | | | | | |
| * | | | | | | Infer no_tls from presence of TLS listenersRichard van der Hoff2019-02-1110-20/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than have to specify `no_tls` explicitly, infer whether we need to load the TLS keys etc from whether we have any TLS-enabled listeners.
| * | | | | | | Merge branch 'rav/no_create_server_contexts_if_no_tls' into rav/tls_cert/workRichard van der Hoff2019-02-113-3/+7
| |\ \ \ \ \ \ \
| | * | | | | | | Don't create server contexts when TLS is disabledRichard van der Hoff2019-02-113-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we aren't going to use them anyway.
| * | | | | | | | Merge branch 'rav/tls_config_logging_fixes' into rav/tls_cert/workRichard van der Hoff2019-02-113-22/+39
| |\| | | | | | |
| | * | | | | | | Logging improvements around TLS certsRichard van der Hoff2019-02-113-22/+39
| |/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Log which file we're reading keys and certs from, and refactor the code a bit in preparation for other work
| * | | | | | | Fail cleanly if listener config lacks a 'port'Richard van der Hoff2019-02-112-0/+6
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | ... otherwise we would fail with a mysterious KeyError or something later.
* | | | | | | Move ClientTLSOptionsFactory init out of refresh_certificates (#4611)Richard van der Hoff2019-02-115-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's nothing to do with refreshing the certificates. No idea why it was here.
* | | | | | | Merge pull request #4580 from matrix-org/uhoreg/e2e_backup_add_updatingErik Johnston2019-02-115-5/+197
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | add updating of backup versions
| * | | | | | | make sure version is in body and wrap in linearizer queueHubert Chathi2019-02-083-12/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | also add tests
| * | | | | | | re-try to make isort happyHubert Chathi2019-02-061-1/+1
| | | | | | | |
| * | | | | | | add changelog entryHubert Chathi2019-02-061-0/+1
| | | | | | | |
| * | | | | | | fix import to make isort happyHubert Chathi2019-02-061-2/+7
| | | | | | | |
| * | | | | | | add new endpoint to update backup versionsHubert Chathi2019-02-063-1/+87
| | | | | | | |
| * | | | | | | return proper error codes for some 404sHubert Chathi2019-02-061-4/+16
| | | | | | | |
* | | | | | | | Clean up default listener configuration (#4586)Richard van der Hoff2019-02-112-48/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rearrange the comments to try to clarify them, and expand on what some of it means. Use a sensible default 'bind_addresses' setting. For the insecure port, only bind to localhost, and enable x_forwarded, since apparently it's for use behind a load-balancer.
* | | | | | | | Clarifications for reverse proxy docs (#4607)Richard van der Hoff2019-02-116-62/+117
| |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Factor out the reverse proxy info to a separate file, add some more info on reverse-proxying the federation port.
* | | | | | | ACME Reprovisioning (#4522)Amber Brown2019-02-115-25/+89
| | | | | | |
* | | | | | | Be tolerant of blank TLS fingerprints config (#4589)Amber Brown2019-02-112-1/+6
| | | | | | |
* | | | | | | Merge pull request #4420 from matrix-org/jaywink/openid-listenerErik Johnston2019-02-119-46/+252
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | New listener resource for the federation API "openid/userinfo" endpoint
| * | | | | | | Fix flake8 issuesJason Robinson2019-01-233-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jason Robinson <jasonr@matrix.org>
| * | | | | | | Fix openid tests after rebaseJason Robinson2019-01-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jason Robinson <jasonr@matrix.org>
| * | | | | | | Fix sorting of imports in tests. Remove an unnecessary mockJason Robinson2019-01-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jason Robinson <jasonr@matrix.org>