From efa99500f7e82571d9ab461d982aa82003abb928 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Thu, 28 Apr 2011 13:02:20 +0000 Subject: main/dovecot: fix post-install script to handle 2.0 config fixes #608 --- main/dovecot/APKBUILD | 2 +- main/dovecot/dovecot.post-install | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) (limited to 'main/dovecot') diff --git a/main/dovecot/APKBUILD b/main/dovecot/APKBUILD index 33ed4802f..a1510ad33 100644 --- a/main/dovecot/APKBUILD +++ b/main/dovecot/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Natanael Copa pkgname=dovecot pkgver=2.0.12 -pkgrel=1 +pkgrel=2 pkgdesc="IMAP and POP3 server" url="http://www.dovecot.org/" arch="all" diff --git a/main/dovecot/dovecot.post-install b/main/dovecot/dovecot.post-install index d75f01ea2..e4d6bb281 100644 --- a/main/dovecot/dovecot.post-install +++ b/main/dovecot/dovecot.post-install @@ -2,6 +2,8 @@ # based on doc/mkcert.sh +# if ssl disabled then lets just exit +doveconf ssl | grep -q 'yes' || exit 0 # Generates a self-signed certificate. OPENSSL=${OPENSSL-openssl} @@ -11,25 +13,33 @@ OPENSSLCONFIG=${OPENSSLCONFIG-/etc/dovecot/dovecot-openssl.cnf} CERTDIR=$SSLDIR KEYDIR=$SSLDIR -# parse cert and key file from dovecot.conf +# parse cert and key file from dovecot.conf (1.2) for upgraders dovecot_conf=/etc/dovecot/dovecot.conf ssl_cert_file= ssl_key_file= if [ -r "$dovecot_conf" ]; then ssl_cert_file=$(awk -F'[[:space:]]*=[[:space:]]*' '/^ssl_cert_file/ { print $2}' $dovecot_conf) - ssl_cert_file=$(awk -F'[[:space:]]*=[[:space:]]*' '/^ssl_key_file/ { print $2}' $dovecot_conf) + ssl_key_file=$(awk -F'[[:space:]]*=[[:space:]]*' '/^ssl_key_file/ { print $2}' $dovecot_conf) fi +# check if we have ssl_cert and/or key (for dovecot-2.0+) +# try expand the cert/key itself and if found, lets just keep it +[ -n "$(doveconf -x ssl_cert 2>/dev/null)" ] && exit 0 +[ -n "$(doveconf -x ssl_cert 2>/dev/null)" ] && exit 0 + +[ -z "$ssl_cert_file" ] && ssl_cert_file=$(doveconf ssl_cert | sed 's/.*=