* develop: (34 commits)
Add a default .m.rule.tombstone push rule (#4867)
Fix infinite loop in presence handler
changelog
more logging improvements
remove extraneous exception logging
Clarify logging when PDU signature checking fails
Changelog
Add --no-pep-517 to README instructions
set PIP_USE_PEP517 = False for tests
Fix handling of SYNAPSE_NO_TLS in docker image (#5005)
Config option for verifying federation certificates (MSC 1711) (#4967)
Remove log error for .well-known/matrix/client (#4972)
Prevent "producer not unregistered" message (#5009)
add gpg key fingerprint
Don't crash on lack of expiry templates
Update debian install docs for new key and repo (#5074)
Add management endpoints for account validity
Send out emails with links to extend an account's validity period
Make sure we're not registering the same 3pid twice
Newsfile
...
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.
* Rate-limiting for registration
* Add unit test for registration rate limiting
* Add config parameters for rate limiting on auth endpoints
* Doc
* Fix doc of rate limiting function
Co-Authored-By: babolivier <contact@brendanabolivier.com>
* Incorporate review
* Fix config parsing
* Fix linting errors
* Set default config for auth rate limiting
* Fix tests
* Add changelog
* Advance reactor instead of mocked clock
* Move parameters to registration specific config and give them more sensible default values
* Remove unused config options
* Don't mock the rate limiter un MAU tests
* Rename _register_with_store into register_with_store
* Make CI happy
* Remove unused import
* Update sample config
* Fix ratelimiting test for py2
* Add non-guest test