diff --git a/CHANGELOG.md b/CHANGELOG.md index c0780ffdf..4ccf79ee2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ CHANGELOG ========= +v0.26b (January 25, 2018) +------------------------- + +* Fix new installations which broke at the step of asking for the user's desired email address, which was broken by v0.26's changes related to the control panel. +* Fix the provisioning of TLS certificates by pinning a Python package we rely on (acme) to an earlier version because our code isn't yet compatible with its current version. +* Reduce munin's log_level from debug to warning to prevent massive log files. + v0.26 (January 18, 2018) ------------------------ @@ -24,7 +31,7 @@ Installer: * We now run `apt-get autoremove` at the start of setup to clear out old packages, especially old kernels that take up a lot of space. On the first run, this step may take a long time. * We now fetch Z-Push from its tagged git repository, fixing an installation problem. * Some old PHP5 packages are removed from setup, fixing an installation bug where Apache would get installed. -* Python 3 packages for the control panel are now installed using a virtualenv to prevent installation errors. +* Python 3 packages for the control panel are now installed using a virtualenv to prevent installation errors due to conflicts in the cryptography/openssl packages between OS-installed packages and pip-installed packages. v0.25 (November 15, 2017) ------------------------- diff --git a/README.md b/README.md index 49f4358b5..84f4f702a 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ Quick Install git clone https://github.com/jirislav/mailinabox.git cd mailinabox -git checkout v0.26-ubuntu16 +git checkout v0.26b-ubuntu16 # Run installation setup/start.sh diff --git a/management/mailconfig.py b/management/mailconfig.py index fc75e1ab7..82c922e4a 100755 --- a/management/mailconfig.py +++ b/management/mailconfig.py @@ -1,5 +1,14 @@ #!/usr/local/lib/mailinabox/env/bin/python +# NOTE: +# This script is run both using the system-wide Python 3 +# interpreter (/usr/bin/python3) as well as through the +# virtualenv (/usr/local/lib/mailinabox/env). So only +# import packages at the top level of this script that +# are installed in *both* contexts. We use the system-wide +# Python 3 in setup/questions.sh to validate the email +# address entered by the user. + import subprocess, shutil, os, sqlite3, re import utils from email_validator import validate_email as validate_email_, EmailNotValidError diff --git a/setup/bootstrap.sh b/setup/bootstrap.sh index 12c25f20c..84dae634c 100644 --- a/setup/bootstrap.sh +++ b/setup/bootstrap.sh @@ -7,7 +7,7 @@ ######################################################### if [ -z "$TAG" ]; then - TAG=v0.26 + TAG=v0.26b fi # Are we running as root? diff --git a/setup/management.sh b/setup/management.sh index 471a2f243..c3144f762 100755 --- a/setup/management.sh +++ b/setup/management.sh @@ -59,7 +59,7 @@ hide_output $venv/bin/pip install --upgrade setuptools hide_output $venv/bin/pip install --upgrade \ rtyaml "email_validator>=1.0.0" "free_tls_certificates>=0.1.3" "exclusiveprocess" \ flask dnspython python-dateutil \ - "idna>=2.0.0" "cryptography>=1.0.2" acme boto psutil + "idna>=2.0.0" "cryptography>=1.0.2" "acme==0.20.0" boto psutil # CONFIGURATION diff --git a/setup/munin.sh b/setup/munin.sh index 9b26ecb2a..7eb2423eb 100755 --- a/setup/munin.sh +++ b/setup/munin.sh @@ -38,8 +38,10 @@ chown munin. /var/log/munin/munin-cgi-html.log chown munin. /var/log/munin/munin-cgi-graph.log # ensure munin-node knows the name of this machine +# and reduce logging level to warning tools/editconf.py /etc/munin/munin-node.conf -s \ - host_name=$PRIMARY_HOSTNAME + host_name=$PRIMARY_HOSTNAME \ + log_level=1 # Update the activated plugins through munin's autoconfiguration. munin-node-configure --shell --remove-also 2>/dev/null | sh diff --git a/setup/questions.sh b/setup/questions.sh index 57da5c927..3d227d815 100644 --- a/setup/questions.sh +++ b/setup/questions.sh @@ -12,7 +12,9 @@ if [ -z "$NONINTERACTIVE" ]; then apt_get_quiet install dialog python3 python3-pip || exit 1 fi - # email_validator is repeated in setup/management.sh + # Installing email_validator is repeated in setup/management.sh, but in setup/management.sh + # we install it inside a virtualenv. In this script, we don't have the virtualenv yet + # so we install the python package globally. hide_output pip3 install "email_validator>=1.0.0" || exit 1 message_box "Mail-in-a-Box Installation" \ @@ -49,7 +51,7 @@ you really want. # user hit ESC/cancel exit fi - while ! management/mailconfig.py validate-email "$EMAIL_ADDR" + while ! python3 management/mailconfig.py validate-email "$EMAIL_ADDR" do input_box "Your Email Address" \ "That's not a valid email address.\n\nWhat email address are you setting this box up to manage?" \