6.0.0-alpha14
6/25/25

[#10473] Capability ACL does not get detected before IMAP login
Summary Capability ACL does not get detected before IMAP login
Queue Horde Framework Packages
Queue Version Git master
Type Bug
State Resolved
Priority 1. Low
Owners slusarz (at) horde (dot) org
Requester wrobel (at) horde (dot) org
Created 09/01/2011 (5046 days ago)
Due
Updated 09/01/2011 (5046 days ago)
Assigned
Resolved 09/01/2011 (5046 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
09/01/2011 05:48:45 AM Michael Slusarz Comment #3
State ⇒ Resolved
Reply to this comment
You are correct - the login call for commands that require an 
authenticated/selected state should be abstracted out into the base 
driver, so that capabilities are properly determined.  This should be 
fixed.
09/01/2011 05:47:54 AM Git Commit Comment #2 Reply to this comment
Changes have been made in Git for this ticket:

Bug #10473:  Automatically authenticate to server when using a command 
that requires an authenticated/selected state

  5 files changed, 60 insertions(+), 75 deletions(-)
http://git.horde.org/horde-git/-/commit/ab2a4ada4692081e41fb5830f3264b8652e9a1db
09/01/2011 05:18:22 AM Gunnar Wrobel Assigned to Michael Slusarz
 
09/01/2011 05:18:05 AM Gunnar Wrobel Comment #1
Priority ⇒ 1. Low
Patch ⇒ No
Milestone ⇒
Queue ⇒ Horde Framework Packages
Summary ⇒ Capability ACL does not get detected before IMAP login
Type ⇒ Bug
State ⇒ Unconfirmed
Reply to this comment
Under certain conditions the Kolab_Storage driver will run a 
getMyACLRights($mailbox) as the first step on a freshly initiated 
Horde_Imap_Client_Socket object. This fails as queryCapability('ACL') 
returns false. The IMAP server I'm working with only declares the ACL 
capability *after* login. Login however only takes place within 
_getMyACLRights($mailbox) within Socket.php which is too late.

I don't know if this indicates a broken IMAP server or if this is an 
issue on the side of Horde_Imap_Client. I could also workaround this 
by always running login() after the client. But looking at the code it 
might be an option to simply always run login() before doing the 
capability check.

Saved Queries