6.0.0-git
2019-10-20

[#12380] Accessing shared calendars via CalDAV broken
Summary Accessing shared calendars via CalDAV broken
Queue Kronolith
Queue Version Git master
Type Enhancement
State Resolved
Priority 1. Low
Owners jan (at) horde (dot) org
Requester nimm (at) technikum-wien (dot) at
Created 2013-06-20 (2313 days ago)
Due
Updated 2014-09-02 (1874 days ago)
Assigned 2014-07-30 (1908 days ago)
Resolved 2014-07-31 (1907 days ago)
Milestone 4.2
Patch No

History
2014-09-02 12:44:31 grupodecorreo10 (at) gmail (dot) com Comment #41 Reply to this comment
Hi!!!

I have resolved my issue and i know why didn't work! If a check this:

$conf[share][hidden]
If you enable this option, the shares that a user has access to will 
NOT be displayed automatically, but only if the user subscribed to them.

the problem persist. If it is unchecked, works. But i need to check 
this option in my company.

Do you know why is this option the problem?

Thanks a lot and regards.
2014-08-22 09:18:23 grupodecorreo10 (at) gmail (dot) com Comment #40 Reply to this comment
Hi everybody!

I have upgrade Horde 5.1.6 to Horde 5.2.1 with kronolith 4.2.1. 
Thunderbird 24.6 y lightning 2.6.6.  PHP 5.3.3.
I go to kronolith in webmail and i take the Caldav Subscription URL 
from one shared calendar, and when i try to add this calendar in 
thunderbird i receive an error in my server console with the same error.

HORDE: [kronolith] Call to a member function toHash() on a non-object 
[pid 6284 on line 686 of 
"/var/www/html/mail/horde5_mdm/kronolith/lib/Application.php"]

I don't know where is the problema. Any suggestion about that?

Best regards.
2014-08-11 11:04:19 Git Commit Comment #39 Reply to this comment
Changes have been made in Git (master):

commit 4d5a564c882e0ea08df2632fb2a4b393f8250652
Author: Jan Schneider <jan@horde.org>
Date:   Mon Aug 11 13:01:49 2014 +0200

     [jan] Fix displayed CalDAV URLs for shared calendars in basic 
view too (piper@hrz.uni-marburg.de, Bug #12380).

     Conflicts:
             kronolith/docs/CHANGES
             kronolith/package.xml

  kronolith/lib/Form/EditCalendar.php |    4 +---
  1 files changed, 1 insertions(+), 3 deletions(-)

http://github.com/horde/horde/commit/4d5a564c882e0ea08df2632fb2a4b393f8250652
2014-08-11 11:02:10 Git Commit Comment #38 Reply to this comment
Changes have been made in Git (FRAMEWORK_5_2):

commit f79a953b3e1a3d8b2420cde4924d8c459d212cd1
Author: Jan Schneider <jan@horde.org>
Date:   Mon Aug 11 13:01:49 2014 +0200

     [jan] Fix displayed CalDAV URLs for shared calendars in basic 
view too (piper@hrz.uni-marburg.de, Bug #12380).

  kronolith/docs/CHANGES              |    2 ++
  kronolith/lib/Form/EditCalendar.php |    4 +---
  kronolith/package.xml               |    4 ++--
  3 files changed, 5 insertions(+), 5 deletions(-)

http://github.com/horde/horde/commit/f79a953b3e1a3d8b2420cde4924d8c459d212cd1
2014-08-08 17:57:03 torsten (at) cgnf (dot) net Comment #37 Reply to this comment
Any idea why it works with one calendar but not two or more? If you
need, any debugging logs let me know.
Delete all you calendars
Delete all you CALDAV passwords
Add this to your TB config: calendar.network.multirealm=true

Re-add all your calendars
Thanks for the hint to delete all calendars. I already ha 
multiream=true, but didnt't delete the calendar that worked before. I 
also deleted the addressbook in TB that was sync via CardDav (sogo 
connector) to Horde addressbook.

Till now everything seems to work, after i re-added the calendars and 
the addressbooks.

Thanks for the great work!

Regards
Torsten

2014-08-08 16:38:01 software-horde (at) interfasys (dot) ch Comment #36 Reply to this comment
Any idea why it works with one calendar but not two or more? If you 
need, any debugging logs let me know.
Delete all you calendars
Delete all you CALDAV passwords
Add this to your TB config: calendar.network.multirealm=true

Re-add all your calendars

2014-08-08 15:37:03 torsten (at) cgnf (dot) net Comment #35 Reply to this comment
Works with Kronolith 4.2.1. Thank you, Horde developers!
Still having the same issue
HORDE [kronolith] Call to a member function toHash() on a non-object
with Kronolith 4.2.1 and Thunderbird 31 / Lightning 3.3.

Accessing the first shared calendar via CalDAV works (reading and 
writing), but when adding the second shared calendar to Lightning I 
get the error message in Horde log. When trying to write to that 
calendar, I get the error message modification failed in Thunderbird.

Any idea why it works with one calendar but not two or more? If you 
need, any debugging logs let me know.

Kind regards
Torsten
2014-08-06 07:49:15 piper (at) hrz (dot) uni-marburg (dot) de Comment #34
New Attachment: kronolith_lib_Form_EditCalendar.php.patch Download
Reply to this comment
Revision: Works only when using CalDAV Subscription URL from dynamic 
mode. In the basic mode the calendar's owner is used in the link so 
the error remains.
Extending Jan's change to kronolith/lib/Form/EditCalendar.php seems to
fix this, see attached patchfile.

Many thanks to Jan for fixing this issue, it was a major request from
our users.

Regards,
Andreas
2014-08-05 15:58:32 lslawski (at) physnet (dot) uni-hamburg (dot) de Comment #33 Reply to this comment
Revision: Works only when using CalDAV Subscription URL from dynamic 
mode. In the basic mode the calendar's owner is used in the link so 
the error remains.
2014-08-05 08:10:57 lslawski (at) physnet (dot) uni-hamburg (dot) de Comment #32 Reply to this comment
Works with Kronolith 4.2.1. Thank you, Horde developers!
2014-08-02 18:42:44 rs (at) sys4 (dot) de Comment #31 Reply to this comment
Ah, the user was wrong in the URL...
Patch works for me, thanks!
Hm, i still have spontan problems after logged in for i.e one day like
EMERG: HORDE User is not authorized [pid 28077 on line 1546 of 
"/usr/share/horde/pear/php/Horde/Registry.php"]

restart TB Lightning fixes it

2014-07-31 13:24:34 software-horde (at) interfasys (dot) ch Comment #30 Reply to this comment
Ah, the user was wrong in the URL...
Patch works for me, thanks!
2014-07-31 13:11:18 Git Commit Comment #29 Reply to this comment
Changes have been made in Git (FRAMEWORK_5_2):

commit c7314d904bcb9c66beb0f1d0318f69e659aacabe
Author: Jan Schneider <jan@horde.org>
Date:   Thu Jul 31 14:56:39 2014 +0200

     Fix displayed URLs for shared collections (Bug #12380).

  kronolith/lib/Calendar/External/Tasks.php |   44 
+++++++++++++++++++++++------
  kronolith/lib/Calendar/Internal.php       |   34 +++++++++++++++++----
  nag/lib/Nag.php                           |    4 +--
  turba/lib/Form/EditAddressBook.php        |    2 +-
  4 files changed, 64 insertions(+), 20 deletions(-)

http://github.com/horde/horde/commit/c7314d904bcb9c66beb0f1d0318f69e659aacabe
2014-07-31 13:02:59 Jan Schneider State ⇒ Resolved
 
2014-07-31 12:59:39 Git Commit Comment #28 Reply to this comment
Changes have been made in Git (master):

commit 65303112be74ffccd980fea09422efc1ba4f0af6
Author: Jan Schneider <jan@horde.org>
Date:   Thu Jul 31 14:56:39 2014 +0200

     Fix displayed URLs for shared collections (Bug #12380).

  kronolith/lib/Calendar/External/Tasks.php |   44 
+++++++++++++++++++++++------
  kronolith/lib/Calendar/Internal.php       |   34 +++++++++++++++++----
  nag/lib/Nag.php                           |    4 +--
  turba/lib/Form/EditAddressBook.php        |    2 +-
  4 files changed, 64 insertions(+), 20 deletions(-)

http://github.com/horde/horde/commit/65303112be74ffccd980fea09422efc1ba4f0af6
2014-07-30 14:38:25 rs (at) sys4 (dot) de Comment #27 Reply to this comment
This is not a Thunderbird related problem so forget about the 
solution mentioned above.
If you try opening the CalDAV shared calendar in any web browser it 
will throw the toHash() error as well (and it shouldn't).
yes i think youre right, but for verify i have to retest it
Oh btw - the shared calendars of my admin users work just fine via 
CalDAV - it's only a problem with not-admin users.

PS.: Better solution for Thunderbird users is using ICS shared 
calendars instead, that work just fine.
ICS share is not an option cause its too slow wirh big calendars, and 
i dont remember exactly but i think i had the same bug with using ICS, 
if there is time i will retest this too

2014-07-30 12:19:18 tomasz (dot) sopylo (at) koszykowa (dot) pl Comment #26 Reply to this comment
This is not a Thunderbird related problem so forget about the solution 
mentioned above.
If you try opening the CalDAV shared calendar in any web browser it 
will throw the toHash() error as well (and it shouldn't).

Oh btw - the shared calendars of my admin users work just fine via 
CalDAV - it's only a problem with not-admin users.

PS.: Better solution for Thunderbird users is using ICS shared 
calendars instead, that work just fine.
2014-07-30 09:26:43 Jan Schneider State ⇒ Assigned
 
2014-07-30 06:18:43 rs (at) sys4 (dot) de Comment #25 Reply to this comment

[Show Quoted Text - 9 lines]
However i set calendar.network.multirealm=true in Thunderbird
or without having any calendar sharing

i get

"/usr/share/horde/pear/php/Horde/Db/Adapter/Pdo/Base.php"]
2014-07-10T21:26:56+02:00 EMERG: HORDE [kronolith] Call to a member
function toHash() on a non-object [pid 32637 on line 686 of
from time to time, mostly if Thunderbird is logged in for longer then 
one day, restart Thunderbird fixes the problem, speculation its not   
related to sharing calendars, but however there is a bug eiher in 
Thunderbird Lightning and/or Horde but may complicated to debug
2014-07-29 21:41:05 software-horde (at) interfasys (dot) ch Comment #24 Reply to this comment
Forget what I posted earlier, this was due to Thunderbird needing a 
special configuration change (calendar.network.multirealm=true) to be 
able to access multiple calendars coming from the same server.

This bug remains though. I've tested with a calendar shared between 
users and I'm getting a 403 in Thunderbird.
The calendar shows up just fine in Kronolith, for the user who the 
calendar was shared with.


2014-07-24 11:27:38 software-horde (at) interfasys (dot) ch Comment #23 Reply to this comment
I've done some testing and this seems to come from some authentication issues.

In the PHP shell, everything works fine, the proper array is generated 
for the given user.

If I log in using the CalDAV URL for user1, then I can see his 
calendars, but if I type in the URL for user2, I'm not asked for 
credentials again and I see the toHash error.

At that point, if I use the Horde URL, I can see that I'm logged in 
under user1 and if I log out and log in using user2, then the user1 
CalDAV URL will fail with the toHash message and the user2 CalDAV URL 
will tell me that the I don't have the required privileges.
2014-07-23 15:43:47 tomasz (dot) sopylo (at) koszykowa (dot) pl Comment #22
New Attachment: err1.jpg Download
Reply to this comment
Same problem here.
2014-07-22 11:31:59 software-horde (at) interfasys (dot) ch Comment #21 Reply to this comment
Same problem on our Horde 5.2
2014-07-22T13:02:44+02:00 DEBUG: HORDE [kronolith] SQL  (0.0000s)
         SELECT DISTINCT * FROM kronolith_sharesng s WHERE share_owner =
           'user@domain.tld' OR perm_creator_2 = 1 OR perm_default_2 = 1 ORDER
           BY share_id ASC [pid 6955 on line 208 of 
"/php/lib/php/Horde/Db/Adapter/Pdo/Base.php"]
2014-07-22T13:02:44+02:00 EMERG: HORDE [kronolith] Call to a member 
function toHash() on a non-object [pid 6955 on line 686 of 
"/horde/kronolith/lib/Application.php"]
2014-07-22T13:02:44+02:00 DEBUG: HORDE 1. 
Horde_ErrorHandler::catchFatalError()

2014-07-11 08:53:50 rs (at) sys4 (dot) de Comment #20 Reply to this comment

[Show Quoted Text - 13 lines]
my vot  for reopen it

i have this access  two caldav calendars

share_id IN (15) ORDER BY share_id ASC [pid 32637 on line 208
of "/usr/share/horde/pear/php/Horde/Db/Adapter/Pdo/Base.php"]
2014-07-10T21:26:56+02:00 DEBUG: HORDE [kronolith] SQL  (0,0000s)
         SELECT * FROM kronolith_sharesng_users WHERE share_id = '15'
[pid 32637 on line 208 of
"/usr/share/horde/pear/php/Horde/Db/Adapter/Pdo/Base.php"]
2014-07-10T21:26:56+02:00 EMERG: HORDE [kronolith] Call to a member
function toHash() on a non-object [pid 32637 on line 686 of
"/usr/share/horde/kronolith/lib/Application.php"]
2014-07-10T21:26:56+02:00 DEBUG: HORDE 1.
Horde_ErrorHandler::catchFatalError()


2014-07-10 13:16:51 sberthelot (at) emisfr (dot) com Comment #19 Reply to this comment
This bug doesn't seem to be resolved at all for me.

If I share with read only permissions I get the same error as the 
previous comment (User did not have the required privileges 
({DAV:}read) for path""...")

If I share with all permissions, including write :
"PHP Fatal error:  Call to a member function toHash() on a non-object 
in /var/www/horde5.2/kronolith/lib/Application.php on line 686"

I think you should reopen this bug as it doesn't seem to work on 5.2.0 "stock"
2014-05-15 09:32:11 Jasper (dot) Olbrich (at) students (dot) uni-marburg (dot) de Comment #18 Reply to this comment
I also get this message when I try to access a shared calendar after 
entering the sharee's credentials.

<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DAVACL\Exception\NeedPrivileges</s:exception>
<s:message>
User did not have the required privileges ({DAV:}read) for path 
"calendars/email@domain.example/calendar:RRESa-Iwn71JOPrOKbuLTQ1"
</s:message>
<s:sabredav-version>1.8.9</s:sabredav-version>
<d:need-privileges>
<d:resource>
<d:href>
/rpc.php/calendars/email@domain.example/calendar:RRESa-Iwn71JOPrOKbuLTQ1
</d:href>
<d:privilege>
<d:read/>
</d:privilege>
</d:resource>
</d:need-privileges>
</d:error>

Horde 5.2.0alpha1
Kronolith  4.2.0alpha2

2014-04-09 08:06:26 heidrich (at) ukw-freiburg (dot) de Comment #17 Reply to this comment
If you subscribe to a single calendar not over  the principal link the 
problem still exists
2014-04-01 12:32:48 Jan Schneider Comment #16
Milestone ⇒ 4.2
Reply to this comment
You cannot simply backport this to a stable Kronolith version.
Would it be worth the effort/is it even possible to backport this?
For your personal use maybe, but this won't go into Kronolith 4.1.
In which stable release will this be included?
4.2
2014-04-01 10:48:30 Jasper (dot) Olbrich (at) students (dot) uni-marburg (dot) de Comment #15 Reply to this comment
You cannot simply backport this to a stable Kronolith version.
Would it be worth the effort/is it even possible to backport this? In 
which stable release will this be included?
2014-04-01 09:54:30 Jan Schneider Comment #14 Reply to this comment
Sorry, but I still don't get it.
If I share a calendar in Kronolith with another user, should this 
user be able (after this patch) to access the shared calendar via 
CalDAV (Thunderbird in my example)? Or what do you mean by 
"synchronize"?
Yes, exactly.
2014-04-01 09:53:43 Jan Schneider Comment #13 Reply to this comment
Good Morning.
I have modified this entries in my horde installation but i have this error
PHP Fatal error:  Call to a member function getEntry() on a 
non-object in 
/var/www/html/mail/horde5_mdm/kronolith/lib/Application.php on line 
680

Any ideas?
You cannot simply backport this to a stable Kronolith version.
2014-04-01 09:01:43 agascof (at) gmail (dot) com Comment #12 Reply to this comment
Good Morning.
I have modified this entries in my horde installation but i have this error
PHP Fatal error:  Call to a member function getEntry() on a non-object 
in /var/www/html/mail/horde5_mdm/kronolith/lib/Application.php on line 
680

Any ideas?

Regards
2014-03-31 13:29:40 Jasper (dot) Olbrich (at) students (dot) uni-marburg (dot) de Comment #11 Reply to this comment
Sorry, but I still don't get it.
If I share a calendar in Kronolith with another user, should this user 
be able (after this patch) to access the shared calendar via CalDAV 
(Thunderbird in my example)? Or what do you mean by "synchronize"?
2014-03-31 13:24:41 Jan Schneider Comment #10 Reply to this comment
This does not allow to share calendars from a CalDAV clients, but it 
allows to synchronize calendars that have been shared in Kronolith.
2014-03-31 12:43:34 Jasper (dot) Olbrich (at) students (dot) uni-marburg (dot) de Comment #9 Reply to this comment
"Allow to synchronize shared calendars and task lists via CalDAV" -> 
does this mean "prepare the horde code to make CalDAV sharing possible 
in the future"? I was digging through the code and figured that the 
main changes would be required in the sabredav library?

I'm asking because it doesn't work for me...
2014-03-25 15:56:53 Jan Schneider Comment #8
State ⇒ Resolved
Version ⇒ Git master
Reply to this comment
Kronolith and Nag 4.2.0
2014-03-25 15:56:38 Git Commit Comment #7 Reply to this comment
Changes have been made in Git (master):

commit 9d58d2a2c62d0436742639d788cb0c8ef8aa98be
Author: Jan Schneider <jan@horde.org>
Date:   Tue Mar 25 16:54:07 2014 +0100

     Allow to synchronize shared calendars and task lists via CalDAV 
(Request #12380).

  kronolith/docs/CHANGES        |    1 +
  kronolith/lib/Application.php |   13 +++++--
  kronolith/package.xml         |    2 +
  nag/docs/CHANGES              |    1 +
  nag/lib/Application.php       |   12 ++++--
  nag/lib/Form/EditTaskList.php |   28 ++-------------
  nag/lib/Nag.php               |   76 
+++++++++++++++++++++++++++++++++++++++++
  nag/package.xml               |    2 +
  8 files changed, 102 insertions(+), 33 deletions(-)

http://github.com/horde/horde/commit/9d58d2a2c62d0436742639d788cb0c8ef8aa98be
2014-03-25 15:54:11 Jan Schneider Type ⇒ Enhancement
State ⇒ Assigned
Priority ⇒ 1. Low
 
2014-02-28 11:06:53 gerard (dot) breiner (at) ias (dot) u-psud (dot) fr Comment #6 Reply to this comment
  Hello,

I would like to let you know that I encountered the same problem when 
I try to subscribe a share calendar I do not own over CalDAV. I think 
that this issue is linked to the ticket 12950 which I recently created.

I am not a developer but if I can help, I am checking at 
Sabre/CalDAV/Calendar.php... however, a few hints would be welcome....

Thanks in advance...

Best regards.

GĂ©rard



2013-09-02 10:46:13 Jan Schneider Comment #5 Reply to this comment
No, otherwise the ticket would have been updated.
2013-09-02 10:39:32 hmoreno (at) gmv (dot) com Comment #4 Reply to this comment
Is there any update about this issue with shared calendars?
2013-07-17 12:59:26 kiwi (at) s3r3nity (dot) org Comment #2 Reply to this comment
Seems like my submitted bug (#12470) is a duplicate of this.
2013-07-02 22:39:50 Jan Schneider Assigned to Jan Schneider
State ⇒ Assigned
 
2013-06-20 11:50:10 nimm (at) technikum-wien (dot) at Comment #1
Type ⇒ Bug
State ⇒ Unconfirmed
Priority ⇒ 2. Medium
Summary ⇒ Accessing shared calendars via CalDAV broken
Queue ⇒ Kronolith
Milestone ⇒
Patch ⇒ No
Reply to this comment
The ACL plugin needed for CalDAV on iOS devices

causes an Sabredav Exception when trying to access shared calendars 
over CalDAV

<s:exception>Sabre\DAVACL\Exception\NeedPrivileges</s:exception>
<s:message>
User did not have the required privileges ({DAV:}read) for path 
"calendars/xxxx"
</s:message>

Removing $server->addPlugin(new DAVACL\Plugin());
from DavServer.php fixes this but breaks the iOS support.

Best regards,
Alex

Saved Queries