From 91b74775a5a8561c651237d1f0b8d99e3850e546 Mon Sep 17 00:00:00 2001 From: Robert Love Date: Wed, 7 Dec 2005 17:55:39 +0000 Subject: [PATCH] 2005-12-07 Robert Love * src/backends/NetworkManagerSuSE.c: In static configurations, if the supplied IP is invalid, fall back to DHCP. git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1143 4912f4e0-d625-0410-9fb7-b9a5a253dbdc --- ChangeLog | 5 +++++ src/backends/NetworkManagerSuSE.c | 19 ++++++++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6fd8dcbac6..bbf8b3a303 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-12-07 Robert Love + + * src/backends/NetworkManagerSuSE.c: In static configurations, if the + supplied IP is invalid, fall back to DHCP. + 2005-12-07 Dan Williams * Convert NETWORK_MODE_* constants to IW_MODE_* diff --git a/src/backends/NetworkManagerSuSE.c b/src/backends/NetworkManagerSuSE.c index 15ce196135..f6b5e3181f 100644 --- a/src/backends/NetworkManagerSuSE.c +++ b/src/backends/NetworkManagerSuSE.c @@ -494,16 +494,25 @@ found: if (!(sys_data->use_dhcp)) { - if ((buf = svGetValue (file, "IPADDR"))) + buf = svGetValue (file, "IPADDR"); + if (buf) { - nm_ip4_config_set_address (sys_data->config, inet_addr (buf)); - free (buf); + in_addr_t ip; + + ip = inet_addr (buf); + if (ip != -1) + nm_ip4_config_set_address (sys_data->config, ip); + else + error = TRUE; + free (buf); } else + error = TRUE; + + if (error) { nm_warning ("Network configuration for device '%s' was invalid: Non-DHCP configuration, " - "but no IP address specified. Will use DHCP instead.", nm_device_get_iface (dev)); - error = TRUE; + "but no IP address specified. Will use DHCP instead.", nm_device_get_iface (dev)); goto out; }