Skip to content

Commit 900d914

Browse files
author
Marius Burkard
committed
Merge branch 'whitelist_sender_before_rslm' into 'develop'
unlisted sender improvements Closes #6018 See merge request ispconfig/ispconfig3!1390
2 parents 37f2f84 + 731a9ec commit 900d914

File tree

183 files changed

+694
-219
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

183 files changed

+694
-219
lines changed

install/lib/installer_base.lib.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1796,11 +1796,18 @@ public function configure_rspamd() {
17961796
$new_options[] = $value;
17971797
}
17981798
if ($mail_config['reject_sender_login_mismatch'] == 'y') {
1799-
array_splice($new_options, 0, 0, array('reject_authenticated_sender_login_mismatch'));
1800-
1799+
// insert before permit_mynetworks
18011800
for ($i = 0; isset($new_options[$i]); $i++) {
18021801
if ($new_options[$i] == 'permit_mynetworks') {
1803-
array_splice($new_options, $i+1, 0, array('reject_sender_login_mismatch'));
1802+
array_splice($new_options, $i, 0, array('reject_authenticated_sender_login_mismatch'));
1803+
break;
1804+
}
1805+
}
1806+
1807+
// insert before permit_sasl_authenticated
1808+
for ($i = 0; isset($new_options[$i]); $i++) {
1809+
if ($new_options[$i] == 'permit_sasl_authenticated') {
1810+
array_splice($new_options, $i, 0, array('reject_sender_login_mismatch'));
18041811
break;
18051812
}
18061813
}
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
1-
ALTER TABLE `remote_user` MODIFY `remote_password` VARCHAR(200) NOT NULL DEFAULT '';
1+
ALTER TABLE `remote_user` MODIFY `remote_password` VARCHAR(200) NOT NULL DEFAULT '';
2+
3+
ALTER TABLE `client` ADD COLUMN `limit_mail_wblist` INT(11) NOT NULL DEFAULT '0' AFTER `limit_mailrouting`;
4+
ALTER TABLE `client_template` ADD COLUMN `limit_mail_wblist` INT(11) NOT NULL DEFAULT '0' AFTER `limit_mailrouting`;
5+
6+
ALTER TABLE mail_access DROP CONSTRAINT `server_id`;
7+
SET SESSION old_alter_table=1;
8+
ALTER IGNORE TABLE mail_access ADD UNIQUE KEY `unique_source` (`server_id`,`source`,`type`);
9+
SET SESSION old_alter_table=0;

install/sql/ispconfig3.sql

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ CREATE TABLE `client` (
178178
`limit_mailforward` int(11) NOT NULL DEFAULT '-1',
179179
`limit_mailcatchall` int(11) NOT NULL DEFAULT '-1',
180180
`limit_mailrouting` int(11) NOT NULL DEFAULT '0',
181+
`limit_mail_wblist` int(11) NOT NULL DEFAULT '0',
181182
`limit_mailfilter` int(11) NOT NULL DEFAULT '-1',
182183
`limit_fetchmail` int(11) NOT NULL DEFAULT '-1',
183184
`limit_mailquota` int(11) NOT NULL DEFAULT '-1',
@@ -309,6 +310,7 @@ CREATE TABLE `client_template` (
309310
`limit_mailforward` int(11) NOT NULL default '-1',
310311
`limit_mailcatchall` int(11) NOT NULL default '-1',
311312
`limit_mailrouting` int(11) NOT NULL default '0',
313+
`limit_mail_wblist` int(11) NOT NULL default '0',
312314
`limit_mailfilter` int(11) NOT NULL default '-1',
313315
`limit_fetchmail` int(11) NOT NULL default '-1',
314316
`limit_mailquota` int(11) NOT NULL default '-1',
@@ -820,7 +822,7 @@ CREATE TABLE `mail_access` (
820822
`type` set('recipient','sender','client') NOT NULL DEFAULT 'recipient',
821823
`active` enum('n','y') NOT NULL default 'y',
822824
PRIMARY KEY (`access_id`),
823-
KEY `server_id` (`server_id`,`source`)
825+
UNIQUE KEY `unique_source` (`server_id`,`source`,`type`)
824826
) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
825827

826828
-- --------------------------------------------------------

install/tpl/debian_postfix.conf.master

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ relay_recipient_maps = proxy:mysql:{config_dir}/mysql-virtual_relayrecipientmaps
2626
smtpd_sender_login_maps = proxy:mysql:{config_dir}/mysql-virtual_sender_login_maps.cf
2727
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $virtual_uid_maps $virtual_gid_maps $smtpd_client_restrictions $smtpd_sender_restrictions $smtpd_recipient_restrictions
2828
smtpd_helo_required = yes
29-
smtpd_helo_restrictions = reject_invalid_helo_hostname, permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit
30-
smtpd_sender_restrictions = {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re, check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf
31-
smtpd_reject_unlisted_sender = yes
29+
smtpd_helo_restrictions = permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit
30+
smtpd_sender_restrictions = check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf, {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unlisted_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re
31+
smtpd_reject_unlisted_sender = no
3232
smtpd_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated{rbl_list}, reject_unauth_pipelining {reject_unknown_client_hostname}, permit
3333
smtpd_etrn_restrictions = permit_mynetworks, reject
3434
smtpd_data_restrictions = permit_mynetworks, reject_unauth_pipelining, reject_multi_recipient_bounce, permit

install/tpl/fedora_postfix.conf.master

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ relay_recipient_maps = proxy:mysql:{config_dir}/mysql-virtual_relayrecipientmaps
2222
smtpd_sender_login_maps = proxy:mysql:{config_dir}/mysql-virtual_sender_login_maps.cf
2323
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $virtual_uid_maps $virtual_gid_maps $smtpd_client_restrictions $smtpd_sender_restrictions $smtpd_recipient_restrictions
2424
smtpd_helo_required = yes
25-
smtpd_helo_restrictions = reject_invalid_helo_hostname, permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit
26-
smtpd_sender_restrictions = {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re, check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf
27-
smtpd_reject_unlisted_sender = yes
25+
smtpd_helo_restrictions = permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit
26+
smtpd_sender_restrictions = check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf, {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unlisted_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re
27+
smtpd_reject_unlisted_sender = no
2828
smtpd_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated{rbl_list}, reject_unauth_pipelining {reject_unknown_client_hostname}, permit
2929
smtpd_etrn_restrictions = permit_mynetworks, reject
3030
smtpd_data_restrictions = permit_mynetworks, reject_unauth_pipelining, reject_multi_recipient_bounce, permit

install/tpl/gentoo_postfix.conf.master

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ relay_recipient_maps = proxy:mysql:{config_dir}/mysql-virtual_relayrecipientmaps
2121
smtpd_sender_login_maps = proxy:mysql:{config_dir}/mysql-virtual_sender_login_maps.cf
2222
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $virtual_uid_maps $virtual_gid_maps $smtpd_client_restrictions $smtpd_sender_restrictions $smtpd_recipient_restrictions
2323
smtpd_helo_required = yes
24-
smtpd_helo_restrictions = reject_invalid_helo_hostname, permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit
25-
smtpd_sender_restrictions = {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re, check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf
26-
smtpd_reject_unlisted_sender = yes
24+
smtpd_helo_restrictions = permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit
25+
smtpd_sender_restrictions = check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf, {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unlisted_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re
26+
smtpd_reject_unlisted_sender = no
2727
smtpd_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated{rbl_list}, reject_unauth_pipelining {reject_unknown_client_hostname}, permit
2828
smtpd_etrn_restrictions = permit_mynetworks, reject
2929
smtpd_data_restrictions = permit_mynetworks, reject_unauth_pipelining, reject_multi_recipient_bounce, permit

install/tpl/opensuse_postfix.conf.master

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ relay_recipient_maps = proxy:mysql:{config_dir}/mysql-virtual_relayrecipientmaps
2424
smtpd_sender_login_maps = proxy:mysql:{config_dir}/mysql-virtual_sender_login_maps.cf
2525
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $virtual_uid_maps $virtual_gid_maps $smtpd_client_restrictions $smtpd_sender_restrictions $smtpd_recipient_restrictions
2626
smtpd_helo_required = yes
27-
smtpd_helo_restrictions = reject_invalid_helo_hostname, permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit
28-
smtpd_sender_restrictions = {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re, check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf
29-
smtpd_reject_unlisted_sender = yes
27+
smtpd_helo_restrictions = permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit
28+
smtpd_sender_restrictions = check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf, {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unlisted_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re
29+
smtpd_reject_unlisted_sender = no
3030
smtpd_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated{rbl_list}, reject_unauth_pipelining {reject_unknown_client_hostname}, permit
3131
smtpd_etrn_restrictions = permit_mynetworks, reject
3232
smtpd_data_restrictions = permit_mynetworks, reject_unauth_pipelining, reject_multi_recipient_bounce, permit

interface/web/client/form/client.tform.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -840,6 +840,20 @@
840840
'rows' => '',
841841
'cols' => ''
842842
),
843+
'limit_mail_wblist' => array (
844+
'datatype' => 'INTEGER',
845+
'formtype' => 'TEXT',
846+
'validators' => array ( 0 => array ( 'type' => 'ISINT',
847+
'errmsg'=> 'limit_mail_wblist_error_notint'),
848+
),
849+
'default' => '-1',
850+
'value' => '',
851+
'separator' => '',
852+
'width' => '10',
853+
'maxlength' => '10',
854+
'rows' => '',
855+
'cols' => ''
856+
),
843857
'limit_mailfilter' => array (
844858
'datatype' => 'INTEGER',
845859
'formtype' => 'TEXT',

interface/web/client/form/client_template.tform.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,20 @@
256256
'rows' => '',
257257
'cols' => ''
258258
),
259+
'limit_mail_wblist' => array (
260+
'datatype' => 'INTEGER',
261+
'formtype' => 'TEXT',
262+
'validators' => array ( 0 => array ( 'type' => 'ISINT',
263+
'errmsg'=> 'limit_mail_wblist_error_notint'),
264+
),
265+
'default' => '-1',
266+
'value' => '',
267+
'separator' => '',
268+
'width' => '10',
269+
'maxlength' => '10',
270+
'rows' => '',
271+
'cols' => ''
272+
),
259273
'limit_mailfilter' => array (
260274
'datatype' => 'INTEGER',
261275
'formtype' => 'TEXT',

interface/web/client/form/reseller.tform.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -838,6 +838,20 @@
838838
'rows' => '',
839839
'cols' => ''
840840
),
841+
'limit_mail_wblist' => array (
842+
'datatype' => 'INTEGER',
843+
'formtype' => 'TEXT',
844+
'validators' => array ( 0 => array ( 'type' => 'ISINT',
845+
'errmsg'=> 'limit_mail_wblist_error_notint'),
846+
),
847+
'default' => '-1',
848+
'value' => '',
849+
'separator' => '',
850+
'width' => '10',
851+
'maxlength' => '10',
852+
'rows' => '',
853+
'cols' => ''
854+
),
841855
'limit_mailfilter' => array (
842856
'datatype' => 'INTEGER',
843857
'formtype' => 'TEXT',

0 commit comments

Comments
 (0)