Prepare radicale patch.

This commit is contained in:
Gabriel Ebner 2022-09-26 11:32:55 -07:00
parent 981f860bdc
commit 4d3b6bcba4
2 changed files with 46 additions and 1 deletions

@ -5,7 +5,9 @@ in
{ {
services.radicale = { services.radicale = {
enable = true; enable = true;
package = pkgs.radicale3; package = pkgs.radicale3.overrideDerivation (_: {
#patches = [ ./radicale1249.patch ];
});
settings = { settings = {
server = { server = {
hosts = "127.0.0.1:${toString radicalePort}"; hosts = "127.0.0.1:${toString radicalePort}";

43
mastus/radicale1249.patch Normal file

@ -0,0 +1,43 @@
diff -urN radicale/app/propfind.py radicale/app/propfind.py
--- radicale/app/propfind.py 2022-04-20 17:57:41.000000000 +0200
+++ radicale/app/propfind.py 2022-06-01 07:33:33.000000000 +0200
@@ -350,8 +350,8 @@
permission = "r"
status = "read"
else:
- permission = ""
- status = "NO"
+ permission = "r"
+ status = "read"
logger.debug(
"%s has %s access to %s",
repr(user) if user else "anonymous user", status, target)
@@ -362,8 +362,8 @@
path: str, user: str) -> types.WSGIResponse:
"""Manage PROPFIND request."""
access = Access(self._rights, user, path)
- if not access.check("r"):
- return httputils.NOT_ALLOWED
+ #if not access.check("r"):
+ # return httputils.NOT_ALLOWED
try:
xml_content = self._read_xml_request_body(environ)
except RuntimeError as e:
@@ -380,8 +380,8 @@
item = next(items_iter, None)
if not item:
return httputils.NOT_FOUND
- if not access.check("r", item):
- return httputils.NOT_ALLOWED
+ #if not access.check("r", item):
+ # return httputils.NOT_ALLOWED
# put item back
items_iter = itertools.chain([item], items_iter)
allowed_items = self._collect_allowed_items(items_iter, user)
@@ -390,5 +390,6 @@
xml_answer = xml_propfind(base_prefix, path, xml_content,
allowed_items, user, self._encoding)
if xml_answer is None:
+ logger.warning("xml_propfind returned no answer")
return httputils.NOT_ALLOWED
return client.MULTI_STATUS, headers, self._xml_response(xml_answer)