[#7041] Shared folder courier-imap
Summary Shared folder courier-imap
Queue IMP
Queue Version HEAD
Type Bug
State Resolved
Priority 1. Low
Owners Michael Slusarz <slusarz (at) horde (dot) org>
Requester rsalmon (at) mbpgroup (dot) com
Created 07/07/2008 (362 days ago)
Due
Updated 07/08/2008 (361 days ago)
Assigned 07/07/2008 (362 days ago)
Resolved 07/07/2008 (362 days ago)
Attachments tree.diff Download
Milestone
Patch Yes

History
07/08/2008 Michael Slusarz Comment #10 Reply to this comment
wrong patch, it's the other way arround.
Fixed in 4.2.1, but please open a new ticket in the future as this was 
not related at all to the previous fix in this ticket.
07/08/2008 CVS Commit Comment #9 Reply to this comment
07/08/2008 CVS Commit Comment #8 Reply to this comment
07/08/2008 rsalmon (at) mbpgroup (dot) com Comment #7 Reply to this comment
wrong patch, it's the other way arround.

--- Tree.php.org        2008-07-08 12:42:44.000000000 +0200
+++ Tree.php    2008-07-08 12:43:05.000000000 +0200
@@ -309,13 +309,14 @@

          error_reporting($old_error);

+        $names['INBOX'] = 1;
+
          // Cached mailbox lists.
          if ($showunsub) {
              $full_list = array_keys($names);
              return $full_list;
          } else {
              /* INBOX is always subscribed to. */
-            $names['INBOX'] = 1;

              // Need to compare to full list to remove non-existent mailboxes
              // See RFC 3501 [6.3.9]

07/08/2008 rsalmon (at) mbpgroup (dot) com Comment #6 Reply to this comment
INBOX isn't clickable in IMP/DIMP.

The following patch works for me.
--- Tree.php    2008-07-08 12:43:05.000000000 +0200
+++ Tree.php.org        2008-07-08 12:42:44.000000000 +0200
@@ -309,14 +309,13 @@

          error_reporting($old_error);

-        $names['INBOX'] = 1;
-
          // Cached mailbox lists.
          if ($showunsub) {
              $full_list = array_keys($names);
              return $full_list;
          } else {
              /* INBOX is always subscribed to. */
+            $names['INBOX'] = 1;

              // Need to compare to full list to remove non-existent mailboxes
              // See RFC 3501 [6.3.9]

07/07/2008 CVS Commit Comment #5 Reply to this comment
07/07/2008 Michael Slusarz Comment #4
State ⇒ Resolved
Reply to this comment
Although rare, it is possible under RFC 3501 that a server does not 
display the namespace children in a LIST * request.  Fixed in IMP 4.2.1.
07/07/2008 CVS Commit Comment #3 Reply to this comment
07/07/2008 Jan Schneider Assigned to Michael Slusarz
State ⇒ Assigned
 
07/07/2008 rsalmon (at) mbpgroup (dot) com Comment #2 Reply to this comment
forgot to attach imp/config/servers.php

$servers['imap'] = array(
     'name' => 'Courier IMAP Server',
     'server' => '127.0.0.1',
     'hordeauth' => true,
     'protocol' => 'imap/notls',
     'port' => 143,
     'maildomain' => 'mbpgroup.com',
     'smtphost' => '127.0.0.1',
     'smtpport' => 25,
     'realm' => '',
     'preferred' => '',
     'quota' => array(
         'driver' => 'imap',
         'params' => array(),
     ),
     'acl' => array(
         'driver' => 'rfc2086',
/*    ),
    'imap_config' => array(
         'children' => true,
         'namespace' => array(
             '' => array(
                 'name' => '',
                 'delimiter' => '.',
                 'type' => 'personal',
                 'hidden' => false
             ),
             '#shared.' => array(
                 'name' => '#shared.',
                 'delimiter' => '.',
                 'type' => 'personal',
                 'hidden' => false
             ),
       ),
         'search_charset' => array(
             'UTF-8' => true
         )
*/    )
);

07/07/2008 rsalmon (at) mbpgroup (dot) com Comment #1
New Attachment: tree.diff Download
Milestone ⇒
Summary ⇒ Shared folder courier-imap
Patch ⇒ 1
Type ⇒ Bug
Priority ⇒ 1. Low
State ⇒ Unconfirmed
Queue ⇒ IMP
Reply to this comment
We use courier-imap 4.3.0.

Since the new IMP_Tree lib, we can't see/use shared folders. From what 
I understood, function _getList is the function that does check 
folders on the server. it seams that _getList doesn't list folders for 
every namespace.

I've attached a patch that do work here. We can use shared folders perfectly.

here is the value of this->namespace :
     [_namespaces] => Array
         (
             [INBOX.] => Array
                 (
                     [name] => INBOX.
                     [delimiter] => .
                     [type] => personal
                     [hidden] =>
                 )

             [#shared.] => Array
                 (
                     [name] => #shared.
                     [delimiter] => .
                     [type] => shared
                     [hidden] =>
                 )

             [shared.] => Array
                 (
                     [name] => shared.
                     [delimiter] => .
                     [type] => shared
                     [hidden] =>
                 )

         )



Ronan.