Skip to content

Commit cda1d3b

Browse files
committed
implement dovecot quota-status policy daemon (#4649)
1 parent 36e7b35 commit cda1d3b

12 files changed

+74
-4
lines changed

install/sql/incremental/upd_dev_collection.sql

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,6 @@ ALTER TABLE `mail_user`
2626

2727
-- doveadm should be enabled for all mailboxes
2828
UPDATE `mail_user` set `disabledoveadm` = 'n';
29+
30+
-- add disablequota-status for quota-status policy daemon
31+
ALTER TABLE `mail_user` ADD `disablequota-status` ENUM('n','y') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'n' AFTER `disabledoveadm`;

install/sql/ispconfig3.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1062,6 +1062,7 @@ CREATE TABLE `mail_user` (
10621062
`disablelda` enum('n','y') NOT NULL default 'n',
10631063
`disablelmtp` enum('n','y') NOT NULL default 'n',
10641064
`disabledoveadm` enum('n','y') NOT NULL default 'n',
1065+
`disablequota-status` enum('n','y') NOT NULL default 'n',
10651066
`last_quota_notification` date NULL default NULL,
10661067
`backup_interval` VARCHAR( 255 ) NOT NULL default 'none',
10671068
`backup_copies` INT NOT NULL DEFAULT '1',

install/tpl/debian6_dovecot2.conf.master

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,21 @@ protocol lmtp {
8585
#2.3+ }
8686
#2.3+ }
8787

88+
service quota-status {
89+
executable = quota-status -p postfix
90+
inet_listener {
91+
# separate multiple addresses with space:
92+
address = 127.0.0.1
93+
port = 10060
94+
}
95+
client_limit = 1
96+
}
97+
plugin {
98+
quota_status_success = DUNNO
99+
quota_status_nouser = DUNNO
100+
quota_status_overquota = "552 5.2.2 Mailbox is full"
101+
}
102+
88103
imap_capability=+SEPCIAL-USE XLIST
89104
namespace inbox {
90105
inbox = yes

install/tpl/debian_dovecot2.conf.master

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,3 +81,18 @@ protocol lmtp {
8181
#2.3+ mode = 0660
8282
#2.3+ }
8383
#2.3+ }
84+
85+
service quota-status {
86+
executable = quota-status -p postfix
87+
inet_listener {
88+
# separate multiple addresses with space:
89+
address = 127.0.0.1
90+
port = 10060
91+
}
92+
client_limit = 1
93+
}
94+
plugin {
95+
quota_status_success = DUNNO
96+
quota_status_nouser = DUNNO
97+
quota_status_overquota = "552 5.2.2 Mailbox is full"
98+
}

install/tpl/debian_postfix.conf.master

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ broken_sasl_auth_clients = yes
1515
smtpd_sasl_authenticated_header = yes
1616
smtpd_restriction_classes = greylisting
1717
greylisting = check_policy_service inet:127.0.0.1:10023
18-
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{greylisting}
18+
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{greylisting}, check_policy_service inet:127.0.0.1:10060
19+
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10060
1920
smtpd_use_tls = yes
2021
smtpd_tls_security_level = may
2122
smtpd_tls_cert_file = {config_dir}/smtpd.cert

install/tpl/fedora_dovecot2.conf.master

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,21 @@ mail_plugins = $mail_plugins quota
8080
#2.3+ }
8181
#2.3+ }
8282

83+
service quota-status {
84+
executable = quota-status -p postfix
85+
inet_listener {
86+
# separate multiple addresses with space:
87+
address = 127.0.0.1
88+
port = 10060
89+
}
90+
client_limit = 1
91+
}
92+
plugin {
93+
quota_status_success = DUNNO
94+
quota_status_nouser = DUNNO
95+
quota_status_overquota = "552 5.2.2 Mailbox is full"
96+
}
97+
8398
imap_capability=+SEPCIAL-USE XLIST
8499
namespace inbox {
85100
inbox = yes

install/tpl/fedora_postfix.conf.master

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ broken_sasl_auth_clients = yes
1111
smtpd_sasl_authenticated_header = yes
1212
smtpd_restriction_classes = greylisting
1313
greylisting = check_policy_service inet:127.0.0.1:10023
14-
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{greylisting}
14+
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{greylisting}, check_policy_service inet:127.0.0.1:10060
15+
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10060
1516
smtpd_use_tls = yes
1617
smtpd_tls_security_level = may
1718
smtpd_tls_cert_file = {config_dir}/smtpd.cert

install/tpl/gentoo_postfix.conf.master

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ broken_sasl_auth_clients = yes
1010
smtpd_sasl_authenticated_header = yes
1111
smtpd_restriction_classes = greylisting
1212
greylisting = check_policy_service inet:127.0.0.1:10023
13-
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{greylisting}
13+
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{greylisting}, check_policy_service inet:127.0.0.1:10060
14+
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10060
1415
smtpd_use_tls = yes
1516
smtpd_tls_security_level = may
1617
smtpd_tls_cert_file = {config_dir}/smtpd.cert

install/tpl/master_cf_amavis10025.master

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
-o smtpd_helo_restrictions=
99
-o smtpd_sender_restrictions=
1010
-o smtpd_recipient_restrictions=permit_mynetworks,reject
11+
-o smtpd_end_of_data_restrictions=
1112
-o mynetworks=127.0.0.0/8
1213
-o strict_rfc821_envelopes=yes
1314
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks

install/tpl/master_cf_amavis10027.master

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
-o smtpd_helo_restrictions=
99
-o smtpd_sender_restrictions=
1010
-o smtpd_recipient_restrictions=permit_mynetworks,reject
11+
-o smtpd_end_of_data_restrictions=
1112
-o mynetworks=127.0.0.0/8
1213
-o strict_rfc821_envelopes=yes
1314
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks

0 commit comments

Comments
 (0)