6.0.0-beta6
4/10/26

[#12307] CalDAV user lookup bug
Summary CalDAV user lookup bug
Queue IMP
Queue Version Git master
Type Bug
State Duplicate
Priority 2. Medium
Owners
Requester horde (at) freebsd (dot) org
Created 6/5/13 (4692 days ago)
Due
Updated 6/6/13 (4691 days ago)
Assigned
Resolved 6/6/13 (4691 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
06/06/2013 09:28:11 AM Jan Schneider Comment #2
State ⇒ Duplicate
Reply to this comment
06/05/2013 03:38:24 PM horde (at) freebsd (dot) org Comment #1
Priority ⇒ 2. Medium
New Attachment: imp_application.patch Download
Patch ⇒ No
Milestone ⇒
Queue ⇒ IMP
Summary ⇒ CalDAV user lookup bug
Type ⇒ Bug
State ⇒ Unconfirmed
Reply to this comment
I have triggered an error when using the new CalDAV functionality of 
kronolith.

If using CalDAV and authentication via IMP, imp's _init() does not get 
called in the function mentioned later. This leaves the values 'add', 
'remove', and 'list' in the capability list even if not configured in 
the driver.

framework/Dav/lib/Horde/Dav/Principals.php, function 
getPrincipalByPath() erroneously assumes that 
$this->_auth->hasCapability('list') is true and exits with an user 
does not exist exception. This way I am unable to use CalDAV.

My suggestions to fix this:
Option 1 (patch attached):
Instead of removing the "add", "list" and "remove" capabilities in 
imp/lib/Application.php when they are not supported, merge them in 
_init() if they are supported

Option 2:
call imp's _init() before checking the problem in Dav/Principals.php

Option 3:
modify the check in Dav/Principals.php to accept such a situation

Saved Queries