Configurable DNS suffixes + 2s socket timeout for faster resolve

This commit is contained in:
Pierre & Lumière 2026-04-14 12:58:54 +02:00
parent da1042fef4
commit 53545585f0

View File

@ -14,7 +14,21 @@ except ImportError:
SSH_KEY_DEFAULT = "/opt/patchcenter/keys/id_ed25519"
SSH_USER_DEFAULT = "root"
SSH_TIMEOUT = 12
DNS_SUFFIXES = ["", ".mpcz.fr", ".sanef.groupe", ".sanef-rec.fr", ".sanef.fr"]
DNS_SUFFIXES_DEFAULT = ["", ".mpcz.fr", ".sanef.groupe", ".sanef-rec.fr", ".sanef.fr"]
def _get_dns_suffixes():
try:
from .secrets_service import get_secret
from ..database import SessionLocal
db = SessionLocal()
val = get_secret(db, "ssh_dns_suffixes")
db.close()
if val:
return [x.strip() for x in val.split(",") if x.strip() or x == ""]
except Exception:
pass
return DNS_SUFFIXES_DEFAULT
def _get_ssh_settings():
@ -62,11 +76,11 @@ BANNER_FILTERS = [
def _resolve(hostname):
for suffix in DNS_SUFFIXES:
for suffix in _get_dns_suffixes():
target = hostname + suffix
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(5)
sock.settimeout(2)
r = sock.connect_ex((target, 22))
sock.close()
if r == 0: