From a77d523cedc6bb34fea0ed178dd4992765434aef Mon Sep 17 00:00:00 2001
From: Julian Leucker <leuckerj@gmail.com>
Date: Tue, 24 Jan 2023 19:12:14 +0100
Subject: [PATCH] Fix internal ip validation fro maintenace mode

---
 aleksis/core/settings.py          | 2 +-
 aleksis/core/util/core_helpers.py | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/aleksis/core/settings.py b/aleksis/core/settings.py
index c8c81525b..a5aa3ab40 100644
--- a/aleksis/core/settings.py
+++ b/aleksis/core/settings.py
@@ -696,7 +696,7 @@ MAINTENANCE_MODE = _settings.get("maintenance.enabled", None)
 MAINTENANCE_MODE_IGNORE_IP_ADDRESSES = _settings.get(
     "maintenance.ignore_ips", _settings.get("maintenance.internal_ips", [])
 )
-MAINTENANCE_MODE_GET_CLIENT_IP_ADDRESS = "ipware.ip.get_ip"
+MAINTENANCE_MODE_GET_CLIENT_IP_ADDRESS = "aleksis.core.util.core_helpers.get_ip"
 MAINTENANCE_MODE_IGNORE_SUPERUSER = True
 MAINTENANCE_MODE_STATE_FILE_NAME = _settings.get(
     "maintenance.statefile", "maintenance_mode_state.txt"
diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py
index 511b6ada1..c7f89fb5b 100644
--- a/aleksis/core/util/core_helpers.py
+++ b/aleksis/core/util/core_helpers.py
@@ -482,3 +482,10 @@ class OOTRouter:
 
 
 post_invalidation.connect(OOTRouter._invalidate_cachalot)
+
+
+def get_ip(*args, **kwargs):
+    """Recreate ipware.ip.get_ip as it was replaced by get_client_ip."""
+    from ipware.ip import get_client_ip  # noqa
+
+    return get_client_ip(*args, **kwargs)[0]
-- 
GitLab