From d08333ea578e3b6c6ab42bed05f808a2b7b93cf1 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 05 May 2011 08:46:54 -0400
Subject: [PATCH] - Fix problems with subfolders of INBOX folder on some IMAP servers (#1487725)                                                             - Fix handling of folders that doesn't belong to any namespace (#1487637)

---
 config/main.inc.php.dist |   35 ++++++++++++++++++++++++++++++++---
 1 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist
index 3d9cd06..ac20c0b 100644
--- a/config/main.inc.php.dist
+++ b/config/main.inc.php.dist
@@ -64,6 +64,7 @@
 // Supported replacement variables:
 // %n - http hostname ($_SERVER['SERVER_NAME'])
 // %d - domain (http hostname without the first part)
+// %s - domain name after the '@' from e-mail address provided at login screen
 // For example %n = mail.domain.tld, %d = domain.tld
 $rcmail_config['default_host'] = '';
 
@@ -199,6 +200,10 @@
 // set to false if only registered users can use this service
 $rcmail_config['auto_create_user'] = true;
 
+// replace Roundcube logo with this image
+// specify an URL relative to the document root of this Roundcube installation
+$rcmail_config['skin_logo'] = null;
+
 // Includes should be interpreted as PHP files
 $rcmail_config['skin_include_php'] = false;
 
@@ -208,6 +213,15 @@
 
 // session domain: .example.org
 $rcmail_config['session_domain'] = '';
+
+// Backend to use for session storage. Can either be 'db' (default) or 'memcache'
+// If set to memcache, a list of servers need to be specified in 'memcache_hosts'
+// Make sure the Memcache extension (http://pecl.php.net/package/memcache) version >= 2.0.0 is installed
+$rcmail_config['session_storage'] = 'db';
+
+// Use these hosts for accessing memcached
+// Define any number of hosts in the form hostname:port
+$rcmail_config['memcache_hosts'] = null; // e.g. array( 'localhost:11211', '192.168.1.12:11211' );
 
 // check client IP in session athorization
 $rcmail_config['ip_check'] = false;
@@ -360,21 +374,26 @@
 
 // store draft message is this mailbox
 // leave blank if draft messages should not be stored
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
 $rcmail_config['drafts_mbox'] = 'Drafts';
 
 // store spam messages in this mailbox
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
 $rcmail_config['junk_mbox'] = 'Junk';
 
 // store sent message is this mailbox
 // leave blank if sent messages should not be stored
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
 $rcmail_config['sent_mbox'] = 'Sent';
 
 // move messages to this folder when deleting them
 // leave blank if they should be deleted directly
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
 $rcmail_config['trash_mbox'] = 'Trash';
 
 // display these folders separately in the mailbox list.
 // these folders will also be displayed with localized names
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
 $rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');
 
 // automatically create the above listed default folders on login
@@ -470,6 +489,11 @@
   // The login name is used to search for the DN to bind with
   'search_base_dn' => '',
   'search_filter'  => '',   // e.g. '(&(objectClass=posixAccount)(uid=%u))'
+  // Optional authentication identifier to be used as SASL authorization proxy
+  // bind_dn need to be empty
+  'auth_cid'       => '',
+  // SASL authentication method (for proxy auth), e.g. DIGEST-MD5
+  'auth_method'    => '',
   // Indicates if we can write to the LDAP directory or not.
   // If writable is true then these fields need to be populated:
   // LDAP_Object_Classes, required_fields, LDAP_rdn
@@ -503,14 +527,19 @@
   ),
   'sort'          => 'cn',    // The field to sort the listing by.
   'scope'         => 'sub',   // search mode: sub|base|list
-  'filter'        => '',      // used for basic listing (if not empty) and will be &'d with search queries. example: status=act
+  'filter'        => '(objectClass=inetOrgPerson)',      // used for basic listing (if not empty) and will be &'d with search queries. example: status=act
   'fuzzy_search'  => true,    // server allows wildcard search
   'sizelimit'     => '0',     // Enables you to limit the count of entries fetched. Setting this to 0 means no limit.
   'timelimit'     => '0',     // Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.
-  // definition for groups, set to false if no groups are supported
+
+  // definition for contact groups (uncomment if no groups are supported)
+  // for the groups base_dn, the user replacements %fu, %u, $d and %dc work as for base_dn (see above)
+  // if the groups base_dn is empty, the contact base_dn is used for the groups as well
+  // -> in thist case, assure that groups and contacts are seperated due to the concernig filters! 
   'groups'        => array(
-    'base_dn'     => 'ou=groups,ou=rcabook,dc=localhost',
+    'base_dn'     => '',   
     'filter'      => '(objectClass=groupOfNames)',
+    'object_classes' => array("top", "groupOfNames"),
   ),
 );
 */

--
Gitblit v1.9.1