From 8b8d89a1c117b1f5f757c3fb7886c097be0c1a3a Mon Sep 17 00:00:00 2001
From: Leo Koppelkamm <hello@leo-koppelkamm.de>
Date: Fri, 31 Jul 2015 12:29:03 +0200
Subject: [PATCH] Enable zlib compression for maildir

---
 setup/mail-dovecot.sh | 27 +++++++++++++++++++++++++--
 setup/spamassassin.sh |  6 ------
 2 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/setup/mail-dovecot.sh b/setup/mail-dovecot.sh
index 2c5533ec..e51e3162 100755
--- a/setup/mail-dovecot.sh
+++ b/setup/mail-dovecot.sh
@@ -101,10 +101,14 @@ tools/editconf.py /etc/dovecot/conf.d/20-imap.conf \
 tools/editconf.py /etc/dovecot/conf.d/20-pop3.conf \
 	pop3_uidl_format="%08Xu%08Xv"
 
-# Full Text Search - Enable full text search of mail using dovecot's lucene plugin,
+# Mail plugin configuration.
+# Enable full text search of mail using dovecot's lucene plugin, 
 # which *we* package and distribute (dovecot-lucene package).
+# Also enable zlib compression to reduce the space used by mailboxes
 tools/editconf.py /etc/dovecot/conf.d/10-mail.conf \
-	mail_plugins="\$mail_plugins fts fts_lucene"
+	mail_plugins="\$mail_plugins fts fts_lucene zlib"
+
+# Configure lucene plugin
 cat > /etc/dovecot/conf.d/90-plugin-fts.conf << EOF;
 plugin {
   fts = lucene
@@ -112,6 +116,25 @@ plugin {
 }
 EOF
 
+# Configure zlib plugin
+cat > /etc/dovecot/conf.d/90-plugin-zlib.conf << EOF;
+plugin {
+  zlib_save_level = 6
+  zlib_save = gz
+}
+EOF
+
+# IMAP only plugins
+# Enable the Dovecot antispam plugin as well as IMAP zlib.
+tools/editconf.py /etc/dovecot/conf.d/20-imap.conf \
+	mail_plugins="\$mail_plugins antispam imap_zlib"
+
+# POP3 only plugins
+# Enable the Dovecot antispam plugin.
+tools/editconf.py /etc/dovecot/conf.d/20-pop3.conf \
+	mail_plugins="\$mail_plugins antispam"
+
+
 # ### LDA (LMTP)
 
 # Enable Dovecot's LDA service with the LMTP protocol. It will listen
diff --git a/setup/spamassassin.sh b/setup/spamassassin.sh
index ca264c0d..e1ec291c 100755
--- a/setup/spamassassin.sh
+++ b/setup/spamassassin.sh
@@ -93,11 +93,6 @@ chown -R spampd:spampd $STORAGE_ROOT/mail/spamassassin
 # use the Dovecot antispam plugin to detect the message move operation and execute
 # a shell script that invokes learning.
 
-# Enable the Dovecot antispam plugin.
-# (Be careful if we use multiple plugins later.) #NODOC
-sed -i "s/#mail_plugins = .*/mail_plugins = \$mail_plugins antispam/" /etc/dovecot/conf.d/20-imap.conf
-sed -i "s/#mail_plugins = .*/mail_plugins = \$mail_plugins antispam/" /etc/dovecot/conf.d/20-pop3.conf
-
 # Configure the antispam plugin to call sa-learn-pipe.sh.
 cat > /etc/dovecot/conf.d/99-local-spampd.conf << EOF;
 plugin {
@@ -142,4 +137,3 @@ chmod 770 $STORAGE_ROOT/mail/spamassassin
 # Kick services.
 restart_service spampd
 restart_service dovecot
-