From 10ea10a3177fb59caac13adc44cfbc4b5e6ff8dd Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Fri, 20 May 2011 14:35:08 -0400 Subject: [PATCH] Catch write-errors on database (yet untested) --- config/main.inc.php.dist | 177 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 143 insertions(+), 34 deletions(-) diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist index 9579c0d..29af284 100644 --- a/config/main.inc.php.dist +++ b/config/main.inc.php.dist @@ -5,7 +5,7 @@ | Main configuration file | | | | This file is part of the Roundcube Webmail client | - | Copyright (C) 2005-2010, Roundcube Dev. - Switzerland | + | Copyright (C) 2005-2010, The Roundcube Dev Team | | Licensed under the GNU GPL | | | +-----------------------------------------------------------------------+ @@ -64,25 +64,41 @@ // 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'] = ''; // TCP port used for IMAP connections $rcmail_config['default_port'] = 143; -// IMAP auth type. Can be "auth" (CRAM-MD5), "plain" (PLAIN), "login" (LOGIN) -// or "check" (or empty) to auto detect. Optional, defaults to "check" +// IMAP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use +// best server supported one) $rcmail_config['imap_auth_type'] = null; -// If you know your imap's root directory and its folder delimiter, -// you can specify them here. Otherwise they will be determined automatically. -$rcmail_config['imap_root'] = null; +// If you know your imap's folder delimiter, you can specify it here. +// Otherwise it will be determined automatically $rcmail_config['imap_delimiter'] = null; + +// If IMAP server doesn't support NAMESPACE extension, but you're +// using shared folders or personal root folder is non-empty, you'll need to +// set these options. All can be strings or arrays of strings. +// Folders need to be ended with directory separator, e.g. "INBOX." +// (special directory "~" is an exception to this rule) +// These can be used also to overwrite server's namespaces +$rcmail_config['imap_ns_personal'] = null; +$rcmail_config['imap_ns_other'] = null; +$rcmail_config['imap_ns_shared'] = null; // By default IMAP capabilities are readed after connection to IMAP server // In some cases, e.g. when using IMAP proxy, there's a need to refresh the list // after login. Set to True if you've got this case. $rcmail_config['imap_force_caps'] = false; + +// By default list of subscribed folders is determined using LIST-EXTENDED +// extension if available. Some servers (dovecot 1.x) returns wrong results +// for shared namespaces in this case. http://trac.roundcube.net/ticket/1486225 +// Enable this option to force LSUB command usage instead. +$rcmail_config['imap_force_lsub'] = false; // IMAP connection timeout, in seconds. Default: 0 (no limit) $rcmail_config['imap_timeout'] = 0; @@ -92,6 +108,13 @@ // Optional IMAP authentication password to be used for imap_auth_cid $rcmail_config['imap_auth_pw'] = null; + +// Type of IMAP indexes cache. Supported values: 'db', 'apc' and 'memcache'. +$rcmail_config['imap_cache'] = null; + +// Enables messages cache. Only 'db' cache is supported. +$rcmail_config['messages_cache'] = false; + // ---------------------------------- // SMTP @@ -153,10 +176,6 @@ // use this folder to store temp files (must be writeable for apache user) $rcmail_config['temp_dir'] = 'temp/'; -// enable caching of messages and mailbox data in the local database. -// this is recommended if the IMAP server does not run on the same machine -$rcmail_config['enable_caching'] = false; - // lifetime of message cache // possible units: s, m, h, d, w $rcmail_config['message_cache_lifetime'] = '10d'; @@ -166,10 +185,29 @@ // set the port for the ssl connection as value of this option if it differs from the default 443 $rcmail_config['force_https'] = false; +// tell PHP that it should work as under secure connection +// even if it doesn't recognize it as secure ($_SERVER['HTTPS'] is not set) +// e.g. when you're running Roundcube behind a https proxy +$rcmail_config['use_https'] = false; + +// Allow browser-autocompletion on login form. +// 0 - disabled, 1 - username and host only, 2 - username, host, password +$rcmail_config['login_autocomplete'] = 0; + +// If users authentication is not case sensitive this must be enabled. +// You can also use it to force conversion of logins to lower case. +// After enabling it all user records need to be updated, e.g. with query: +// UPDATE users SET username = LOWER(username); +$rcmail_config['login_lc'] = false; + // automatically create a new Roundcube user when log-in the first time. // a new user will be created once the IMAP login succeeds. // 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; @@ -178,12 +216,23 @@ // must be greater than 'keep_alive'/60 $rcmail_config['session_lifetime'] = 10; +// 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; -// Use an additional frequently changing cookie to athenticate user sessions. -// There have been problems reported with this feature. -$rcmail_config['double_auth'] = false; +// check referer of incoming requests +$rcmail_config['referer_check'] = false; // this key is used to encrypt the users imap password which is stored // in the session record (and the client cookie if remember password is enabled). @@ -264,9 +313,6 @@ // send plaintext messages as format=flowed $rcmail_config['send_format_flowed'] = true; -// session domain: .example.org -$rcmail_config['session_domain'] = ''; - // don't allow these settings to be overriden by the user $rcmail_config['dont_override'] = array(); @@ -279,6 +325,15 @@ // mime magic database $rcmail_config['mime_magic'] = '/usr/share/misc/magic'; + +// path to imagemagick identify binary +$rcmail_config['im_identify_path'] = null; + +// path to imagemagick convert binary +$rcmail_config['im_convert_path'] = null; + +// maximum size of uploaded contact photos in pixel +$rcmail_config['contact_photo_size'] = 160; // Enable DNS checking for e-mail address validation $rcmail_config['email_dns_check'] = false; @@ -316,25 +371,34 @@ $rcmail_config['date_long'] = 'd.m.Y H:i'; // use this format for today's date display (date or strftime format) +// Note: $ character will be replaced with 'Today' label $rcmail_config['date_today'] = 'H:i'; + +// use this format for date display without time (date or strftime format) +$rcmail_config['date_format'] = 'Y-m-d'; // 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 @@ -388,7 +452,6 @@ // example further below. if you would like to test, simply uncomment the example. $rcmail_config['ldap_public'] = array(); -// // If you are going to use LDAP for individual address books, you will need to // set 'user_specific' to true and use the variables to generate the appropriate DNs to access it. // @@ -416,6 +479,7 @@ 'hosts' => array('directory.verisign.com'), 'port' => 389, 'use_tls' => false, + 'ldap_version' => 3, // using LDAPv3 'user_specific' => false, // If true the base_dn, bind_dn and bind_pass default to the user's IMAP login. // %fu - The full username provided, assumes the username is an email // address, uses the username_domain value if not an email address. @@ -430,31 +494,73 @@ // The login name is used to search for the DN to bind with 'search_base_dn' => '', 'search_filter' => '', // e.g. '(&(objectClass=posixAccount)(uid=%u))' - - 'writable' => false, // Indicates if we can write to the LDAP directory or not. + // 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 - 'LDAP_Object_Classes' => array("top", "inetOrgPerson"), // To create a new contact these are the object classes to specify (or any other classes you wish to use). - 'required_fields' => array("cn", "sn", "mail"), // The required fields needed to build a new contact as required by the object classes (can include additional fields not required by the object classes). - 'LDAP_rdn' => 'mail', // The RDN field that is used for new entries, this field needs to be one of the search_fields, the base of base_dn is appended to the RDN to insert into the LDAP directory. - 'ldap_version' => 3, // using LDAPv3 - 'search_fields' => array('mail', 'cn'), // fields to search in - 'name_field' => 'cn', // this field represents the contact's name - 'email_field' => 'mail', // this field represents the contact's e-mail - 'surname_field' => 'sn', // this field represents the contact's last name - 'firstname_field' => 'gn', // this field represents the contact's first name + 'writable' => false, + // To create a new contact these are the object classes to specify + // (or any other classes you wish to use). + 'LDAP_Object_Classes' => array('top', 'inetOrgPerson'), + // The RDN field that is used for new entries, this field needs + // to be one of the search_fields, the base of base_dn is appended + // to the RDN to insert into the LDAP directory. + 'LDAP_rdn' => 'mail', + // The required fields needed to build a new contact as required by + // the object classes (can include additional fields not required by the object classes). + 'required_fields' => array('cn', 'sn', 'mail'), + 'search_fields' => array('mail', 'cn'), // fields to search in + // mapping of contact fields to directory attributes + 'fieldmap' => array( + // Roundcube => LDAP + 'name' => 'cn', + 'surname' => 'sn', + 'firstname' => 'givenName', + 'email' => 'mail', + 'phone:home' => 'homePhone', + 'phone:work' => 'telephoneNumber', + 'phone:mobile' => 'mobile', + 'street' => 'street', + 'zipcode' => 'postalCode', + 'locality' => 'l', + 'country' => 'c', + 'organization' => 'o', + ), '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. + '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 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' => '', + 'filter' => '(objectClass=groupOfNames)', + 'object_classes' => array("top", "groupOfNames"), + ), ); */ // An ordered array of the ids of the addressbooks that should be searched // when populating address autocomplete fields server-side. ex: array('sql','Verisign'); $rcmail_config['autocomplete_addressbooks'] = array('sql'); + +// The minimum number of characters required to be typed in an autocomplete field +// before address books will be searched. Most useful for LDAP directories that +// may need to do lengthy results building given overly-broad searches +$rcmail_config['autocomplete_min_length'] = 1; + +// show address fields in this order +// available placeholders: {street}, {locality}, {zipcode}, {country}, {region} +$rcmail_config['address_template'] = '{street}<br/>{locality} {zipcode}<br/>{country} {region}'; // ---------------------------------- // USER PREFERENCES @@ -500,9 +606,6 @@ // Mark as read when viewed in preview pane (delay in seconds) // Set to -1 if messages in preview pane should not be marked as read $rcmail_config['preview_pane_mark_read'] = 0; - -// focus new window if new message arrives -$rcmail_config['focus_on_new_message'] = true; // Clear Trash on logout $rcmail_config['logout_purge'] = false; @@ -589,4 +692,10 @@ // Delivery Status Notification checkbox default state $rcmail_config['dsn_default'] = 0; +// Place replies in the folder of the message being replied to +$rcmail_config['reply_same_folder'] = false; + +// Sets default mode of Forward feature to "forward as attachment" +$rcmail_config['forward_attachment'] = false; + // end of config file -- Gitblit v1.9.1