Fix starting non-media repos (#17626)

Regressed in #17543.

The `max_download_size` config is not available on workers that don't
load the media repo.

Besides, we should honour the max_size param that was passed into the
function.
This commit is contained in:
Erik Johnston 2024-08-29 13:26:17 +01:00 committed by Erik Johnston
parent a5a454fc35
commit da58e55a0b
2 changed files with 3 additions and 4 deletions

1
changelog.d/17626.bugfix Normal file
View file

@ -0,0 +1 @@
Fix authenticated media responses using a wrong limit when following redirects over federation.

View file

@ -464,8 +464,6 @@ class MatrixFederationHttpClient:
self.max_long_retries = hs.config.federation.max_long_retries self.max_long_retries = hs.config.federation.max_long_retries
self.max_short_retries = hs.config.federation.max_short_retries self.max_short_retries = hs.config.federation.max_short_retries
self.max_download_size = hs.config.media.max_upload_size
self._cooperator = Cooperator(scheduler=_make_scheduler(self.reactor)) self._cooperator = Cooperator(scheduler=_make_scheduler(self.reactor))
self._sleeper = AwakenableSleeper(self.reactor) self._sleeper = AwakenableSleeper(self.reactor)
@ -1759,9 +1757,9 @@ class MatrixFederationHttpClient:
str_url, str_url,
) )
# We don't know how large the response will be upfront, so limit it to # We don't know how large the response will be upfront, so limit it to
# the `max_upload_size` config value. # the `max_size` config value.
length, headers, _, _ = await self._simple_http_client.get_file( length, headers, _, _ = await self._simple_http_client.get_file(
str_url, output_stream, self.max_download_size str_url, output_stream, max_size
) )
logger.info( logger.info(