Skip to content

Commit 0cd9a93

Browse files
committed
use postfix proxymap server for all mysql lookup tables. fixes #5472
1 parent a49bb33 commit 0cd9a93

File tree

5 files changed

+30
-30
lines changed

5 files changed

+30
-30
lines changed

install/tpl/debian_postfix.conf.master

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman, proxy:mysql:{co
55
virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf
66
virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
77
virtual_mailbox_base = {vmail_mailbox_base}
8-
virtual_uid_maps = mysql:/etc/postfix/mysql-virtual_uids.cf
9-
virtual_gid_maps = mysql:/etc/postfix/mysql-virtual_gids.cf
8+
virtual_uid_maps = proxy:mysql:/etc/postfix/mysql-virtual_uids.cf
9+
virtual_gid_maps = proxy:mysql:/etc/postfix/mysql-virtual_gids.cf
1010
sender_bcc_maps = proxy:mysql:{config_dir}/mysql-virtual_outgoing_bcc.cf
1111
inet_protocols=all
1212
inet_interfaces = all
@@ -21,14 +21,14 @@ smtpd_tls_security_level = may
2121
smtpd_tls_cert_file = {config_dir}/smtpd.cert
2222
smtpd_tls_key_file = {config_dir}/smtpd.key
2323
transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:{config_dir}/mysql-virtual_transports.cf
24-
relay_domains = mysql:{config_dir}/mysql-virtual_relaydomains.cf
25-
relay_recipient_maps = mysql:{config_dir}/mysql-virtual_relayrecipientmaps.cf
24+
relay_domains = proxy:mysql:{config_dir}/mysql-virtual_relaydomains.cf
25+
relay_recipient_maps = proxy:mysql:{config_dir}/mysql-virtual_relayrecipientmaps.cf
2626
smtpd_sender_login_maps = proxy:mysql:{config_dir}/mysql-virtual_sender_login_maps.cf
27-
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 $smtpd_recipient_restrictions
27+
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
2929
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_slm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re, check_sender_access mysql:{config_dir}/mysql-virtual_sender.cf
31-
smtpd_client_restrictions = check_client_access mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated, reject_unauth_pipelining {reject_unknown_client_hostname}, permit
30+
smtpd_sender_restrictions = {reject_slm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks, 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_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated, reject_unauth_pipelining {reject_unknown_client_hostname}, permit
3232
smtpd_etrn_restrictions = permit_mynetworks, reject
3333
smtpd_data_restrictions = permit_mynetworks, reject_unauth_pipelining, reject_multi_recipient_bounce, permit
3434
smtpd_client_message_rate_limit = 100

install/tpl/fedora_postfix.conf.master

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman, proxy:mysql:{co
33
virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf
44
virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
55
virtual_mailbox_base = {vmail_mailbox_base}
6-
virtual_uid_maps = mysql:/etc/postfix/mysql-virtual_uids.cf
7-
virtual_gid_maps = mysql:/etc/postfix/mysql-virtual_gids.cf
6+
virtual_uid_maps = proxy:mysql:/etc/postfix/mysql-virtual_uids.cf
7+
virtual_gid_maps = proxy:mysql:/etc/postfix/mysql-virtual_gids.cf
88
sender_bcc_maps = proxy:mysql:{config_dir}/mysql-virtual_outgoing_bcc.cf
99
smtpd_sasl_auth_enable = yes
1010
broken_sasl_auth_clients = yes
@@ -17,14 +17,14 @@ smtpd_tls_security_level = may
1717
smtpd_tls_cert_file = {config_dir}/smtpd.cert
1818
smtpd_tls_key_file = {config_dir}/smtpd.key
1919
transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:{config_dir}/mysql-virtual_transports.cf
20-
relay_domains = mysql:{config_dir}/mysql-virtual_relaydomains.cf
21-
relay_recipient_maps = mysql:{config_dir}/mysql-virtual_relayrecipientmaps.cf
20+
relay_domains = proxy:mysql:{config_dir}/mysql-virtual_relaydomains.cf
21+
relay_recipient_maps = proxy:mysql:{config_dir}/mysql-virtual_relayrecipientmaps.cf
2222
smtpd_sender_login_maps = proxy:mysql:{config_dir}/mysql-virtual_sender_login_maps.cf
23-
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 $smtpd_recipient_restrictions
23+
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
2525
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_slm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re, check_sender_access mysql:{config_dir}/mysql-virtual_sender.cf
27-
smtpd_client_restrictions = check_client_access mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated, reject_unauth_pipelining {reject_unknown_client_hostname}, permit
26+
smtpd_sender_restrictions = {reject_slm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks, 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_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated, 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
3030
smtpd_client_message_rate_limit = 100

install/tpl/gentoo_postfix.conf.master

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman, proxy:mysql:{co
33
virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf
44
virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
55
virtual_mailbox_base = {vmail_mailbox_base}
6-
virtual_uid_maps = mysql:/etc/postfix/mysql-virtual_uids.cf
7-
virtual_gid_maps = mysql:/etc/postfix/mysql-virtual_gids.cf
6+
virtual_uid_maps = proxy:mysql:/etc/postfix/mysql-virtual_uids.cf
7+
virtual_gid_maps = proxy:mysql:/etc/postfix/mysql-virtual_gids.cf
88
smtpd_sasl_auth_enable = yes
99
broken_sasl_auth_clients = yes
1010
smtpd_sasl_authenticated_header = yes
@@ -16,14 +16,14 @@ smtpd_tls_security_level = may
1616
smtpd_tls_cert_file = {config_dir}/smtpd.cert
1717
smtpd_tls_key_file = {config_dir}/smtpd.key
1818
transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:{config_dir}/mysql-virtual_transports.cf
19-
relay_domains = mysql:{config_dir}/mysql-virtual_relaydomains.cf
20-
relay_recipient_maps = mysql:{config_dir}/mysql-virtual_relayrecipientmaps.cf
19+
relay_domains = proxy:mysql:{config_dir}/mysql-virtual_relaydomains.cf
20+
relay_recipient_maps = proxy:mysql:{config_dir}/mysql-virtual_relayrecipientmaps.cf
2121
smtpd_sender_login_maps = proxy:mysql:{config_dir}/mysql-virtual_sender_login_maps.cf
22-
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 $smtpd_recipient_restrictions
22+
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
2424
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_slm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re, check_sender_access mysql:{config_dir}/mysql-virtual_sender.cf
26-
smtpd_client_restrictions = check_client_access mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated, reject_unauth_pipelining {reject_unknown_client_hostname}, permit
25+
smtpd_sender_restrictions = {reject_slm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks, 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_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated, reject_unauth_pipelining {reject_unknown_client_hostname}, permit
2727
smtpd_etrn_restrictions = permit_mynetworks, reject
2828
smtpd_data_restrictions = permit_mynetworks, reject_unauth_pipelining, reject_multi_recipient_bounce, permit
2929
smtpd_client_message_rate_limit = 100

install/tpl/opensuse_postfix.conf.master

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman, proxy:mysql:{co
55
virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf
66
virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
77
virtual_mailbox_base = {vmail_mailbox_base}
8-
virtual_uid_maps = mysql:/etc/postfix/mysql-virtual_uids.cf
9-
virtual_gid_maps = mysql:/etc/postfix/mysql-virtual_gids.cf
8+
virtual_uid_maps = proxy:mysql:/etc/postfix/mysql-virtual_uids.cf
9+
virtual_gid_maps = proxy:mysql:/etc/postfix/mysql-virtual_gids.cf
1010
sender_bcc_maps = proxy:mysql:{config_dir}/mysql-virtual_outgoing_bcc.cf
1111
smtpd_sasl_auth_enable = yes
1212
broken_sasl_auth_clients = yes
@@ -19,14 +19,14 @@ smtpd_tls_security_level = may
1919
smtpd_tls_cert_file = {config_dir}/smtpd.cert
2020
smtpd_tls_key_file = {config_dir}/smtpd.key
2121
transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:{config_dir}/mysql-virtual_transports.cf
22-
relay_domains = mysql:{config_dir}/mysql-virtual_relaydomains.cf
23-
relay_recipient_maps = mysql:{config_dir}/mysql-virtual_relayrecipientmaps.cf
22+
relay_domains = proxy:mysql:{config_dir}/mysql-virtual_relaydomains.cf
23+
relay_recipient_maps = proxy:mysql:{config_dir}/mysql-virtual_relayrecipientmaps.cf
2424
smtpd_sender_login_maps = proxy:mysql:{config_dir}/mysql-virtual_sender_login_maps.cf
25-
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 $smtpd_recipient_restrictions
25+
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
2727
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_slm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re, check_sender_access mysql:{config_dir}/mysql-virtual_sender.cf
29-
smtpd_client_restrictions = check_client_access mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated, reject_unauth_pipelining {reject_unknown_client_hostname}, permit
28+
smtpd_sender_restrictions = {reject_slm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks, 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_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated, reject_unauth_pipelining {reject_unknown_client_hostname}, permit
3030
smtpd_etrn_restrictions = permit_mynetworks, reject
3131
smtpd_data_restrictions = permit_mynetworks, reject_unauth_pipelining, reject_multi_recipient_bounce, permit
3232
smtpd_client_message_rate_limit = 100

server/plugins-available/postfix_server_plugin.inc.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ function update($event_name, $data) {
338338
exec("postconf -e 'milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}'");
339339
exec("postconf -e 'milter_default_action = accept'");
340340

341-
exec("postconf -e 'smtpd_sender_restrictions = ${rslm} permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf'");
341+
exec("postconf -e 'smtpd_sender_restrictions = ${rslm} permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access proxy:mysql:/etc/postfix/mysql-virtual_sender.cf'");
342342

343343
$new_options = array();
344344
$options = preg_split("/,\s*/", exec("postconf -h smtpd_recipient_restrictions"));
@@ -376,7 +376,7 @@ function update($event_name, $data) {
376376
exec("postconf -e 'content_filter = " . ($configure_lmtp ? "lmtp" : "amavis" ) . ":[127.0.0.1]:10024'");
377377

378378
// fixme: should read this from conf templates
379-
exec("postconf -e 'smtpd_sender_restrictions = ${rslm} check_sender_access regexp:/etc/postfix/tag_as_originating.re, permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access regexp:/etc/postfix/tag_as_foreign.re, check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf'");
379+
exec("postconf -e 'smtpd_sender_restrictions = ${rslm} check_sender_access regexp:/etc/postfix/tag_as_originating.re, permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access regexp:/etc/postfix/tag_as_foreign.re, check_sender_access proxy:mysql:/etc/postfix/mysql-virtual_sender.cf'");
380380
}
381381
}
382382

0 commit comments

Comments
 (0)