| Summary | Unavailable mailboxes shown as empty |
| Queue | IMP |
| Queue Version | HEAD |
| Type | Enhancement |
| State | Assigned |
| Priority | 1. Low |
| Owners | Matt Selsky <selsky (at) columbia (dot) edu> |
| Requester | Matt Selsky <selsky (at) columbia (dot) edu> |
| Created | 04/23/2007 (382 days ago) |
| Due | |
| Updated | 06/11/2007 (333 days ago) |
| Assigned | 05/12/2007 (363 days ago) |
| Resolved | |
| Attachments | |
| Milestone | |
| Patch |
> Perhaps. However, if you set imap_closeonerror, imap_open() will
> fail instead of simulating an empty mailbox, i.e., the mailbox won't
> be halfopen. Another option might be getting the error from mm_log().
Good info, thanks. Unfortunately, unless I'm missing something all of those options would require changes to PHP, not just to Horde.
> I'm unaware of a way to get that "server unavailable" message from
> c-client. Your best bet may be to get murder to issue an IMAP ALERT
> instead of just the "No".
Perhaps. However, if you set imap_closeonerror, imap_open() will fail instead of simulating an empty mailbox, i.e., the mailbox won't be halfopen. Another option might be getting the error from mm_log().
State ⇒ Assigned
Assigned to Matt Selsky
I'm unaware of a way to get that "server unavailable" message from c-client. Your best bet may be to get murder to issue an IMAP ALERT instead of just the "No".Priority ⇒ 1. Low
State ⇒ New
Type ⇒ Enhancement
I would classify this as an enhancement rather than a bug.Summary ⇒ Unavailable mailboxes shown as empty
State ⇒ Unconfirmed
Priority ⇒ 1. Low
Type ⇒ Bug
Queue ⇒ IMP
We are using Cyrus IMAP in a "murder" configuration. Occasionally, one of the backend servers will go down while the frontend servers remain up. The IMAP transaction looks like this:
$ openssl s_client -connect mail:993 -quiet
depth=1 /C=US/O=Equifax/OU=Equifax Secure Certificate Authority
verify return:0
* OK cyrus-frontend-host Cyrus IMAP4 Murder v2.2.12 server ready
a01 LOGIN testuser password
a01 OK User logged in
a02 SELECT INBOX
a02 NO Server(s) unavailable to complete operation
a03 LOGOUT
* BYE LOGOUT received
a03 OK Completed
read:errno=0
So the login succeeds because authentication is done on the front-end, but the INBOX is unavailable because it's on the down backend.
IMP should be able to catch the "server unavailable" message and pass it back to the UI instead of showing an empty mailbox. Users currently panic, thinking that their mailbox has been wiped, when in reality their backend server is undergoing maintenance (or it's broken, but their mail will be back when the server comes back up).