From 91f86a4c2ae64ea05e890862ad49f5d6e8094c89 Mon Sep 17 00:00:00 2001
From: Alexander Graf <ghostwheel42@users.noreply.github.com>
Date: Mon, 31 Oct 2022 23:57:51 +0100
Subject: [PATCH] Resolve using socrate function

---
 core/admin/mailu/internal/nginx.py | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/core/admin/mailu/internal/nginx.py b/core/admin/mailu/internal/nginx.py
index 870cc76d..43e4dd6a 100644
--- a/core/admin/mailu/internal/nginx.py
+++ b/core/admin/mailu/internal/nginx.py
@@ -1,12 +1,11 @@
 from mailu import models, utils
 from flask import current_app as app
+from socrate import system
 
 import re
 import urllib
 import ipaddress
-import socket
 import sqlalchemy.exc
-import tenacity
 
 SUPPORTED_AUTH_METHODS = ["none", "plain"]
 
@@ -146,13 +145,5 @@ def get_server(protocol, authenticated=False):
         ipaddress.ip_address(hostname)
     except:
         # hostname is not an ip address - so we need to resolve it
-        hostname = resolve_hostname(hostname)
+        hostname = system.resolve_hostname(hostname)
     return hostname, port
-
-@tenacity.retry(stop=tenacity.stop_after_attempt(100),
-                wait=tenacity.wait_random(min=2, max=5))
-def resolve_hostname(hostname):
-    """ This function uses system DNS to resolve a hostname.
-    It is capable of retrying in case the host is not immediately available
-    """
-    return socket.gethostbyname(hostname)