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_KEY_DEFAULT = "/opt/patchcenter/keys/id_ed25519"
|
||||||
SSH_USER_DEFAULT = "root"
|
SSH_USER_DEFAULT = "root"
|
||||||
SSH_TIMEOUT = 12
|
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():
|
def _get_ssh_settings():
|
||||||
@ -62,11 +76,11 @@ BANNER_FILTERS = [
|
|||||||
|
|
||||||
|
|
||||||
def _resolve(hostname):
|
def _resolve(hostname):
|
||||||
for suffix in DNS_SUFFIXES:
|
for suffix in _get_dns_suffixes():
|
||||||
target = hostname + suffix
|
target = hostname + suffix
|
||||||
try:
|
try:
|
||||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
sock.settimeout(5)
|
sock.settimeout(2)
|
||||||
r = sock.connect_ex((target, 22))
|
r = sock.connect_ex((target, 22))
|
||||||
sock.close()
|
sock.close()
|
||||||
if r == 0:
|
if r == 0:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user