| 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 |
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