Summary:ASTERISK-12438: [patch] Save to alternate folder throws errors due to incorrect IMAP mailbox specification in Cyrus IMAP
Reporter:James Rothenberger (jaroth)Labels:
Date Opened:2008-07-23 13:50:08Date Closed:2008-08-01 09:21:39
Versions:Frequency of
Environment:Attachments:( 0) parentfolder.patch
Description:imap_mailbox_name() can create an incorrect mailbox name, specifically when specifying a folder name (other than INBOX) in Cyrus IMAP.  Currently the folder name would be specified as INBOX/Family, for instance.  Cyrus (and possibly other IMAP implementations does not like the INBOX prefix).  Instead of making a Cyrus-specific patch (the concensus is NOT to create IMAP implementation-specific code), this patch uses an additional (optional) parameter from the voicemail.conf file called imapparentfolder.  The default value would be INBOX.  If this parameter is not set, INBOX will not be prepended to the mailbox name.


I'm not sure about the initialization strategy that I have used here.  The imapparentfolder is set to empty upon startup and reload, and if the imapparentfolder keyword is found, it is set.
Comments:By: Mark Michelson (mmichelson) 2008-07-31 11:44:56

I think the reason that I coded the folder name as a subfolder of INBOX was because at the time, I had no idea how to set up other mboxes on my system to act as "folders." This definitely isn't a Cyrus-specific issue, and I don't know of any IMAP servers that require folders to be subfolders of INBOX.

The parent folder idea still seems good though since it will allow for users who do wish to set up their voicemail folders as subfolders of INBOX to do so. The patch looks good, so I will commit it as soon as I finish merging Asterisk 1.4's imap_consistency branch up to trunk today.

By: Mark Michelson (mmichelson) 2008-08-01 09:09:12

Yuck, I didn't finish merging imap_consistency_trunk yesterday, so I'm just going to go ahead and merge this now since it is an easy fix. Thanks again for the patch!

By: Digium Subversion (svnbot) 2008-08-01 09:21:37

Repository: asterisk
Revision: 135067

U   trunk/apps/app_voicemail.c
U   trunk/configs/voicemail.conf.sample

r135067 | mmichelson | 2008-08-01 09:21:37 -0500 (Fri, 01 Aug 2008) | 13 lines

IMAP storage functioned under the assumption that folders
such as "Work" and "Family" would be subfolders of the
INBOX. This is an invalid assumption to make, but it could
be desirable to set up folders in this manner, so a new
option for voicemail.conf, "imapparentfolder" has been
added to allow for this.

(closes issue ASTERISK-12438)
Reported by: jaroth
     parentfolder.patch uploaded by jaroth (license 50)