Smart DNS suffix order based on hostname convention (r=rec, p/i=prod)
This commit is contained in:
parent
53545585f0
commit
747e883d22
@ -75,8 +75,29 @@ BANNER_FILTERS = [
|
||||
]
|
||||
|
||||
|
||||
def _ordered_suffixes(hostname):
|
||||
"""Ordre des suffixes selon la 2e lettre du hostname (convention SANEF).
|
||||
r=recette, p=prod, i=infra. Les autres suffixes sont tentés en fallback."""
|
||||
all_suffixes = _get_dns_suffixes()
|
||||
second = hostname[1].lower() if len(hostname) > 1 else ""
|
||||
if second == "r":
|
||||
priority = [".sanef-rec.fr", ".sanef.groupe", ".sanef.fr"]
|
||||
elif second in ("p", "i"):
|
||||
priority = [".sanef.groupe", ".sanef-rec.fr", ".sanef.fr"]
|
||||
else:
|
||||
priority = [".sanef.groupe", ".sanef-rec.fr", ".sanef.fr"]
|
||||
ordered = []
|
||||
for suf in priority:
|
||||
if suf in all_suffixes and suf not in ordered:
|
||||
ordered.append(suf)
|
||||
for suf in all_suffixes:
|
||||
if suf not in ordered:
|
||||
ordered.append(suf)
|
||||
return ordered
|
||||
|
||||
|
||||
def _resolve(hostname):
|
||||
for suffix in _get_dns_suffixes():
|
||||
for suffix in _ordered_suffixes(hostname):
|
||||
target = hostname + suffix
|
||||
try:
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user