diff --git a/ChangeLog b/ChangeLog index 565bcbadd2..b8e954333b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-07-05 Robert Love + + * src/NetworkManagerSystem.c: bail out if asked to set a gateway of + zero. + 2005-07-05 Robert Love * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure diff --git a/src/NetworkManagerSystem.c b/src/NetworkManagerSystem.c index 5de42ee0b6..24662b4591 100644 --- a/src/NetworkManagerSystem.c +++ b/src/NetworkManagerSystem.c @@ -732,6 +732,14 @@ static gboolean nm_system_device_set_ip4_route_with_iface (NMDevice *dev, const g_return_val_if_fail (iface != NULL, FALSE); + /* + * Zero is not a legal gateway and the ioctl will fail. But zero is a + * way of saying "no route" so we just return here. Hopefully the + * caller flushed the routes, first. + */ + if (ip4_gateway == 0) + return TRUE; + if ((sk = nm_dev_sock_open (dev, NETWORK_CONTROL, __FUNCTION__, NULL)) == NULL) return FALSE;