From ab5d78f675700be011e8b9ad7bdceedc84b0a03e Mon Sep 17 00:00:00 2001 From: andryyy Date: Sat, 6 Jun 2020 01:12:31 +0200 Subject: [PATCH] [Postfix] Fix "disallow login": A catch-all will not catch mail for mailboxes with disallowed login --- data/Dockerfiles/postfix/postfix.sh | 2 +- data/web/inc/functions.mailbox.inc.php | 1 + docker-compose.yml | 2 +- helper-scripts/nextcloud.sh | 6 +++--- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/data/Dockerfiles/postfix/postfix.sh b/data/Dockerfiles/postfix/postfix.sh index 99be3666..db42139c 100755 --- a/data/Dockerfiles/postfix/postfix.sh +++ b/data/Dockerfiles/postfix/postfix.sh @@ -206,7 +206,7 @@ hosts = unix:/var/run/mysqld/mysqld.sock dbname = ${DBNAME} query = SELECT goto FROM alias WHERE address='%s' - AND active='1'; + AND (active='1' OR active='2'); EOF cat < /opt/postfix/conf/sql/mysql_recipient_bcc_maps.cf diff --git a/data/web/inc/functions.mailbox.inc.php b/data/web/inc/functions.mailbox.inc.php index 7a4dd918..5f091743 100644 --- a/data/web/inc/functions.mailbox.inc.php +++ b/data/web/inc/functions.mailbox.inc.php @@ -2472,6 +2472,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) { ':username' => $username )); } + // We could either set alias = 1 if alias = 2 or tune the Postfix alias table (that's what we did, TODO: to it the other way) $stmt = $pdo->prepare("UPDATE `alias` SET `active` = :active WHERE `address` = :address"); diff --git a/docker-compose.yml b/docker-compose.yml index f793ddd4..769694bd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -251,7 +251,7 @@ services: - dovecot postfix-mailcow: - image: mailcow/postfix:1.49 + image: mailcow/postfix:1.50 depends_on: - mysql-mailcow volumes: diff --git a/helper-scripts/nextcloud.sh b/helper-scripts/nextcloud.sh index c1cebd46..284a3563 100755 --- a/helper-scripts/nextcloud.sh +++ b/helper-scripts/nextcloud.sh @@ -69,11 +69,11 @@ elif [[ ${NC_UPDATE} == "y" ]]; then if ! grep -q 'installed: true' <<<$(docker exec -it -u www-data $(docker ps -f name=php-fpm-mailcow -q) bash -c "/web/nextcloud/occ --no-warnings status"); then echo "Nextcloud seems not to be installed." exit 1 - elif ! grep -q 'version: 18\.' <<<$(docker exec -it -u www-data $(docker ps -f name=php-fpm-mailcow -q) bash -c "/web/nextcloud/occ --no-warnings status"); then + elif ! grep -q 'version: 19\.' <<<$(docker exec -it -u www-data $(docker ps -f name=php-fpm-mailcow -q) bash -c "/web/nextcloud/occ --no-warnings status"); then echo "Cannot upgrade to new major version, please update manually." exit 1 else - curl -L# -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/latest-18.tar.bz2" || { echo "Failed to download Nextcloud archive."; exit 1; } \ + curl -L# -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/latest-19.tar.bz2" || { echo "Failed to download Nextcloud archive."; exit 1; } \ && tar -xjf nextcloud.tar.bz2 -C ./data/web/ \ && rm nextcloud.tar.bz2 \ && mkdir -p ./data/web/nextcloud/data \ @@ -94,7 +94,7 @@ elif [[ ${NC_INSTALL} == "y" ]]; then ADMIN_NC_PASS=$(