mirror of
https://github.com/GNS3/gns3-server
synced 2024-11-24 17:28:08 +00:00
Do not connect GNS3 to remote server via 169.254.X.X
This commit is contained in:
parent
5f988bae2f
commit
ca6f014207
@ -601,6 +601,9 @@ class Compute:
|
|||||||
# Skip if no ip or no netmask (vbox when stopped set a null netmask)
|
# Skip if no ip or no netmask (vbox when stopped set a null netmask)
|
||||||
if len(this_interface["ip_address"]) == 0 or this_interface["netmask"] is None:
|
if len(this_interface["ip_address"]) == 0 or this_interface["netmask"] is None:
|
||||||
continue
|
continue
|
||||||
|
# Ignore 169.254 network because it's for Windows special purpose
|
||||||
|
if this_interface["ip_address"].startswith("169.254."):
|
||||||
|
continue
|
||||||
|
|
||||||
this_network = ipaddress.ip_network("{}/{}".format(this_interface["ip_address"], this_interface["netmask"]), strict=False)
|
this_network = ipaddress.ip_network("{}/{}".format(this_interface["ip_address"], this_interface["netmask"]), strict=False)
|
||||||
|
|
||||||
|
@ -457,3 +457,29 @@ def test_get_ip_on_same_subnet(controller, async_run):
|
|||||||
]
|
]
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
async_run(compute1.get_ip_on_same_subnet(compute2))
|
async_run(compute1.get_ip_on_same_subnet(compute2))
|
||||||
|
|
||||||
|
# Ignore 169.254 network because it's for Windows special purpose
|
||||||
|
compute2 = Compute("compute2", host="192.168.1.2", controller=controller)
|
||||||
|
compute1 = Compute("compute1", host="192.168.2.1", controller=controller)
|
||||||
|
compute1._interfaces_cache = [
|
||||||
|
{
|
||||||
|
"ip_address": "127.0.0.1",
|
||||||
|
"netmask": "255.255.255.255"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ip_address": "169.254.1.1",
|
||||||
|
"netmask": "255.255.0.0"
|
||||||
|
},
|
||||||
|
]
|
||||||
|
compute2._interfaces_cache = [
|
||||||
|
{
|
||||||
|
"ip_address": "127.0.0.1",
|
||||||
|
"netmask": "255.255.255.255"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ip_address": "169.254.2.1",
|
||||||
|
"netmask": "255.255.0.0"
|
||||||
|
},
|
||||||
|
]
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
assert async_run(compute1.get_ip_on_same_subnet(compute2))
|
||||||
|
Loading…
Reference in New Issue
Block a user