dodan openssl-dovecot.cnf
[dovecot-cn.git] / debian / postinst
index f13fe76..4cc3cb3 100755 (executable)
@@ -6,77 +6,65 @@
 # Load CARNet Tools
 . /usr/share/carnet-tools/functions.sh
 
-
-cp_check_and_sed '^protocols' \
-                 's/protocols.*$/protocols = imap imaps pop3 pop3s/g' \
-                /etc/dovecot/dovecot.conf || true
-
 cp_check_and_sed '#disable_plaintext_auth' \
                  's/#disable_plaintext_auth/disable_plaintext_auth/g' \
-                /etc/dovecot/dovecot.conf || true
+                /etc/dovecot/conf.d/10-auth.conf || true
 
 cp_check_and_sed 'disable_plaintext_auth.*yes' \
                  's/disable_plaintext_auth.*$/disable_plaintext_auth = no/g' \
-                /etc/dovecot/dovecot.conf || true
+                /etc/dovecot/conf.d/10-auth.conf || true
 
 cp_check_and_sed '#imap_client_workarounds' \
                  's/#imap_client_workarounds/imap_client_workarounds/g' \
-                /etc/dovecot/dovecot.conf || true
+                /etc/dovecot/conf.d/20-imap.conf || true
 
 cp_check_and_sed '#pop3_client_workarounds' \
                  's/#pop3_client_workarounds/pop3_client_workarounds/g' \
-                /etc/dovecot/dovecot.conf || true
+                /etc/dovecot/conf.d/20-pop3.conf || true
 
 cp_check_and_sed 'imap_client_workarounds' \
-                 's/imap_client_workarounds.*$/imap_client_workarounds = outlook-idle tb-extra-mailbox-sep netscape-eoh delay-newmail/g' \
-                /etc/dovecot/dovecot.conf || true
+                 's/imap_client_workarounds.*$/imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags/g' \
+                /etc/dovecot/conf.d/20-imap.conf || true
 
 cp_check_and_sed 'pop3_client_workarounds' \
                  's/pop3_client_workarounds.*$/pop3_client_workarounds = outlook-no-nuls oe-ns-eoh/g' \
-                /etc/dovecot/dovecot.conf || true
-
-cp_check_and_sed 'pop3_uidl_format' \
-                 's/pop3_uidl_format.*$/pop3_uidl_format = %v.%u/g' \
-                /etc/dovecot/dovecot.conf || true
-
-cp_check_and_sed '#quota = maildir' \
-                 's/#quota = maildir/quota = fs/g' \
-                /etc/dovecot/dovecot.conf || true
-
-# dodano zbog backward compatibility (etch->lenny)
-cp_check_and_sed '^mail_extra_groups' \
-                 's/^mail_extra_groups/mail_privileged_group/g' \
-                /etc/dovecot/dovecot.conf || true
+                /etc/dovecot/conf.d/20-pop3.conf || true
 
 cp_check_and_sed '#ssl_cipher_list' \
                  's/#ssl_cipher_list.*/ssl_cipher_list = ALL:!aNULL:!eNULL:!ADH!LOW:!MEDIUM:!EXP:!SSLv2:HIGH/g' \
-                /etc/dovecot/dovecot.conf || true
-
-# ovo je potrebno postaviti u verziji 1.2
-cp_check_and_sed '#mail_location' \
-                 's|#mail_location.*|mail_location=mbox:~/mail:INBOX=/var/mail/%u|g' \
-                /etc/dovecot/dovecot.conf || true
+                /etc/dovecot/conf.d/10-ssl.conf || true
 
 # trazio zelja
 cp_check_and_sed '#ssl =' \
                 's/^#ssl =/ssl =/g' \
-                /etc/dovecot/dovecot.conf || true
-
-if grep -q "^ssl_disable .*no" /etc/dovecot/dovecot.conf; then
-  cp_check_and_sed '^ssl =' \
-                   's/^ssl =.*/ssl = yes/g' \
-                  /etc/dovecot/dovecot.conf || true
-elif grep -q "^ssl_disable .*yes" /etc/dovecot/dovecot.conf; then
-  cp_check_and_sed '^ssl =' \
-                   's/^ssl =.*/ssl = no/g' \
-                  /etc/dovecot/dovecot.conf || true
+                /etc/dovecot/conf.d/10-ssl.conf || true
+
+# trazio zelja
+cp_check_and_sed 'ssl = no' \
+                's/^ssl = no/ssl = yes/g' \
+                /etc/dovecot/conf.d/10-ssl.conf || true
+
+if ! grep -q ^ssl_cert /etc/dovecot/conf.d/10-ssl.conf \
+  && ! grep -q ^ssl_key /etc/dovecot/conf.d/10-ssl.conf; then
+
+  echo "CN: Generating certificate and key..."
+  /usr/share/dovecot-cn/mkcert.sh > /dev/null
+
+  cp_check_and_sed '#ssl_cert = </etc/dovecot/dovecot.pem' \
+                  's|#ssl_cert = </etc/dovecot/dovecot.pem|ssl_cert = </etc/dovecot/dovecot.pem|g' \
+                  /etc/dovecot/conf.d/10-ssl.conf || true
+  cp_check_and_sed '#ssl_key = </etc/dovecot/private/dovecot.pem' \
+                  's|#ssl_key = </etc/dovecot/private/dovecot.pem|ssl_key = </etc/dovecot/private/dovecot.pem|g' \
+                  /etc/dovecot/conf.d/10-ssl.conf || true
 fi
 
-cp_check_and_sed '^ssl_disable' \
-                 's/^ssl_disable/#ssl_disable/g' \
-                /etc/dovecot/dovecot.conf || true
 
 
+# dodao ico, gasi stare SSL protokole
+cp_check_and_sed '#ssl_protocols =' \
+                's/^#ssl_protocols.*/ssl_protocols = !SSLv2 !SSLv3/g' \
+                /etc/dovecot/conf.d/10-ssl.conf || true
+
 # restart 
 if [ -x /usr/sbin/invoke-rc.d ]; then
   [ -x /etc/init.d/dovecot ] && invoke-rc.d dovecot restart
@@ -85,3 +73,5 @@ else
 fi
 
 #DEBHELPER#
+
+exit 0