From 3bd3aa286430d5f0f835a347ebb341c2ba9fb293 Mon Sep 17 00:00:00 2001 From: Levin Date: Thu, 15 Feb 2018 12:08:18 +0000 Subject: [PATCH 1/9] Added dns option for watchdog --- docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 0cd2c175..9730a285 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -329,6 +329,8 @@ services: - USE_WATCHDOG=${USE_WATCHDOG:-n} - WATCHDOG_NOTIFY_EMAIL=${WATCHDOG_NOTIFY_EMAIL} - MAILCOW_HOSTNAME=${MAILCOW_HOSTNAME} + dns: + - ${IPV4_NETWORK:-172.22.1}.254 networks: mailcow-network: aliases: From a3ae80079457f8e65b7cb62db2db0da15ca14577 Mon Sep 17 00:00:00 2001 From: eXtremeSHOK Date: Tue, 20 Feb 2018 02:42:23 +0200 Subject: [PATCH 2/9] BugFix: Outlook 2016 not using EAS Outlook 2016 autoconfig will not be EAS enabled, even though "$autodiscover_config['useEASforOutlook'] = 'yes'; Outlook 2016 gives the HTTP_USER_AGENT string of "Microsoft Office/16.0 (Windows NT 10.0; MAPI 16.0.9001; Pro)" Limiting the regex to only 15, causes the entire if statement to fail. For future proofing, this has been set to any version string containing 15,16,17,18,19 This has been tested using the "Test Email AutoConfiguration for Outlook 2016" --- data/web/autodiscover.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/web/autodiscover.php b/data/web/autodiscover.php index 2f5fb2c9..4c71a295 100644 --- a/data/web/autodiscover.php +++ b/data/web/autodiscover.php @@ -21,7 +21,7 @@ if (strpos($data, 'autodiscover/outlook/responseschema') !== false) { // Office for macOS does not support EAS strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') === false && // Outlook 2013 (version 15) or higher - preg_match('/(Outlook|Office).+15\./', $_SERVER['HTTP_USER_AGENT']) + preg_match('/(Outlook|Office).+1[5-9]\./', $_SERVER['HTTP_USER_AGENT']) ) { $autodiscover_config['autodiscoverType'] = 'activesync'; } From 48c85d08f2d3cab27d2f56f04a7d81c1f50593fe Mon Sep 17 00:00:00 2001 From: Lucky88888 <30867121+Lucky88888@users.noreply.github.com> Date: Mon, 26 Feb 2018 15:26:17 +0000 Subject: [PATCH 3/9] fix maxbytespersecond issue Fixed $maxbytespersecond configurable option. This was still not working because it took the DB value of maxage. "First GitHub update for me, so please tell if I should have something different. ;) " --- data/Dockerfiles/dovecot/imapsync_cron.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/Dockerfiles/dovecot/imapsync_cron.pl b/data/Dockerfiles/dovecot/imapsync_cron.pl index 47f9bbf7..25f4b42c 100755 --- a/data/Dockerfiles/dovecot/imapsync_cron.pl +++ b/data/Dockerfiles/dovecot/imapsync_cron.pl @@ -85,7 +85,7 @@ while ($row = $sth->fetchrow_arrayref()) { ($exclude eq "" ? () : ("--exclude", $exclude)), ($subfolder2 eq "" ? () : ('--subfolder2', $subfolder2)), ($maxage eq "0" ? () : ('--maxage', $maxage)), - ($maxbytespersecond eq "0" ? () : ('--maxbytespersecond', $maxage)), + ($maxbytespersecond eq "0" ? () : ('--maxbytespersecond', $maxbytespersecond)), ($delete2duplicates ne "1" ? () : ('--delete2duplicates')), ($delete1 ne "1" ? () : ('--delete')), ($delete2 ne "1" ? () : ('--delete2')), From 1219cf7dd1d1f2d879d0d5dff9f5324a0e109f91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Peters?= Date: Mon, 26 Feb 2018 17:45:18 +0100 Subject: [PATCH 4/9] [Dovecot, Compose] New image with fixed imapsync parameter --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7206fc9f..2c3272b5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -149,7 +149,7 @@ services: - sogo dovecot-mailcow: - image: mailcow/dovecot:1.20 + image: mailcow/dovecot:1.21 build: ./data/Dockerfiles/dovecot cap_add: - NET_BIND_SERVICE From a95b3ab76100f0d993cbb57da396ea715e52f1cd Mon Sep 17 00:00:00 2001 From: Pascal Gollor Date: Tue, 27 Feb 2018 11:13:21 +0100 Subject: [PATCH 5/9] fix vars.local hint --- data/web/lang/lang.de.php | 4 ++-- data/web/lang/lang.fr.php | 2 +- data/web/lang/lang.ru.php | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/web/lang/lang.de.php b/data/web/lang/lang.de.php index a874eea1..d1d1b51e 100644 --- a/data/web/lang/lang.de.php +++ b/data/web/lang/lang.de.php @@ -584,7 +584,7 @@ $lang['admin']['link'] = "Link"; $lang['admin']['remove_row'] = "Zeile entfernen"; $lang['admin']['add_row'] = "Zeile hinzufügen"; $lang['admin']['reset_default'] = "Auf Standard zurücksetzen"; -$lang['admin']['merged_vars_hint'] = 'Ausgegraute Zeilen wurden aus der Datei vars.inc.(local.)php gelesen und können nicht mittels UI verändert werden.'; +$lang['admin']['merged_vars_hint'] = 'Ausgegraute Zeilen wurden aus der Datei vars.(local.).inc.php gelesen und können nicht mittels UI verändert werden.'; $lang['mailbox']['waiting'] = "Wartend"; $lang['mailbox']['status'] = "Status"; $lang['mailbox']['running'] = "In Ausführung"; @@ -605,7 +605,7 @@ $lang['admin']['link'] = "Link"; $lang['admin']['remove_row'] = "Entfernen"; $lang['admin']['add_row'] = "Reihe hinzufügen"; $lang['admin']['reset_default'] = "Zurücksetzen auf Standard"; -$lang['admin']['merged_vars_hint'] = 'Ausgegraute Reihen wurden aus der Datei vars.inc.(local.)php gelesen und können hier nicht verändert werden.'; +$lang['admin']['merged_vars_hint'] = 'Ausgegraute Reihen wurden aus der Datei vars.(local.)inc.php gelesen und können hier nicht verändert werden.'; $lang['edit']['tls_policy'] = "TLS Policy ändern"; $lang['edit']['spam_score'] = "Einen benutzerdefiniterten Spam-Score festlegen"; diff --git a/data/web/lang/lang.fr.php b/data/web/lang/lang.fr.php index afa04f3b..eb6e306a 100644 --- a/data/web/lang/lang.fr.php +++ b/data/web/lang/lang.fr.php @@ -527,7 +527,7 @@ $lang['admin']['link'] = "Lien"; $lang['admin']['remove_row'] = "Retirer la ligne"; $lang['admin']['add_row'] = "Ajouter une ligne"; $lang['admin']['reset_default'] = "Remise à zéro par défaut"; -$lang['admin']['merged_vars_hint'] = "Les lignes grisées ont été importées depuis vars.inc.(local.)php et ne peuvent pas être modifiées."; +$lang['admin']['merged_vars_hint'] = "Les lignes grisées ont été importées depuis vars.(local.)inc.php et ne peuvent pas être modifiées."; $lang['edit']['tls_policy'] = "Changer la politique TLS"; $lang['edit']['spam_score'] = "Définir un score personnalisé de pourriel"; diff --git a/data/web/lang/lang.ru.php b/data/web/lang/lang.ru.php index 647fcb8b..bfd98b67 100644 --- a/data/web/lang/lang.ru.php +++ b/data/web/lang/lang.ru.php @@ -528,7 +528,7 @@ $lang['admin']['link'] = "Ссылка"; $lang['admin']['remove_row'] = "Удалить строку"; $lang['admin']['add_row'] = "Добавить строку"; $lang['admin']['reset_default'] = "Восстановить по умолчанию"; -$lang['admin']['merged_vars_hint'] = 'Серым цветом выделены строки полученные из vars.inc.(local.)php и не могут быть изменены.'; +$lang['admin']['merged_vars_hint'] = 'Серым цветом выделены строки полученные из vars.(local.)inc.php и не могут быть изменены.'; $lang['edit']['tls_policy'] = "Изменение политики TLS"; $lang['edit']['spam_score'] = "Задать индивидуальное определение спама"; From f38d9b8a1ec05e31f47628a342c1c3b7256489ba Mon Sep 17 00:00:00 2001 From: Pascal Gollor Date: Tue, 27 Feb 2018 11:20:04 +0100 Subject: [PATCH 6/9] remove duplicates --- data/web/lang/lang.de.php | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/data/web/lang/lang.de.php b/data/web/lang/lang.de.php index d1d1b51e..3d593010 100644 --- a/data/web/lang/lang.de.php +++ b/data/web/lang/lang.de.php @@ -574,17 +574,6 @@ $lang['diagnostics']['optional'] = 'Dieser Eintrag ist optional.'; $lang['diagnostics']['cname_from_a'] = 'Wert abgeleitet von A/AAAA Eintrag. Wird unterstützt, sofern der Eintrag auf die korrekte Ressource zeigt.'; $lang['admin']['relay_from'] = "Absenderadresse"; $lang['admin']['relay_run'] = "Test durchführen"; -$lang['admin']['customize'] = "Anpassung"; -$lang['admin']['change_logo'] = "Logo ändern"; -$lang['admin']['logo_info'] = "Die hochgeladene Grafik wird für die Navigationsleiste auf eine Höhe von 40px skaliert. Für die Startseite ist eine Skalierung auf eine maximale Breite von 250px programmiert. Eine frei skalierbare Grafik (etwa SVG) wird empfohlen."; -$lang['admin']['upload'] = "Hochladen"; -$lang['admin']['app_links'] = "App Links"; -$lang['admin']['app_name'] = "App Name"; -$lang['admin']['link'] = "Link"; -$lang['admin']['remove_row'] = "Zeile entfernen"; -$lang['admin']['add_row'] = "Zeile hinzufügen"; -$lang['admin']['reset_default'] = "Auf Standard zurücksetzen"; -$lang['admin']['merged_vars_hint'] = 'Ausgegraute Zeilen wurden aus der Datei vars.(local.).inc.php gelesen und können nicht mittels UI verändert werden.'; $lang['mailbox']['waiting'] = "Wartend"; $lang['mailbox']['status'] = "Status"; $lang['mailbox']['running'] = "In Ausführung"; From 55cd58f14cbf4f6473cea03a36e9bdfd3c8d3d7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Peters?= Date: Tue, 27 Feb 2018 15:00:27 +0100 Subject: [PATCH 7/9] Update imapsync_cron.pl --- data/Dockerfiles/dovecot/imapsync_cron.pl | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/data/Dockerfiles/dovecot/imapsync_cron.pl b/data/Dockerfiles/dovecot/imapsync_cron.pl index 25f4b42c..bb9cafba 100755 --- a/data/Dockerfiles/dovecot/imapsync_cron.pl +++ b/data/Dockerfiles/dovecot/imapsync_cron.pl @@ -76,16 +76,15 @@ while ($row = $sth->fetchrow_arrayref()) { "--subscribeall", "--nofoldersizes", "--skipsize", - "--buffersize 8192000", - "--skipheader 'X-*'", - "--split1 3000", - "--split2 3000", + "--buffersize", "8192000", + "--split1", "3000", + "--split2", "3000", "--fastio1", "--fastio2", ($exclude eq "" ? () : ("--exclude", $exclude)), ($subfolder2 eq "" ? () : ('--subfolder2', $subfolder2)), ($maxage eq "0" ? () : ('--maxage', $maxage)), - ($maxbytespersecond eq "0" ? () : ('--maxbytespersecond', $maxbytespersecond)), + ($maxbytespersecond eq "0" ? () : ('--maxbytespersecond', $maxbytespersecond)), ($delete2duplicates ne "1" ? () : ('--delete2duplicates')), ($delete1 ne "1" ? () : ('--delete')), ($delete2 ne "1" ? () : ('--delete2')), From 6d994cabf3779206b432f84f8bba59e14863170e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Peters?= Date: Tue, 27 Feb 2018 15:10:03 +0100 Subject: [PATCH 8/9] [Compose] New Dovecot image --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 2c3272b5..52c8fe6a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -149,7 +149,7 @@ services: - sogo dovecot-mailcow: - image: mailcow/dovecot:1.21 + image: mailcow/dovecot:1.22 build: ./data/Dockerfiles/dovecot cap_add: - NET_BIND_SERVICE From b6137cca2a23e32975693645fd41f25ea578b8eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Peters?= Date: Wed, 28 Feb 2018 11:13:17 +0100 Subject: [PATCH 9/9] [ACME] Do not delete private key ...when reg key is invalid. --- data/Dockerfiles/acme/docker-entrypoint.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/data/Dockerfiles/acme/docker-entrypoint.sh b/data/Dockerfiles/acme/docker-entrypoint.sh index 10898066..ced251ae 100755 --- a/data/Dockerfiles/acme/docker-entrypoint.sh +++ b/data/Dockerfiles/acme/docker-entrypoint.sh @@ -251,7 +251,6 @@ while true; do if [[ $ACME_RESPONSE =~ "No registration exists" ]]; then log_f "Registration keys are invalid, deleting old keys and restarting..." rm ${ACME_BASE}/acme/private/account.key - rm ${ACME_BASE}/acme/private/privkey.pem exec $(readlink -f "$0") fi if [[ -f ${ACME_BASE}/acme/private/${DATE}.bak/fullchain.pem ]] && [[ -f ${ACME_BASE}/acme/private/${DATE}.bak/privkey.pem ]]; then