Description of problem:
radicale's listing multiple calendars under a single user doesn't work
when radicale runs using apache for configuration,
IF radicale is not at the root of a virtual server.
(e.g., if it is at www.example.com/caldav/ instead of
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. set up radicale under a sub direcotry
to acal (on android) checks out as caldav,
but it doesn't list any sub-calendars,
In acal, "list calendars" should find foo.ics and bar.ics.
why? apache strips off the /caldav/ base prefix.
Radicale then returns entries with short href's
(/user/, /user/foo.ics/, /user/bar.ics/)
in response to the PROPFIND Depth: 1 query during discovery.
But these hrefs are wrong... they're missing /caldav/.
One might think fixing this by putting
would do the trick, but no:
because Apache strips that off, this config fails
the check "Path not starting with prefix"
add a new config parameter:
that avoids this check. It all then works, provided this goes in the
--- __init__.py- 2013-07-12 08:45:26.000000000 -0700
+++ __init__.py 2014-04-19 11:10:43.791856360 -0700
@@ -252,6 +252,8 @@
environ["PATH_INFO"] = self.sanitize_uri(
"/%s" % environ["PATH_INFO"][len(base_prefix):])
log.LOGGER.debug("Sanitized path: %s", environ["PATH_INFO"])
+ elif config.get("server", "can_skip_base_prefix"):
+ log.LOGGER.debug("skipped already sanitized path: %s", environ["PATH_INFO"])
# Request path not starting with base_prefix, not allowed
--- config.py- 2014-04-19 11:01:38.655498852 -0700
+++ config.py 2014-04-19 11:06:04.930683289 -0700
@@ -47,6 +47,7 @@
+ "can_skip_base_prefix": "False",
"realm": "Radicale - Password Required"},
is fix addresses two issues on
the statement: "The [server] part of the configuration is ignored."
is not true. Giving a base_prefix is enforced.
The statement "You should use the root of the (sub)domain
(WSGIScriptAlias /), else some CalDAV features may not work." is true
and is the limitation I hit.
With the patch, this statement should change to :
"If you have a non-empty base_prefix, then you MUST set
"can_skip_base_prefix=True" in your config or some CalDAV features
(like discovering calendars) will not work.
This patch was accepted upstream, see https://github.com/Kozea/Radicale/issues/147
However, the update radicale-0.8-10.fc20.noarch broke my copy patched by hand.
It's unclear when upstream will do a release, so if the maintainer is interested,
they may wish to apply this patch to fedora as well until the 0.9 release.
radicale-0.9-1.fc20 has been submitted as an update for Fedora 20.
thanks, looks fixed to me with radicale-0.9-1.fc20
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing radicale-0.9-1.fc20'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
radicale-0.9-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.