diff --git a/config/courier/authmysqlrc b/config/courier/authmysqlrc index 80253c97c2cd510a43d90877e51033010740bf90..144c57afb17265f52d4f5acf33039171d5fed174 100644 --- a/config/courier/authmysqlrc +++ b/config/courier/authmysqlrc @@ -103,7 +103,7 @@ MYSQL_GID_FIELD 8 # SELECT MYSQL_UID_FIELD, MYSQL_GID_FIELD, ... WHERE id='loginid' # -MYSQL_LOGIN_FIELD email +MYSQL_LOGIN_FIELD login ##NAME: MYSQL_HOME_FIELD:0 # diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql index ff0cfb14e83bda6b2ed1bcbe0067a28b997e7f24..55daa1194f30fa15c1172ad6d618df351666bae8 100644 --- a/install/sql/ispconfig3.sql +++ b/install/sql/ispconfig3.sql @@ -589,6 +589,7 @@ CREATE TABLE `mail_user` ( `sys_perm_other` varchar(5) NOT NULL default '', `server_id` int(11) unsigned NOT NULL default '0', `email` varchar(255) NOT NULL default '', + `login` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, `name` varchar(255) NOT NULL default '', `uid` int(11) unsigned NOT NULL default '5000', diff --git a/install/tpl/authmysqlrc.master b/install/tpl/authmysqlrc.master index b8f39e3baf7b1a696a98fd4809769aa4ccc84e82..d44b4f2ab14bd7d6e8cc4e1cbd15a2584e14d909 100644 --- a/install/tpl/authmysqlrc.master +++ b/install/tpl/authmysqlrc.master @@ -8,7 +8,7 @@ MYSQL_CRYPT_PWFIELD password #MYSQL_CLEAR_PWFIELD password MYSQL_UID_FIELD uid MYSQL_GID_FIELD gid -MYSQL_LOGIN_FIELD email +MYSQL_LOGIN_FIELD login MYSQL_HOME_FIELD homedir MYSQL_MAILDIR_FIELD maildir #MYSQL_NAME_FIELD diff --git a/install/tpl/debian6_dovecot-sql.conf.master b/install/tpl/debian6_dovecot-sql.conf.master index 73dd0fc009c88a375ecff2d535d51f4fd72d779d..b96ad3829952a7504439a0fa3ad7a16da33d00a0 100644 --- a/install/tpl/debian6_dovecot-sql.conf.master +++ b/install/tpl/debian6_dovecot-sql.conf.master @@ -120,7 +120,7 @@ driver = mysql connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password} default_pass_scheme = CRYPT -password_query = SELECT password FROM mail_user WHERE email = '%u' AND disable%Ls = 'n' -#user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('maildir:storage=', floor(quota/1024)) AS quota, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n' -user_query = SELECT email AS user, maildir AS home, CONCAT('*:storage=', quota , 'B') AS quota_rule FROM mail_user WHERE email = '%u' AND disable%Ls = 'n' +password_query = SELECT password FROM mail_user WHERE login = '%u' AND disable%Ls = 'n' +#user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('maildir:storage=', floor(quota/1024)) AS quota, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE login = '%u' AND disable%Ls = 'n' +user_query = SELECT email AS user, maildir AS home, CONCAT('*:storage=', quota , 'B') AS quota_rule FROM mail_user WHERE login = '%u' AND disable%Ls = 'n' diff --git a/install/tpl/debian_dovecot-sql.conf.master b/install/tpl/debian_dovecot-sql.conf.master index 8777d73c11d80171c2161f8fa4b55d55576e74aa..cd61170d2d9c9fa7b2d2eaeae3dfe7bbda3fe06a 100644 --- a/install/tpl/debian_dovecot-sql.conf.master +++ b/install/tpl/debian_dovecot-sql.conf.master @@ -120,7 +120,7 @@ driver = mysql connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password} default_pass_scheme = CRYPT -password_query = SELECT password FROM mail_user WHERE email = '%u' AND disable%Ls = 'n' -user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('maildir:storage=', floor(quota/1024)) AS quota, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n' +password_query = SELECT password FROM mail_user WHERE login = '%u' AND disable%Ls = 'n' +user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('maildir:storage=', floor(quota/1024)) AS quota, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE login = '%u' AND disable%Ls = 'n' diff --git a/install/tpl/fedora_dovecot-sql.conf.master b/install/tpl/fedora_dovecot-sql.conf.master index 17f7422c1ac78dd0039386ef04382495b360f6e9..897f35acd59bbe73814c4e9f1344f22e8d810103 100644 --- a/install/tpl/fedora_dovecot-sql.conf.master +++ b/install/tpl/fedora_dovecot-sql.conf.master @@ -133,5 +133,5 @@ driver = mysql connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password} default_pass_scheme = CRYPT -password_query = SELECT password FROM mail_user WHERE email = '%u' AND disable%Ls = 'n' -user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('maildir:storage=', floor(quota/1024)) AS quota, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n' +password_query = SELECT password FROM mail_user WHERE login = '%u' AND disable%Ls = 'n' +user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('maildir:storage=', floor(quota/1024)) AS quota, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE login = '%u' AND disable%Ls = 'n' diff --git a/install/tpl/mysql-virtual_mailboxes.cf.master b/install/tpl/mysql-virtual_mailboxes.cf.master index d013c34cdc4afb383de7cb6afc70933850923440..2fe47bbdf5d85c9765141208a7b43f844f44429e 100644 --- a/install/tpl/mysql-virtual_mailboxes.cf.master +++ b/install/tpl/mysql-virtual_mailboxes.cf.master @@ -3,6 +3,6 @@ password = {mysql_server_ispconfig_password} dbname = {mysql_server_database} table = mail_user select_field = CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') -where_field = email +where_field = login additional_conditions = and postfix = 'y' and server_id = {server_id} -hosts = {mysql_server_ip} \ No newline at end of file +hosts = {mysql_server_ip} diff --git a/install/tpl/opensuse_dovecot-sql.conf.master b/install/tpl/opensuse_dovecot-sql.conf.master index 17f7422c1ac78dd0039386ef04382495b360f6e9..897f35acd59bbe73814c4e9f1344f22e8d810103 100644 --- a/install/tpl/opensuse_dovecot-sql.conf.master +++ b/install/tpl/opensuse_dovecot-sql.conf.master @@ -133,5 +133,5 @@ driver = mysql connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password} default_pass_scheme = CRYPT -password_query = SELECT password FROM mail_user WHERE email = '%u' AND disable%Ls = 'n' -user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('maildir:storage=', floor(quota/1024)) AS quota, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n' +password_query = SELECT password FROM mail_user WHERE login = '%u' AND disable%Ls = 'n' +user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('maildir:storage=', floor(quota/1024)) AS quota, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE login = '%u' AND disable%Ls = 'n' diff --git a/install/tpl/pamd_smtp.master b/install/tpl/pamd_smtp.master index f03bed97b0bd01512e981cc27641ccf0d40cbaa9..11b5d16757fe13317783e9506d42cc75a134bbf2 100644 --- a/install/tpl/pamd_smtp.master +++ b/install/tpl/pamd_smtp.master @@ -1,2 +1,2 @@ -auth required pam_mysql.so user={mysql_server_ispconfig_user} passwd={mysql_server_ispconfig_password} host={mysql_server_ip} db={mysql_server_database} table=mail_user usercolumn=email passwdcolumn=password crypt=1 -account sufficient pam_mysql.so user={mysql_server_ispconfig_user} passwd={mysql_server_ispconfig_password} host={mysql_server_ip} db={mysql_server_database} table=mail_user usercolumn=email passwdcolumn=password crypt=1 \ No newline at end of file +auth required pam_mysql.so user={mysql_server_ispconfig_user} passwd={mysql_server_ispconfig_password} host={mysql_server_ip} db={mysql_server_database} table=mail_user usercolumn=login passwdcolumn=password crypt=1 +account sufficient pam_mysql.so user={mysql_server_ispconfig_user} passwd={mysql_server_ispconfig_password} host={mysql_server_ip} db={mysql_server_database} table=mail_user usercolumn=login passwdcolumn=password crypt=1 \ No newline at end of file diff --git a/install/tpl/sasl_smtpd.conf.master b/install/tpl/sasl_smtpd.conf.master index 35a9c3d6849f26d206880b69bf4d58252a725d4e..d5934239e56eefb0a1ab7970ee5c3935be1dfb0d 100644 --- a/install/tpl/sasl_smtpd.conf.master +++ b/install/tpl/sasl_smtpd.conf.master @@ -6,4 +6,4 @@ sql_hostnames: {mysql_server_ip} sql_user: {mysql_server_ispconfig_user} sql_passwd: {mysql_server_ispconfig_password} sql_database: {mysql_server_database} -sql_select: select password from mail_user where email = '%u' \ No newline at end of file +sql_select: select password from mail_user where login = '%u' diff --git a/install/tpl/system.ini.master b/install/tpl/system.ini.master index 07d5a4ef22925261d3ffcb8c8da0302b6a47d5c7..8b305ac09b15f7fd3629246c8959c9d72336eaf0 100644 --- a/install/tpl/system.ini.master +++ b/install/tpl/system.ini.master @@ -7,6 +7,7 @@ [dns] [mail] +enable_custom_login=n mailboxlist_webmail_link=y webmail_url= diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php index 3de23d5bfb1666c58631d713c7f1a7d9a7f831f2..b6aa20e69f0678a3e3034f44f956b780c32dc7a0 100644 --- a/interface/web/admin/form/system_config.tform.php +++ b/interface/web/admin/form/system_config.tform.php @@ -162,6 +162,12 @@ $form["tabs"]['mail'] = array ( ################################## # Begin Datatable fields ################################## + 'enable_custom_login' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(0 => 'n', 1 => 'y') + ), 'mailboxlist_webmail_link' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', diff --git a/interface/web/admin/lib/lang/de_system_config.lng b/interface/web/admin/lib/lang/de_system_config.lng index c26e98cb7e7b1b56a036c63d9b0188d05af5743a..fb337e6dfe8826dc67e1e2912f093c2206ee50e9 100644 --- a/interface/web/admin/lib/lang/de_system_config.lng +++ b/interface/web/admin/lib/lang/de_system_config.lng @@ -19,4 +19,5 @@ $wb['use_domain_module_txt'] = 'Use the domain-module to add new domains'; $wb['use_domain_module_hint'] = 'If you use this module, your customers can only select one of the domains the admin creates for them. They cannot free edit the domain-field.You have to re-login after changing this value, to make the changes visible.'; $wb['new_domain_txt'] = 'HTML to create a new domain'; $wb['webftp_url_txt'] = 'WebFTP URL'; +$wb['enable_custom_login_txt'] = 'Abweichenden Login-Namen erlauben'; ?> diff --git a/interface/web/admin/lib/lang/en_system_config.lng b/interface/web/admin/lib/lang/en_system_config.lng index 9e8d224ceb2e7d5ed8065e00f62216469a481de4..52d50fc0085b4d0e554a1f0ef8728ab0667817ab 100644 --- a/interface/web/admin/lib/lang/en_system_config.lng +++ b/interface/web/admin/lib/lang/en_system_config.lng @@ -12,6 +12,7 @@ $wb["ftpuser_prefix_error_regex"] = 'Char not allowed in ftp user prefix.'; $wb["shelluser_prefix_error_regex"] = 'Char not allowed in shell user prefix.'; $wb["webdavuser_prefix_error_regex"] = 'Char not allowed in webdav user prefix.'; $wb["dblist_phpmyadmin_link_txt"] = 'Link to phpmyadmin in DB list'; +$wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb["mailboxlist_webmail_link_txt"] = 'Link to webmail in Mailbox list'; $wb["webmail_url_txt"] = 'Webmail URL'; $wb["mailmailinglist_link_txt"] = 'Link to mailing list in Mailing list list'; @@ -21,7 +22,7 @@ $wb["use_domain_module_txt"] = 'Use the domain-module to add new domains'; $wb["use_domain_module_hint"] = 'If you use this module, your customers can only select one of the domains the admin creates for them. They cannot free edit the domain-field.You have to re-login after changing this value, to make the changes visible.'; $wb["new_domain_txt"] = 'HTML to create a new domain'; $wb["webftp_url_txt"] = 'WebFTP URL'; -$wb['admin_mail_txt'] = 'Administrator\'s e-mail'; -$wb["monitor_key_txt"] = 'Monitor keyword'; -$wb['admin_name_txt'] = 'Administrator\'s name'; +$wb['admin_mail_txt'] = 'Administrator\'s e-mail'; +$wb["monitor_key_txt"] = 'Monitor keyword'; +$wb['admin_name_txt'] = 'Administrator\'s name'; ?> diff --git a/interface/web/admin/templates/server_config_mail_edit.htm b/interface/web/admin/templates/server_config_mail_edit.htm index 2496fdcc0a53161ea15686c99e48f5d167719608..94dff004590fec093a9e113b62a418f9b48285a0 100644 --- a/interface/web/admin/templates/server_config_mail_edit.htm +++ b/interface/web/admin/templates/server_config_mail_edit.htm @@ -68,9 +68,9 @@ MB