Greylisting TODO: Describe system config

This commit is contained in:
2016-11-09 19:00:00 +01:00
parent 2365d3eae3
commit ccc95b638b
7 changed files with 45 additions and 12 deletions

View File

@@ -93,6 +93,22 @@ return array(
'default' => true,
'save_method' => 'storeSettingResetCatchall',
),
'mail_greylist_enabled' => array(
'label' => $lng['serversettings']['greylist_enabled'],
'settinggroup' => 'mail',
'varname' => 'greylist_enabled',
'type' => 'bool',
'default' => true,
'save_method' => 'storeSettingField',
),
'mail_greylist_disabled_default' => array(
'label' => $lng['serversettings']['greylist_disabled_default'],
'settinggroup' => 'mail',
'varname' => 'greylist_disabled_default',
'type' => 'bool',
'default' => false,
'save_method' => 'storeSettingField',
),
'system_mailtraffic_enabled' => array(
'label' => $lng['serversettings']['mailtraffic_enabled'],
'settinggroup' => 'system',

View File

@@ -220,6 +220,7 @@ if ($page == 'overview') {
$iscatchall = '0';
$email = $email_part . '@' . $domain;
}
$disablegreylist = isset($_POST['disablegreylist']) ? $_POST['disablegreylist'] : Settings::Get('mail.greylist_disabled_default');
$email_full = $email_part . '@' . $domain;
@@ -306,7 +307,7 @@ if ($page == 'overview') {
standard_error('allresourcesused');
}
} elseif ($action == 'edit' && $id != 0) {
$stmt = Database::prepare("SELECT `v`.`id`, `v`.`email`, `v`.`email_full`, `v`.`iscatchall`, `v`.`destination`, `v`.`customerid`, `v`.`popaccountid`, `v`.`disablegreylist`, u`.`quota`
$stmt = Database::prepare("SELECT `v`.`id`, `v`.`email`, `v`.`email_full`, `v`.`iscatchall`, `v`.`destination`, `v`.`customerid`, `v`.`popaccountid`, `v`.`disablegreylist`, `u`.`quota`
FROM `" . TABLE_MAIL_VIRTUAL . "` `v`
LEFT JOIN `" . TABLE_MAIL_USERS . "` `u`
ON(`v`.`popaccountid` = `u`.`id`)
@@ -404,7 +405,7 @@ if ($page == 'overview') {
standard_error(array('operationnotpermitted', 'featureisdisabled'), 'Catchall');
}
} elseif ($action == 'togglegreylist' && $id != 0) {
//if (Settings::Get('catchall.catchall_enabled') == '1') {
if (Settings::Get('mail.greylist_enabled') == '1') {
$stmt = Database::prepare("SELECT `id`, `email`, `email_full`, `destination`, `customerid`, `popaccountid`, `disablegreylist` FROM `" . TABLE_MAIL_VIRTUAL . "`
WHERE `customerid`= :cid
AND `id`= :id"
@@ -426,9 +427,9 @@ if ($page == 'overview') {
Database::pexecute($stmt, $params);
redirectTo($filename, array('page' => $page, 'action' => 'edit', 'id' => $id, 's' => $s));
}
// } else {
// standard_error(array('operationnotpermitted', 'featureisdisabled'), 'Greylisting');
// }
} else {
standard_error(array('operationnotpermitted', 'featureisdisabled'), 'Greylisting');
}
}
} elseif ($page == 'accounts') {
if ($action == 'add' && $id != 0) {

View File

@@ -3417,7 +3417,15 @@ if (isFroxlorVersion('0.9.37-rc1')) {
}
if(isFroxlorVersion('0.9.37')) {
Database::query("ALTER TABLE `".TABLE_MAIL_VIRTUAL."` ADD disablegreylist TINYINT(1)");
showUpdateStep("Updating from 0.9.37 to 0.9.37 greylist", false);
showUpdateStep("Adding Database column for greylisting",false);
Database::query("ALTER TABLE `".TABLE_MAIL_VIRTUAL."` ADD COLUMN IF NOT EXISTS disablegreylist TINYINT(1) DEFAULT 0");
updateToVersion('0.9.37-greylist');
}
if(isFroxlorVersion('0.9.37-greylist')) {
showUpdateStep("Adding new settings (greylisting enabled by default)", false);
Settings::AddNew("mail.greylist_enabled", "1");
Settings::AddNew("mail.greylist_disabled_default", "0");
updateToVersion('0.9.37-greylist2');
}

View File

@@ -50,7 +50,8 @@ return array(
'values' => array(
array ('label' => $lng['panel']['yes'], 'value' => '1')
),
'value' => array()
'visible' => (Settings::Get('mail.greylist_enabled') == '1' ? true : false),
'value' => array(Settings::Get('mail.greylist_disabled_default'))
)
)
)

View File

@@ -16,10 +16,10 @@
*/
// Main version variable
$version = '0.9.37-greylist';
$version = '0.9.37-greylist2';
// Database version (YYYYMMDDC where C is a daily counter)
$dbversion = '201611090';
$dbversion = '201607210';
// Distribution branding-tag (used for Debian etc.)
$branding = '';

View File

@@ -374,7 +374,10 @@ $lng['serversettings']['nameservers']['title'] = 'Nameservers';
$lng['serversettings']['nameservers']['description'] = 'A comma separated list containing the hostnames of all nameservers. The first one will be the primary one.';
$lng['serversettings']['mxservers']['title'] = 'MX servers';
$lng['serversettings']['mxservers']['description'] = 'A comma separated list containing a pair of a number and a hostname separated by whitespace (e.g. \'10 mx.example.com\') containing the mx servers.';
$lng['serversettings']['greylist_enabled']['title'] = 'Activate greylisting';
$lng['serversettings']['greylist_enabled']['description'] = 'Does the Mailserver implement greylisting?';
$lng['serversettings']['greylist_disabled_default']['title'] = 'Disable Greylisting initially';
$lng['serversettings']['greylist_disabled_default']['description'] = 'When new accounts are created, should greylisting be disabled?';
/**
* CHANGED BETWEEN 1.2.12 and 1.2.13
*/

View File

@@ -371,6 +371,10 @@ $lng['serversettings']['nameservers']['title'] = 'Nameserver';
$lng['serversettings']['nameservers']['description'] = 'Eine durch Komma getrennte Liste mit den Hostnamen aller Nameserver. Der Erste ist der Primäre.';
$lng['serversettings']['mxservers']['title'] = 'MX-Server';
$lng['serversettings']['mxservers']['description'] = 'Eine durch Komma getrenne Liste, die ein Paar mit einer Nummer und den Hostnamen einen MX-Servers, getrennt durch ein Leerzeichen, enthält (z. B. \'10 mx.example.tld\').';
$lng['serversettings']['greylist_enabled']['title'] = 'Greylisting aktivieren';
$lng['serversettings']['greylist_enabled']['description'] = 'Greylisting aktivieren?';
$lng['serversettings']['greylist_disabled_default']['title'] = 'Greylisting standardmaessig aus?';
$lng['serversettings']['greylist_disabled_default']['description'] = 'Default Wert beim Erstellen neuer Accounts';
/**
* CHANGED BETWEEN 1.2.12 and 1.2.13