From 6f267cfe4ad7c1f977ffa4cab261239b53f2c122 Mon Sep 17 00:00:00 2001 From: kamuri Date: Tue, 17 Oct 2017 21:17:58 +0200 Subject: [PATCH] fix for issue #747 (NOT TESTED YET) Need to test this. Dont merge it yet. --- target/check_for_changes.sh | 38 +++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/target/check_for_changes.sh b/target/check_for_changes.sh index 215ef76d..c3245eec 100755 --- a/target/check_for_changes.sh +++ b/target/check_for_changes.sh @@ -6,30 +6,30 @@ sleep 5 # change directory cd /tmp/docker-mailserver -# Update / generate after start -echo 'Makeing new chksum' -sha512sum --tag postfix-accounts.cf --tag postfix-virtual.cf > chksum - -# Run forever -while true; do - -# Check postfix-virtual.cf exist else break -if [ ! -f postfix-virtual.cf ]; then - echo 'postfix-virtual.cf is missing! exit!' - break; -fi - # Check postfix-accounts.cf exist else break if [ ! -f postfix-accounts.cf ]; then - echo 'postfix-accounts.cf is missing! exit!' - break; + echo 'postfix-accounts.cf is missing! This should not run! Exit!' + exit fi +# Update / generate after start +echo 'Makeing new chksum' +if [ -f postfix-virtual.cf ]; then + sha512sum --tag postfix-accounts.cf --tag postfix-virtual.cf > chksum +else + sha512sum --tag postfix-accounts.cf > chksum +fi +# Run forever +while true; do # Get chksum and check it. chksum=$(sha512sum -c chksum) resu_acc=${chksum:21:2} -resu_vir=${chksum:44:2} +if [ -f postfix-virtual.cf ]; then + resu_vir=${chksum:44:2} +else + resu_vir="OK" +fi if ! [ $resu_acc = "OK" ] || ! [ $resu_vir = "OK" ]; then echo "CHANGE DETECT" @@ -74,6 +74,7 @@ if ! [ $resu_acc = "OK" ] || ! [ $resu_vir = "OK" ]; then echo ${domain} >> /tmp/vhost.tmp done fi + if [ -f postfix-virtual.cf ]; then # regen postfix aliases echo -n > /etc/postfix/virtual echo -n > /etc/postfix/regexp @@ -97,6 +98,7 @@ if ! [ $resu_acc = "OK" ] || ! [ $resu_vir = "OK" ]; then s/$/ regexp:\/etc\/postfix\/regexp/ }' /etc/postfix/main.cf fi + fi # Set vhost if [ -f /tmp/vhost.tmp ]; then cat /tmp/vhost.tmp | sort | uniq > /etc/postfix/vhost && rm /tmp/vhost.tmp @@ -116,7 +118,11 @@ if ! [ $resu_acc = "OK" ] || ! [ $resu_vir = "OK" ]; then fi echo 'Update chksum' + if [ -f postfix-virtual.cf ]; then sha512sum --tag postfix-accounts.cf --tag postfix-virtual.cf > chksum + else + sha512sum --tag postfix-accounts.cf > chksum + fi fi sleep 1