From: Daniel Wagner <[email protected]>

If DHCP has been started for the IPv4 IP configuration we should also
stop it later.

The only place where it has been done so far was in
__connman_network_clear_ipconfig() which is called from
service.c:set_ipconfig(). But this will only be called if the user
changes service settings.
---
 src/network.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/src/network.c b/src/network.c
index 58bfb16..06aec05 100644
--- a/src/network.c
+++ b/src/network.c
@@ -1075,6 +1075,18 @@ static gboolean set_connected(gpointer user_data)
 
                service = __connman_service_lookup_from_network(network);
 
+               switch (ipv4_method) {
+               case CONNMAN_IPCONFIG_METHOD_UNKNOWN:
+               case CONNMAN_IPCONFIG_METHOD_OFF:
+               case CONNMAN_IPCONFIG_METHOD_AUTO:
+               case CONNMAN_IPCONFIG_METHOD_FIXED:
+               case CONNMAN_IPCONFIG_METHOD_MANUAL:
+                       break;
+               case CONNMAN_IPCONFIG_METHOD_DHCP:
+                       __connman_dhcp_stop(network);
+                       break;
+               }
+
                __connman_service_ipconfig_indicate_state(service,
                                        CONNMAN_SERVICE_STATE_DISCONNECT,
                                        CONNMAN_IPCONFIG_TYPE_IPV4);
-- 
1.7.6

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to