mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-08-17 21:50:13 -04:00
Merge remote-tracking branch 'upstream/release-v1.35'
This commit is contained in:
commit
4740b83c39
98 changed files with 6440 additions and 2105 deletions
|
@ -54,7 +54,6 @@ class SendServerNoticeServlet(RestServlet):
|
|||
self.hs = hs
|
||||
self.auth = hs.get_auth()
|
||||
self.txns = HttpTransactionCache(hs)
|
||||
self.snm = hs.get_server_notices_manager()
|
||||
|
||||
def register(self, json_resource: HttpServer):
|
||||
PATTERN = "/send_server_notice"
|
||||
|
@ -77,7 +76,10 @@ class SendServerNoticeServlet(RestServlet):
|
|||
event_type = body.get("type", EventTypes.Message)
|
||||
state_key = body.get("state_key")
|
||||
|
||||
if not self.snm.is_enabled():
|
||||
# We grab the server notices manager here as its initialisation has a check for worker processes,
|
||||
# but worker processes still need to initialise SendServerNoticeServlet (as it is part of the
|
||||
# admin api).
|
||||
if not self.hs.get_server_notices_manager().is_enabled():
|
||||
raise SynapseError(400, "Server notices are not enabled on this server")
|
||||
|
||||
user_id = body["user_id"]
|
||||
|
@ -85,7 +87,7 @@ class SendServerNoticeServlet(RestServlet):
|
|||
if not self.hs.is_mine_id(user_id):
|
||||
raise SynapseError(400, "Server notices can only be sent to local users")
|
||||
|
||||
event = await self.snm.send_notice(
|
||||
event = await self.hs.get_server_notices_manager().send_notice(
|
||||
user_id=body["user_id"],
|
||||
type=event_type,
|
||||
state_key=state_key,
|
||||
|
|
|
@ -48,11 +48,6 @@ class LocalKey(Resource):
|
|||
"key": # base64 encoded NACL verification key.
|
||||
}
|
||||
},
|
||||
"tls_fingerprints": [ # Fingerprints of the TLS certs this server uses.
|
||||
{
|
||||
"sha256": # base64 encoded sha256 fingerprint of the X509 cert
|
||||
},
|
||||
],
|
||||
"signatures": {
|
||||
"this.server.example.com": {
|
||||
"algorithm:version": # NACL signature for this server
|
||||
|
@ -89,14 +84,11 @@ class LocalKey(Resource):
|
|||
"expired_ts": key.expired_ts,
|
||||
}
|
||||
|
||||
tls_fingerprints = self.config.tls_fingerprints
|
||||
|
||||
json_object = {
|
||||
"valid_until_ts": self.valid_until_ts,
|
||||
"server_name": self.config.server_name,
|
||||
"verify_keys": verify_keys,
|
||||
"old_verify_keys": old_verify_keys,
|
||||
"tls_fingerprints": tls_fingerprints,
|
||||
}
|
||||
for key in self.config.signing_key:
|
||||
json_object = sign_json(json_object, self.config.server_name, key)
|
||||
|
|
|
@ -73,9 +73,6 @@ class RemoteKey(DirectServeJsonResource):
|
|||
"expired_ts": 0, # when the key stop being used.
|
||||
}
|
||||
}
|
||||
"tls_fingerprints": [
|
||||
{ "sha256": # fingerprint }
|
||||
]
|
||||
"signatures": {
|
||||
"remote.server.example.com": {...}
|
||||
"this.server.example.com": {...}
|
||||
|
|
|
@ -76,6 +76,8 @@ class MediaRepository:
|
|||
self.max_upload_size = hs.config.max_upload_size
|
||||
self.max_image_pixels = hs.config.max_image_pixels
|
||||
|
||||
Thumbnailer.set_limits(self.max_image_pixels)
|
||||
|
||||
self.primary_base_path = hs.config.media_store_path # type: str
|
||||
self.filepaths = MediaFilePaths(self.primary_base_path) # type: MediaFilePaths
|
||||
|
||||
|
|
|
@ -40,6 +40,10 @@ class Thumbnailer:
|
|||
|
||||
FORMATS = {"image/jpeg": "JPEG", "image/png": "PNG", "image/webp": "WEBP"}
|
||||
|
||||
@staticmethod
|
||||
def set_limits(max_image_pixels: int):
|
||||
Image.MAX_IMAGE_PIXELS = max_image_pixels
|
||||
|
||||
def __init__(self, input_path: str):
|
||||
try:
|
||||
self.image = Image.open(input_path)
|
||||
|
@ -47,6 +51,11 @@ class Thumbnailer:
|
|||
# If an error occurs opening the image, a thumbnail won't be able to
|
||||
# be generated.
|
||||
raise ThumbnailError from e
|
||||
except Image.DecompressionBombError as e:
|
||||
# If an image decompression bomb error occurs opening the image,
|
||||
# then the image exceeds the pixel limit and a thumbnail won't
|
||||
# be able to be generated.
|
||||
raise ThumbnailError from e
|
||||
|
||||
self.width, self.height = self.image.size
|
||||
self.transpose_method = None
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue