6.0.0-beta1
7/9/25

[#6052] Shared folders dont show with courier-imap
Summary Shared folders dont show with courier-imap
Queue IMP
Queue Version HEAD
Type Bug
State Duplicate
Priority 1. Low
Owners
Requester rsalmon (at) mbpgroup (dot) com
Created 12/27/2007 (6404 days ago)
Due
Updated 12/27/2007 (6404 days ago)
Assigned
Resolved 12/27/2007 (6404 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
12/27/2007 05:29:57 PM Jan Schneider Comment #2
State ⇒ Duplicate
Reply to this comment
Duplicate of ticket #5988.
12/27/2007 01:20:45 PM rsalmon (at) mbpgroup (dot) com Comment #1
State ⇒ Unconfirmed
Priority ⇒ 1. Low
Type ⇒ Bug
Summary ⇒ Shared folders dont show with courier-imap
Queue ⇒ IMP
Reply to this comment
I can see/use shared folders just fine with thunderbird but not in IMP.



I login as 'ronan'. The share is made by 'rsalmon' and is 
#shared.rsalmon.test. I was able to create the share from IMP.



I changed the function _getList($path) in imp/lib/IMAP/Tree.php to see 
what's going on :

     function _getList($path)

     {

         $unique = array();



         if (!$this->_showunsub) {

             $this->_initSubscribed();

         }

echo "***begins*** _getList\n";



         $imp_imap = &IMP_IMAP::singleton();

         $newboxes = @imap_getmailboxes($imp_imap->stream(), 
$this->_server, $path);

         if (is_array($newboxes)) {

             foreach ($newboxes as $box) {

                 if ($this->_showunsub ||

                     !isset($this->_subscribed[$box->name])) {

                     /* Strip off server string. */

                     $box = $this->_removeServerString($box);

                     if ($box->name && !isset($unique[$box->name])) {

                         $unique[$box->name] = $box;

                     }

                 }

             }

         }

print_r($unique);

echo "***end*** _getList\n";

         return $unique;

     }







I couldn't see my shares so I change the namespace search in function init() :

        foreach ($this->_namespaces as $key => $val) {

             /* We only need to provide the list of folders in the base

              * personal namespace.  Else, just use the base namespace 
entry. */

             if (($val['type'] == 'personal') || empty($val['name'])) {

                 $query = $val['name'] . '%';

             } else {

                 $query = (empty($val['delimiter'])) ? $val['name'] : 
rtrim($val['name'], $val['delimiter']);

                $query .= '.%';





Now when I login, I get  :

***begins*** _getList

Array

(

     [INBOX.Brouillon] => stdClass Object

         (

             [name] => INBOX.Brouillon

             [attributes] => 64

             [delimiter] => .

             [fullServerPath] => {127.0.0.1:143/imap/notls}INBOX.Brouillon

         )



     [INBOX.Trash] => stdClass Object

         (

             [name] => INBOX.Trash

             [attributes] => 64

             [delimiter] => .

             [fullServerPath] => {127.0.0.1:143/imap/notls}INBOX.Trash

         )



     [INBOX.Spam] => stdClass Object

         (

             [name] => INBOX.Spam

             [attributes] => 64

             [delimiter] => .

             [fullServerPath] => {127.0.0.1:143/imap/notls}INBOX.Spam

         )



     [INBOX.Sent] => stdClass Object

         (

             [name] => INBOX.Sent

             [attributes] => 64

             [delimiter] => .

             [fullServerPath] => {127.0.0.1:143/imap/notls}INBOX.Sent

         )



)

***end*** _getList

***begins*** _getList

Array

(

     [#shared.rsalmon] => stdClass Object

         (

             [name] => #shared.rsalmon

             [attributes] => 34

             [delimiter] => .

             [fullServerPath] => {127.0.0.1:143/imap/notls}#shared.rsalmon

         )



)

***end*** _getList

***begins*** _getList

Array

(

)

***end*** _getList

***begins*** _getList

Array

(

     [INBOX] => stdClass Object

         (

             [name] => INBOX

             [attributes] => 40

             [delimiter] => .

             [fullServerPath] => {127.0.0.1:143/imap/notls}INBOX

         )



)

***end*** _getList

***begins*** _getList

Array

(

     [#shared.rsalmon.test] => stdClass Object

         (

             [name] => #shared.rsalmon.test

             [attributes] => 64

             [delimiter] => .

             [fullServerPath] => {127.0.0.1:143/imap/notls}#shared.rsalmon.test

         )



)

***end*** _getList

***begins*** _getList

Array

(

)

***end*** _getList

<!--a75c305b1c0a6022--><script type="text/javascript" 
src="/horde/imp/js/popup.js"></script>

<!--a75c305b1c0a6022--><script type="text/javascript" 
src="/horde/js/prototype.js"></script>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"DTD/xhtml1-transitional.dtd">



...





I still can't see shared folders within IMP, but from the debug 
output, I know that IMP is aware of them. This is as far as I can go. 
I really don't know where to look now.





I'm using :

php 5.2.4

courier-imap 4.2.1 (same with 4.3.0)



$servers['imap'] = array(

     'name' => 'IMAP Server',

     'server' => '127.0.0.1',

     'hordeauth' => true,

     'protocol' => 'imap/notls',

     'port' => 143,

     'maildomain' => 'maison.local',

     'smtphost' => '127.0.0.1',

     'smtpport' => 25,

     'realm' => '',

     'preferred' => '',

     'quota' => array(

         'driver' => 'imap',

         'params' => array(),

     ),

     'acl' => array(

         'driver' => 'rfc2086',

     ),

);







Thanks,

Ronan.

Saved Queries