Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix SSO on workers (#9271) | Richard van der Hoff | 2021-02-01 | 1 | -16/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #8966. * Factor out build_synapse_client_resource_tree Start a function which will mount resources common to all workers. * Move sso init into build_synapse_client_resource_tree ... so that we don't have to do it for each worker * Fix SSO-login-via-a-worker Expose the SSO login endpoints on workers, like the documentation says. * Update workers config for new endpoints Add documentation for endpoints recently added (#8942, #9017, #9262) * remove submit_token from workers endpoints list this *doesn't* work on workers (yet). * changelog * Add a comment about the odd path for SAML2Resource | ||||
* | Split out a separate endpoint to complete SSO registration (#9262) | Richard van der Hoff | 2021-02-01 | 1 | -0/+2 |
| | | | There are going to be a couple of paths to get to the final step of SSO reg, and I want the URL in the browser to consistent. So, let's move the final step onto a separate path, which we redirect to. | ||||
* | Split OidcProvider out of OidcHandler (#9107) | Richard van der Hoff | 2021-01-14 | 1 | -1/+0 |
| | | | | | | | The idea here is that we will have an instance of OidcProvider for each configured IdP, with OidcHandler just doing the marshalling of them. For now it's still hardcoded with a single provider. | ||||
* | Clean up exception handling in the startup code (#9059) | Richard van der Hoff | 2021-01-11 | 1 | -37/+25 |
| | | | | Factor out the exception handling in the startup code to a utility function, and fix the some logging and exit code stuff. | ||||
* | Remove unused SynapseService (#9058) | Richard van der Hoff | 2021-01-11 | 1 | -22/+0 |
| | |||||
* | Add initial support for a "pick your IdP" page (#9017) | Richard van der Hoff | 2021-01-05 | 1 | -0/+2 |
| | | | | | During login, if there are multiple IdPs enabled, offer the user a choice of IdPs. | ||||
* | Implement a username picker for synapse (#8942) | Richard van der Hoff | 2020-12-18 | 1 | -0/+2 |
| | | | | | | | | | | | | | | The final part (for now) of my work to implement a username picker in synapse itself. The idea is that we allow `UsernameMappingProvider`s to return `localpart=None`, in which case, rather than redirecting the browser back to the client, we redirect to a username-picker resource, which allows the user to enter a username. We *then* complete the SSO flow (including doing the client permission checks). The static resources for the username picker itself (in https://github.com/matrix-org/synapse/tree/rav/username_picker/synapse/res/username_picker) are essentially lifted wholesale from https://github.com/matrix-org/matrix-synapse-saml-mozilla/tree/master/matrix_synapse_saml_mozilla/res. As the comment says, we might want to think about making them customisable, but that can be a follow-up. Fixes #8876. | ||||
* | Better formatting for config errors from modules (#8874) | Richard van der Hoff | 2020-12-08 | 1 | -4/+42 |
| | | | | | | | | | | The idea is that the parse_config method of extension modules can raise either a ConfigError or a JsonValidationError, and it will be magically turned into a legible error message. There's a few components to it: * Separating the "path" and the "message" parts of a ConfigError, so that we can fiddle with the path bit to turn it into an absolute path. * Generally improving the way ConfigErrors get printed. * Passing in the config path to load_module so that it can wrap any exceptions that get caught appropriately. | ||||
* | Combine `SpamCheckerApi` with the more generic `ModuleApi`. (#8464) | Richard van der Hoff | 2020-10-07 | 1 | -2/+1 |
| | | | | | Lots of different module apis is not easy to maintain. Rather than adding yet another ModuleApi(hs, hs.get_auth_handler()) incantation, first add an hs.get_module_api() method and use it where possible. | ||||
* | Allow background tasks to be run on a separate worker. (#8369) | Patrick Cloke | 2020-10-02 | 1 | -182/+0 |
| | |||||
* | Remove obsolete __future__ imports (#8337) | Jonathan de Jong | 2020-09-17 | 1 | -2/+0 |
| | |||||
* | Show a confirmation page during user password reset (#8004) | Andrew Morgan | 2020-09-10 | 1 | -0/+10 |
| | | | | | This PR adds a confirmation step to resetting your user password between clicking the link in your email and your password actually being reset. This is to better align our password reset flow with the industry standard of requiring a confirmation from the user after email validation. | ||||
* | Convert the main methods run by the reactor to async. (#8213) | Patrick Cloke | 2020-09-02 | 1 | -10/+8 |
| | |||||
* | Add health check endpoint (#8048) | Erik Johnston | 2020-08-07 | 1 | -1/+4 |
| | |||||
* | Rename database classes to make some sense (#8033) | Erik Johnston | 2020-08-05 | 1 | -3/+3 |
| | |||||
* | Convert ACME code to async/await. (#7989) | Patrick Cloke | 2020-08-03 | 1 | -7/+6 |
| | |||||
* | Convert synapse.app to async/await. (#7868) | Patrick Cloke | 2020-07-17 | 1 | -13/+12 |
| | |||||
* | Merge branch 'master' into develop | Patrick Cloke | 2020-07-02 | 1 | -1/+2 |
|\ | |||||
| * | Ensure that HTML pages served from Synapse include headers to avoid embedding. | Patrick Cloke | 2020-07-02 | 1 | -1/+2 |
| | | |||||
* | | Create a ListenerConfig object (#7681) | Richard van der Hoff | 2020-06-16 | 1 | -23/+27 |
| | | | | | | | | | | | | | | | | | | | | This ended up being a bit more invasive than I'd hoped for (not helped by generic_worker duplicating some of the code from homeserver), but hopefully it's an improvement. The idea is that, rather than storing unstructured `dict`s in the config for the listener configurations, we instead parse it into a structured `ListenerConfig` object. | ||||
* | | Replace iteritems/itervalues/iterkeys with native versions. (#7692) | Patrick Cloke | 2020-06-15 | 1 | -4/+2 |
|/ | |||||
* | Attempt to fix PhoneHomeStatsTestCase.test_performance_100 being flaky. (#7634) | Patrick Cloke | 2020-06-05 | 1 | -19/+23 |
| | |||||
* | async/await get_user_id_by_threepid (#7620) | Andrew Morgan | 2020-06-03 | 1 | -5/+4 |
| | | | | | Based on #7619 async's `get_user_id_by_threepid` and its call stack. | ||||
* | Return 200 OK for all OPTIONS requests (#7534) | Patrick Cloke | 2020-05-22 | 1 | -5/+9 |
| | |||||
* | Allow configuration of Synapse's cache without using synctl or environment ↵ | Amber Brown | 2020-05-11 | 1 | -3/+2 |
| | | | | variables (#6391) | ||||
* | Implement OpenID Connect-based login (#7256) | Quentin Gliech | 2020-05-08 | 1 | -0/+12 |
| | |||||
* | Add ability to run replication protocol over redis. (#7040) | Erik Johnston | 2020-04-22 | 1 | -0/+6 |
| | | | This is configured via the `redis` config options. | ||||
* | Extend web_client_location to handle absolute URLs (#7006) | Martin Milata | 2020-04-03 | 1 | -3/+13 |
| | | | | | Log warning when filesystem path is used. Signed-off-by: Martin Milata <martin@martinmilata.cz> | ||||
* | Move pusherpool startup into _base.setup (#7104) | Richard van der Hoff | 2020-03-19 | 1 | -1/+0 |
| | | | | | This should be safe to do on all workers/masters because it is guarded by a config option which will ensure it is only actually done on the worker assigned as a pusher. | ||||
* | Break down monthly active users by appservice_id (#7030) | Neil Johnson | 2020-03-06 | 1 | -0/+13 |
| | | | | | * Break down monthly active users by appservice_id and emit via prometheus. Co-authored-by: Brendan Abolivier <babolivier@matrix.org> | ||||
* | Allow additional_resources to implement Resource directly (#6686) | Richard van der Hoff | 2020-01-13 | 1 | -2/+11 |
| | | | | | | AdditionalResource really doesn't add any value, and it gets in the way for resources which want to support child resources or the like. So, if the resource object already implements the IResource interface, don't bother wrapping it. | ||||
* | Raise an error if someone tries to use the log_file config option (#6626) | Richard van der Hoff | 2020-01-03 | 1 | -1/+1 |
| | | | | This has caused some confusion for people who didn't notice it going away. | ||||
* | Remove unused, undocumented "content repo" resource (#6628) | Richard van der Hoff | 2020-01-03 | 1 | -9/+1 |
| | | | | | | This looks like it got half-killed back in #888. Fixes #6567. | ||||
* | Improve diagnostics on database upgrade failure (#6570) | Richard van der Hoff | 2019-12-19 | 1 | -7/+2 |
| | | | | `Failed to upgrade database` is not helpful, and it's unlikely that UPGRADE.rst has anything useful. | ||||
* | Merge pull request #6511 from matrix-org/erikj/remove_db_config_from_apps | Erik Johnston | 2019-12-12 | 1 | -6/+1 |
|\ | | | | | Move database config from apps into HomeServer object | ||||
| * | Remove database config parsing from apps. | Erik Johnston | 2019-12-10 | 1 | -6/+1 |
| | | |||||
* | | Phone home stats DB reporting should not assume a single DB. | Erik Johnston | 2019-12-10 | 1 | -2/+4 |
|/ | |||||
* | Move start up DB checks to main data store. | Erik Johnston | 2019-12-06 | 1 | -18/+5 |
| | |||||
* | Move are_all_users_on_domain checks to main data store. | Erik Johnston | 2019-12-06 | 1 | -11/+1 |
| | |||||
* | Move background update handling out of store | Erik Johnston | 2019-12-05 | 1 | -1/+1 |
| | |||||
* | Don't call SQLBaseStore methods from outside stores | Erik Johnston | 2019-12-04 | 1 | -2/+2 |
| | |||||
* | Fix phone home stats (#6418) | Erik Johnston | 2019-11-26 | 1 | -1/+1 |
| | | | | Fix phone home stats | ||||
* | Fix phone home stats | Erik Johnston | 2019-11-05 | 1 | -2/+2 |
| | |||||
* | Remove the psutil dependency (#6318) | Amber Brown | 2019-11-05 | 1 | -82/+92 |
| | | | * remove psutil and replace with resource | ||||
* | Support for routing outbound HTTP requests via a proxy (#6239) | Richard van der Hoff | 2019-11-01 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | The `http_proxy` and `HTTPS_PROXY` env vars can be set to a `host[:port]` value which should point to a proxy. The address of the proxy should be excluded from IP blacklists such as the `url_preview_ip_range_blacklist`. The proxy will then be used for * push * url previews * phone-home stats * recaptcha validation * CAS auth validation It will *not* be used for: * Application Services * Identity servers * Outbound federation * In worker configurations, connections from workers to masters Fixes #4198. | ||||
* | Remove usage of deprecated logger.warn method from codebase (#6271) | Andrew Morgan | 2019-10-31 | 1 | -3/+3 |
| | | | Replace every instance of `logger.warn` with `logger.warning` as the former is deprecated. | ||||
* | Fix MAU reaping where reserved users are specified. (#6168) | Neil Johnson | 2019-10-11 | 1 | -3/+3 |
| | |||||
* | add report_stats_endpoint config option (#6012) | Sorunome | 2019-09-12 | 1 | -2/+4 |
| | | | This PR adds the optional `report_stats_endpoint` to configure where stats are reported to, if enabled. | ||||
* | Implement a structured logging output system. (#5680) | Amber Brown | 2019-08-28 | 1 | -2/+2 |
| | |||||
* | Fix issue with Synapse not starting up. Fixes #5866. | Chris Moos | 2019-08-16 | 1 | -1/+1 |
| | | | | Signed-off-by: Chris Moos <chris@chrismoos.com> | ||||
* | Replace returnValue with return (#5736) | Amber Brown | 2019-07-23 | 1 | -1/+1 |
| | |||||
* | Call startup commands as system triggers. | Erik Johnston | 2019-07-22 | 1 | -1/+1 |
| | | | | | This helps ensures that we only consider ourselves "up" once all the startup functions have completed. | ||||
* | Support Prometheus_client 0.4.0+ (#5636) | Amber Brown | 2019-07-18 | 1 | -2/+1 |
| | |||||
* | Move logging utilities out of the side drawer of util/ and into logging/ (#5606) | Amber Brown | 2019-07-04 | 1 | -1/+1 |
| | |||||
* | Drop support for cpu_affinity (#5525) | Richard van der Hoff | 2019-06-22 | 1 | -1/+0 |
| | | | This has no useful purpose on python3, and is generally a source of confusion. | ||||
* | Run Black. (#5482) | Amber Brown | 2019-06-20 | 1 | -84/+79 |
| | |||||
* | Merge branch 'master' of github.com:matrix-org/synapse into develop | Erik Johnston | 2019-06-11 | 1 | -1/+0 |
|\ | |||||
| * | Change password reset links to /_matrix. | Erik Johnston | 2019-06-11 | 1 | -1/+0 |
| | | |||||
* | | add monthly active users to phonehome stats (#5252) | Neil Johnson | 2019-06-10 | 1 | -0/+1 |
|/ | | | | * add monthly active users to phonehome stats | ||||
* | Add ability to perform password reset via email without trusting the ↵ | Andrew Morgan | 2019-06-06 | 1 | -0/+1 |
| | | | | | | | | | | | | identity server (#5377) Sends password reset emails from the homeserver instead of proxying to the identity server. This is now the default behaviour for security reasons. If you wish to continue proxying password reset requests to the identity server you must now enable the email.trust_identity_server_for_password_resets option. This PR is a culmination of 3 smaller PRs which have each been separately reviewed: * #5308 * #5345 * #5368 | ||||
* | Move admin api impl to its own package | Richard van der Hoff | 2019-05-01 | 1 | -1/+1 |
| | | | | It doesn't really belong under rest/client/v1 any more. | ||||
* | Move admin API to a new prefix | Richard van der Hoff | 2019-05-01 | 1 | -0/+2 |
| | |||||
* | add context to phonehome stats (#5020) | Neil Johnson | 2019-04-08 | 1 | -1/+1 |
| | | | | add context to phonehome stats | ||||
* | Merge pull request #4853 from matrix-org/erikj/worker_docker_ci | Erik Johnston | 2019-03-15 | 1 | -9/+7 |
|\ | | | | | Allow passing --daemonize to workers | ||||
| * | Correctly handle all command line options | Erik Johnston | 2019-03-14 | 1 | -9/+7 |
| | | |||||
* | | master startup | Amber Brown | 2019-03-11 | 1 | -0/+1 |
|/ | |||||
* | Add database version to phonehome stats. (#4753) | Richard van der Hoff | 2019-02-27 | 1 | -0/+3 |
| | |||||
* | Fix errors in acme provisioning (#4648) | Richard van der Hoff | 2019-02-14 | 1 | -6/+13 |
| | | | | | | | | | * 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 | ||||
* | Use `listen_tcp` for the replication listener | Richard van der Hoff | 2019-02-13 | 1 | -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 services | Richard van der Hoff | 2019-02-13 | 1 | -2/+6 |
| | | | | | | | | | 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. | ||||
* | Infer no_tls from presence of TLS listeners | Richard van der Hoff | 2019-02-11 | 1 | -5/+0 |
| | | | | | 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. | ||||
* | ACME Reprovisioning (#4522) | Amber Brown | 2019-02-11 | 1 | -24/+55 |
| | |||||
* | Merge pull request #4420 from matrix-org/jaywink/openid-listener | Erik Johnston | 2019-02-11 | 1 | -1/+12 |
|\ | | | | | New listener resource for the federation API "openid/userinfo" endpoint | ||||
| * | Split federation OpenID userinfo endpoint out of the federation resource | Jason Robinson | 2019-01-23 | 1 | -0/+9 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the OpenID userinfo endpoint to be active even if the federation resource is not active. The OpenID userinfo endpoint is called by integration managers to verify user actions using the client API OpenID access token. Without this verification, the integration manager cannot know that the access token is valid. The OpenID userinfo endpoint will be loaded in the case that either "federation" or "openid" resource is defined. The new "openid" resource is defaulted to active in default configuration. Signed-off-by: Jason Robinson <jasonr@matrix.org> | ||||
| * | Make SynapseHomeServer _http_listener use self.get_reactor() | Jason Robinson | 2019-01-23 | 1 | -1/+3 |
| | | | | | | | | | | | | | | | | | | | | | | For all the homeserver classes, only the FrontendProxyServer passes its reactor when doing the http listen. Looking at previous PR's looks like this was introduced to make it possible to write a test, otherwise when you try to run a test with the test homeserver it tries to do a real bind to a port. Passing the reactor that the homeserver is instantiated with should probably be the right thing to do anyway? Signed-off-by: Jason Robinson <jasonr@matrix.org> | ||||
* | | Deduplicate some code in synapse.app (#4567) | Amber Brown | 2019-02-08 | 1 | -50/+4 |
| | | |||||
* | | Raise ConfigError instead | Erik Johnston | 2019-01-30 | 1 | -1/+3 |
| | | |||||
* | | _listener_http should return a list | Erik Johnston | 2019-01-30 | 1 | -1/+1 |
| | | |||||
* | | SIGHUP for TLS cert reloading (#4495) | Amber Brown | 2019-01-30 | 1 | -5/+46 |
| | | |||||
* | | Support ACME for certificate provisioning (#4384) | Amber Brown | 2019-01-23 | 1 | -9/+47 |
|/ | |||||
* | Make the dependencies more like a standard Python project and hook up the ↵ | Amber Brown | 2018-12-22 | 1 | -3/+0 |
| | | | | optional dependencies to setuptools (#4298) | ||||
* | ensure can report mau stats when hs.config.mau_stats_only is set (#4305) | Neil Johnson | 2018-12-18 | 1 | -1/+1 |
| | | | * ensure can report mau stats when hs.config.mau_stats_only is set | ||||
* | Merge branch 'release-v0.34.0' into develop | Richard van der Hoff | 2018-12-11 | 1 | -32/+14 |
|\ | |||||
| * | Merge pull request #4290 from matrix-org/rav/remove_webclient | Richard van der Hoff | 2018-12-11 | 1 | -32/+11 |
| |\ | | | | | | | Stop installing Matrix Console by default | ||||
| | * | Stop installing Matrix Console by default | Richard van der Hoff | 2018-12-11 | 1 | -32/+11 |
| | | | | | | | | | | | | This is based on the work done by @krombel in #2601. | ||||
| * | | Add a welcome page to the static resources | Richard van der Hoff | 2018-12-11 | 1 | -0/+3 |
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is largely a precursor for the removal of the bundled webclient. The idea is to present a page at / which reassures people that something is working, and to give them some links for next steps. The welcome page lives at `/_matrix/static/`, so is enabled alongside the other `static` resources (which, in practice, means the client API is enabled). We'll redirect to it from `/` if we have nothing better to display there. It would be nice to have a way to disable it (in the same way that you might disable the nginx welcome page), but I can't really think of a good way to do that without a load of ickiness. It's based on the work done by @krombel for #2601. | ||||
* | | Implement SAML2 authentication (#4267) | Richard van der Hoff | 2018-12-07 | 1 | -0/+4 |
| | | | | | | | | | | | | | | | | | | | | | | This implements both a SAML2 metadata endpoint (at `/_matrix/saml2/metadata.xml`), and a SAML2 response receiver (at `/_matrix/saml2/authn_response`). If the SAML2 response matches what's been configured, we complete the SSO login flow by redirecting to the client url (aka `RelayState` in SAML2 jargon) with a login token. What we don't yet have is anything to build a SAML2 request and redirect the user to the identity provider. That is left as an exercise for the reader. | ||||
* | | Implement .well-known handling (#4262) | Richard van der Hoff | 2018-12-05 | 1 | -0/+2 |
|/ | | | | Sometimes it's useful for synapse to generate its own .well-known file. | ||||
* | Add option to track MAU stats (but not limit people) (#3830) | Travis Ralston | 2018-11-15 | 1 | -1/+1 |
| | |||||
* | Remove deprecated v1 key exchange endpoint (#4119) | Amber Brown | 2018-10-31 | 1 | -6/+1 |
| | |||||
* | fix race condiftion in calling initialise_reserved_users | Neil Johnson | 2018-10-23 | 1 | -8/+0 |
| | |||||
* | Merge pull request #4076 from matrix-org/rav/fix_init_logcontexts | Richard van der Hoff | 2018-10-22 | 1 | -8/+22 |
|\ | | | | | Run MAU queries as background processes | ||||
| * | Run MAU queries as background processes | Richard van der Hoff | 2018-10-20 | 1 | -8/+22 |
| | | | | | | | | Fixes #3820 | ||||
* | | Merge pull request #4073 from matrix-org/rav/require_psutil | Richard van der Hoff | 2018-10-22 | 1 | -7/+4 |
|\ \ | | | | | | | Make psutil an explicit dependency | ||||
| * | | Make psutil an explicit dependency | Richard van der Hoff | 2018-10-19 | 1 | -7/+4 |
| |/ | | | | | | | | | | | | | | | As of #4027, we require psutil to be installed, so it should be in our dependency list. We can also remove some of the conditional import code introduced by #992. Fixes #4062. | ||||
* / | Make scripts/ and scripts-dev/ pass pyflakes (and the rest of the codebase ↵ | Amber Brown | 2018-10-20 | 1 | -1/+1 |
|/ | | | | on py3) (#4068) | ||||
* | Remove redundant call to start_get_pdu_cache | Richard van der Hoff | 2018-09-28 | 1 | -1/+0 |
| | | | | | I think this got forgotten in #3932. We were getting away with it because it was the last call in this function. | ||||
* | Replaced all occurences of e.message with str(e) | Schnuffle | 2018-09-27 | 1 | -2/+2 |
| | | | | Signed-off-by: Schnuffle <schnuffle@github.com> | ||||
* | Fix some instances of ExpiringCache not expiring cache items | Erik Johnston | 2018-09-21 | 1 | -1/+0 |
| | | | | | | | | 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. | ||||
* | typo | Will Hunt | 2018-09-17 | 1 | -1/+1 |
| | |||||
* | make pip happy? | Will Hunt | 2018-09-17 | 1 | -2/+4 |
| | |||||
* | Use a string for versions | Will Hunt | 2018-09-17 | 1 | -1/+1 |
| | |||||
* | Add python_version phone home stat | Will Hunt | 2018-09-17 | 1 | -0/+2 |
| | |||||
* | improve naming | Neil Johnson | 2018-09-12 | 1 | -5/+9 |
| | |||||
* | expose number of real reserved users | Neil Johnson | 2018-09-12 | 1 | -3/+7 |
| | |||||
* | Make sure that we close db connections opened during init | Richard van der Hoff | 2018-08-28 | 1 | -6/+8 |
| | | | | | | | | | 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`. | ||||
* | remove errant yield | Neil Johnson | 2018-08-17 | 1 | -1/+1 |
| | |||||
* | call reap on start up and fix under reaping bug | Neil Johnson | 2018-08-16 | 1 | -0/+1 |
| | |||||
* | pep8 | Neil Johnson | 2018-08-14 | 1 | -0/+1 |
| | |||||
* | combine mau metrics into one group | Neil Johnson | 2018-08-14 | 1 | -4/+3 |
| | |||||
* | Merge pull request #3439 from vojeroen/send_sni_for_federation_requests | Richard van der Hoff | 2018-08-10 | 1 | -0/+2 |
|\ | | | | | send SNI for federation requests | ||||
| * | Merge branch 'develop' into send_sni_for_federation_requests | Richard van der Hoff | 2018-07-27 | 1 | -5/+14 |
| |\ | |||||
| * \ | Merge remote-tracking branch 'upstream/develop' into ↵ | Jeroen | 2018-07-14 | 1 | -13/+20 |
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | send_sni_for_federation_requests # Conflicts: # synapse/crypto/context_factory.py | ||||
| * | | | send SNI for federation requests | Jeroen | 2018-06-24 | 1 | -0/+2 |
| | | | | |||||
* | | | | implement reserved users for mau limits | Neil Johnson | 2018-08-07 | 1 | -0/+6 |
| | | | | |||||
* | | | | fix caching and tests | Neil Johnson | 2018-08-03 | 1 | -1/+0 |
| | | | | |||||
* | | | | update generate_monthly_active_users, and reap_monthly_active_users | Neil Johnson | 2018-08-02 | 1 | -2/+2 |
| | | | | |||||
* | | | | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/mau_tracker | Neil Johnson | 2018-08-01 | 1 | -0/+19 |
|\ \ \ \ | |||||
| * | | | | count_monthly_users is now async | Neil Johnson | 2018-08-01 | 1 | -1/+2 |
| | | | | | |||||
| * | | | | remove need to plot limit_usage_by_mau | Neil Johnson | 2018-08-01 | 1 | -4/+0 |
| | | | | | |||||
| * | | | | only need to loop if mau limiting is enabled | Neil Johnson | 2018-08-01 | 1 | -1/+2 |
| | | | | | |||||
| * | | | | coding style | Neil Johnson | 2018-07-31 | 1 | -1/+5 |
| | | | | | |||||
| * | | | | remove errant logging | Neil Johnson | 2018-07-30 | 1 | -1/+0 |
| | | | | | |||||
| * | | | | factor out metrics from __init__ to app/homeserver | Neil Johnson | 2018-07-30 | 1 | -1/+19 |
| | |_|/ | |/| | | |||||
* / | | | api into monthly_active_users table | Neil Johnson | 2018-07-31 | 1 | -0/+4 |
|/ / / | |||||
* | | | Fix some looping_call calls which were broken in #3604 | Richard van der Hoff | 2018-07-26 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that looping_call does check the deferred returned by its callback, and (at least in the case of client_ips), we were relying on this, and I broke it in #3604. Update run_as_background_process to return the deferred, and make sure we return it to clock.looping_call. | ||||
* | | | Wrap a number of things that run in the background | Richard van der Hoff | 2018-07-25 | 1 | -3/+10 |
| | | | | | | | | | | | | | | | This will reduce the number of "Starting db connection from sentinel context" warnings, and will help with our metrics. | ||||
* | | | Make the rest of the .iterwhatever go away (#3562) | Amber Brown | 2018-07-21 | 1 | -2/+4 |
| |/ |/| | |||||
* | | run isort | Amber Brown | 2018-07-09 | 1 | -13/+20 |
|/ | |||||
* | Write a clear restart indicator in logs | Richard van der Hoff | 2018-06-20 | 1 | -6/+1 |
| | | | | | I'm fed up with never being able to find the point a server restarted in the logs. | ||||
* | The flag is named enable_metrics, not collect_metrics | Travis Ralston | 2018-06-12 | 1 | -1/+1 |
| | | | Signed-off-by: Travis Ralston <travpc@gmail.com> | ||||
* | Merge pull request #3264 from matrix-org/neil/sign-up-stats | Neil Johnson | 2018-06-01 | 1 | -0/+4 |
|\ | | | | | daily user type phone home stats | ||||
| * | daily user type phone home stats | Neil Johnson | 2018-05-22 | 1 | -0/+4 |
| | | |||||
* | | Run Prometheus on a different port, optionally. (#3274) | Amber Brown | 2018-05-31 | 1 | -4/+9 |
| | | |||||
* | | fixes | Amber Brown | 2018-05-22 | 1 | -2/+4 |
| | | |||||
* | | Merge remote-tracking branch 'origin/develop' into 3218-official-prom | Amber Brown | 2018-05-22 | 1 | -0/+17 |
|\| | |||||
| * | Fix dependency on jinja2 | Richard van der Hoff | 2018-05-22 | 1 | -1/+1 |
| | | | | | | | | | | | | | | Delay the import of ConsentResource, so that we can get away without jinja2 if people don't have the consent resource enabled. Fixes #3259 | ||||
| * | Merge pull request #3163 from matrix-org/cohort_analytics | Neil Johnson | 2018-05-16 | 1 | -0/+8 |
| |\ | | | | | | | user visit data | ||||
| | * | remove unused method recurring_user_daily_visit_stats | Neil Johnson | 2018-05-16 | 1 | -3/+0 |
| | | | |||||
| | * | pep8 | Neil Johnson | 2018-05-15 | 1 | -1/+0 |
| | | | |||||
| | * | Limit query load of generate_user_daily_visits | Neil Johnson | 2018-05-15 | 1 | -14/+7 |
| | | | | | | | | | | | | The aim is to keep track of when it was last called and only query from that point in time | ||||
| | * | instead of inserting user daily visit data at the end of the day, instead ↵ | Neil Johnson | 2018-05-14 | 1 | -3/+16 |
| | | | | | | | | | | | | insert incrementally through the day | ||||
| | * | Merge branch 'develop' of https://github.com/matrix-org/synapse into ↵ | Neil Johnson | 2018-05-14 | 1 | -0/+2 |
| | |\ | | | | | | | | | | | | | cohort_analytics | ||||
| | * | | 10 mins seems more reasonable that every minute | Neil Johnson | 2018-05-01 | 1 | -1/+1 |
| | | | | |||||
| | * | | Generate user daily stats | Neil Johnson | 2018-04-25 | 1 | -0/+6 |
| | | | | |||||
| * | | | Merge pull request #3213 from matrix-org/rav/consent_handler | Richard van der Hoff | 2018-05-16 | 1 | -0/+9 |
| |\ \ \ | | |_|/ | |/| | | ConsentResource to gather policy consent from users | ||||
| | * | | ConsentResource to gather policy consent from users | Richard van der Hoff | 2018-05-15 | 1 | -0/+9 |
| | |/ | | | | | | | | | | | | | Hopefully there are enough comments and docs in this that it makes sense on its own. | ||||
* | / | look at the Prometheus metrics instead | Amber Brown | 2018-05-21 | 1 | -5/+3 |
|/ / | |||||
* / | Set Server header in SynapseRequest | Richard van der Hoff | 2018-05-10 | 1 | -0/+2 |
|/ | | | | | | | | | | | | (instead of everywhere that writes a response. Or rather, the subset of places which write responses where we haven't forgotten it). This also means that we don't have to have the mysterious version_string attribute in anything with a request handler. Unfortunately it does mean that we have to pass the version string wherever we instantiate a SynapseSite, which has been c&ped 150 times, but that is code that ought to be cleaned up anyway really. | ||||
* | Merge pull request #3041 from matrix-org/r30_stats | Neil Johnson | 2018-04-05 | 1 | -0/+4 |
|\ | | | | | R30 stats | ||||
| * | Review comments | Neil Johnson | 2018-04-05 | 1 | -1/+1 |
| | | | | | | | | | | Use iteritems over item to loop over dict formatting | ||||
| * | Support multi client R30 for psql | Neil Johnson | 2018-03-28 | 1 | -1/+3 |
| | | |||||
| * | rename stat to future proof | Neil Johnson | 2018-03-28 | 1 | -1/+1 |
| | | |||||
| * | query and call for r30 stats | Neil Johnson | 2018-03-28 | 1 | -0/+2 |
| | | |||||
* | | phone home cache size configurations | Jan Christian Grünhage | 2018-04-04 | 1 | -0/+3 |
| | | |||||
* | | Handle review comments | Michael Kaye | 2018-03-28 | 1 | -6/+9 |
| | | |||||
* | | As daemonizing will make a new process, defer call to init. | Michael Kaye | 2018-03-28 | 1 | -13/+23 |
| | | |||||
* | | Include coarse CPU and Memory use in stats callbacks. | Michael Kaye | 2018-03-27 | 1 | -0/+20 |
|/ | | | | | This requires the psutil module, and is still opt-in based on the report_stats config option. | ||||
* | 404 correctly on missing paths via NoResource | Matthew Hodgson | 2018-03-23 | 1 | -2/+2 |
| | | | | fixes https://github.com/matrix-org/synapse/issues/2043 and https://github.com/matrix-org/synapse/issues/2029 | ||||
* | s/replication_client/federation_client/ | Erik Johnston | 2018-03-13 | 1 | -1/+1 |
| | |||||
* | Split replication layer into two | Erik Johnston | 2018-03-13 | 1 | -1/+1 |
| | |||||
* | Add replication http endpoint for event sending | Erik Johnston | 2018-02-07 | 1 | -0/+4 |
| | |||||
* | Factor out get_db_conn to HomeServer base class | Richard van der Hoff | 2018-01-26 | 1 | -13/+0 |
| | | | | | This function is identical to all subclasses, so we may as well push it up to the base class to reduce duplication (and make use of it in the tests) | ||||
* | Implement listen_tcp method in remaining workers | Silke | 2017-12-18 | 1 | -3/+1 |
| | | | | Signed-off-by: Silke <silke@slxh.eu> | ||||
* | Remove logger argument and do not catch replication listener | Silke | 2017-12-18 | 1 | -18/+11 |
| | | | | Signed-off-by: Silke <silke@slxh.eu> | ||||
* | Add methods for listening on multiple addresses | Silke Hofstra | 2017-12-17 | 1 | -50/+34 |
| | | | | | | | Add listen_tcp and listen_ssl which implement Twisted's reactor.listenTCP and reactor.listenSSL for multiple addresses. Signed-off-by: Silke Hofstra <silke@slxh.eu> | ||||
* | Allow binds to both :: and 0.0.0.0 | Silke Hofstra | 2017-12-17 | 1 | -37/+58 |
| | | | | | | | | | | Binding on 0.0.0.0 when :: is specified in the bind_addresses is now allowed. This causes a warning explaining the behaviour. Configuration changed to match. See #2232 Signed-off-by: Silke Hofstra <silke@slxh.eu> | ||||
* | Add config option to disable media_repo on main synapse | Richard van der Hoff | 2017-11-22 | 1 | -8/+13 |
| | | | | ... to stop us doing the cache cleanup jobs on the master. | ||||
* | Build MediaRepositoryResource as a homeserver dependency | Richard van der Hoff | 2017-11-22 | 1 | -2/+1 |
| | | | | | | This avoids the scenario where we have four different PreviewUrlResources configured on a single app, each of which have their own caches and cache clearing jobs. | ||||
* | Merge pull request #2627 from matrix-org/rav/custom_rest_endpoints | David Baker | 2017-11-02 | 1 | -0/+12 |
|\ | | | | | Add a hook for custom rest endpoints | ||||
| * | Add a hook for custom rest endpoints | Richard van der Hoff | 2017-11-02 | 1 | -0/+12 |
| | | | | | | | | | | Let the user specify custom modules which can be used for implementing extra endpoints. | ||||
* | | Factor out _configure_named_resource | Richard van der Hoff | 2017-11-02 | 1 | -46/+64 |
|/ | | | | This was a bit of a code vomit, so let's factor it out to preserve some sanity | ||||
* | Move quit_with_error | Erik Johnston | 2017-10-02 | 1 | -10/+1 |
| | |||||
* | Allow configuration of CPU affinity | Richard van der Hoff | 2017-08-15 | 1 | -0/+1 |
| | | | | | Make it possible to set the CPU affinity in the config file, so that we don't need to remember to do it manually every time. | ||||
* | Factor out common application start | Richard van der Hoff | 2017-08-15 | 1 | -72/+39 |
| | | | | | We have 10 copies of this code, and I don't really want to update each one separately. | ||||
* | Typo | Erik Johnston | 2017-06-15 | 1 | -1/+3 |
| | |||||
* | Add some more stats | Erik Johnston | 2017-06-15 | 1 | -0/+7 |
| | |||||
* | Fix phone home stats | Erik Johnston | 2017-06-14 | 1 | -36/+13 |
| | |||||
* | Queried CONDITIONAL_REQUIREMENTS | Matthew Wolff | 2017-04-18 | 1 | -2/+5 |
| | |||||
* | Fixed travis build failure | Matthew Wolff | 2017-04-17 | 1 | -3/+1 |
| | | | | Signed-off-by: Matthew Wolff <matthewjwolff@gmail.com> | ||||
* | web_server_root documentation fix | Matthew Wolff | 2017-04-17 | 1 | -2/+1 |
| | | | | Signed-off-by: Matthew Wolff <matthewjwolff@gmail.com> | ||||
* | Remove HTTP replication APIs | Erik Johnston | 2017-04-11 | 1 | -4/+0 |
| | |||||
* | Add tcp replication listener type and hook it up | Erik Johnston | 2017-03-30 | 1 | -0/+11 |
| | |||||
* | Run the reactor with the sentinel logcontext | Richard van der Hoff | 2017-03-18 | 1 | -2/+7 |
| | | | | | | This fixes a class of 'Unexpected logcontext' messages, which were happening because the logcontext was somewhat arbitrarily swapping between the sentinel and the `run` logcontext. | ||||
* | Refactor logger config for workers | Richard van der Hoff | 2017-03-10 | 1 | -1/+3 |
| | | | | - to make it easier to add more config options. | ||||
* | Restore default bind address | Erik Johnston | 2017-01-10 | 1 | -10/+2 |
| | |||||
* | Fix check for bind_address | Johannes Löthberg | 2016-12-20 | 1 | -2/+2 |
| | | | | | | | The empty string is a valid setting for the bind_address option, so explicitly check for None here instead. Signed-off-by: Johannes Löthberg <johannes@kyriasis.com> | ||||
* | Add support for specifying multiple bind addresses | Johannes Löthberg | 2016-12-18 | 1 | -31/+45 |
| | | | | Signed-off-by: Johannes Löthberg <johannes@kyriasis.com> | ||||
* | Update comment | Mark Haines | 2016-08-22 | 1 | -1/+2 |
| | |||||
* | Add usage stats to prometheus monitoring | Mark Haines | 2016-08-22 | 1 | -2/+25 |
| | |||||
* | Add federation /version API | Erik Johnston | 2016-08-05 | 1 | -1/+1 |
| | |||||
* | Add metrics for psutil derived memory usage | Erik Johnston | 2016-07-20 | 1 | -0/+3 |
| | |||||
* | Remove the legacy v0 content upload API. | Mark Haines | 2016-06-21 | 1 | -2/+1 |
| | | | | | | The existing content can still be downloaded. The last upload to the matrix.org server was in January 2015, so it is probably safe to remove the upload API. | ||||
* | Add function to load config without generating it | Mark Haines | 2016-06-09 | 1 | -2/+1 |
| | | | | | | | | | | | | | | | | Renames ``load_config`` to ``load_or_generate_config`` Adds a method called ``load_config`` that just loads the config. The main synapse.app.homeserver will continue to use ``load_or_generate_config`` to retain backwards compat. However new worker processes can use ``load_config`` to load the config avoiding some of the cruft needed to generate the config. As the new ``load_config`` method is expected to be used by new configs it removes support for the legacy commandline overrides that ``load_or_generate_config`` supports | ||||
* | Allow setting of gc.set_thresholds | Erik Johnston | 2016-06-07 | 1 | -0/+5 |
| | |||||
* | Move the listenTCP call outside the manhole function | Mark Haines | 2016-04-25 | 1 | -7/+9 |
| | |||||
* | Split out setting up the manhole to a separate file | Mark Haines | 2016-04-22 | 1 | -26/+7 |
| | |||||
* | Merge branch 'develop' into markjh/split_out_site.py | Mark Haines | 2016-04-22 | 1 | -82/+7 |
|\ | | | | | | | | | Conflicts: synapse/app/homeserver.py | ||||
| * | Split out create_resource_tree to a separate file | Mark Haines | 2016-04-22 | 1 | -82/+7 |
| | | |||||
* | | Move SynapseSite to its own file | Mark Haines | 2016-04-22 | 1 | -130/+3 |
|/ | |||||
* | Move the versionstring code out of app.homeserver into util | Mark Haines | 2016-04-11 | 1 | -83/+4 |
| | |||||
* | Don't require config to create database | Erik Johnston | 2016-04-06 | 1 | -6/+9 |
| | |||||
* | Use syntax that works on both py2.7 and py3 | Mark Haines | 2016-03-07 | 1 | -1/+1 |
| | |||||
* | Merge pull request #571 from matrix-org/daniel/asids | Daniel Wagner-Hall | 2016-03-03 | 1 | -1/+1 |
|\ | | | | | Mark AS users with their AS's ID | ||||
| * | Mark AS users with their AS's ID | Daniel Wagner-Hall | 2016-02-11 | 1 | -1/+1 |
| | | |||||
* | | Add a /replication API for extracting the updates that happened on | Mark Haines | 2016-03-01 | 1 | -0/+4 |
|/ | | | | | | | | | | | | | | | | | | | | | | | | synapse This is necessary for replicating the data in synapse to be visible to a separate service because presence and typing notifications aren't stored in a database so won't be visible to another process. This API can be used to either get the raw data by requesting the tables themselves or to just receive notifications for updates by following the streams meta-stream. Returns updates for each table requested a JSON array of arrays with a row for each row in the table. Each table is prefixed by a header row with the: name of the table, current stream_id position for the table, number of rows, number of columns and the names of the columns. This is followed by the rows that have been added to the server since the requester last asked. The API has a timeout and is hooked up to the notifier so that a slave can long poll for updates. | ||||
* | Fix up logcontexts | Erik Johnston | 2016-02-08 | 1 | -0/+2 |
| | |||||
* | Host /media/r0 as well as /media/v1 | Daniel Wagner-Hall | 2016-02-05 | 1 | -2/+4 |
| | |||||
* | Error if macaroon key is missing from config | Daniel Wagner-Hall | 2016-02-05 | 1 | -5/+15 |
| | | | | | | | | | | | | | Currently we store all access tokens in the DB, and fall back to that check if we can't validate the macaroon, so our fallback works here, but for guests, their macaroons don't get persisted, so we don't get to find them in the database. Each restart, we generate a new ephemeral key, so guests lose access after each server restart. I tried to fix up the config stuff to be less insane, but gave up, so instead I bolt on yet another piece of custom one-off insanity. Also, add some basic tests for config generation and loading. | ||||
* | Simplify get_rooms | Erik Johnston | 2016-02-03 | 1 | -2/+2 |
| | |||||
* | Fix flake8 warnings for new flake8 | Daniel Wagner-Hall | 2016-02-02 | 1 | -27/+11 |
| | |||||
* | Merge pull request #534 from matrix-org/erikj/setup | Erik Johnston | 2016-01-28 | 1 | -12/+22 |
|\ | | | | | Add a Homeserver.setup method | ||||
| * | Clean up a bit. Add comment | Erik Johnston | 2016-01-28 | 1 | -6/+7 |
| | | |||||
| * | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/setup | Erik Johnston | 2016-01-27 | 1 | -1/+1 |
| |\ | |||||
| * | | Add a Homeserver.setup method. | Erik Johnston | 2016-01-26 | 1 | -12/+21 |
| | | | | | | | | | | | | | | | | | | This is for setting up dependencies that require work on startup. This is useful for the DataStore that wants to read a bunch from the database before initiliazing. | ||||
* | | | Remove chdir | Erik Johnston | 2016-01-28 | 1 | -1/+0 |
| |/ |/| | |||||
* | | Don't turn on profiling | Erik Johnston | 2016-01-26 | 1 | -1/+1 |
|/ | |||||
* | Remove redundated BaseHomeServer | Erik Johnston | 2016-01-26 | 1 | -89/+48 |
| | |||||
* | Use compiled regex | Erik Johnston | 2016-01-13 | 1 | -2/+4 |
| | |||||
* | Don't log urlencoded access_tokens | Erik Johnston | 2016-01-08 | 1 | -2/+2 |
| | |||||
* | Turn on core dumps | Erik Johnston | 2016-01-07 | 1 | -2/+5 |
| | |||||
* | Merge pull request #473 from matrix-org/erikj/ssh_manhole | Erik Johnston | 2016-01-07 | 1 | -5/+21 |
|\ | | | | | Change manhole to use ssh | ||||
| * | Change manhole to use ssh | Erik Johnston | 2016-01-07 | 1 | -5/+21 |
| | | |||||
* | | copyrights | Matthew Hodgson | 2016-01-07 | 1 | -1/+1 |
| | | |||||
* | | Add /_matrix/versions to report supported versions | Daniel Wagner-Hall | 2016-01-06 | 1 | -0/+1 |
| | | |||||
* | | Log when starting stats reporting | Daniel Wagner-Hall | 2016-01-06 | 1 | -0/+1 |
| | | |||||
* | | Log on stats scheduling | Daniel Wagner-Hall | 2016-01-06 | 1 | -0/+1 |
|/ | |||||
* | Actually host r0 and unstable prefixes | Daniel Wagner-Hall | 2015-12-08 | 1 | -16/+12 |
| | |||||
* | Track the time spent in the database per request. | Mark Haines | 2015-12-07 | 1 | -1/+6 |
| | | | | and track the number of transactions that request started. | ||||
* | Fix warnings | Mark Haines | 2015-12-04 | 1 | -1/+11 |
| | |||||
* | Run the background updates when starting synapse. | Mark Haines | 2015-11-10 | 1 | -0/+1 |
| | |||||
* | Move static folder into synapse | Erik Johnston | 2015-10-26 | 1 | -1/+3 |
| | | | | | | | This is because otherwise it won't get picked up by python packaging. This also fixes the problem where the "static" folder was found if synapse wasn't started from that directory. | ||||
* | Only turn on the twisted deferred debugging if full_twisted_stacktraces is ↵ | Mark Haines | 2015-10-13 | 1 | -3/+0 |
| | | | | set in the config | ||||
* | Bounce all deferreds through the reactor to make debugging easier. | Mark Haines | 2015-10-13 | 1 | -0/+2 |
| | | | | | | If all deferreds wait a reactor tick before resolving then there is always a chance to add an errback to the deferred so that stacktraces get reported, rather than being discarded. | ||||
* | rename schema_prepare to prepare_database | Erik Johnston | 2015-10-13 | 1 | -1/+1 |
| | |||||
* | Expose error more nicely | Erik Johnston | 2015-10-13 | 1 | -3/+2 |
| | |||||
* | Note that GzipFile was removed in comment that referenced it | Mark Haines | 2015-09-22 | 1 | -0/+1 |
| | |||||
* | synapse/app/homeserver.py:GzipFile was unused | Mark Haines | 2015-09-22 | 1 | -6/+0 |
| | |||||
* | Catch stats-reporting errors | Daniel Wagner-Hall | 2015-09-22 | 1 | -4/+7 |
| | |||||
* | Implement configurable stats reporting | Daniel Wagner-Hall | 2015-09-22 | 1 | -1/+34 |
| | | | | | | | | | | SYN-287 This requires that HS owners either opt in or out of stats reporting. When --generate-config is passed, --report-stats must be specified If an already-generated config is used, and doesn't have the report_stats key, it is requested to be set. | ||||
* | Merge pull request #267 from matrix-org/markjh/missing_requirements | Mark Haines | 2015-09-18 | 1 | -2/+15 |
|\ | | | | | Print an example "pip install" line for a missing requirement | ||||
| * | Print an example "pip install" line for a missing requirement | Mark Haines | 2015-09-01 | 1 | -2/+15 |
| | | |||||
* | | Merge branch 'daniel/insecureclient' into develop | Daniel Wagner-Hall | 2015-09-09 | 1 | -4/+3 |
|\ \ | |||||
| * | | Fix random formatting | Daniel Wagner-Hall | 2015-09-09 | 1 | -1/+0 |
| | | | |||||
| * | | Allow configuration to ignore invalid SSL certs | Daniel Wagner-Hall | 2015-09-09 | 1 | -4/+4 |
| |/ | | | | | | | | | This will be useful for sytest, and sytest only, hence the aggressive config key name. | ||||
* | | Merge branch 'master' into develop | Mark Haines | 2015-09-07 | 1 | -1/+1 |
|\ \ | |/ |/| | | | | | Conflicts: setup.py | ||||
| * | Change log level to info | Erik Johnston | 2015-09-03 | 1 | -1/+1 |
| | | |||||
* | | don't log the whole DB config (including postgres password...) | Matthew Hodgson | 2015-08-29 | 1 | -2/+2 |
|/ | |||||
* | Print the correct pip install line when failing due to lack of ↵ | Erik Johnston | 2015-08-25 | 1 | -3/+4 |
| | | | | matrix-angular-sdk | ||||
* | Update the log message | Erik Johnston | 2015-08-25 | 1 | -5/+10 |
| |