From e17553d9548d4870a4579a86c6e425a7f32aecf5 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Tue, 30 Nov 2010 08:43:04 -0500 Subject: [PATCH] - Add 'login_lc' config option for case-insensitive authentication (#1487113) - Make username comparison case sensitive on MySQL --- config/main.inc.php.dist | 155 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 129 insertions(+), 26 deletions(-) diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist index 062a0c9..785a20a 100644 --- a/config/main.inc.php.dist +++ b/config/main.inc.php.dist @@ -4,8 +4,8 @@ +-----------------------------------------------------------------------+ | Main configuration file | | | - | This file is part of the RoundCube Webmail client | - | Copyright (C) 2005-2009, RoundCube Dev. - Switzerland | + | This file is part of the Roundcube Webmail client | + | Copyright (C) 2005-2010, Roundcube Dev. - Switzerland | | Licensed under the GNU GPL | | | +-----------------------------------------------------------------------+ @@ -61,24 +61,51 @@ // leave blank to show a textbox at login, give a list of hosts // to display a pulldown menu or set one host as string. // To use SSL/TLS connection, enter hostname with prefix ssl:// or tls:// +// Supported replacement variables: +// %n - http hostname ($_SERVER['SERVER_NAME']) +// %d - domain (http hostname without the first part) +// 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) or "check" 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) +$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; + +// Optional IMAP authentication identifier to be used as authorization proxy +$rcmail_config['imap_auth_cid'] = null; + +// Optional IMAP authentication password to be used for imap_auth_cid +$rcmail_config['imap_auth_pw'] = null; // ---------------------------------- // SMTP @@ -87,17 +114,22 @@ // SMTP server host (for sending mails). // To use SSL/TLS connection, enter hostname with prefix ssl:// or tls:// // If left blank, the PHP mail() function is used -// Use %h variable as replacement for user's IMAP hostname +// Supported replacement variables: +// %h - user's IMAP hostname +// %n - http hostname ($_SERVER['SERVER_NAME']) +// %d - domain (http hostname without the first part) +// %z - IMAP domain (IMAP hostname without the first part) +// For example %n = mail.domain.tld, %d = domain.tld $rcmail_config['smtp_server'] = ''; // SMTP port (default is 25; 465 for SSL) $rcmail_config['smtp_port'] = 25; -// SMTP username (if required) if you use %u as the username RoundCube +// SMTP username (if required) if you use %u as the username Roundcube // will use the current username for login $rcmail_config['smtp_user'] = ''; -// SMTP password (if required) if you use %p as the password RoundCube +// SMTP password (if required) if you use %p as the password Roundcube // will use the current user's password for login $rcmail_config['smtp_pass'] = ''; @@ -105,11 +137,20 @@ // best server supported one) $rcmail_config['smtp_auth_type'] = ''; +// Optional SMTP authentication identifier to be used as authorization proxy +$rcmail_config['smtp_auth_cid'] = null; + +// Optional SMTP authentication password to be used for smtp_auth_cid +$rcmail_config['smtp_auth_pw'] = null; + // SMTP HELO host // Hostname to give to the remote server for SMTP 'HELO' or 'EHLO' messages // Leave this blank and you will get the server variable 'server_name' or // localhost if that isn't defined. $rcmail_config['smtp_helo_host'] = ''; + +// SMTP connection timeout, in seconds. Default: 0 (no limit) +$rcmail_config['smtp_timeout'] = 0; // ---------------------------------- // SYSTEM @@ -139,7 +180,14 @@ // set the port for the ssl connection as value of this option if it differs from the default 443 $rcmail_config['force_https'] = false; -// automatically create a new RoundCube user when log-in the first time. +// Allow browser-autocompletion on login form +$rcmail_config['login_autocomplete'] = false; + +// If users authentication is not case sensitive this must be enabled. +// You can also use it to force conversion of logins to lower case. +$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; @@ -166,10 +214,22 @@ // Automatically add this domain to user names for login // Only for IMAP servers that require full e-mail addresses for login // Specify an array with 'host' => 'domain' values to support multiple hosts +// Supported replacement variables: +// %h - user's IMAP hostname +// %n - http hostname ($_SERVER['SERVER_NAME']) +// %d - domain (http hostname without the first part) +// %z - IMAP domain (IMAP hostname without the first part) +// For example %n = mail.domain.tld, %d = domain.tld $rcmail_config['username_domain'] = ''; // This domain will be used to form e-mail addresses of new users // Specify an array with 'host' => 'domain' values to support multiple hosts +// Supported replacement variables: +// %h - user's IMAP hostname +// %n - http hostname ($_SERVER['SERVER_NAME']) +// %d - domain (http hostname without the first part) +// %z - IMAP domain (IMAP hostname without the first part) +// For example %n = mail.domain.tld, %d = domain.tld $rcmail_config['mail_domain'] = ''; // Password charset. @@ -188,18 +248,22 @@ $rcmail_config['max_group_members'] = 0; // add this user-agent to message headers when sending -$rcmail_config['useragent'] = 'RoundCube Webmail/'.RCMAIL_VERSION; +$rcmail_config['useragent'] = 'Roundcube Webmail/'.RCMAIL_VERSION; // use this name to compose page titles -$rcmail_config['product_name'] = 'RoundCube Webmail'; +$rcmail_config['product_name'] = 'Roundcube Webmail'; // try to load host-specific configuration // see http://trac.roundcube.net/wiki/Howto_Config for more details $rcmail_config['include_host_config'] = false; // path to a text file which will be added to each sent message -// paths are relative to the RoundCube root folder +// paths are relative to the Roundcube root folder $rcmail_config['generic_message_footer'] = ''; + +// path to a text file which will be added to each sent HTML message +// paths are relative to the Roundcube root folder +$rcmail_config['generic_message_footer_html'] = ''; // add a received header to outgoing mails containing the creators IP and hostname $rcmail_config['http_received_header'] = false; @@ -210,9 +274,16 @@ // when tracking down issues. $rcmail_config['http_received_header_encrypt'] = false; -// this string is used as a delimiter for message headers when sending -// leave empty for auto-detection +// This string is used as a delimiter for message headers when sending +// a message via mail() function. Leave empty for auto-detection $rcmail_config['mail_header_delimiter'] = NULL; + +// number of chars allowed for line when wrapping text. +// text wrapping is done when composing/sending messages +$rcmail_config['line_length'] = 72; + +// send plaintext messages as format=flowed +$rcmail_config['send_format_flowed'] = true; // session domain: .example.org $rcmail_config['session_domain'] = ''; @@ -252,8 +323,8 @@ $rcmail_config['message_sort_order'] = 'DESC'; // These cols are shown in the message list. Available cols are: -// subject, from, to, cc, replyto, date, size, flag, attachment -$rcmail_config['list_cols'] = array('subject', 'from', 'date', 'size', 'flag', 'attachment'); +// subject, from, to, cc, replyto, date, size, status, flag, attachment +$rcmail_config['list_cols'] = array('subject', 'status', 'from', 'date', 'size', 'flag', 'attachment'); // the default locale setting (leave empty for auto-detection) // RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR @@ -295,10 +366,6 @@ // if in your system 0 quota means no limit set this option to true $rcmail_config['quota_zero_as_unlimited'] = false; - -// Behavior if a received message requests a message delivery notification (read receipt) -// 0 = ask the user, 1 = send automatically, 2 = ignore (never send or ask) -$rcmail_config['mdn_requests'] = 0; // Make use of the built-in spell checker. It is based on GoogieSpell. // Since Google only accepts connections over https your PHP installatation @@ -361,17 +428,30 @@ * $rcmail_config['ldap_public']['Verisign'] = array( 'name' => 'Verisign.com', + // Replacement variables supported in host names: + // %h - user's IMAP hostname + // %n - http hostname ($_SERVER['SERVER_NAME']) + // %d - domain (http hostname without the first part) + // %z - IMAP domain (IMAP hostname without the first part) + // For example %n = mail.domain.tld, %d = domain.tld 'hosts' => array('directory.verisign.com'), 'port' => 389, - 'use_tls' => false, + 'use_tls' => false, '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. // %u - The username prior to the '@'. // %d - The domain name after the '@'. + // %dc - The domain name hierarchal string e.g. "dc=test,dc=domain,dc=com" + // %dn - DN found by ldap search when search_filter/search_base_dn are used 'base_dn' => '', 'bind_dn' => '', 'bind_pass' => '', + // It's possible to bind for an individual address book + // 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. // If writable is true then these fields need to be populated: // LDAP_Object_Classes, required_fields, LDAP_rdn @@ -387,12 +467,20 @@ '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 - 'fuzzy_search' => true); // server allows wildcard search + '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. +); */ // 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; // ---------------------------------- // USER PREFERENCES @@ -423,7 +511,8 @@ $rcmail_config['show_images'] = 0; // compose html formatted messages by default -$rcmail_config['htmleditor'] = false; +// 0 - never, 1 - always, 2 - on reply to HTML message only +$rcmail_config['htmleditor'] = 0; // show pretty dates as standard $rcmail_config['prettydate'] = true; @@ -514,5 +603,19 @@ // when user is over quota and Trash is included in the quota. $rcmail_config['delete_always'] = false; +// Behavior if a received message requests a message delivery notification (read receipt) +// 0 = ask the user, 1 = send automatically, 2 = ignore (never send or ask) +// 3 = send automatically if sender is in addressbook, otherwise ask the user +// 4 = send automatically if sender is in addressbook, otherwise ignore +$rcmail_config['mdn_requests'] = 0; + +// Return receipt checkbox default state +$rcmail_config['mdn_default'] = 0; + +// 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; + // end of config file -?> -- Gitblit v1.9.1