diff options
author | David Robertson <davidr@element.io> | 2022-05-11 16:34:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-11 15:34:17 +0000 |
commit | db10f2c037ff59124776a10e198ab432aec2bdc6 (patch) | |
tree | d068f841a1dd19d9a2e9e003a292cfe8f79411f9 /synapse/rest | |
parent | Complain if a federation endpoint has the `@cancellable` flag (#12705) (diff) | |
download | synapse-db10f2c037ff59124776a10e198ab432aec2bdc6.tar.xz |
No longer permit empty body when sending receipts (#12709)
Diffstat (limited to 'synapse/rest')
-rw-r--r-- | synapse/rest/client/receipts.py | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/synapse/rest/client/receipts.py b/synapse/rest/client/receipts.py index f9caab6635..4b03eb876b 100644 --- a/synapse/rest/client/receipts.py +++ b/synapse/rest/client/receipts.py @@ -13,12 +13,10 @@ # limitations under the License. import logging -import re from typing import TYPE_CHECKING, Tuple from synapse.api.constants import ReceiptTypes from synapse.api.errors import SynapseError -from synapse.http import get_request_user_agent from synapse.http.server import HttpServer from synapse.http.servlet import RestServlet, parse_json_object_from_request from synapse.http.site import SynapseRequest @@ -26,8 +24,6 @@ from synapse.types import JsonDict from ._base import client_patterns -pattern = re.compile(r"(?:Element|SchildiChat)/1\.[012]\.") - if TYPE_CHECKING: from synapse.server import HomeServer @@ -69,14 +65,7 @@ class ReceiptRestServlet(RestServlet): ): raise SynapseError(400, "Receipt type must be 'm.read'") - # Do not allow older SchildiChat and Element Android clients (prior to Element/1.[012].x) to send an empty body. - user_agent = get_request_user_agent(request) - allow_empty_body = False - if "Android" in user_agent: - if pattern.match(user_agent) or "Riot" in user_agent: - allow_empty_body = True - # This call makes sure possible empty body is handled correctly - parse_json_object_from_request(request, allow_empty_body) + parse_json_object_from_request(request, allow_empty_body=False) await self.presence_handler.bump_presence_active_time(requester.user) |