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 |
State ⇒ Duplicate
Bug #12305Priority ⇒ 2. Medium
New Attachment: imp_application.patch
Patch ⇒ No
Milestone ⇒
Queue ⇒ IMP
Summary ⇒ CalDAV user lookup bug
Type ⇒ Bug
State ⇒ Unconfirmed
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