From cebc64a2800fd7b8072aff0b36c0cac454a5b678 Mon Sep 17 00:00:00 2001 From: Ionut Filip Date: Wed, 13 Feb 2019 11:48:32 +0200 Subject: [PATCH 1/3] Resolve HOST_WEBMAIL in admin --- core/admin/mailu/configuration.py | 3 +++ core/admin/mailu/internal/__init__.py | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/admin/mailu/configuration.py b/core/admin/mailu/configuration.py index 84fbbdde..3e2b3c21 100644 --- a/core/admin/mailu/configuration.py +++ b/core/admin/mailu/configuration.py @@ -46,6 +46,7 @@ DEFAULT_CONFIG = { 'WEBSITE': 'https://mailu.io', 'WEB_ADMIN': '/admin', 'WEB_WEBMAIL': '/webmail', + 'WEBMAIL': 'none', 'RECAPTCHA_PUBLIC_KEY': '', 'RECAPTCHA_PRIVATE_KEY': '', # Advanced settings @@ -79,6 +80,8 @@ class ConfigManager(dict): self.config['HOST_POP3'] = resolve(self.config['HOST_POP3']) self.config['HOST_AUTHSMTP'] = resolve(self.config['HOST_AUTHSMTP']) self.config['HOST_SMTP'] = resolve(self.config['HOST_SMTP']) + if self.config["WEBMAIL"] != "none": + self.config["HOST_WEBMAIL"] = resolve(self.config['HOST_WEBMAIL']) def __coerce_value(self, value): if isinstance(value, str) and value.lower() in ('true','yes'): diff --git a/core/admin/mailu/internal/__init__.py b/core/admin/mailu/internal/__init__.py index fcb19692..cf0ea3f7 100644 --- a/core/admin/mailu/internal/__init__.py +++ b/core/admin/mailu/internal/__init__.py @@ -1,6 +1,7 @@ from flask_limiter import RateLimitExceeded from mailu import utils +from flask import current_app as app import socket import flask @@ -23,7 +24,7 @@ def rate_limit_handler(e): def whitelist_webmail(): try: return flask.request.headers["Client-Ip"] ==\ - socket.gethostbyname("webmail") + app.config["HOST_WEBMAIL"] except: return False From f86e054d2772e11dc63b632d0788f2c0de6a35ab Mon Sep 17 00:00:00 2001 From: Ionut Filip Date: Wed, 13 Feb 2019 12:08:46 +0200 Subject: [PATCH 2/3] Add changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13c5a25f..44cf33f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ v1.6.1 - unreleased - Bug: Fix creating new fetched accounts - Enhancement: Missing wildcard option in alias flask command ([#869](https://github.com/Mailu/Mailu/issues/869)) - Bug: Fix poor performance if ANTIVIRUS is configured to none. +- Bug: Implement mailustart to resolve webmail in admin ([#716](https://github.com/Mailu/Mailu/issues/716)) v1.6.0 - 2019-01-18 ------------------- From dd7710951ed0f6ec51bfa804e0fff2ad89db2775 Mon Sep 17 00:00:00 2001 From: Ionut Filip Date: Fri, 8 Mar 2019 14:45:22 +0200 Subject: [PATCH 3/3] Replaced double quotes with single ones --- core/admin/mailu/configuration.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/admin/mailu/configuration.py b/core/admin/mailu/configuration.py index 3e2b3c21..14ead3dd 100644 --- a/core/admin/mailu/configuration.py +++ b/core/admin/mailu/configuration.py @@ -80,8 +80,8 @@ class ConfigManager(dict): self.config['HOST_POP3'] = resolve(self.config['HOST_POP3']) self.config['HOST_AUTHSMTP'] = resolve(self.config['HOST_AUTHSMTP']) self.config['HOST_SMTP'] = resolve(self.config['HOST_SMTP']) - if self.config["WEBMAIL"] != "none": - self.config["HOST_WEBMAIL"] = resolve(self.config['HOST_WEBMAIL']) + if self.config['WEBMAIL'] != 'none': + self.config['HOST_WEBMAIL'] = resolve(self.config['HOST_WEBMAIL']) def __coerce_value(self, value): if isinstance(value, str) and value.lower() in ('true','yes'):