Commit efa99500 authored by Natanael Copa's avatar Natanael Copa

main/dovecot: fix post-install script to handle 2.0 config

fixes #608
parent 8f97837c
......@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dovecot
pkgver=2.0.12
pkgrel=1
pkgrel=2
pkgdesc="IMAP and POP3 server"
url="http://www.dovecot.org/"
arch="all"
......
......@@ -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/.*= <//')
[ -z "$ssl_key_file" ] && ssl_key_file=$(doveconf ssl_key | sed 's/.*= <//')
CERTFILE=${ssl_cert_file:-$CERTDIR/server.pem}
KEYFILE=${ssl_key_file:-$KEYDIR/server.key}
if [ -e "$CERTFILE" ]; then
echo "Keeiping existing $CERTFILE"
echo "Keeping existing $CERTFILE"
exit 0
fi
if [ -e "$KEYFILE" ]; then
echo "Keeiping existing $KEYFILE"
echo "Keeping existing $KEYFILE"
exit 0
fi
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment