From: Pasi Sjöholm <[email protected]>

It was possible with IPv6-only networks to have eternal
associating/connecting variable set as true, especially
when ipv4 configuration method was OFF.
---
 src/network.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/network.c b/src/network.c
index db19cb9..d30520e 100644
--- a/src/network.c
+++ b/src/network.c
@@ -342,6 +342,8 @@ static int manual_ipv6_set(struct connman_network *network,
 
        connman_device_set_disconnected(network->device, false);
 
+       connman_network_set_associating(network, false);
+
        network->connecting = false;
 
        return 0;
@@ -386,10 +388,6 @@ static int dhcpv6_set_addresses(struct connman_network 
*network)
        if (!service)
                goto err;
 
-       connman_network_set_associating(network, false);
-
-       network->connecting = false;
-
        ipconfig_ipv6 = __connman_service_get_ip6config(service);
        err = __connman_ipconfig_address_add(ipconfig_ipv6);
        if (err < 0)
@@ -511,6 +509,10 @@ static void check_dhcpv6(struct nd_router_advert *reply,
        if (service) {
                connman_service_create_ip6config(service, network->index);
 
+               network->connecting = false;
+
+               connman_network_set_associating(network, false);
+
                __connman_service_ipconfig_indicate_state(service,
                                        CONNMAN_SERVICE_STATE_CONFIGURATION,
                                        CONNMAN_IPCONFIG_TYPE_IPV6);
-- 
2.1.0

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

Reply via email to