Fixed bugs related with IPv6 50/122150/2
authorSeonah Moon <seonah1.moon@samsung.com>
Thu, 30 Mar 2017 09:11:12 +0000 (18:11 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Thu, 30 Mar 2017 09:21:36 +0000 (18:21 +0900)
Change-Id: I97e5fd2fc5e6acb29ad549fd4381edf8d5749488
Signed-off-by: Seonah Moon <seonah1.moon@samsung.com>
packaging/net-config.spec
src/network-state.c
src/signal-handler.c

index deb7d23..f2588c8 100755 (executable)
@@ -1,6 +1,6 @@
 Name:          net-config
 Summary:       TIZEN Network Configuration service
-Version:       1.1.104
+Version:       1.1.105
 Release:       2
 Group:         System/Network
 License:       Apache-2.0
index 1a6b775..64d6321 100755 (executable)
@@ -451,6 +451,12 @@ static void __netconfig_update_default_connection_info(void)
                        netconfig_set_vconf_str(VCONFKEY_NETWORK_IP, ip_addr);
                else
                        netconfig_set_vconf_str(VCONFKEY_NETWORK_IP, "");
+
+               if (ip_addr6 != NULL)
+                       netconfig_set_vconf_str(VCONFKEY_NETWORK_IP6, ip_addr6);
+               else
+                       netconfig_set_vconf_str(VCONFKEY_NETWORK_IP6, "");
+
                return;
        }
 
@@ -465,6 +471,7 @@ static void __netconfig_update_default_connection_info(void)
                netconfig_set_vconf_int(VCONFKEY_NETWORK_STATUS, VCONFKEY_NETWORK_OFF);
 
                netconfig_set_vconf_str(VCONFKEY_NETWORK_IP, "");
+               netconfig_set_vconf_str(VCONFKEY_NETWORK_IP6, "");
                netconfig_set_vconf_str(VCONFKEY_NETWORK_PROXY, "");
 
                netconfig_set_vconf_int(VCONFKEY_NETWORK_CONFIGURATION_CHANGE_IND, 0);
@@ -511,7 +518,7 @@ static void __netconfig_update_default_connection_info(void)
                if (g_strcmp0(old_ip, ip_addr) != 0 || old_ip == NULL) {
                        if (ip_addr != NULL)
                                netconfig_set_vconf_str(VCONFKEY_NETWORK_IP, ip_addr);
-                       else
+                       else if (strlen(old_ip) > 0)
                                netconfig_set_vconf_str(VCONFKEY_NETWORK_IP, "");
                }
                g_free(old_ip);
@@ -519,7 +526,7 @@ static void __netconfig_update_default_connection_info(void)
                if (g_strcmp0(old_ip6, ip_addr6) != 0 || old_ip6 == NULL) {
                        if (ip_addr6 != NULL)
                                netconfig_set_vconf_str(VCONFKEY_NETWORK_IP6, ip_addr6);
-                       else
+                       else if (strlen(old_ip6) > 0)
                                netconfig_set_vconf_str(VCONFKEY_NETWORK_IP6, "");
                }
                g_free(old_ip6);
index 442680a..f06136a 100755 (executable)
@@ -111,7 +111,7 @@ static void __netconfig_extract_ipv4_signal_data(GVariant *dictionary, const gch
 
                        DBG("Old IPv4.Address [%s] Received new IPv4.Address [%s]", old_ip, value);
                        if (g_strcmp0(old_ip, value) != 0) {
-                               if (value == NULL)
+                               if (value == NULL && strlen(old_ip) > 0)
                                        vconf_set_str(VCONFKEY_NETWORK_IP, "");
                                else
                                        vconf_set_str(VCONFKEY_NETWORK_IP, value);
@@ -132,11 +132,11 @@ static void __netconfig_extract_ipv6_signal_data(GVariant *dictionary, const gch
        while (g_variant_iter_loop(&iter, "{sv}", &key, &var)) {
                if (g_strcmp0(key, "Address") == 0)  {
                        value = g_variant_get_string(var, NULL);
-                       char *old_ip6 = vconf_get_str(VCONFKEY_NETWORK_IP);
+                       char *old_ip6 = vconf_get_str(VCONFKEY_NETWORK_IP6);
 
                        DBG("Old IPv6.Address [%s] Received new IPv6.Address [%s]", old_ip6, value);
                        if (g_strcmp0(old_ip6, value) != 0) {
-                               if (value == NULL)
+                               if (value == NULL && strlen(old_ip6) > 0)
                                        vconf_set_str(VCONFKEY_NETWORK_IP6, "");
                                else
                                        vconf_set_str(VCONFKEY_NETWORK_IP6, value);