summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--manifests/firma.pp1
-rw-r--r--manifests/spamassassin.pp15
-rw-r--r--manifests/virtual/packages.pp13
-rw-r--r--templates/dovecot/dovecot.conf.bookworm.erb100
4 files changed, 127 insertions, 2 deletions
diff --git a/manifests/firma.pp b/manifests/firma.pp
index 2f9bbe9..d03e770 100644
--- a/manifests/firma.pp
+++ b/manifests/firma.pp
@@ -34,6 +34,7 @@ class mail::firma(
revision => 'df18d0c7060007aaa757ea749bcbb66814d1f4ce',
owner => 'firma',
group => 'firma',
+ user => 'firma',
require => [ User['firma'], Group['firma'] ],
}
diff --git a/manifests/spamassassin.pp b/manifests/spamassassin.pp
index ea03567..6b56961 100644
--- a/manifests/spamassassin.pp
+++ b/manifests/spamassassin.pp
@@ -9,7 +9,20 @@ class mail::spamassassin {
}
service { 'spamassassin':
- ensure => running,
+ name => $::lsbdistcodename ? {
+ 'bookworm' => 'spamassassin-maintenance',
+ 'bullseye' => 'spamassassin',
+ 'buster' => 'spamassassin',
+ 'stretch' => 'spamassassin',
+ default => 'spamassassin-maintenance',
+ },
+ ensure => $::lsbdistcodename ? {
+ 'bookworm' => undef,
+ 'bullseye' => running,
+ 'buster' => running,
+ 'stretch' => running,
+ default => undef,
+ },
enable => true,
pattern => "spamd",
require => File['/etc/default/spamassassin'],
diff --git a/manifests/virtual/packages.pp b/manifests/virtual/packages.pp
index 4dc173c..1c36548 100644
--- a/manifests/virtual/packages.pp
+++ b/manifests/virtual/packages.pp
@@ -5,7 +5,18 @@ class mail::virtual::packages {
ensure => absent,
}
- package { [ 'libpam-mysql', 'libgsasl7' ]:
+ package { [ 'libpam-mysql', ]:
+ ensure => installed,
+ }
+
+ package { [ 'libgsasl', ]:
+ name => $::lsbdistcodename ? {
+ 'bookworm' => 'libgsasl18',
+ 'bullseye' => 'libgsasl7',
+ 'buster' => 'libgsasl7',
+ 'stretch' => 'libgsasl7',
+ default => 'libgsasl',
+ },
ensure => installed,
}
diff --git a/templates/dovecot/dovecot.conf.bookworm.erb b/templates/dovecot/dovecot.conf.bookworm.erb
new file mode 100644
index 0000000..39b1def
--- /dev/null
+++ b/templates/dovecot/dovecot.conf.bookworm.erb
@@ -0,0 +1,100 @@
+# 2.1.7: /etc/dovecot/dovecot.conf
+# OS: Linux 2.6.32-5-vserver-amd64 x86_64 Debian 7.3 ufs
+
+# See http://help.directadmin.com/item.php?id=348
+listen = *
+
+auth_mechanisms = plain login
+log_timestamp = "%Y-%m-%d %H:%M:%S "
+login_log_format_elements = user=<%%u> method=%m %c
+mail_location = maildir:/var/mail/virtual/%u
+mail_privileged_group = mail
+passdb {
+ args = /etc/dovecot/dovecot-sql.conf
+ driver = sql
+}
+plugin {
+ sieve = ~/.dovecot.sieve
+ sieve_storage = ~/sieve
+}
+protocols = imap
+service auth {
+ unix_listener /var/spool/postfix/private/auth {
+ group = postfix
+ mode = 0660
+ user = postfix
+ }
+ unix_listener auth-master {
+ group = mail
+ mode = 0600
+ user = vmail
+ }
+ user = root
+}
+
+# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
+# dropping root privileges, so keep the key file unreadable by anyone but
+# root.
+ssl_cert = </etc/ssl/certs/cert.crt
+ssl_key = </etc/ssl/private/cert.pem
+
+# SSL ciphers to use
+#
+# Since Dovecot started using OpenSSL 1.1, we don't have to disable
+# SSLv2 anymore as it's already removed from OpenSSL.
+#
+# See http://www.virtualmin.com/node/25057
+# https://zmap.io/sslv3/servers.html
+# https://security.stackexchange.com/questions/71872/disable-sslv3-in-dovecot-tls-handshaking-failed-no-shared-cipher
+# https://bbs.archlinux.org/viewtopic.php?id=225535
+ssl_cipher_list = HIGH:MEDIUM:+TLSv1:!SSLv2:SSLv3
+
+# See https://wiki2.dovecot.org/Upgrading/2.3
+#ssl_protocols = !SSLv3
+ssl_min_protocol = TLSv1
+ssl_dh = </etc/dovecot/dh.pem
+
+userdb {
+ args = uid=5000 gid=5000 home=/var/mail/virtual/%u allow_all_users=yes
+ driver = static
+}
+userdb {
+ args = /etc/dovecot/dovecot-sql.conf
+ driver = sql
+}
+protocol pop3 {
+ pop3_uidl_format = %08Xu%08Xv
+}
+protocol lda {
+ auth_socket_path = /var/run/dovecot/auth-master
+ mail_plugins = sieve
+ postmaster_address = postmaster@<%= @fqdn %>
+}
+
+# Should saving a mail to a non-existing mailbox automatically create it?
+lda_mailbox_autocreate = yes
+
+# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=903161
+service stats {
+ unix_listener stats-reader {
+ mode = 0
+ }
+ unix_listener stats-writer {
+ #mode = 0
+ mode = 0666
+ }
+}
+
+# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=903161
+service old-stats {
+ fifo_listener old-stats-mail {
+ mode = 0
+ }
+ fifo_listener old-stats-user {
+ mode = 0
+ }
+ unix_listener old-stats {
+ #mode = 0
+ mode = 0666
+ }
+}