Package: cyrus-caldav Followup-For: Bug #773937 The actual bug is an upstream bug. It turns out that cyrus' DAV implementation only allows PROPFIND on / or /dav/ however Icedove+Lightening doesn't do the discovery mechanism at the top level and instead requires a full path to the calendar to be accessed, but still issues a PROPFIND on the URI.
Since cyrus only allows PROPFIND on / or /dav/ Icedove+Lightening will always fail. The attached patch (first again debian source tree, the second is only the actual patch which goes in debian/patches) fixes this by allowing PROPFIND on any URI beginning with /dav/ not only /dav/ itself. diff -Naur cyrus-imapd-2.4-2.4.17+caldav~beta10.old/debian/changelog cyrus-imapd-2.4-2.4.17+caldav~beta10.new/debian/changelog --- cyrus-imapd-2.4-2.4.17+caldav~beta10.old/debian/changelog 2014-12-25 22:48:18.656000000 -0500 +++ cyrus-imapd-2.4-2.4.17+caldav~beta10.new/debian/changelog 2014-12-26 00:39:18.452000000 -0500 @@ -1,3 +1,14 @@ +cyrus-imapd-2.4 (2.4.17+caldav~beta10-13~dfd1) unstable; urgency=low + + * Fix DAV PROPFIND for Icedove/Thunderbird Lightening plugin + which applies PROPFIND at the calendar level instead of at + the top-level /dav/ URI (i.e. Lightening requires a full + path AND issues PROPFIND on the full path rather than as a + discovery mechanism at the top level. Cyrus currently only + allows PROPFIND in / or /dav + + -- Daniel Dickinson <deb...@daniel.thecshore.com> Thu, 25 Dec 2014 22:41:11 -0500 + cyrus-imapd-2.4 (2.4.17+caldav~beta10-12) unstable; urgency=medium * Add Breaks/Replaces for old cyrus-imapd-2.2 dummy packages diff -Naur cyrus-imapd-2.4-2.4.17+caldav~beta10.old/debian/patches/fix-icedove-thunderbird-lightening-propfind.patch cyrus-imapd-2.4-2.4.17+caldav~beta10.new/debian/patches/fix-icedove-thunderbird-lightening-propfind.patch --- cyrus-imapd-2.4-2.4.17+caldav~beta10.old/debian/patches/fix-icedove-thunderbird-lightening-propfind.patch 1969-12-31 19:00:00.000000000 -0500 +++ cyrus-imapd-2.4-2.4.17+caldav~beta10.new/debian/patches/fix-icedove-thunderbird-lightening-propfind.patch 2014-12-25 22:59:18.336000000 -0500 @@ -0,0 +1,46 @@ +Description: Fix DAV PROPFIND for Icedove/Thunderbird Lightening + Fix DAV PROPFIND for Icedove/Thunderbird Lightening plugin + which applies PROPFIND at the calendar level instead of at + the top-level /dav/ URI (i.e. Lightening requires a full + path AND issues PROPFIND on the full path rather than as a + discovery mechanism at the top level. Cyrus currently only + allows PROPFIND in / or /dav + . + cyrus-imapd-2.4 (2.4.17+caldav~beta10-12~dfd1) unstable; urgency=low + . + * Fix DAV PROPFIND for Icedove/Thunderbird Lightening plugin + which applies PROPFIND at the calendar level instead of at + the top-level /dav/ URI (i.e. Lightening requires a full + path AND issues PROPFIND on the full path rather than as a + discovery mechanism at the top level. Cyrus currently only + allows PROPFIND in / or /dav +Author: Daniel Dickinson <deb...@daniel.thecshore.com> + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: other +Bug: <url in upstream bugtracker> +Bug-Debian: https://bugs.debian.org/<bugnumber> +Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber> +Forwarded: <no|not-needed|url proving that it has been forwarded> +Reviewed-By: <name and email of someone who approved the patch> +Last-Update: <YYYY-MM-DD> + +--- cyrus-imapd-2.4-2.4.17+caldav~beta10.orig/imap/httpd.c ++++ cyrus-imapd-2.4-2.4.17+caldav~beta10/imap/httpd.c +@@ -3690,8 +3690,11 @@ static int meth_propfind_root(struct tra + + #ifdef WITH_DAV + /* Apple iCal and Evolution both check "/" */ ++ /* Thunderbird checks full path under /dav/... so limit ++ URI check to /dav/ portion of URI (if present) ++ */ + if (!strcmp(txn->req_uri->path, "/") || +- !strcmp(txn->req_uri->path, "/dav/")) { ++ !strncmp(txn->req_uri->path, "/dav/", 5)) { + /* Array of known "live" properties */ + const struct prop_entry root_props[] = { + diff -Naur cyrus-imapd-2.4-2.4.17+caldav~beta10.old/debian/patches/series cyrus-imapd-2.4-2.4.17+caldav~beta10.new/debian/patches/series --- cyrus-imapd-2.4-2.4.17+caldav~beta10.old/debian/patches/series 2014-12-25 22:48:18.660000000 -0500 +++ cyrus-imapd-2.4-2.4.17+caldav~beta10.new/debian/patches/series 2014-12-25 22:59:44.972000000 -0500 @@ -34,3 +34,4 @@ parse-GUID-for-binary-appends-as-well.patch use-system-unicodedata.patch TLS-configuration.patch +fix-icedove-thunderbird-lightening-propfind.patch diff -Naur cyrus-imapd-2.4-2.4.17+caldav~beta10.old/imap/httpd.c cyrus-imapd-2.4-2.4.17+caldav~beta10.new/imap/httpd.c --- cyrus-imapd-2.4-2.4.17+caldav~beta10.old/imap/httpd.c 2014-12-25 22:48:18.684000000 -0500 +++ cyrus-imapd-2.4-2.4.17+caldav~beta10.new/imap/httpd.c 2014-12-25 22:52:50.364000000 -0500 @@ -3690,8 +3690,11 @@ #ifdef WITH_DAV /* Apple iCal and Evolution both check "/" */ + /* Thunderbird checks full path under /dav/... so limit + URI check to /dav/ portion of URI (if present) + */ if (!strcmp(txn->req_uri->path, "/") || - !strcmp(txn->req_uri->path, "/dav/")) { + !strncmp(txn->req_uri->path, "/dav/", 5)) { /* Array of known "live" properties */ const struct prop_entry root_props[] = { [File2] Description: Fix DAV PROPFIND for Icedove/Thunderbird Lightening Fix DAV PROPFIND for Icedove/Thunderbird Lightening plugin which applies PROPFIND at the calendar level instead of at the top-level /dav/ URI (i.e. Lightening requires a full path AND issues PROPFIND on the full path rather than as a discovery mechanism at the top level. Cyrus currently only allows PROPFIND in / or /dav . cyrus-imapd-2.4 (2.4.17+caldav~beta10-12~dfd1) unstable; urgency=low . * Fix DAV PROPFIND for Icedove/Thunderbird Lightening plugin which applies PROPFIND at the calendar level instead of at the top-level /dav/ URI (i.e. Lightening requires a full path AND issues PROPFIND on the full path rather than as a discovery mechanism at the top level. Cyrus currently only allows PROPFIND in / or /dav Author: Daniel Dickinson <deb...@daniel.thecshore.com> --- The information above should follow the Patch Tagging Guidelines, please checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here are templates for supplementary fields that you might want to add: Origin: other Bug: <url in upstream bugtracker> Bug-Debian: https://bugs.debian.org/<bugnumber> Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber> Forwarded: <no|not-needed|url proving that it has been forwarded> Reviewed-By: <name and email of someone who approved the patch> Last-Update: <YYYY-MM-DD> --- cyrus-imapd-2.4-2.4.17+caldav~beta10.orig/imap/httpd.c +++ cyrus-imapd-2.4-2.4.17+caldav~beta10/imap/httpd.c @@ -3690,8 +3690,11 @@ static int meth_propfind_root(struct tra #ifdef WITH_DAV /* Apple iCal and Evolution both check "/" */ + /* Thunderbird checks full path under /dav/... so limit + URI check to /dav/ portion of URI (if present) + */ if (!strcmp(txn->req_uri->path, "/") || - !strcmp(txn->req_uri->path, "/dav/")) { + !strncmp(txn->req_uri->path, "/dav/", 5)) { /* Array of known "live" properties */ const struct prop_entry root_props[] = { -- System Information: Debian Release: 8.0 APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 3.16.0-4-amd64 (SMP w/5 CPU cores) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages cyrus-caldav depends on: ii cyrus-common 2.4.17+caldav~beta10-13~dfd1 ii dpkg 1.17.22 ii libc6 2.19-13 ii libcomerr2 1.42.12-1 ii libdb5.3 5.3.28-7~deb8u1 ii libical1 1.0-1.1 ii libkrb5-3 1.12.1+dfsg-16 ii libsasl2-2 2.1.26.dfsg1-12 ii libsqlite3-0 3.8.7.1-1 ii libssl1.0.0 1.0.1j-1 ii libwrap0 7.6.q-25 ii libxml2 2.9.1+dfsg1-4 ii zlib1g 1:1.2.8.dfsg-2+b1 cyrus-caldav recommends no packages. cyrus-caldav suggests no packages. -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org