Skip to content
...@@ -30,7 +30,7 @@ if (!defined('vlibTemplateClassLoaded')) { ...@@ -30,7 +30,7 @@ if (!defined('vlibTemplateClassLoaded')) {
include_once ISPC_INSTALL_ROOT.'/install/lib/classes/tpl_error.inc.php'; include_once ISPC_INSTALL_ROOT.'/install/lib/classes/tpl_error.inc.php';
include_once ISPC_INSTALL_ROOT.'/install/lib/classes/tpl_ini.inc.php'; include_once ISPC_INSTALL_ROOT.'/install/lib/classes/tpl_ini.inc.php';
class tpl{ class tpl extends stdClass{
/*-----------------------------------------------------------------------------\ /*-----------------------------------------------------------------------------\
| ATTENTION | | ATTENTION |
...@@ -931,7 +931,7 @@ if (!defined('vlibTemplateClassLoaded')) { ...@@ -931,7 +931,7 @@ if (!defined('vlibTemplateClassLoaded')) {
{ {
array_push($this->_namespace, $varname); array_push($this->_namespace, $varname);
$tempvar = count($this->_namespace) - 1; $tempvar = count($this->_namespace) - 1;
$retstr = "for (\$_".$tempvar."=0 ; \$_".$tempvar." < count(\$this->_arrvars"; $retstr = "for (\$_".$tempvar."=0 ; \$_".$tempvar." < \$this->_tpl_count(\$this->_arrvars";
for ($i=0; $i < count($this->_namespace); $i++) { for ($i=0; $i < count($this->_namespace); $i++) {
$retstr .= "['".$this->_namespace[$i]."']"; $retstr .= "['".$this->_namespace[$i]."']";
if ($this->_namespace[$i] != $varname) $retstr .= "[\$_".$i."]"; if ($this->_namespace[$i] != $varname) $retstr .= "[\$_".$i."]";
...@@ -1170,7 +1170,15 @@ if (!defined('vlibTemplateClassLoaded')) { ...@@ -1170,7 +1170,15 @@ if (!defined('vlibTemplateClassLoaded')) {
array_push($this->_currentincludedir, dirname($this->_tmplfilename)); array_push($this->_currentincludedir, dirname($this->_tmplfilename));
$this->_includedepth++; $this->_includedepth++;
$success = @eval($this->_tmplfilep); try {
$success = @eval($this->_tmplfilep);
} catch(Exception $ex) {
print $this->_tmplfilep;
throw $ex;
} catch(TypeError $ex) {
print $this->_tmplfilep;
throw $ex;
}
$this->_includedepth--; $this->_includedepth--;
array_pop($this->_currentincludedir); array_pop($this->_currentincludedir);
...@@ -1268,6 +1276,27 @@ if (!defined('vlibTemplateClassLoaded')) { ...@@ -1268,6 +1276,27 @@ if (!defined('vlibTemplateClassLoaded')) {
return $return; return $return;
} }
/**
* Used during in evaled code to replace PHP count function for PHP 8 compatibility
* @var variable to be counted
*/
private function _tpl_count($var)
{
$retvar = 0;
if(isset($var)) {
if(is_array($var)) {
$retvar = count($var);
} elseif(is_null($var)) {
$retvar = 0;
} else {
$retvar = 1;
}
} else {
$retvar = 0;
}
return $retvar;
}
/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
The following functions have no use and are included just so that if the user The following functions have no use and are included just so that if the user
is making use of vlibTemplateCache functions, this doesn't crash when changed to is making use of vlibTemplateCache functions, this doesn't crash when changed to
......
...@@ -98,6 +98,10 @@ function get_distname() { ...@@ -98,6 +98,10 @@ function get_distname() {
$mainver = current($mainver).'.'.next($mainver); $mainver = current($mainver).'.'.next($mainver);
} }
switch ($mainver){ switch ($mainver){
case "22.04":
$relname = "(Jammy Jellyfish)";
$distconfid = 'ubuntu2204';
break;
case "20.04": case "20.04":
$relname = "(Focal Fossa)"; $relname = "(Focal Fossa)";
$distconfid = 'ubuntu2004'; $distconfid = 'ubuntu2004';
...@@ -248,6 +252,13 @@ function get_distname() { ...@@ -248,6 +252,13 @@ function get_distname() {
$distid = 'debian60'; $distid = 'debian60';
$distbaseid = 'debian'; $distbaseid = 'debian';
swriteln("Operating System: Debian 11.0 (Bullseye) or compatible\n"); swriteln("Operating System: Debian 11.0 (Bullseye) or compatible\n");
} elseif(substr(trim(file_get_contents('/etc/debian_version')),0,2) == '12') {
$distname = 'Debian';
$distver = 'Bookworm';
$distconfid = 'debian120';
$distid = 'debian60';
$distbaseid = 'debian';
swriteln("Operating System: Debian 12.0 (Bookworm) or compatible\n");
} elseif(strstr(trim(file_get_contents('/etc/debian_version')), '/sid')) { } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '/sid')) {
$distname = 'Debian'; $distname = 'Debian';
$distver = 'Testing'; $distver = 'Testing';
...@@ -295,88 +306,93 @@ function get_distname() { ...@@ -295,88 +306,93 @@ function get_distname() {
} }
//** RHEL (including compatible clones) & Fedora //** RHEL (including compatible clones) & Fedora
elseif(file_exists('/etc/redhat-release') && file_exists('/etc/os-release')) { elseif(file_exists('/etc/redhat-release') && file_exists('/etc/os-release')) {
$content = file_get_contents('/etc/os-release'); $content = file_get_contents('/etc/os-release');
preg_match('/(?<=PRETTY_NAME=\").+?(?=\")/', $content, $prettyname); preg_match('/(?<=PRETTY_NAME=\").+?(?=\")/', $content, $prettyname);
preg_match('/(?<=NAME=\").+?(?=\")/', $content, $name); preg_match('/(?<=NAME=\").+?(?=\")/', $content, $name);
preg_match('/(?<=VERSION=\").+?(?=\")/', $content, $version); preg_match('/(?<=VERSION=\").+?(?=\")/', $content, $version);
preg_match('/(?<=VERSION_ID=\").+?(?=\")/', $content, $versionid); preg_match('/(?<=VERSION_ID=\").+?(?=\")/', $content, $versionid);
if(stristr($prettyname[0], 'Fedora 32 (Thirty Two)')) { if(stristr($prettyname[0], 'Fedora 32 (Thirty Two)')) {
$distname = 'Fedora'; $distname = 'Fedora';
$distver = '32'; $distver = '32';
$distid = 'fedora32'; $distid = 'fedora32';
$distbaseid = 'fedora'; $distbaseid = 'fedora';
swriteln("Operating System: Fedora 32 or compatible\n"); swriteln("Operating System: Fedora 32 or compatible\n");
} elseif(stristr($prettyname[0], 'Fedora 33 (Thirty Three)')) { } elseif(stristr($prettyname[0], 'Fedora 33 (Thirty Three)')) {
$distname = 'Fedora'; $distname = 'Fedora';
$distver = '33'; $distver = '33';
$distid = 'fedora33'; $distid = 'fedora33';
$distbaseid = 'fedora'; $distbaseid = 'fedora';
swriteln("Operating System: Fedora 33 or compatible\n"); swriteln("Operating System: Fedora 33 or compatible\n");
//** RHEL 7 and compatible clones //** RHEL 7 and compatible clones
} elseif(preg_match('/^(?:7|7\.[0-9]{1,2})$/', $versionid[0])) { } elseif(preg_match('/^(?:7|7\.[0-9]{1,2})$/', $versionid[0])) {
preg_match_all('/([0-9]{1,2})\.?([0-9]{0,2})\.?([0-9]*)/', file_get_contents('/etc/redhat-release'), $centos7_version); preg_match_all('/([0-9]{1,2})\.?([0-9]{0,2})\.?([0-9]*)/', file_get_contents('/etc/redhat-release'), $centos7_version);
$distname = $name[0]; $distname = $name[0];
$distver = is_array($centos7_version)? implode('.', array_filter(array($centos7_version[1][0],$centos7_version[2][0],$centos7_version[3][0]),'strlen')) : $version[0]; $distver = is_array($centos7_version)? implode('.', array_filter(array($centos7_version[1][0],$centos7_version[2][0],$centos7_version[3][0]),'strlen')) : $version[0];
$distid = 'centos72'; $distid = 'centos72';
$distbaseid = 'fedora'; $distbaseid = 'fedora';
swriteln("Operating System: " . $distname . " " . $distver . "\n"); swriteln("Operating System: " . $distname . " " . $distver . "\n");
//** RHEL 8 and compatible clones //** RHEL 8 and compatible clones
} elseif(preg_match('/^(?:8|8\.[0-9]{1,2})$/', $versionid[0])) { } elseif(preg_match('/^(?:8|8\.[0-9]{1,2})$/', $versionid[0])) {
$distname = $name[0]; $distname = $name[0];
$distver = $version[0]; $distver = $version[0];
$distid = 'centos80'; $distid = 'centos80';
$distbaseid = 'fedora'; $distbaseid = 'fedora';
swriteln("Operating System: " . $prettyname[0] . "\n"); swriteln("Operating System: " . $prettyname[0] . "\n");
} else { //** RHEL 9 and compatible clones
$distname = 'Redhat'; } elseif(preg_match('/^(?:9|9\.[0-9]{1,2})$/', $versionid[0])) {
$distver = 'Unknown'; $distname = $name[0];
$distid = 'fedora9'; $distver = $version[0];
$distbaseid = 'fedora'; $distid = 'centos90';
swriteln("Operating System: Redhat or compatible\n"); $distbaseid = 'fedora';
} swriteln("Operating System: " . $prettyname[0] . "\n");
} else {
$distname = 'Redhat';
$distver = 'Unknown';
$distid = 'fedora9';
$distbaseid = 'fedora';
swriteln("Operating System: Redhat or compatible\n");
}
//** CentOS 6 //** CentOS 6
} elseif(file_exists('/etc/redhat-release') && !file_exists('/etc/os-release') && !file_exists('/etc/els-release')) { } elseif(file_exists('/etc/redhat-release') && !file_exists('/etc/os-release') && !file_exists('/etc/els-release')) {
$content = file_get_contents('/etc/redhat-release'); $content = file_get_contents('/etc/redhat-release');
if(stristr($content, 'CentOS Linux release 6') || stristr($content, 'CentOS release 6')) { if(stristr($content, 'CentOS Linux release 6') || stristr($content, 'CentOS release 6')) {
preg_match_all('/(6\.?([0-9]{0,2})\.?(\s)?([a-zA-Z()]+))$/', $content, $centos6_version); preg_match_all('/(6\.?([0-9]{0,2})\.?(\s)?([a-zA-Z()]+))$/', $content, $centos6_version);
$distname = 'CentOS Linux'; $distname = 'CentOS Linux';
$distver = $centos6_version[0][0] ? $centos6_version[0][0] : '6'; $distver = $centos6_version[0][0] ? $centos6_version[0][0] : '6';
$distid = 'centos53'; $distid = 'centos53';
$distbaseid = 'fedora'; $distbaseid = 'fedora';
swriteln("Operating System: " . $distname . " " . $distver . "\n"); swriteln("Operating System: " . $distname . " " . $distver . "\n");
} else {
} else { $distname = 'Redhat';
$distname = 'Redhat'; $distver = 'Unknown';
$distver = 'Unknown'; $distid = 'fedora9';
$distid = 'fedora9'; $distbaseid = 'fedora';
$distbaseid = 'fedora'; }
}
//** CentOS 6 Extended Lifecycle Support by CloudLinux //** CentOS 6 Extended Lifecycle Support by CloudLinux
} elseif(file_exists('/etc/redhat-release') && file_exists('/etc/els-release') && !file_exists('/etc/os-release')) { } elseif(file_exists('/etc/redhat-release') && file_exists('/etc/els-release') && !file_exists('/etc/os-release')) {
$content = file_get_contents('/etc/els-release'); $content = file_get_contents('/etc/els-release');
if(stristr($content, 'CentOS Linux release 6') || stristr($content, 'CentOS release 6')) { if(stristr($content, 'CentOS Linux release 6') || stristr($content, 'CentOS release 6')) {
preg_match_all('/(6)\.?([0-9]{0,2})?\.?\s([a-zA-Z(), ]+)?$/', $content, $centos6_version); preg_match_all('/(6)\.?([0-9]{0,2})?\.?\s([a-zA-Z(), ]+)?$/', $content, $centos6_version);
$distname = 'CentOS Linux'; $distname = 'CentOS Linux';
$distver = $centos6_version[0][0] ? $centos6_version[0][0] : '6'; $distver = $centos6_version[0][0] ? $centos6_version[0][0] : '6';
$distid = 'centos53'; $distid = 'centos53';
$distbaseid = 'fedora'; $distbaseid = 'fedora';
swriteln("Operating System: " . $distname . " " . $distver . "\n"); swriteln("Operating System: " . $distname . " " . $distver . "\n");
} else { } else {
$distname = 'Redhat'; $distname = 'Redhat';
$distver = 'Unknown'; $distver = 'Unknown';
$distid = 'fedora9'; $distid = 'fedora9';
$distbaseid = 'fedora'; $distbaseid = 'fedora';
} }
} }
//** Gentoo //** Gentoo
elseif(file_exists('/etc/gentoo-release')) { elseif(file_exists('/etc/gentoo-release')) {
...@@ -538,16 +554,15 @@ function remove_blank_lines($input, $file = 1){ ...@@ -538,16 +554,15 @@ function remove_blank_lines($input, $file = 1){
$content = $input; $content = $input;
} }
$lines = explode("\n", $content); $lines = explode("\n", $content);
$new_lines = array();
if(!empty($lines)){ if(!empty($lines)){
foreach($lines as $line){ foreach($lines as $line){
if(trim($line) != '') $new_lines[] = $line; if(trim($line) != '') $new_lines[] = $line;
} }
} }
if(is_array($new_lines)){
$content = implode("\n", $new_lines); $content = implode("\n", $new_lines);
} else {
$content = '';
}
if($file){ if($file){
wf($input, $content); wf($input, $content);
}else{ }else{
......
This diff is collapsed.
...@@ -64,9 +64,11 @@ class db ...@@ -64,9 +64,11 @@ class db
public function __destruct() { public function __destruct() {
if($this->_iConnId) mysqli_close($this->_iConnId); if($this->_iConnId) mysqli_close($this->_iConnId);
} }
private function do_connect() { private function do_connect() {
global $conf; global $conf;
mysqli_report(MYSQLI_REPORT_OFF);
if($this->_iConnId) return true; if($this->_iConnId) return true;
$this->dbHost = $conf['mysql']['host']; $this->dbHost = $conf['mysql']['host'];
...@@ -77,7 +79,7 @@ class db ...@@ -77,7 +79,7 @@ class db
$this->dbCharset = $conf["mysql"]["charset"]; $this->dbCharset = $conf["mysql"]["charset"];
$this->dbNewLink = false; $this->dbNewLink = false;
$this->dbClientFlags = null; $this->dbClientFlags = null;
$this->_iConnId = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort); $this->_iConnId = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort);
$try = 0; $try = 0;
while((!is_object($this->_iConnId) || mysqli_connect_error()) && $try < 5) { while((!is_object($this->_iConnId) || mysqli_connect_error()) && $try < 5) {
...@@ -92,19 +94,19 @@ class db ...@@ -92,19 +94,19 @@ class db
$this->_sqlerror('Zugriff auf Datenbankserver fehlgeschlagen! / Database server not accessible!'); $this->_sqlerror('Zugriff auf Datenbankserver fehlgeschlagen! / Database server not accessible!');
return false; return false;
} }
if($this->dbName) $this->setDBName($this->dbName); if($this->dbName) $this->setDBName($this->dbName);
$this->_setCharset(); $this->_setCharset();
} }
public function setDBData($host, $user, $password, $port) { public function setDBData($host, $user, $password, $port) {
$this->dbHost = $host; $this->dbHost = $host;
$this->dbUser = $user; $this->dbUser = $user;
$this->dbPass = $password; $this->dbPass = $password;
$this->dbPort = $port; $this->dbPort = $port;
} }
public function setDBName($name) { public function setDBName($name) {
$this->dbName = $name; $this->dbName = $name;
$this->_iConnId = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort); $this->_iConnId = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, '', (int)$this->dbPort);
...@@ -114,7 +116,7 @@ class db ...@@ -114,7 +116,7 @@ class db
return false; return false;
} }
} }
public function close() { public function close() {
if($this->_iConnId) mysqli_close($this->_iConnId); if($this->_iConnId) mysqli_close($this->_iConnId);
$this->_iConnId = null; $this->_iConnId = null;
...@@ -192,7 +194,7 @@ class db ...@@ -192,7 +194,7 @@ class db
} }
private function _query($sQuery = '') { private function _query($sQuery = '') {
$aArgs = func_get_args(); $aArgs = func_get_args();
$this->do_connect(); $this->do_connect();
...@@ -284,7 +286,7 @@ class db ...@@ -284,7 +286,7 @@ class db
* @return array result row or NULL if none found * @return array result row or NULL if none found
*/ */
public function queryOneRecord($sQuery = '') { public function queryOneRecord($sQuery = '') {
$aArgs = func_get_args(); $aArgs = func_get_args();
if(!empty($aArgs)) { if(!empty($aArgs)) {
$sQuery = array_shift($aArgs); $sQuery = array_shift($aArgs);
...@@ -293,7 +295,7 @@ class db ...@@ -293,7 +295,7 @@ class db
} }
array_unshift($aArgs, $sQuery); array_unshift($aArgs, $sQuery);
} }
$oResult = call_user_func_array([&$this, 'query'], $aArgs); $oResult = call_user_func_array([&$this, 'query'], $aArgs);
if(!$oResult) return null; if(!$oResult) return null;
...@@ -534,7 +536,7 @@ class db ...@@ -534,7 +536,7 @@ class db
if($debug == 1) echo "mySQL Error Message: ".$this->errorMessage; if($debug == 1) echo "mySQL Error Message: ".$this->errorMessage;
} }
} }
/* TODO: rewrite SQL */ /* TODO: rewrite SQL */
function update($tablename, $form, $bedingung, $debug = 0) function update($tablename, $form, $bedingung, $debug = 0)
{ {
...@@ -761,14 +763,14 @@ class db ...@@ -761,14 +763,14 @@ class db
break; break;
} }
} }
/** /**
* Get the database type (mariadb or mysql) * Get the database type (mariadb or mysql)
* *
* @access public * @access public
* @return string 'mariadb' or string 'mysql' * @return string 'mariadb' or string 'mysql'
*/ */
public function getDatabaseType() { public function getDatabaseType() {
$tmp = $this->queryOneRecord('SELECT VERSION() as version'); $tmp = $this->queryOneRecord('SELECT VERSION() as version');
if(stristr($tmp['version'],'mariadb')) { if(stristr($tmp['version'],'mariadb')) {
...@@ -777,7 +779,7 @@ class db ...@@ -777,7 +779,7 @@ class db
return 'mysql'; return 'mysql';
} }
} }
/** /**
* Get the database version * Get the database version
* *
...@@ -785,7 +787,7 @@ class db ...@@ -785,7 +787,7 @@ class db
* @param bool $major_version_only = true will return the major version only, e.g. 8 for MySQL 8 * @param bool $major_version_only = true will return the major version only, e.g. 8 for MySQL 8
* @return string version number * @return string version number
*/ */
public function getDatabaseVersion($major_version_only = false) { public function getDatabaseVersion($major_version_only = false) {
$tmp = $this->queryOneRecord('SELECT VERSION() as version'); $tmp = $this->queryOneRecord('SELECT VERSION() as version');
$version = explode('-', $tmp['version']); $version = explode('-', $tmp['version']);
......
ALTER TABLE `sys_user` ADD `otp_type` SET('none', 'email') NOT NULL DEFAULT 'none' AFTER `lost_password_reqtime`, ADD `otp_data` VARCHAR(255) NULL AFTER `otp_type`, ADD `otp_recovery` VARCHAR(64) NULL AFTER `otp_data`, ADD `otp_attempts` TINYINT NOT NULL DEFAULT '0' AFTER `otp_recovery`;
ALTER TABLE `mail_user` CHANGE `quota` `quota` BIGINT(20) NOT NULL DEFAULT '0';
ALTER TABLE `server_php` ADD `sortprio` INT(20) NOT NULL DEFAULT '100' AFTER `active`;
ALTER TABLE `mail_user` ADD COLUMN `imap_prefix` varchar(255) NULL default NULL AFTER `backup_copies`;
-- #6456 comodoca.com needs to become sectigo.com
UPDATE `dns_ssl_ca` SET `ca_issue` = 'sectigo.com' WHERE `ca_issue` = 'comodo.com';
UPDATE `dns_ssl_ca` SET `ca_issue` = 'sectigo.com' WHERE `ca_issue` = 'comodoca.com';
UPDATE `dns_ssl_ca` SET `ca_name` = 'Sectigo (formerly Comodo CA)' WHERE `ca_issue` = 'sectigo.com';
-- not updating the dns_rr table to change all CAA records that have comodo.com / comodoca.com - we should not touch users records imo - TP
-- #6445 Update the mailbox_soft_delete config option to it's new structure.
-- UPDATE server SET config=REGEXP_REPLACE(config, 'mailbox_soft_delete=n', 'mailbox_soft_delete=0') WHERE config LIKE '%mailbox_soft_delete=n%'
-- UPDATE server SET config=REGEXP_REPLACE(config, 'mailbox_soft_delete=y', 'mailbox_soft_delete=7') WHERE config LIKE '%mailbox_soft_delete=y%'
\ No newline at end of file
ALTER TABLE `spamfilter_policy`
CHANGE `warnvirusrecip` `warnvirusrecip` VARCHAR(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT 'N',
CHANGE `warnbannedrecip` `warnbannedrecip` VARCHAR(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT 'N',
CHANGE `warnbadhrecip` `warnbadhrecip` VARCHAR(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT 'N';
ALTER TABLE `sys_ini` CHANGE `default_logo` `default_logo` TEXT CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL;
ALTER TABLE `sys_ini` CHANGE `custom_logo` `custom_logo` TEXT CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL;
\ No newline at end of file
ALTER TABLE `sys_user` ADD `otp_type` SET('none', 'email') NOT NULL DEFAULT 'none' AFTER `lost_password_reqtime`, ADD `otp_data` VARCHAR(255) NULL AFTER `otp_type`, ADD `otp_recovery` VARCHAR(64) NULL AFTER `otp_data`, ADD `otp_attempts` TINYINT NOT NULL DEFAULT '0' AFTER `otp_recovery`;
...@@ -568,7 +568,7 @@ INSERT INTO `dns_ssl_ca` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `s ...@@ -568,7 +568,7 @@ INSERT INTO `dns_ssl_ca` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `s
(NULL, 1, 1, 'riud', 'riud', '', 'Y', 'certSIGN', 'certsign.ro', 'Y', '', 0), (NULL, 1, 1, 'riud', 'riud', '', 'Y', 'certSIGN', 'certsign.ro', 'Y', '', 0),
(NULL, 1, 1, 'riud', 'riud', '', 'Y', 'CFCA', 'cfca.com.cn', 'Y', '', 0), (NULL, 1, 1, 'riud', 'riud', '', 'Y', 'CFCA', 'cfca.com.cn', 'Y', '', 0),
(NULL, 1, 1, 'riud', 'riud', '', 'Y', 'Chunghwa Telecom', 'cht.com.tw', 'Y', '', 0), (NULL, 1, 1, 'riud', 'riud', '', 'Y', 'Chunghwa Telecom', 'cht.com.tw', 'Y', '', 0),
(NULL, 1, 1, 'riud', 'riud', '', 'Y', 'Sectigo / Comodo CA', 'comodoca.com', 'Y', '', 0), (NULL, 1, 1, 'riud', 'riud', '', 'Y', 'Sectigo (formerly Comodo CA)', 'sectigo.com', 'Y', '', 0),
(NULL, 1, 1, 'riud', 'riud', '', 'Y', 'D-TRUST', 'd-trust.net', 'Y', '', 0), (NULL, 1, 1, 'riud', 'riud', '', 'Y', 'D-TRUST', 'd-trust.net', 'Y', '', 0),
(NULL, 1, 1, 'riud', 'riud', '', 'Y', 'DigiCert', 'digicert.com', 'Y', '', 0), (NULL, 1, 1, 'riud', 'riud', '', 'Y', 'DigiCert', 'digicert.com', 'Y', '', 0),
(NULL, 1, 1, 'riud', 'riud', '', 'Y', 'DocuSign', 'docusign.fr', 'Y', '', 0), (NULL, 1, 1, 'riud', 'riud', '', 'Y', 'DocuSign', 'docusign.fr', 'Y', '', 0),
...@@ -1070,7 +1070,7 @@ CREATE TABLE `mail_user` ( ...@@ -1070,7 +1070,7 @@ CREATE TABLE `mail_user` (
`gid` int(11) NOT NULL default '5000', `gid` int(11) NOT NULL default '5000',
`maildir` varchar(255) NOT NULL default '', `maildir` varchar(255) NOT NULL default '',
`maildir_format` varchar(255) NOT NULL default 'maildir', `maildir_format` varchar(255) NOT NULL default 'maildir',
`quota` bigint(20) NOT NULL default '-1', `quota` bigint(20) NOT NULL default '0',
`cc` text, `cc` text,
`forward_in_lda` enum('n','y') NOT NULL default 'n', `forward_in_lda` enum('n','y') NOT NULL default 'n',
`sender_cc` varchar(255) NOT NULL default '', `sender_cc` varchar(255) NOT NULL default '',
...@@ -1101,6 +1101,7 @@ CREATE TABLE `mail_user` ( ...@@ -1101,6 +1101,7 @@ CREATE TABLE `mail_user` (
`last_quota_notification` date NULL default NULL, `last_quota_notification` date NULL default NULL,
`backup_interval` VARCHAR( 255 ) NOT NULL default 'none', `backup_interval` VARCHAR( 255 ) NOT NULL default 'none',
`backup_copies` INT NOT NULL DEFAULT '1', `backup_copies` INT NOT NULL DEFAULT '1',
`imap_prefix` varchar(255) NULL default NULL,
PRIMARY KEY (`mailuser_id`), PRIMARY KEY (`mailuser_id`),
KEY `server_id` (`server_id`,`email`), KEY `server_id` (`server_id`,`email`),
KEY `email_access` (`email`,`access`) KEY `email_access` (`email`,`access`)
...@@ -1460,6 +1461,7 @@ CREATE TABLE `server_php` ( ...@@ -1460,6 +1461,7 @@ CREATE TABLE `server_php` (
`php_fpm_pool_dir` varchar(255) DEFAULT NULL, `php_fpm_pool_dir` varchar(255) DEFAULT NULL,
`php_fpm_socket_dir` varchar(255) DEFAULT NULL, `php_fpm_socket_dir` varchar(255) DEFAULT NULL,
`active` enum('n','y') NOT NULL DEFAULT 'y', `active` enum('n','y') NOT NULL DEFAULT 'y',
`sortprio` int(20) NOT NULL DEFAULT 100,
PRIMARY KEY (`server_php_id`) PRIMARY KEY (`server_php_id`)
) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; ) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
...@@ -1530,9 +1532,9 @@ CREATE TABLE `spamfilter_policy` ( ...@@ -1530,9 +1532,9 @@ CREATE TABLE `spamfilter_policy` (
`addr_extension_spam` varchar(64) default NULL, `addr_extension_spam` varchar(64) default NULL,
`addr_extension_banned` varchar(64) default NULL, `addr_extension_banned` varchar(64) default NULL,
`addr_extension_bad_header` varchar(64) default NULL, `addr_extension_bad_header` varchar(64) default NULL,
`warnvirusrecip` enum('N','Y') default 'N', `warnvirusrecip` VARCHAR(1) NULL default 'N',
`warnbannedrecip` enum('N','Y') default 'N', `warnbannedrecip` VARCHAR(1) NULL default 'N',
`warnbadhrecip` enum('N','Y') default 'N', `warnbadhrecip` VARCHAR(1) NULL default 'N',
`newvirus_admin` varchar(64) default NULL, `newvirus_admin` varchar(64) default NULL,
`virus_admin` varchar(64) default NULL, `virus_admin` varchar(64) default NULL,
`banned_admin` varchar(64) default NULL, `banned_admin` varchar(64) default NULL,
...@@ -1739,8 +1741,8 @@ CREATE TABLE `sys_group` ( ...@@ -1739,8 +1741,8 @@ CREATE TABLE `sys_group` (
CREATE TABLE `sys_ini` ( CREATE TABLE `sys_ini` (
`sysini_id` int(11) unsigned NOT NULL auto_increment, `sysini_id` int(11) unsigned NOT NULL auto_increment,
`config` longtext, `config` longtext,
`default_logo` text NOT NULL, `default_logo` text NULL,
`custom_logo` text NOT NULL, `custom_logo` text NULL,
PRIMARY KEY (`sysini_id`) PRIMARY KEY (`sysini_id`)
) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; ) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
......
server/conf/apache_apps.vhost.master ../../server/conf/apache_apps.vhost.master
\ No newline at end of file \ No newline at end of file
...@@ -56,7 +56,7 @@ $revision = str_replace(array('Revision:','$',' '), '', $svn_revision); ...@@ -56,7 +56,7 @@ $revision = str_replace(array('Revision:','$',' '), '', $svn_revision);
//** Application //** Application
define('ISPC_APP_TITLE', 'ISPConfig'); define('ISPC_APP_TITLE', 'ISPConfig');
define('ISPC_APP_VERSION', '3.2dev'); define('ISPC_APP_VERSION', '3.2dev');
define('DEVSYSTEM', 0); define('DEVSYSTEM', false);
//** Database //** Database
...@@ -158,6 +158,7 @@ $conf['timezone'] = '{timezone}'; ...@@ -158,6 +158,7 @@ $conf['timezone'] = '{timezone}';
//** Misc. //** Misc.
$conf['interface_logout_url'] = ''; // example: http://www.domain.tld/ $conf['interface_logout_url'] = ''; // example: http://www.domain.tld/
$conf['interface_base_url'] = ''; // example: http://www.domain.tld (no trailing slash)
//** Auto Load Modules //** Auto Load Modules
......
...@@ -5,9 +5,9 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se ...@@ -5,9 +5,9 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se
default_pass_scheme = CRYPT default_pass_scheme = CRYPT
# password-query with prefetch # password-query with prefetch
password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' AND NOT EXISTS (SELECT domain_id FROM mail_domain WHERE domain = '%d' AND active = 'n' AND server_id = {server_id}) password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve, NULLIF(imap_prefix, '') as "userdb_namespace/inbox/prefix" FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' AND NOT EXISTS (SELECT domain_id FROM mail_domain WHERE domain = '%d' AND active = 'n' AND server_id = {server_id})
user_query = SELECT email as user, maildir as home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' user_query = SELECT email as user, maildir as home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve, NULLIF(imap_prefix, '') as "namespace/inbox/prefix" FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}'
# The iterate_query is required for the doveadm command only and works only on dovecot 2 servers. # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
# Do not enable it on Dovecot 1.x servers # Do not enable it on Dovecot 1.x servers
......
...@@ -5,9 +5,9 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se ...@@ -5,9 +5,9 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se
default_pass_scheme = CRYPT default_pass_scheme = CRYPT
# password-query with prefetch # password-query with prefetch
password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' AND NOT EXISTS (SELECT domain_id FROM mail_domain WHERE domain = '%d' AND active = 'n' AND server_id = {server_id}) password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve, NULLIF(imap_prefix, '') as "userdb_namespace/inbox/prefix" FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' AND NOT EXISTS (SELECT domain_id FROM mail_domain WHERE domain = '%d' AND active = 'n' AND server_id = {server_id})
user_query = SELECT email as user, maildir as home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' user_query = SELECT email as user, maildir as home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve, NULLIF(imap_prefix, '') as "namespace/inbox/prefix" FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}'
# The iterate_query is required for the doveadm command only and works only on dovecot 2 servers. # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
# Do not enable it on Dovecot 1.x servers # Do not enable it on Dovecot 1.x servers
......
...@@ -5,9 +5,9 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se ...@@ -5,9 +5,9 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se
default_pass_scheme = CRYPT default_pass_scheme = CRYPT
# password-query with prefetch # password-query with prefetch
password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' AND NOT EXISTS (SELECT domain_id FROM mail_domain WHERE domain = '%d' AND active = 'n' AND server_id = {server_id}) password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve, NULLIF(imap_prefix, '') as "userdb_namespace/inbox/prefix" FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' AND NOT EXISTS (SELECT domain_id FROM mail_domain WHERE domain = '%d' AND active = 'n' AND server_id = {server_id})
user_query = SELECT email as user, maildir as home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' user_query = SELECT email as user, maildir as home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve, NULLIF(imap_prefix, '') as "namespace/inbox/prefix" FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}'
# The iterate_query is required for the doveadm command only and works only on dovecot 2 servers. # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
# Do not enable it on Dovecot 1.x servers # Do not enable it on Dovecot 1.x servers
......
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
virtual_alias_domains = proxy:mysql:{config_dir}/mysql-virtual_alias_domains.cf virtual_alias_domains = proxy:mysql:{config_dir}/mysql-virtual_alias_domains.cf
virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman, proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_alias_maps.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman, proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_alias_maps.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf
...@@ -5,6 +7,9 @@ virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf ...@@ -5,6 +7,9 @@ virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
virtual_mailbox_base = {vmail_mailbox_base} virtual_mailbox_base = {vmail_mailbox_base}
virtual_uid_maps = proxy:mysql:/etc/postfix/mysql-virtual_uids.cf virtual_uid_maps = proxy:mysql:/etc/postfix/mysql-virtual_uids.cf
virtual_gid_maps = proxy:mysql:/etc/postfix/mysql-virtual_gids.cf virtual_gid_maps = proxy:mysql:/etc/postfix/mysql-virtual_gids.cf
sender_bcc_maps = proxy:mysql:{config_dir}/mysql-virtual_outgoing_bcc.cf
inet_protocols=all
inet_interfaces = all
smtpd_sasl_auth_enable = yes smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes smtpd_sasl_authenticated_header = yes
...@@ -35,7 +40,7 @@ header_checks = regexp:{config_dir}/header_checks ...@@ -35,7 +40,7 @@ header_checks = regexp:{config_dir}/header_checks
mime_header_checks = regexp:{config_dir}/mime_header_checks mime_header_checks = regexp:{config_dir}/mime_header_checks
nested_header_checks = regexp:{config_dir}/nested_header_checks nested_header_checks = regexp:{config_dir}/nested_header_checks
body_checks = regexp:{config_dir}/body_checks body_checks = regexp:{config_dir}/body_checks
inet_interfaces = all owner_request_special = no
smtp_tls_security_level = may smtp_tls_security_level = may
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_protocols = !SSLv2,!SSLv3 smtpd_tls_protocols = !SSLv2,!SSLv3
......
...@@ -240,7 +240,7 @@ includesections = php_common ...@@ -240,7 +240,7 @@ includesections = php_common
[php8_2] [php8_2]
comment = php version 8.2 comment = php version 8.2
paths = /usr/bin/php8.2, /usr/lib/php/8.2/, /usr/lib/php/20210902/, /usr/share/php/8.2/, /etc/php/8.2/cli/, /etc/php/8.2/mods-available/ paths = /usr/bin/php8.2, /usr/lib/php/8.2/, /usr/lib/php/20220829/, /usr/share/php/8.2/, /etc/php/8.2/cli/, /etc/php/8.2/mods-available/
includesections = php_common includesections = php_common
[imagemagick] [imagemagick]
......
...@@ -5,9 +5,9 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se ...@@ -5,9 +5,9 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se
default_pass_scheme = CRYPT default_pass_scheme = CRYPT
# password-query with prefetch # password-query with prefetch
password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' AND NOT EXISTS (SELECT domain_id FROM mail_domain WHERE domain = '%d' AND active = 'n' AND server_id = {server_id}) password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve, NULLIF(imap_prefix, '') as "userdb_namespace/inbox/prefix" FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' AND NOT EXISTS (SELECT domain_id FROM mail_domain WHERE domain = '%d' AND active = 'n' AND server_id = {server_id})
user_query = SELECT email as user, maildir as home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' user_query = SELECT email as user, maildir as home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve, NULLIF(imap_prefix, '') as "namespace/inbox/prefix" FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}'
# The iterate_query is required for the doveadm command only and works only on dovecot 2 servers. # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
# Do not enable it on Dovecot 1.x servers # Do not enable it on Dovecot 1.x servers
......
...@@ -14,3 +14,6 @@ ...@@ -14,3 +14,6 @@
# validate DANE # validate DANE
smtp_dns_support_level = dnssec smtp_dns_support_level = dnssec
smtp_tls_security_level = dane smtp_tls_security_level = dane
# Disable SMTPUTF8 (until Dovecot supports it: https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6428)
smtputf8_enable = no
\ No newline at end of file
...@@ -56,9 +56,9 @@ relayhost_user= ...@@ -56,9 +56,9 @@ relayhost_user=
relayhost_password= relayhost_password=
mailbox_size_limit=0 mailbox_size_limit=0
message_size_limit=0 message_size_limit=0
mailbox_soft_delete=n mailbox_soft_delete=0
mailbox_quota_stats=y mailbox_quota_stats=y
realtime_blackhole_list=zen.spamhaus.org realtime_blackhole_list=
overquota_notify_threshold=90 overquota_notify_threshold=90
overquota_notify_admin=y overquota_notify_admin=y
overquota_notify_reseller=y overquota_notify_reseller=y
...@@ -78,6 +78,7 @@ website_path=/var/www/clients/client[client_id]/web[website_id] ...@@ -78,6 +78,7 @@ website_path=/var/www/clients/client[client_id]/web[website_id]
website_symlinks=/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/ website_symlinks=/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/
website_symlinks_rel=n website_symlinks_rel=n
network_filesystem=n network_filesystem=n
vhost_rewrite_v6=n
vhost_conf_dir=/etc/apache2/sites-available vhost_conf_dir=/etc/apache2/sites-available
vhost_conf_enabled_dir=/etc/apache2/sites-enabled vhost_conf_enabled_dir=/etc/apache2/sites-enabled
apache_init_script= apache_init_script=
...@@ -135,12 +136,18 @@ overquota_notify_onok=n ...@@ -135,12 +136,18 @@ overquota_notify_onok=n
logging=yes logging=yes
php_fpm_reload_mode=reload php_fpm_reload_mode=reload
php_fpm_default_chroot=n php_fpm_default_chroot=n
vhost_proxy_protocol_enabled=n
vhost_proxy_protocol_protocols=ipv4
vhost_proxy_protocol_http_port=880
vhost_proxy_protocol_https_port=8443
[dns] [dns]
bind_user=root bind_user=root
bind_group=bind bind_group=bind
bind_zonefiles_dir=/etc/bind bind_zonefiles_dir=/etc/bind
bind_keyfiles_dir=/etc/bind bind_keyfiles_dir=/etc/bind
bind_zonefiles_masterprefix=pri.
bind_zonefiles_slaveprefix=slave/sec.
named_conf_path=/etc/bind/named.conf named_conf_path=/etc/bind/named.conf
named_conf_local_path=/etc/bind/named.conf.local named_conf_local_path=/etc/bind/named.conf.local
disable_bind_log=n disable_bind_log=n
......
...@@ -13,7 +13,7 @@ mailbox_show_autoresponder_tab=y ...@@ -13,7 +13,7 @@ mailbox_show_autoresponder_tab=y
mailbox_show_mail_filter_tab=y mailbox_show_mail_filter_tab=y
mailbox_show_custom_rules_tab=y mailbox_show_custom_rules_tab=y
mailboxlist_webmail_link=y mailboxlist_webmail_link=y
webmail_url=/webmail webmail_url=https://[SERVERNAME]:8081/webmail
dkim_path=/var/lib/amavis/dkim dkim_path=/var/lib/amavis/dkim
smtp_enabled=y smtp_enabled=y
smtp_host=localhost smtp_host=localhost
...@@ -28,14 +28,14 @@ ftpuser_prefix=[CLIENTNAME] ...@@ -28,14 +28,14 @@ ftpuser_prefix=[CLIENTNAME]
shelluser_prefix=[CLIENTNAME] shelluser_prefix=[CLIENTNAME]
webdavuser_prefix=[CLIENTNAME] webdavuser_prefix=[CLIENTNAME]
dblist_phpmyadmin_link=y dblist_phpmyadmin_link=y
phpmyadmin_url=/phpmyadmin phpmyadmin_url=https://[SERVERNAME]:8081/phpmyadmin
webftp_url= webftp_url=
vhost_subdomains=n vhost_subdomains=n
vhost_aliasdomains=n vhost_aliasdomains=n
client_username_web_check_disabled=n client_username_web_check_disabled=n
backups_include_into_web_quota=n backups_include_into_web_quota=n
reseller_can_use_options=n reseller_can_use_options=n
web_php_options=no,fast-cgi,mod,php-fpm web_php_options=no,fast-cgi,php-fpm
show_aps_menu=n show_aps_menu=n
client_protection=y client_protection=y
ssh_authentication= ssh_authentication=
...@@ -75,3 +75,4 @@ session_timeout=0 ...@@ -75,3 +75,4 @@ session_timeout=0
session_allow_endless=0 session_allow_endless=0
min_password_length=8 min_password_length=8
min_password_strength=3 min_password_strength=3
show_delete_on_forms=n