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 | ||