fix: skip invalid/unresolvable SSH targets before connect (0.11.2)
Do not use human display_name as SSH host; skip short names that do not resolve on SAC (ubabuba -> IPv4 only).
This commit is contained in:
@@ -78,6 +78,35 @@ def test_probe_ssh_connection_non_root_does_not_use_sudo(monkeypatch):
|
||||
assert "sudo" not in captured[0]
|
||||
|
||||
|
||||
def test_iter_ssh_targets_skips_human_display_name(monkeypatch):
|
||||
monkeypatch.setattr(ssh_connect, "_ssh_name_resolves", lambda name: True)
|
||||
host = Host(
|
||||
hostname="ubabuba",
|
||||
display_name="Ubabuba Kalina (10.10.36.9)",
|
||||
os_family="linux",
|
||||
product="ssh-monitor",
|
||||
ipv4="10.10.36.9",
|
||||
)
|
||||
targets = iter_ssh_targets(host)
|
||||
assert "Ubabuba Kalina (10.10.36.9)" not in targets
|
||||
assert "10.10.36.9" in targets
|
||||
|
||||
|
||||
def test_iter_ssh_targets_skips_unresolvable_hostname(monkeypatch):
|
||||
def resolves(name: str) -> bool:
|
||||
return ssh_connect._is_ipv4(name)
|
||||
|
||||
monkeypatch.setattr(ssh_connect, "_ssh_name_resolves", resolves)
|
||||
host = Host(
|
||||
hostname="ubabuba",
|
||||
os_family="linux",
|
||||
product="ssh-monitor",
|
||||
ipv4="10.10.36.9",
|
||||
)
|
||||
targets = iter_ssh_targets(host)
|
||||
assert targets == ["10.10.36.9"]
|
||||
|
||||
|
||||
def test_iter_ssh_targets_rejects_windows():
|
||||
host = Host(hostname="PC", os_family="windows", product="rdp-login-monitor", ipv4="1.2.3.4")
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user