From cebc64a2800fd7b8072aff0b36c0cac454a5b678 Mon Sep 17 00:00:00 2001 From: Ionut Filip Date: Wed, 13 Feb 2019 11:48:32 +0200 Subject: [PATCH] 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