[Tickets #4965] IMAP_Tree _getList recurse and die with faulty @imap_getmailboxes()

bugs@bugs.horde.org bugs at bugs.horde.org
Sat Feb 3 00:13:42 PST 2007


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/?id=4965
-----------------------------------------------------------------------
 Ticket             | 4965
 Created By         | ntai at smartfruit.com
 Summary            | IMAP_Tree _getList recurse and die with faulty @imap_getmailboxes()
 Queue              | IMP
 Version            | 4.1.3
 Type               | Bug
 State              | Unconfirmed
 Priority           | 2. Medium
 Owners             | 
-----------------------------------------------------------------------


ntai at smartfruit.com (2007-02-03 00:13) wrote:

By some reason, when IMP tries to retrieve a IMAP tree, _getList to get the
children of folder encounters a folder that returns the name of folder.
The IMAP server is my Cyrus, and the folder is called "SharedFolders"
which is designated for the shared folders.
In this particular case, expanding a folder "SharedFolder" resuled
"SharedFolder/mailing-lists", "SharedFolder/Records", and "SharedFolder".
This may be a bug of @imap_getmailboxes(). Anyhow, I did in _getList()

                    if ($box->name && !isset($unique[$box->name])) {      
                                             
                        if ( ($box->name . '/%') != $path) {              
                                             
                            $unique[$box->name] = $box;                   
                                             
                        }                                                 
                                             
                    }                                                     
                                             

to filter out $path when it's returned from @imap_getmailboxes() in
_getList().

Without the hack, it recurses and dies.
I did not chase down @imap_getmailboxes(). For me, I'm happy with the
result as IMP now functions. But, if someone is seeing a similar problem,
I think this is worth reporting.
You can decide IMAP_Tree::_getList() or @imap_getmailboxes() is at fault.
But, moral equivalent of hack in _getList() maybe a good insurance to have
nonetheless.






More information about the bugs mailing list