Configurable DNS suffixes + 2s socket timeout for faster resolve
This commit is contained in:
parent
da1042fef4
commit
53545585f0
@ -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:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user