I was going to add support for "configuration groups", but got a bit stuck at how the logic is supposed to work. I think there could be different settings based on IP/port it's listening in, or based on given username.
I can't really describe how it would work, and I'm not entirely sure myself either :) Does this make sense:
# (default settings here) # if auth groups are defined here, they are included in all groups below
group 1.server.org { protocols = imap imaps pop3 pop3s ssl_cert_file = /etc/ssl/certs/server1.pem login_dir = /var/run/dovecot/login/server1 login { # common for imap/pop3 listen = 1.server.org } auth server1 { mechanisms = plain userdb = ldap /etc/ldap-server1.conf passdb = ldap /etc/ldap-server1.conf }
group admins { mail_full_filesystem_access = yes auth admins { mechanisms = plain userdb = passwd-file /etc/admins.passwd passdb = passwd-file /etc/admins.passwd } } }
# (any setting changes here would affect only new groups below, otherwise # the config file parsing would get difficult..)
group anonymous { protocols = imap ssl_disable = yes login_dir = /var/run/dovecot/login/anonymous login { listen = anonymous.server.org process_per_connection = no processes_count = 1 } auth anonymous { mechanisms = plain anonymous userdb = passwd-file /etc/anon.passwd passdb = passwd-file /etc/anon.passwd } }