summary refs log tree commit diff
path: root/synapse/config/ratelimiting.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Performance improvements and refactor of Ratelimiter (#7595)Andrew Morgan2020-06-051-1/+7
| | | | | | | | | | While working on https://github.com/matrix-org/synapse/issues/5665 I found myself digging into the `Ratelimiter` class and seeing that it was both: * Rather undocumented, and * causing a *lot* of config checks This PR attempts to refactor and comment the `Ratelimiter` class, as well as encourage config file accesses to only be done at instantiation. Best to be reviewed commit-by-commit.
* Bump version of mypyErik Johnston2019-12-121-2/+1
|
* Refactor HomeserverConfig so it can be typechecked (#6137)Amber Brown2019-10-101-0/+2
|
* Fix commentsErik Johnston2019-09-111-1/+1
| | | Co-Authored-By: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Allow use of different ratelimits for admin redactions.Erik Johnston2019-09-111-0/+13
| | | | | This is useful to allow room admins to quickly deal with a large number of abusive messages.
* Fixes to the federation rate limiter (#5621)Richard van der Hoff2019-07-051-2/+2
| | | | | | | - Put the default window_size back to 1000ms (broken by #5181) - Make the `rc_federation` config actually do something - fix an off-by-one error in the 'concurrent' limit - Avoid creating an unused `_PerHostRatelimiter` object for every single incoming request
* Don't load the generated config as the default.Richard van der Hoff2019-06-241-1/+1
| | | | It's too confusing.
* Pass config_dir_path and data_dir_path into Config.read_config. (#5522)Richard van der Hoff2019-06-241-1/+1
| | | | | | * Pull config_dir_path and data_dir_path calculation out of read_config_files * Pass config_dir_path and data_dir_path into read_config
* Make all the rate limiting options more consistent (#5181)Amber Brown2019-05-151-42/+73
|
* Batch up outgoing read-receipts to reduce federation traffic. (#4890)Richard van der Hoff2019-03-201-0/+12
| | | | Rate-limit outgoing read-receipts as per #4730.
* Comment out most options in the generated config. (#4863)Richard van der Hoff2019-03-191-14/+14
| | | | | | | | | | | | | | | | | | | | Make it so that most options in the config are optional, and commented out in the generated config. The reasons this is a good thing are as follows: * If we decide that we should change the default for an option, we can do so, and only those admins that have deliberately chosen to override that option will be stuck on the old setting. * It moves us towards a point where we can get rid of the super-surprising feature of synapse where the default settings for the config come from the generated yaml. * It makes setting up a test config for unit testing an order of magnitude easier (see forthcoming PR). * It makes the generated config more consistent, and hopefully easier for users to understand.
* Add ratelimiting on failed login attempts (#4865)Brendan Abolivier2019-03-181-0/+9
|
* Add ratelimiting on login (#4821)Brendan Abolivier2019-03-151-18/+40
| | | Add two ratelimiters on login (per-IP address and per-userID).
* Move settings from registration to ratelimiting in config fileBrendan Abolivier2019-03-051-0/+18
|
* Attempt to make default config more consistentRichard van der Hoff2019-02-191-0/+7
| | | | | | 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.
* copyrightsMatthew Hodgson2016-01-071-1/+1
|
* Implement configurable stats reportingDaniel Wagner-Hall2015-09-221-1/+1
| | | | | | | | | | 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.
* Manually generate the default config yaml, remove most of the commandline ↵Mark Haines2015-04-301-46/+32
| | | | arguments for synapse anticipating that people will use the yaml instead. Simpify implementing config options by not requiring the classes to hit the super class
* Make the federation server ratelimiting configurable.Erik Johnston2015-03-021-0/+36
|
* Update copyright noticesMark Haines2015-01-061-1/+1
|
* Fix pep8 warningsMark Haines2014-10-301-0/+1
|
* fix the copyright holder from matrix.org to OpenMarket Ltd, as matrix.org ↵Matthew Hodgson2014-09-031-1/+1
| | | | hasn't been incorporated in time for launch.
* Add copyright notices and fix pyflakes errorsMark Haines2014-09-031-0/+14
|
* rate limiting for message sendingMark Haines2014-09-021-2/+2
|
* Add ratelimiting configMark Haines2014-09-021-0/+21