mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-25 02:55:46 +03:00
429ecb7564
Prior to this PR, remote downloads which did not provide a `content-length` were decremented from the remote download ratelimiter at the max allowable size, leading to excessive ratelimiting - see https://github.com/element-hq/synapse/issues/17394. This PR adds a linearizer to limit concurrent remote downloads to 6 per IP address, and decrements remote downloads without a `content-length` from the ratelimiter *after* the download is complete and the response length is known. Also adds logic to ensure that responses with a known length respect the `max_download_size`. |
||
---|---|---|
.. | ||
admin | ||
client | ||
key | ||
media | ||
synapse | ||
__init__.py | ||
test_health.py | ||
test_well_known.py |