Versions (dovecot AND pigeonhole) must be given interactivly. SSLv2 is no longer known by dovecot. So remove '\!SSLv2' from dovecot configuration file '10-ssl.conf'.

This commit is contained in:
Christoph 2017-10-22 17:00:44 +02:00
parent 25fc6d3b7a
commit e87398cdbe
2 changed files with 49 additions and 26 deletions

View File

@ -13,16 +13,6 @@
_update=false
# - Version dovecot
# -
_version=2.2.28
# - Version Pigeonhole
# -
_pigeonhole=dovecot-2.2-pigeonhole-0.4.16
# - Install dovecot with systemd support
# -
# - Defaults to 'true' if systemd is present, otherwise to 'false'

View File

@ -94,8 +94,45 @@ if [[ -z "$systemd_support" ]] ; then
fi
fi
echo -e "\033[32m--\033[m"
echo ""
echo "Version Number of Dovecot to install"
echo ""
echo ""
_version=
while [ "X$_version" = "X" ]
do
echononl "Dovecot Version: "
read _version
if [ "X$_version" = "X" ]; then
echo -e "\n\t\033[33m\033[1mA version number is required!\033[m\n"
fi
done
dovecot_major_version="$(echo $_version | cut -d '.' -f1,2)"
_log_dir=${_src_base_dir}/log-dovecot-$_version
echo ""
echo -e "\033[32m--\033[m"
echo ""
echo "Version Number of Pigeonhole to install"
echo ""
echo ""
_pigeonhole=
while [ "X$_pigeonhole" = "X" ]
do
echononl "Pigeonhole Version: "
read _pigeonhole
if [ "X$_pigeonhole" = "X" ]; then
echo -e "\n\t\033[33m\033[1mA version number is required!\033[m\n"
fi
done
echo ""
echo -e "\033[32m--\033[m"
echo ""
# -------------
@ -306,7 +343,6 @@ echo "Download sources.."
## - Downloud Dovecot 2.2.x
## -
echononl "\tDownload dovecot-${_version}.tar.gz"
#if [ ! -f "${_src_base_dir}/tarballs/dovecot-${_version}.tar.gz" ]; then
if [ ! -f "${_src_base_dir}/dovecot-${_version}.tar.gz" ]; then
wget http://www.dovecot.org/releases/2.2/dovecot-${_version}.tar.gz > /dev/null 2>&1
if [ "$?" = 0 ]; then
@ -322,10 +358,9 @@ fi
## - Download Pigeonhole for Dovecot v2.2
## -
echononl "\tDownload ${_pigeonhole}.tar.gz.."
#if [ ! -f "${_src_base_dir}/tarballs/${_pigeonhole}.tar.gz" ]; then
if [ ! -f "${_src_base_dir}/${_pigeonhole}.tar.gz" ]; then
wget http://pigeonhole.dovecot.org/releases/2.2/${_pigeonhole}.tar.gz > /dev/null 2>&1
echononl "\tDownload dovecot-${dovecot_major_version}-pigeonhole-${_pigeonhole}.tar.gz.."
if [ ! -f "${_src_base_dir}/dovecot-${dovecot_major_version}-pigeonhole-${_pigeonhole}.tar.gz" ]; then
wget http://pigeonhole.dovecot.org/releases/${dovecot_major_version}/dovecot-${dovecot_major_version}-pigeonhole-${_pigeonhole}.tar.gz > /dev/null 2>&1
if [ "$?" = 0 ]; then
echo -e "$rc_done"
else
@ -439,7 +474,6 @@ echo "Installing Base System.."
cd ${_src_base_dir}
echononl "\tUnpack dovecot-${_version}.tar.gz.."
#tar -xzf tarballs/dovecot-${_version}.tar.gz > /dev/null
tar -xzf dovecot-${_version}.tar.gz > /dev/null
if [ "$?" = 0 ]; then
echo -e "$rc_done"
@ -537,22 +571,21 @@ fi
cd ${_src_base_dir}
echo ""
echononl "\tExtracting ${_pigeonhole}.tar.gz.."
#gunzip < tarballs/${_pigeonhole}.tar.gz | tar -xf -
gunzip < ${_pigeonhole}.tar.gz | tar -xf -
echononl "\tExtracting dovecot-${dovecot_major_version}-pigeonhole-${_pigeonhole}.tar.gz.."
gunzip < dovecot-${dovecot_major_version}-pigeonhole-${_pigeonhole}.tar.gz | tar -xf -
if [ "$?" = 0 ]; then
echo -e "$rc_done"
else
echo -e "$rc_failed"
fatal Extracting ${_pigeonhole}.tar.gz failed
fatal Extracting dovecot-${dovecot_major_version}-pigeonhole-${_pigeonhole}.tar.gz failed
fi
cd ${_pigeonhole}
cd dovecot-${dovecot_major_version}-pigeonhole-${_pigeonhole}
echononl "\tConfigure Pigeonhole ManageSieve.."
./configure \
--prefix=/usr/local/dovecot-${_version} \
--with-dovecot=/usr/local/dovecot-${_version}/lib/dovecot > ${_log_dir}/${_pigeonhole}-configure.log 2<&1
--with-dovecot=/usr/local/dovecot-${_version}/lib/dovecot > ${_log_dir}/dovecot-${dovecot_major_version}-pigeonhole-${_pigeonhole}-configure.log 2<&1
if [ "$?" = 0 ]; then
echo -e "$rc_done"
else
@ -561,7 +594,7 @@ else
fi
echononl "\tCompile Pigeonhole ManageSieve.."
make > ${_log_dir}/${_pigeonhole}-make.log 2<&1
make > ${_log_dir}/dovecot-${dovecot_major_version}-pigeonhole-${_pigeonhole}-make.log 2<&1
if [ "$?" = 0 ]; then
echo -e "$rc_done"
else
@ -570,7 +603,7 @@ else
fi
echononl "\tInstall Pigeonhole ManageSieve.."
make install > ${_log_dir}/${_pigeonhole}-install.log 2<&1
make install > ${_log_dir}/dovecot-${dovecot_major_version}-pigeonhole-${_pigeonhole}-install.log 2<&1
if [ "$?" = 0 ]; then
echo -e "$rc_done"
else
@ -978,7 +1011,7 @@ fi
## -
## - ssl_dh_parameters_length = 2048
## -
## - ssl_protocols = !SSLv2 !SSLv3
## - ssl_protocols = !SSLv3
## -
## - ssl_cipher_list = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
## -
@ -1004,7 +1037,7 @@ perl -i -n -p -e "s#^([ ]*)(ssl_key\ ?=.*)#\1\#\# \2\n\1ssl_key = <$server_key#g
/usr/local/dovecot-${_version}/etc/dovecot/conf.d/10-ssl.conf || _failed=true
perl -i -n -p -e "s#^([ ]*)\#?(ssl_dh_parameters_length\ ?=.*)#\1\#\# \2\nssl_dh_parameters_length = 2048#g" \
/usr/local/dovecot-${_version}/etc/dovecot/conf.d/10-ssl.conf || _failed=true
perl -i -n -p -e "s#^([ ]*)\#?(ssl_protocols\ ?=.*)#\1\#\# \2\nssl_protocols = !SSLv2 !SSLv3#g" \
perl -i -n -p -e "s#^([ ]*)\#?(ssl_protocols\ ?=.*)#\1\#\# \2\nssl_protocols = !SSLv3#g" \
/usr/local/dovecot-${_version}/etc/dovecot/conf.d/10-ssl.conf || _failed=true
perl -i -n -p -e "s#^([ ]*)\#?(ssl_cipher_list\ ?=.*)#\1\#\# \2\nssl_cipher_list = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA#g" \