diff --git a/radicale/app/propfind.py b/radicale/app/propfind.py index d79d0269..90f94a0d 100644 --- a/radicale/app/propfind.py +++ b/radicale/app/propfind.py @@ -34,7 +34,7 @@ from radicale.log import logger def xml_propfind(base_prefix: str, path: str, xml_request: Optional[ET.Element], allowed_items: Iterable[Tuple[types.CollectionOrItem, str]], - user: str, encoding: str) -> Optional[ET.Element]: + user: str, encoding: str, max_content_length: int) -> Optional[ET.Element]: """Read and answer PROPFIND requests. Read rfc4918-9.1 for info. @@ -71,14 +71,14 @@ def xml_propfind(base_prefix: str, path: str, write = permission == "w" multistatus.append(xml_propfind_response( base_prefix, path, item, props, user, encoding, write=write, - allprop=allprop, propname=propname)) + allprop=allprop, propname=propname, max_content_length=max_content_length)) return multistatus def xml_propfind_response( base_prefix: str, path: str, item: types.CollectionOrItem, - props: Sequence[str], user: str, encoding: str, write: bool = False, + props: Sequence[str], user: str, encoding: str, max_content_length: int, write: bool = False, propname: bool = False, allprop: bool = False) -> ET.Element: """Build and return a PROPFIND response.""" if propname and allprop or (props and (propname or allprop)): @@ -407,7 +407,7 @@ class ApplicationPartPropfind(ApplicationBase): headers = {"DAV": httputils.DAV_HEADERS, "Content-Type": "text/xml; charset=%s" % self._encoding} xml_answer = xml_propfind(base_prefix, path, xml_content, - allowed_items, user, self._encoding) + allowed_items, user, self._encoding, max_content_length=self._max_content_length) if xml_answer is None: return httputils.NOT_ALLOWED return client.MULTI_STATUS, headers, self._xml_response(xml_answer), xmlutils.pretty_xml(xml_content)