diff --git a/docs/INSTALL_DEBIAN_5.0_courier_mydns.txt b/docs/INSTALL_DEBIAN_5.0_courier_mydns.txt index 8b28eab73a7d5999dcbc5df42553f973cd115fd1..7d53cfdcab1abe607d5190912959cd61169a205b 100644 --- a/docs/INSTALL_DEBIAN_5.0_courier_mydns.txt +++ b/docs/INSTALL_DEBIAN_5.0_courier_mydns.txt @@ -264,7 +264,11 @@ update-rc.d mydns defaults 6) Install vlogger and webalizer -apt-get -y install vlogger webalizer +apt-get -y install vlogger webalizer awstats + +mkdir /usr/share/awstats/tools +cp -prf /usr/share/doc/awstats/examples/awstats_buildstaticpages.pl /usr/share/awstats/tools/awstats_buildstaticpages.pl + 7) Install Jailkit (optional, only needed if you want to use chrooting for SSH users) diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql index 780ecac2a7a8050c39acc3b1f2dbb694d3093f4d..c8adb209fb7f8a2128a6da6a620797e68c0306d8 100644 --- a/install/sql/ispconfig3.sql +++ b/install/sql/ispconfig3.sql @@ -954,8 +954,8 @@ CREATE TABLE `sys_datalog` ( `action` char(1) NOT NULL default '', `tstamp` int(11) NOT NULL default '0', `user` varchar(255) NOT NULL default '', - `data` longtext NOT NULL, - `status` set('pending','ok','warning','error') NOT NULL default 'pending', + `data` longtext NOT NULL, + `status` set('pending','ok','warning','error') NOT NULL default 'ok', PRIMARY KEY (`datalog_id`), KEY `server_id` (`server_id`,`status`) ) ENGINE=MyISAM AUTO_INCREMENT=1; diff --git a/install/tpl/config.inc.php.master b/install/tpl/config.inc.php.master index 495c942397cfc95019913d8a8af4ff48b15ba964..1ce1c888fbfc5542aff417fa23de9e7ac44f47d1 100644 --- a/install/tpl/config.inc.php.master +++ b/install/tpl/config.inc.php.master @@ -56,7 +56,7 @@ $revision = str_replace(array('Revision:','$',' '), '', $svn_revision); //** Application define('ISPC_APP_TITLE', 'ISPConfig'); -define('ISPC_APP_VERSION', '3.0.3.1'); +define('ISPC_APP_VERSION', '3.0.3.2'); //** Database diff --git a/interface/lib/classes/plugin.inc.php b/interface/lib/classes/plugin.inc.php index 086ef70dc9bb52a0108251add470cbd588408c9b..450efd04a10a405de0df8fe288b91bd4bc74766d 100644 --- a/interface/lib/classes/plugin.inc.php +++ b/interface/lib/classes/plugin.inc.php @@ -148,7 +148,8 @@ class plugin { $app->loaded_plugins[$plugin_name] = new $plugin_name; } if($this->debug) $app->log("Called method: '$function_name' in plugin '$plugin_name' for event '$event_name'",LOGLEVEL_DEBUG); - call_user_method($function_name,$app->loaded_plugins[$plugin_name],$event_name,$data); + // call_user_method($function_name,$app->loaded_plugins[$plugin_name],$event_name,$data); + call_user_func(array($app->loaded_plugins[$plugin_name],$function_name),$event_name,$data); } } diff --git a/interface/lib/classes/remoting.inc.php b/interface/lib/classes/remoting.inc.php index 51677168f04942d54f804aae399c06d4d5896ee0..afddd0cc5ab0ef1bc03e530760401dc6398c9bbd 100644 --- a/interface/lib/classes/remoting.inc.php +++ b/interface/lib/classes/remoting.inc.php @@ -192,53 +192,53 @@ class remoting { return $affected_rows; } - //* Get mail mailinglist details - public function mail_mailinglist_get($session_id, $primary_id) - { - global $app; - - if(!$this->checkPerm($session_id, 'mail_mailinglist_get')) { - $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); - return false; - } - $app->uses('remoting_lib'); - $app->remoting_lib->loadFormDef('../mail/form/mail_mailinglist.tform.php'); - return $app->remoting_lib->getDataRecord($primary_id); - } - - //* Add a mail mailinglist - public function mail_mailinglist_add($session_id, $client_id, $params) - { - if(!$this->checkPerm($session_id, 'mail_mailinglist_add')) { - $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); - return false; - } - $primary_id = $this->insertQuery('../mail/form/mail_mailinglist.tform.php',$client_id,$params); - return $primary_id; - } - - //* Update a mail mailinglist - public function mail_mailinglist_update($session_id, $client_id, $primary_id, $params) - { - if(!$this->checkPerm($session_id, 'mail_mailinglist_update')) { - $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); - return false; - } - $affected_rows = $this->updateQuery('../mail/form/mail_mailinglist.tform.php', $client_id, $primary_id, $params); - return $affected_rows; - } - - //* Delete a mail mailinglist - public function mail_mailinglist_delete($session_id, $primary_id) - { - if(!$this->checkPerm($session_id, 'mail_mailinglist_delete')) { - $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); - return false; - } - $affected_rows = $this->deleteQuery('../mail/form/mail_mailinglist.tform.php', $primary_id); - return $affected_rows; - } - + //* Get mail mailinglist details + public function mail_mailinglist_get($session_id, $primary_id) + { + global $app; + + if(!$this->checkPerm($session_id, 'mail_mailinglist_get')) { + $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); + return false; + } + $app->uses('remoting_lib'); + $app->remoting_lib->loadFormDef('../mail/form/mail_mailinglist.tform.php'); + return $app->remoting_lib->getDataRecord($primary_id); + } + + //* Add a mail mailinglist + public function mail_mailinglist_add($session_id, $client_id, $params) + { + if(!$this->checkPerm($session_id, 'mail_mailinglist_add')) { + $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); + return false; + } + $primary_id = $this->insertQuery('../mail/form/mail_mailinglist.tform.php',$client_id,$params); + return $primary_id; + } + + //* Update a mail mailinglist + public function mail_mailinglist_update($session_id, $client_id, $primary_id, $params) + { + if(!$this->checkPerm($session_id, 'mail_mailinglist_update')) { + $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); + return false; + } + $affected_rows = $this->updateQuery('../mail/form/mail_mailinglist.tform.php', $client_id, $primary_id, $params); + return $affected_rows; + } + + //* Delete a mail mailinglist + public function mail_mailinglist_delete($session_id, $primary_id) + { + if(!$this->checkPerm($session_id, 'mail_mailinglist_delete')) { + $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); + return false; + } + $affected_rows = $this->deleteQuery('../mail/form/mail_mailinglist.tform.php', $primary_id); + return $affected_rows; + } + //* Get mail user details public function mail_user_get($session_id, $primary_id) { @@ -1005,7 +1005,7 @@ class remoting { $this->server->fault('permission_denied','You do not have the permissions to access this function.'); return false; } - $affected_rows = $this->updateQuery('../client/form/client.tform.php', $client_id, $reseller_id, $params); + $affected_rows = $this->updateQuery('../client/form/client.tform.php', $reseller_id, $client_id, $params); $app->remoting_lib->ispconfig_sysuser_update($params,$client_id); diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php index 3a5e1897b4a36c41240ec504f28fcea7b3095859..95374300cf1d52c0c86575efc2a1752841ee9f11 100644 --- a/interface/lib/classes/tform.inc.php +++ b/interface/lib/classes/tform.inc.php @@ -737,7 +737,7 @@ class tform { } break; case 'ISEMAIL': - if(!preg_match("/^\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-z\-]{2,10}$/i", $field_value)) { + if(!preg_match("/^\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-zA-Z0-9\-]{2,30}$/i", $field_value)) { $errmsg = $validator['errmsg']; if(isset($this->wordbook[$errmsg])) { $this->errorMessage .= $this->wordbook[$errmsg]."
\r\n"; @@ -860,14 +860,14 @@ class tform { } $salt.="$"; // $salt = substr(md5(time()),0,2); - $record[$key] = crypt($record[$key],$salt); + $record[$key] = crypt(stripslashes($record[$key]),$salt); $sql_insert_val .= "'".$app->db->quote($record[$key])."', "; } elseif ($field['encryption'] == 'MYSQL') { $sql_insert_val .= "PASSWORD('".$app->db->quote($record[$key])."'), "; } elseif ($field['encryption'] == 'CLEARTEXT') { $sql_insert_val .= "'".$app->db->quote($record[$key])."', "; } else { - $record[$key] = md5($record[$key]); + $record[$key] = md5(stripslashes($record[$key])); $sql_insert_val .= "'".$app->db->quote($record[$key])."', "; } @@ -895,14 +895,14 @@ class tform { } $salt.="$"; // $salt = substr(md5(time()),0,2); - $record[$key] = crypt($record[$key],$salt); + $record[$key] = crypt(stripslashes($record[$key]),$salt); $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', "; } elseif (isset($field['encryption']) && $field['encryption'] == 'MYSQL') { $sql_update .= "`$key` = PASSWORD('".$app->db->quote($record[$key])."'), "; } elseif (isset($field['encryption']) && $field['encryption'] == 'CLEARTEXT') { $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', "; } else { - $record[$key] = md5($record[$key]); + $record[$key] = md5(stripslashes($record[$key])); $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', "; } diff --git a/interface/web/dns/dns_wizard.php b/interface/web/dns/dns_wizard.php index 0fb549810d56b7f669c3c0be996421db95cbb0b0..304bef3ba37a5657fa4751b93e1aa0d2fe0c6d00 100644 --- a/interface/web/dns/dns_wizard.php +++ b/interface/web/dns/dns_wizard.php @@ -138,10 +138,10 @@ if($_POST['create'] == 1) { if(isset($_POST['ns2']) && $_POST['ns2'] == '') $error .= $app->lng('error_ns2_empty').'
'; if(isset($_POST['email']) && $_POST['email'] == '') $error .= $app->lng('error_email_empty').'
'; - if(isset($_POST['domain']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z\-]{2,10}[\.]{0,1}$/',$_POST['domain'])) $error .= $app->lng('error_domain_regex').'
'; - if(isset($_POST['ns1']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}[\.]{0,1}$/',$_POST['ns1'])) $error .= $app->lng('error_ns1_regex').'
'; - if(isset($_POST['ns2']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}[\.]{0,1}$/',$_POST['ns2'])) $error .= $app->lng('error_ns2_regex').'
'; - if(isset($_POST['email']) && !preg_match('/^\w+[\w.-]*\w+@\w+[\w.-]*\w+\.[a-z\-]{2,10}$/i',$_POST['email'])) $error .= $app->lng('error_email_regex').'
'; + if(isset($_POST['domain']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z0-9\-]{2,30}[\.]{0,1}$/',$_POST['domain'])) $error .= $app->lng('error_domain_regex').'
'; + if(isset($_POST['ns1']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z0-9]{2,30}[\.]{0,1}$/',$_POST['ns1'])) $error .= $app->lng('error_ns1_regex').'
'; + if(isset($_POST['ns2']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z0-9]{2,30}[\.]{0,1}$/',$_POST['ns2'])) $error .= $app->lng('error_ns2_regex').'
'; + if(isset($_POST['email']) && !preg_match('/^\w+[\w.-]*\w+@\w+[\w.-]*\w+\.[a-z0-9\-]{2,30}$/i',$_POST['email'])) $error .= $app->lng('error_email_regex').'
'; // make sure that the record belongs to the clinet group and not the admin group when a dmin inserts it if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($_POST['client_group_id'])) { diff --git a/interface/web/dns/form/dns_soa.tform.php b/interface/web/dns/form/dns_soa.tform.php index c5f6f31a7099b0eb086d226e8ee412bfeabe9123..9599f4c8b38ecc9c682b2a72e73702373721eb97 100644 --- a/interface/web/dns/form/dns_soa.tform.php +++ b/interface/web/dns/form/dns_soa.tform.php @@ -82,7 +82,7 @@ $form["tabs"]['dns_soa'] = array ( 1 => array ( 'type' => 'UNIQUE', 'errmsg'=> 'origin_error_unique'), 2 => array ( 'type' => 'REGEX', - 'regex' => '/^[\w\.\-\/]{2,255}\.[a-zA-Z\-]{2,10}[\.]{0,1}$/', + 'regex' => '/^[\w\.\-\/]{2,255}\.[a-zA-Z0-9\-]{2,30}[\.]{0,1}$/', 'errmsg'=> 'origin_error_regex'), ), 'default' => '', diff --git a/interface/web/mail/form/mail_aliasdomain.tform.php b/interface/web/mail/form/mail_aliasdomain.tform.php index 026d0aa6e9bd6f11dc921727d6e2dd6b3e5301c4..d194029b5fa9853f8fa3d3743c4d5a573559779b 100644 --- a/interface/web/mail/form/mail_aliasdomain.tform.php +++ b/interface/web/mail/form/mail_aliasdomain.tform.php @@ -74,7 +74,7 @@ $form["tabs"]['alias'] = array ( 1 => array ( 'type' => 'UNIQUE', 'errmsg'=> 'source_error_unique'), 2 => array ( 'type' => 'REGEX', - 'regex' => '/^\@[\w\.\-]{2,64}\.[a-zA-Z\-]{2,10}$/', + 'regex' => '/^\@[\w\.\-]{2,64}\.[a-zA-Z0-9\-]{2,10}$/', 'errmsg'=> 'source_error_regex'), ), 'default' => '', diff --git a/interface/web/mail/form/mail_domain.tform.php b/interface/web/mail/form/mail_domain.tform.php index 5f8c51fe5b6142d98229992f434dd247eb9408ec..7bebe7e730c85ebc5c724f9db105a39c4b51b5d7 100644 --- a/interface/web/mail/form/mail_domain.tform.php +++ b/interface/web/mail/form/mail_domain.tform.php @@ -77,7 +77,7 @@ $form["tabs"]['domain'] = array ( 1 => array ( 'type' => 'UNIQUE', 'errmsg'=> 'domain_error_unique'), 2 => array ( 'type' => 'REGEX', - 'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/', + 'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/', 'errmsg'=> 'domain_error_regex'), ), 'default' => '', diff --git a/interface/web/mail/form/mail_domain_catchall.tform.php b/interface/web/mail/form/mail_domain_catchall.tform.php index 120466b59c580aac0a413db46dc80369e74c8500..5d2b447d6ac0e43729bc2297a1749855e6dea73a 100644 --- a/interface/web/mail/form/mail_domain_catchall.tform.php +++ b/interface/web/mail/form/mail_domain_catchall.tform.php @@ -74,7 +74,7 @@ $form["tabs"]['catchall'] = array ( 1 => array ( 'type' => 'UNIQUE', 'errmsg'=> 'domain_error_unique'), 2 => array ( 'type' => 'REGEX', - 'regex' => '/^\@[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/', + 'regex' => '/^\@[\w\.\-]{2,255}\.[a-zA-Z\-]{2,30}$/', 'errmsg'=> 'domain_error_regex'), ), 'default' => '', diff --git a/interface/web/mail/form/mail_user_filter.tform.php b/interface/web/mail/form/mail_user_filter.tform.php index 70f3492dcd4d0fcef2a8bba306b69a88076dd8c4..76566851119edfe5ad49388ec13546c344228505 100644 --- a/interface/web/mail/form/mail_user_filter.tform.php +++ b/interface/web/mail/form/mail_user_filter.tform.php @@ -48,7 +48,7 @@ $form["auth_preset"]["userid"] = 0; // 0 = id of the user, > 0 id must match wi $form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user $form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete $form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete -$form["auth_preset"]["perm_other"] = 'r'; //r = read, i = insert, u = update, d = delete +$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete $form["tabs"]['filter'] = array ( 'title' => "Filter", diff --git a/interface/web/mail/mail_user_edit.php b/interface/web/mail/mail_user_edit.php index 11daf7a3bb8bfc6aea5668ec0b59bc96c3aa4389..e9a37676f2b3a5b4b709debe002f636ed0e7210b 100644 --- a/interface/web/mail/mail_user_edit.php +++ b/interface/web/mail/mail_user_edit.php @@ -266,7 +266,7 @@ class page_action extends tform_actions { $tmp_user = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '".mysql_real_escape_string($this->dataRecord["email"])."'"); if($tmp_user["id"] > 0) { // There is already a record that we will update - $app->db->datalogUpdate('spamfilter_users', "policy_id = $ploicy_id", 'id', $tmp_user["id"]); + $app->db->datalogUpdate('spamfilter_users', "policy_id = $policy_id", 'id', $tmp_user["id"]); } else { // We create a new record $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `priority`, `policy_id`, `email`, `fullname`, `local`) diff --git a/interface/web/mail/templates/mail_aliasdomain_list.htm b/interface/web/mail/templates/mail_aliasdomain_list.htm index 2bf29dbb10943161d0ec44a34915cea0d551c6b1..330c55f9b949bc56fe0e7428681992c28e73c7cc 100644 --- a/interface/web/mail/templates/mail_aliasdomain_list.htm +++ b/interface/web/mail/templates/mail_aliasdomain_list.htm @@ -27,7 +27,7 @@ -
+
diff --git a/interface/web/monitor/lib/lang/ar.lng b/interface/web/monitor/lib/lang/ar.lng index c622aa4a504c3f77385b4a774e7438ce4195de8a..c3b762161c10f721e51c87f7efacfbc7b98a93f6 100644 --- a/interface/web/monitor/lib/lang/ar.lng +++ b/interface/web/monitor/lib/lang/ar.lng @@ -127,7 +127,7 @@ $wb['monitor_services_ftp_txt'] = 'FTP-Server:'; $wb['monitor_services_smtp_txt'] = 'SMTP-Server:'; $wb['monitor_services_pop_txt'] = 'POP3-Server:'; $wb['monitor_services_imap_txt'] = 'IMAP-Server:'; -$wb['monitor_services_mydns_txt'] = 'myDNS-Server:'; +$wb['monitor_services_mydns_txt'] = 'DNS-Server:'; $wb['monitor_services_mysql_txt'] = 'mySQL-Server:'; $wb['monitor_settings_datafromdate_txt'] = 'Data from: '; $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i'; diff --git a/interface/web/monitor/lib/lang/bg.lng b/interface/web/monitor/lib/lang/bg.lng index e268f2d8c589425de570e3c261d64185e5c41837..0041cbff387528944959597cebc3d6face1be49d 100644 --- a/interface/web/monitor/lib/lang/bg.lng +++ b/interface/web/monitor/lib/lang/bg.lng @@ -121,7 +121,7 @@ $wb['monitor_services_ftp_txt'] = 'FTP-Server:'; $wb['monitor_services_smtp_txt'] = 'SMTP-Server:'; $wb['monitor_services_pop_txt'] = 'POP3-Server:'; $wb['monitor_services_imap_txt'] = 'IMAP-Server:'; -$wb['monitor_services_mydns_txt'] = 'myDNS-Server:'; +$wb['monitor_services_mydns_txt'] = 'DNS-Server:'; $wb['monitor_services_mysql_txt'] = 'mySQL-Server:'; $wb['monitor_settings_datafromdate_txt'] = 'Data from: '; $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i'; diff --git a/interface/web/monitor/lib/lang/cz.lng b/interface/web/monitor/lib/lang/cz.lng index 680e22ce9b07a88e9146e54e6b142e4a3c320749..3083ddea273572259a4c0a52c57ccab86d080c64 100644 --- a/interface/web/monitor/lib/lang/cz.lng +++ b/interface/web/monitor/lib/lang/cz.lng @@ -121,7 +121,7 @@ $wb['monitor_services_ftp_txt'] = 'FTP-Server:'; $wb['monitor_services_smtp_txt'] = 'SMTP-Server:'; $wb['monitor_services_pop_txt'] = 'POP3-Server:'; $wb['monitor_services_imap_txt'] = 'IMAP-Server:'; -$wb['monitor_services_mydns_txt'] = 'myDNS-Server:'; +$wb['monitor_services_mydns_txt'] = 'DNS-Server:'; $wb['monitor_services_mysql_txt'] = 'mySQL-Server:'; $wb['monitor_settings_datafromdate_txt'] = 'Data z: '; $wb['monitor_settings_datetimeformat_txt'] = 'Y-d-m H:i'; diff --git a/interface/web/monitor/lib/lang/de.lng b/interface/web/monitor/lib/lang/de.lng index d73e7f6c7c797a6c054473b57dc18c816d6d9d6c..c7b83b840b24f02ac457ceb60a0cb09076196803 100644 --- a/interface/web/monitor/lib/lang/de.lng +++ b/interface/web/monitor/lib/lang/de.lng @@ -121,7 +121,7 @@ $wb['monitor_services_ftp_txt'] = 'FTP-Server:'; $wb['monitor_services_smtp_txt'] = 'SMTP-Server:'; $wb['monitor_services_pop_txt'] = 'POP3-Server:'; $wb['monitor_services_imap_txt'] = 'IMAP-Server:'; -$wb['monitor_services_mydns_txt'] = 'myDNS-Server:'; +$wb['monitor_services_mydns_txt'] = 'DNS-Server:'; $wb['monitor_services_mysql_txt'] = 'mySQL-Server:'; $wb['monitor_settings_datafromdate_txt'] = 'Daten vom: '; $wb['monitor_settings_datetimeformat_txt'] = 'd-m-Y H:i'; diff --git a/interface/web/monitor/lib/lang/en.lng b/interface/web/monitor/lib/lang/en.lng index 97ab2eace1fbd5d11a2b135078a25f57b5e7bac2..bf93a957940a577a8bbce187779d8bf579d829ae 100644 --- a/interface/web/monitor/lib/lang/en.lng +++ b/interface/web/monitor/lib/lang/en.lng @@ -127,7 +127,7 @@ $wb['monitor_services_ftp_txt'] = 'FTP-Server:'; $wb['monitor_services_smtp_txt'] = 'SMTP-Server:'; $wb['monitor_services_pop_txt'] = 'POP3-Server:'; $wb['monitor_services_imap_txt'] = 'IMAP-Server:'; -$wb['monitor_services_mydns_txt'] = 'myDNS-Server:'; +$wb['monitor_services_mydns_txt'] = 'DNS-Server:'; $wb['monitor_services_mysql_txt'] = 'mySQL-Server:'; $wb['monitor_settings_datafromdate_txt'] = 'Data from: '; $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i'; diff --git a/interface/web/monitor/lib/lang/hu.lng b/interface/web/monitor/lib/lang/hu.lng index 979cb6088524924d1217e8f7182198254bb70da7..a6fa4ec8a3c8fb83b6582b7134a9078f0a01f193 100644 --- a/interface/web/monitor/lib/lang/hu.lng +++ b/interface/web/monitor/lib/lang/hu.lng @@ -121,7 +121,7 @@ $wb['monitor_services_ftp_txt'] = 'FTP-Server:'; $wb['monitor_services_smtp_txt'] = 'SMTP-Server:'; $wb['monitor_services_pop_txt'] = 'POP3-Server:'; $wb['monitor_services_imap_txt'] = 'IMAP-Server:'; -$wb['monitor_services_mydns_txt'] = 'myDNS-Server:'; +$wb['monitor_services_mydns_txt'] = 'DNS-Server:'; $wb['monitor_services_mysql_txt'] = 'mySQL-Server:'; $wb['monitor_settings_datafromdate_txt'] = 'Data from: '; $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i'; diff --git a/interface/web/monitor/lib/lang/it.lng b/interface/web/monitor/lib/lang/it.lng index 67586b4285c3736c7f15bc81a8d4f155c3746d81..103afea4884c78bd8e9a8e1326778b688760bf41 100644 --- a/interface/web/monitor/lib/lang/it.lng +++ b/interface/web/monitor/lib/lang/it.lng @@ -121,7 +121,7 @@ $wb['monitor_services_ftp_txt'] = 'FTP-Server:'; $wb['monitor_services_smtp_txt'] = 'SMTP-Server:'; $wb['monitor_services_pop_txt'] = 'POP3-Server:'; $wb['monitor_services_imap_txt'] = 'IMAP-Server:'; -$wb['monitor_services_mydns_txt'] = 'myDNS-Server:'; +$wb['monitor_services_mydns_txt'] = 'DNS-Server:'; $wb['monitor_services_mysql_txt'] = 'mySQL-Server:'; $wb['monitor_settings_datafromdate_txt'] = 'Data from: '; $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i'; diff --git a/interface/web/monitor/lib/lang/ro.lng b/interface/web/monitor/lib/lang/ro.lng index 3aafcf2d62e846adda9628b91a59b18549d02039..b6ec99d2b632343d6ac0899e45a1a5f44d93add5 100644 --- a/interface/web/monitor/lib/lang/ro.lng +++ b/interface/web/monitor/lib/lang/ro.lng @@ -121,7 +121,7 @@ $wb['monitor_services_ftp_txt'] = 'FTP-Server:'; $wb['monitor_services_smtp_txt'] = 'SMTP-Server:'; $wb['monitor_services_pop_txt'] = 'POP3-Server:'; $wb['monitor_services_imap_txt'] = 'IMAP-Server:'; -$wb['monitor_services_mydns_txt'] = 'myDNS-Server:'; +$wb['monitor_services_mydns_txt'] = 'DNS-Server:'; $wb['monitor_services_mysql_txt'] = 'mySQL-Server:'; $wb['monitor_settings_datafromdate_txt'] = 'Data from: '; $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i'; diff --git a/interface/web/monitor/lib/lang/se.lng b/interface/web/monitor/lib/lang/se.lng index acd20d4a5e908f07b0baa26d663f256c7dc9d37c..fa56cf1840990a3931892054dbf239c4dc263a4b 100644 --- a/interface/web/monitor/lib/lang/se.lng +++ b/interface/web/monitor/lib/lang/se.lng @@ -121,7 +121,7 @@ $wb['monitor_services_ftp_txt'] = 'FTP-Server:'; $wb['monitor_services_smtp_txt'] = 'SMTP-Server:'; $wb['monitor_services_pop_txt'] = 'POP3-Server:'; $wb['monitor_services_imap_txt'] = 'IMAP-Server:'; -$wb['monitor_services_mydns_txt'] = 'myDNS-Server:'; +$wb['monitor_services_mydns_txt'] = 'DNS-Server:'; $wb['monitor_services_mysql_txt'] = 'mySQL-Server:'; $wb['monitor_settings_datafromdate_txt'] = 'Data from: '; $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i'; diff --git a/interface/web/monitor/lib/lang/sk.lng b/interface/web/monitor/lib/lang/sk.lng index 67b4feb237cbb0243c330bb27a6271119951ec25..29539ca2a39de6743676db57eb4ffe4c540107ce 100644 --- a/interface/web/monitor/lib/lang/sk.lng +++ b/interface/web/monitor/lib/lang/sk.lng @@ -121,7 +121,7 @@ $wb['monitor_services_ftp_txt'] = 'FTP-Server:'; $wb['monitor_services_smtp_txt'] = 'SMTP-Server:'; $wb['monitor_services_pop_txt'] = 'POP3-Server:'; $wb['monitor_services_imap_txt'] = 'IMAP-Server:'; -$wb['monitor_services_mydns_txt'] = 'myDNS-Server:'; +$wb['monitor_services_mydns_txt'] = 'DNS-Server:'; $wb['monitor_services_mysql_txt'] = 'mySQL-Server:'; $wb['monitor_settings_datafromdate_txt'] = 'Data from: '; $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i'; diff --git a/interface/web/sites/form/web_aliasdomain.tform.php b/interface/web/sites/form/web_aliasdomain.tform.php index 2ced981cf086405e382c529893ac0df88eabfe76..3d7f9239555caa3960f33a56594879bc044129d5 100644 --- a/interface/web/sites/form/web_aliasdomain.tform.php +++ b/interface/web/sites/form/web_aliasdomain.tform.php @@ -77,7 +77,7 @@ $form["tabs"]['domain'] = array ( 1 => array ( 'type' => 'UNIQUE', 'errmsg'=> 'domain_error_unique'), 2 => array ( 'type' => 'REGEX', - 'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/', + 'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/', 'errmsg'=> 'domain_error_regex'), ), 'default' => '', diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php index 1b05f6755139e8b48a364a995ea82483a24d16c7..bbd61ec903374c0b5ed669ce0fa76d85a3c03813 100644 --- a/interface/web/sites/form/web_domain.tform.php +++ b/interface/web/sites/form/web_domain.tform.php @@ -97,7 +97,7 @@ $form["tabs"]['domain'] = array ( 1 => array ( 'type' => 'UNIQUE', 'errmsg'=> 'domain_error_unique'), 2 => array ( 'type' => 'REGEX', - 'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/', + 'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/', 'errmsg'=> 'domain_error_regex'), ), 'default' => '', diff --git a/interface/web/sites/form/web_subdomain.tform.php b/interface/web/sites/form/web_subdomain.tform.php index a398fc13bf501431dad34203ec761b13a5cf046a..44a2e6826732200aeff6abc2ff157f81161a1130 100644 --- a/interface/web/sites/form/web_subdomain.tform.php +++ b/interface/web/sites/form/web_subdomain.tform.php @@ -77,7 +77,7 @@ $form["tabs"]['domain'] = array ( 1 => array ( 'type' => 'UNIQUE', 'errmsg'=> 'domain_error_unique'), 2 => array ( 'type' => 'REGEX', - 'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/', + 'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/', 'errmsg'=> 'domain_error_regex'), ), 'default' => '', diff --git a/interface/web/sites/templates/web_domain_advanced.htm b/interface/web/sites/templates/web_domain_advanced.htm index f00b3dad9790074c7ce171e9f557fe6ed98713f1..9ad803c560bf38b8cbbe170ea7bdeca6b1174b72 100644 --- a/interface/web/sites/templates/web_domain_advanced.htm +++ b/interface/web/sites/templates/web_domain_advanced.htm @@ -22,7 +22,7 @@
- +
diff --git a/interface/web/sites/web_aliasdomain_edit.php b/interface/web/sites/web_aliasdomain_edit.php index 1a3a4830a7d13f40b6c5263b9ecd98a22309592d..acbf7b3201d296f4d6180ec6f4f1f30cb551a5d4 100644 --- a/interface/web/sites/web_aliasdomain_edit.php +++ b/interface/web/sites/web_aliasdomain_edit.php @@ -130,6 +130,9 @@ class page_action extends tform_actions { $this->parent_domain_record = $parent_domain; + //* make sure that the email domain is lowercase + if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]); + parent::onSubmit(); } diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php index 31469399ab6a0e3e71e979e2b249768679aef91f..0b47a3f9e3031a4ee778431b68ca62aa642e4887 100644 --- a/interface/web/sites/web_domain_edit.php +++ b/interface/web/sites/web_domain_edit.php @@ -196,7 +196,8 @@ class page_action extends tform_actions { } $ssl_domain_select = ''; - $ssl_domains = array($this->dataRecord["domain"],'www.'.$this->dataRecord["domain"]); + $tmp = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id = ".$this->id); + $ssl_domains = array($tmp["domain"],'www.'.$tmp["domain"]); if(is_array($ssl_domains)) { foreach( $ssl_domains as $ssl_domain) { $selected = ($ssl_domain == $this->dataRecord['ssl_domain'])?'SELECTED':''; @@ -330,10 +331,14 @@ class page_action extends tform_actions { } } + // Clients may not set the client_group_id, so we unset them if user is not a admin and the client is not a reseller if(!$app->auth->has_clients($_SESSION['s']['user']['userid'])) unset($this->dataRecord["client_group_id"]); } + + //* make sure that the email domain is lowercase + if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]); parent::onSubmit(); diff --git a/interface/web/sites/web_subdomain_edit.php b/interface/web/sites/web_subdomain_edit.php index 2858e34b8f583ef9ba302bfcd65f38f972318f35..e2902816bfaeb0e49145a992de0efacc0ec0eda3 100644 --- a/interface/web/sites/web_subdomain_edit.php +++ b/interface/web/sites/web_subdomain_edit.php @@ -95,6 +95,9 @@ class page_action extends tform_actions { $this->parent_domain_record = $parent_domain; + //* make sure that the email domain is lowercase + if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]); + parent::onSubmit(); } diff --git a/interface/web/temp/en.lng b/interface/web/temp/en.lng index 4956edd9431416aa52928971dc97c88234c1b18a..3ce72dc44a53c9150c36b74b615cc6f6c39f1cae 100644 --- a/interface/web/temp/en.lng +++ b/interface/web/temp/en.lng @@ -1775,7 +1775,7 @@ $wb['monitor_services_ftp_txt'] = 'FTP-Server:'; $wb['monitor_services_smtp_txt'] = 'SMTP-Server:'; $wb['monitor_services_pop_txt'] = 'POP3-Server:'; $wb['monitor_services_imap_txt'] = 'IMAP-Server:'; -$wb['monitor_services_mydns_txt'] = 'myDNS-Server:'; +$wb['monitor_services_mydns_txt'] = 'DNS-Server:'; $wb['monitor_services_mysql_txt'] = 'mySQL-Server:'; $wb['monitor_settings_datafromdate_txt'] = 'Data from: '; $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i'; diff --git a/server/conf/bind_pri.domain.master b/server/conf/bind_pri.domain.master index 491d5903e354071fb1796f1089d9b92e826e676f..057daad21b4030bd7dbce952b88b1f9192cce07f 100644 --- a/server/conf/bind_pri.domain.master +++ b/server/conf/bind_pri.domain.master @@ -42,7 +42,7 @@ $TTL {tmpl_var name='ttl'} {tmpl_var name='name'} SRV {tmpl_var name='aux'} {tmpl_var name='data'} -{tmpl_var name='name'} TXT {tmpl_var name='data'} +{tmpl_var name='name'} TXT "{tmpl_var name='data'}" diff --git a/server/cron_daily.php b/server/cron_daily.php index c511178c467a36157b689405713807f0f51b9d74..f445551c021b647b01d96037636f3762b5036c76 100644 --- a/server/cron_daily.php +++ b/server/cron_daily.php @@ -173,19 +173,22 @@ foreach($records as $rec) { $awstats_conf_dir = $web_config['awstats_conf_dir']; $awstats_website_conf_file = $web_config['awstats_conf_dir'].'/awstats.'.$domain.'.conf'; + if(is_file($awstats_website_conf_file)) unlink($awstats_website_conf_file); + if(!is_file($awstats_website_conf_file)) { $awstats_conf_file_content = 'Include "'.$awstats_conf_dir.'/awstats.conf" -LogFile="/var/log/ispconfig/httpd/'.$domain.'/access.log" +LogFile="/var/log/ispconfig/httpd/'.$domain.'/yesterday-access.log" SiteDomain="'.$domain.'" HostAliases="www.'.$domain.' localhost 127.0.0.1"'; file_put_contents($awstats_website_conf_file,$awstats_conf_file_content); } - if(!@is_dir($statsdir)) mkdir($statsdir); + if(is_file('/var/log/ispconfig/httpd/'.$domain.'/yesterday-access.log')) unlink('/var/log/ispconfig/httpd/'.$domain.'/yesterday-access.log'); + symlink($logfile,'/var/log/ispconfig/httpd/'.$domain.'/yesterday-access.log'); // awstats_buildstaticpages.pl -update -config=mydomain.com -lang=en -dir=/var/www/domain.com/web/stats -awstatsprog=/path/to/awstats.pl - $command = "$awstats_buildstaticpages_pl -update -LogFile='$logfile' -config='$domain' -lang=en -dir='$statsdir' -awstatsprog='$awstats_pl'"; + $command = "$awstats_buildstaticpages_pl -update -config='$domain' -lang=en -dir='$statsdir' -awstatsprog='$awstats_pl'"; if($awstats_pl != '' && $awstats_buildstaticpages_pl != '' && fileowner($awstats_pl) == 0 && fileowner($awstats_buildstaticpages_pl) == 0) { exec($command); @@ -211,7 +214,7 @@ exec('chmod +r /var/log/ispconfig/httpd/*'); $sql = "SELECT domain_id, domain, document_root FROM web_domain WHERE server_id = ".$conf['server_id']; $records = $app->db->queryAllRecords($sql); foreach($records as $rec) { - $yesterday = date('Ymd',time() - 86400); + $yesterday = date('Ymd',time() - 86400*2); $logfile = escapeshellcmd($rec['document_root'].'/log/'.$yesterday.'-access.log'); if(@is_file($logfile)) { // Compress yesterdays logfile diff --git a/server/lib/classes/modules.inc.php b/server/lib/classes/modules.inc.php index fff492807942e8e0ab8f46e87f154fc2143a3bdf..8c86097a7e71470418c112f57439a631b5636f22 100644 --- a/server/lib/classes/modules.inc.php +++ b/server/lib/classes/modules.inc.php @@ -243,9 +243,10 @@ class modules { foreach($hooks as $hook) { $module_name = $hook['module']; $function_name = $hook['function']; - // Claa the processing function of the module + // Call the processing function of the module if($this->debug) $app->log("Call function '$function_name' in module '$module_name' raised by TableHook '$table_name'.",LOGLEVEL_DEBUG); - call_user_method($function_name,$app->loaded_modules[$module_name],$table_name,$action,$data); + // call_user_method($function_name,$app->loaded_modules[$module_name],$table_name,$action,$data); + call_user_func(array($app->loaded_modules[$module_name],$function_name),$table_name,$action,$data); unset($module_name); unset($function_name); } diff --git a/server/lib/classes/plugins.inc.php b/server/lib/classes/plugins.inc.php index d5d8f20fc460f51a1d335c46b8d27131fc87740c..ba129815e8a96140b33d75a2f625fcd702195b30 100644 --- a/server/lib/classes/plugins.inc.php +++ b/server/lib/classes/plugins.inc.php @@ -116,7 +116,8 @@ class plugins { $function_name = $event['function']; // Call the processing function of the plugin $app->log("Calling function '$function_name' from plugin '$plugin_name' raised by event '$event_name'.",LOGLEVEL_DEBUG); - call_user_method($function_name,$app->loaded_plugins[$plugin_name],$event_name,$data); + // call_user_method($function_name,$app->loaded_plugins[$plugin_name],$event_name,$data); + call_user_func(array($app->loaded_plugins[$plugin_name],$function_name),$event_name,$data); unset($plugin_name); unset($function_name); } diff --git a/server/lib/classes/services.inc.php b/server/lib/classes/services.inc.php index e53eee0671e39ca1c0a57683dea9223ea17b0340..d10abf2392827ef906394a0b5999cadb459901eb 100644 --- a/server/lib/classes/services.inc.php +++ b/server/lib/classes/services.inc.php @@ -54,7 +54,8 @@ class services { $module_name = $this->registered_services[$service_name]['module']; $function_name = $this->registered_services[$service_name]['function']; $app->log("Calling function '$function_name' from module '$module_name'.",LOGLEVEL_DEBUG); - call_user_method($function_name,$app->loaded_modules[$module_name],$action); + // call_user_method($function_name,$app->loaded_modules[$module_name],$action); + call_user_func(array($app->loaded_modules[$module_name],$function_name),$action); } else { $app->log("Unable to restart $service_name. Service not registered.",LOGLEVEL_WARNING); } diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php index 4d9bfc34c7aad01ccbb357d6bb50b1a7325e19c0..a29b92253090106ca98c9373d25c907c83862ee6 100644 --- a/server/mods-available/monitor_core_module.inc.php +++ b/server/mods-available/monitor_core_module.inc.php @@ -1694,13 +1694,13 @@ class monitor_core_module { case 'log_freshclam': if($dist == 'debian') { $logfile = '/var/log/clamav/freshclam.log'; } elseif($dist == 'redhat') { $logfile = (is_file('/var/log/clamav/freshclam.log') ? '/var/log/clamav/freshclam.log' : '/var/log/freshclam.log'); } - elseif($dist == 'suse') { $logfile = ''; } + elseif($dist == 'suse') { $logfile = '/var/log/freshclam.log'; } elseif($dist == 'gentoo') { $logfile = '/var/log/clamav/freshclam.log'; } break; case 'log_clamav': if($dist == 'debian') { $logfile = '/var/log/clamav/clamav.log'; } elseif($dist == 'redhat') { $logfile = (is_file('/var/log/clamav/clamd.log') ? '/var/log/clamav/clamd.log' : '/var/log/maillog'); } - elseif($dist == 'suse') { $logfile = ''; } + elseif($dist == 'suse') { $logfile = '/var/log/clamd.log'; } elseif($dist == 'gentoo') { $logfile = '/var/log/clamav/clamd.log'; } break; case 'log_fail2ban':