diff --git a/app/services/qualys_service.py b/app/services/qualys_service.py index d795bc2..2e206ac 100644 --- a/app/services/qualys_service.py +++ b/app/services/qualys_service.py @@ -627,8 +627,18 @@ def _refresh_all_agents_impl(db): fqdn = (parse_xml(block, "fqdn") or [""])[0] netbios = (parse_xml(block, "netbiosName") or [""])[0] os_val = (parse_xml(block, "os") or [""])[0] - # Priorite FQDN > NetBIOS > name (display Qualys peut etre tronque) - hostname_src = fqdn or netbios or name + # Priorite name (Qualys display) sauf si c'est une IP ou vide -> FQDN -> NetBIOS + import re as _re + def _valid(h): + if not h: + return False + h = h.strip().lower() + if h in ("localhost", ""): + return False + if _re.match(r"^\d+\.\d+\.\d+\.\d+$", h): + return False + return True + hostname_src = name if _valid(name.split(".")[0]) else (fqdn if _valid(fqdn.split(".")[0]) else netbios) hostname = hostname_src.split(".")[0].lower() if hostname_src else "" agent_status = ""