mirror of
https://github.com/element-hq/synapse.git
synced 2024-12-18 08:54:54 +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`. |
||
---|---|---|
.. | ||
federation | ||
__init__.py | ||
additional_resource.py | ||
client.py | ||
connectproxyclient.py | ||
matrixfederationclient.py | ||
proxy.py | ||
proxyagent.py | ||
replicationagent.py | ||
request_metrics.py | ||
server.py | ||
servlet.py | ||
site.py | ||
types.py |