6.0.0-git
2019-03-19

[#12275] CalDAV subscriptions do not work
Summary CalDAV subscriptions do not work
Queue Kronolith
Queue Version Git master
Type Bug
State Resolved
Priority 1. Low
Owners jan (at) horde (dot) org
Requester fabian.schlager (at) skyr (dot) at
Created 2013-05-25 (2124 days ago)
Due
Updated 2014-07-01 (1722 days ago)
Assigned 2013-05-27 (2122 days ago)
Resolved 2013-05-28 (2121 days ago)
Milestone
Patch No

History
2014-07-01 07:55:10 Jan Schneider Comment #16
Version ⇒ Git master
Reply to this comment
Not necessary, this has long been released as a bug fix version.

[Show Quoted Text - 23 lines]
2014-06-30 19:56:42 marcus (dot) h (at) baltemore (dot) de Comment #15 Reply to this comment
I think i've got the same Problem, but can't read the commit. Please 
let me know what you have done there.

Tank You

[Show Quoted Text - 17 lines]
2013-05-28 11:06:38 Jan Schneider State ⇒ Resolved
 
2013-05-28 10:58:39 fabian (dot) schlager (at) skyr (dot) at Comment #14 Reply to this comment
I accidentally a word.
(...) subscribing to one calendar using Thunderbird (with CalDAV) 
and the following URL: 
http://horde.myhost.tld/rpc.php/calendars/myuser@myhost.tld/calendar:{id of 
the calendar}/ _works_
2013-05-28 10:54:29 fabian (dot) schlager (at) skyr (dot) at Comment #13 Reply to this comment
commit 59aeec910112043594849c85d8bf47ec63b31240
This commit has fixed some things: 
http://horde.myhost.tld/rpc.php/calendars/myuser@myhost.tld now lists 
all my calendars, subscribing to one calendar using Thunderbird (with 
CalDAV) and the following URL: 
http://horde.myhost.tld/rpc.php/calendars/myuser@myhost.tld/calendar:{id of 
the calendar}/

The account URL 
(http://horde.myhost.tld/rpc.php/principals/myuser@myhost.tld/) yields 
an empty directory in my browser and does not work on my Android phone 
(using CalDAV Sync Beta - I can not guarantee that the application 
itself is flawless, but I tested it with DaviCal as CalDAV-Server and 
it worked).

The function Kronolith_Application::davGetCollections() seems to 
return a valid result:
array(2) {
   [0]=>
   array(7) {
     ["id"]=>
     string(32) "calendar:vWinF3HZnIl5NXmL1JvCag1"
     ["uri"]=>
     string(32) "calendar:vWinF3HZnIl5NXmL1JvCag1"
     ["principaluri"]=>
     string(34) "principals/myuser@myhost.tld"
     ["{DAV:}displayname"]=>
     string(4) "Main"
     ["{urn:ietf:params:xml:ns:caldav}calendar-description"]=>
     string(0) ""
     ["{http://apple.com/ns/ical/}calendar-color"]=>
     string(7) "#456eff"
     ["{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set"]=>
     object(Sabre\CalDAV\Property\SupportedCalendarComponentSet)#277 (1) {
       
["components":"Sabre\CalDAV\Property\SupportedCalendarComponentSet":private]=>
       array(1) {
         [0]=>
         string(6) "VEVENT"
       }
     }
   }
   [1]=>
   array(7) {
     ["id"]=>
     string(32) "calendar:i9s9BnlV_pyP-xaCLVOoTw1"
     ["uri"]=>
     string(32) "calendar:i9s9BnlV_pyP-xaCLVOoTw1"
     ["principaluri"]=>
     string(34) "principals/myuser@myhost.tld"
     ["{DAV:}displayname"]=>
     string(8) "BarCraft"
     ["{urn:ietf:params:xml:ns:caldav}calendar-description"]=>
     string(0) ""
     ["{http://apple.com/ns/ical/}calendar-color"]=>
     string(7) "#179000"
     ["{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set"]=>
     object(Sabre\CalDAV\Property\SupportedCalendarComponentSet)#278 (1) {
       
["components":"Sabre\CalDAV\Property\SupportedCalendarComponentSet":private]=>
       array(1) {
         [0]=>
         string(6) "VEVENT"
       }
     }
   }
}
2013-05-28 10:18:35 Git Commit Comment #12 Reply to this comment
Changes have been made in Git (master):

commit 59aeec910112043594849c85d8bf47ec63b31240
Author: Jan Schneider <jan@horde.org>
Date:   Mon May 27 21:51:35 2013 +0200

     Cast null to array (Bug #12275).

     There is way to determine whether an Horde_Registry_Application 
method exists
     and we don't want to implement these methods as stubs in the base 
class either.

  framework/Dav/lib/Horde/Dav/Calendar/Backend.php |    7 ++-----
  1 files changed, 2 insertions(+), 5 deletions(-)

http://git.horde.org/horde-git/-/commit/59aeec910112043594849c85d8bf47ec63b31240
2013-05-28 09:10:41 Jan Schneider Comment #11 Reply to this comment

[Show Quoted Text - 29 lines]
Not really. This means that the CalDAV/CardDAV server is there (it 
provides the "calendars" and "addressbooks" entries), but it doesn't 
provide the calendars/task lists/address books, even though it uses 
almost the same code like what provides the entries below 
kronolith/nag/turba.
I'm afraid you need to dig inside 
Kronolith_Application::davGetCollections() and see why it doesn't 
return anything, while Kronolith_Api::browse() does.
2013-05-27 20:24:18 fabian (dot) schlager (at) skyr (dot) at Comment #10 Reply to this comment
And does the calendar show up when browsing to 
http://horde.myhost.tld/rpc.php/calendars/ with the browser manually?
All the directories Sabre serves (via http://horde.myhost.tld/rpc.php/):

principals -> empty
calendars -> empty
addressbooks -> empty
kronolith
     myuser@myhost.tld
         vWinF3HZnIl5NXmL1JvCag1 (Collection, contains lots of 
text/calendar files)
        vWinF3HZnIl5NXmL1JvCag1.ics
        i9s9BnlV_pyP-xaCLVOoTw1 (Collection, contains lots of text/calendar files)
        i9s9BnlV_pyP-xaCLVOoTw1.ics
turba
     global
         favourites -> empty
     myuser@myhost.tld
         4gRMs8YWEopql_NaGpd2FA6 -> empty
nag
     myuser@myhost.tld
         4XBVL6tfUb7OfI2Riwy0XQ1 -> empty
         4XBVL6tfUb7OfI2Riwy0XQ1.ics

I have two calendars, they seem to show up in kronolith/myuser@myhost.tld.

Hope this helps

2013-05-27 20:15:58 Jan Schneider Comment #9 Reply to this comment
Do the other subscription/export links work for that calendar?
WebDAV/ICS works as expected, Feed yields an empty result. No errors 
in any log file.
And does the calendar show up when browsing to 
http://horde.myhost.tld/rpc.php/calendars/ with the browser manually?
2013-05-27 19:58:35 fabian (dot) schlager (at) skyr (dot) at Comment #8 Reply to this comment
Do the other subscription/export links work for that calendar?
WebDAV/ICS works as expected, Feed yields an empty result. No errors 
in any log file.

2013-05-27 19:52:21 Jan Schneider Comment #7 Reply to this comment
Do the other subscription/export links work for that calendar?
2013-05-27 19:33:16 fabian (dot) schlager (at) skyr (dot) at Comment #6 Reply to this comment
Any chance you have an older version of Nag installed?
Configuration says I have 4.0.2:

Tasks (nag) 4.0.2
2013-05-27 19:30:38 Jan Schneider Comment #5 Reply to this comment
Any chance you have an older version of Nag installed?
2013-05-27 18:54:19 fabian (dot) schlager (at) skyr (dot) at Comment #4 Reply to this comment
Sabre responds:

<d:error>
   <s:exception>Sabre\DAV\Exception</s:exception>
   <s:message>Method does not exist.</s:message>
   <s:sabredav-version>1.8.4</s:sabredav-version>
</d:error>
2013-05-27 18:43:09 Jan Schneider Comment #3
Assigned to Jan Schneider
State ⇒ Feedback
Reply to this comment
Please try this and report back.
2013-05-27 18:42:51 Git Commit Comment #2 Reply to this comment
Changes have been made in Git (master):

commit d14869ecd02f8800e63f63a86de6ed27e328ef1b
Author: Jan Schneider <jan@horde.org>
Date:   Mon May 27 20:42:33 2013 +0200

     Throw exception on error (Bug #12275).

  framework/Dav/lib/Horde/Dav/Calendar/Backend.php |    5 ++++-
  1 files changed, 4 insertions(+), 1 deletions(-)

http://git.horde.org/horde-git/-/commit/d14869ecd02f8800e63f63a86de6ed27e328ef1b
2013-05-25 13:44:41 fabian (dot) schlager (at) skyr (dot) at Comment #1
Type ⇒ Bug
State ⇒ Unconfirmed
Priority ⇒ 1. Low
Summary ⇒ CalDAV subscriptions do not work
Queue ⇒ Kronolith
Milestone ⇒
Patch ⇒ No
Reply to this comment
CalDAV synchronisation does not work with my clients (Thunderbird, 
CalDAV Sync Beta on Android).
I have installed everything according to instructions and then 
upgraded kronolith to kronolith-beta (using pear, it now is at version 
4.1.0beta2).

The subscription URL for my calendar is (I have redacted my host 
information): 
http://horde.myhost.tld/rpc.php/calendars/myuser@myhost.tld/calendar:vWinF3HZnIl5NXmL1JvCag1/

Opening this URL in my browser prints a Sabre-Exception: "Calendar 
with name 'calendar:vWinF3HZnIl5NXmL1JvCag1' could not be found" and 
the following lines in my syslog:

May 25 15:33:31 x HORDE: [horde] PHP ERROR: array_merge(): Argument #2 
is not an array [pid 20279 on line 92 of 
"/usr/share/php/Horde/Dav/Calendar/Backend.php"]
May 25 15:33:31 x HORDE: [horde] PHP ERROR: Invalid argument supplied 
for foreach() [pid 20279 on line 164 of 
"/usr/share/php/Sabre/CalDAV/UserCalendars.php"]
May 25 15:33:31 x HORDE: [horde] PHP ERROR: array_merge(): Argument #2 
is not an array [pid 20279 on line 92 of 
"/usr/share/php/Horde/Dav/Calendar/Backend.php"]
May 25 15:33:31 x HORDE: [horde] PHP ERROR: Invalid argument supplied 
for foreach() [pid 20279 on line 164 of 
"/usr/share/php/Sabre/CalDAV/UserCalendars.php"]

The account subscription URL 
(http://horde.myhost.tld/rpc.php/principals/myuser@myhost.tld/
doesn't work either, altough no errors appear in syslog.

Regards,
Fabian

Saved Queries