6.0.0-beta1
7/4/25

[#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 06/05/2013 (4412 days ago)
Due
Updated 06/06/2013 (4411 days ago)
Assigned
Resolved 06/06/2013 (4411 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