Merge "[connman] Added DBus method to get scanning status." into tizen accepted/tizen/unified/20170406.173418 submit/tizen/20170406.062437
authortaesub kim <taesub.kim@samsung.com>
Thu, 6 Apr 2017 01:58:07 +0000 (18:58 -0700)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Thu, 6 Apr 2017 01:58:08 +0000 (18:58 -0700)
gdhcp/client.c
packaging/connman.spec
src/connman.h
src/dhcp.c
src/dhcpv6.c
src/ipconfig.c
src/manager.c
src/network.c
src/rtnl.c
src/service.c

index 9b2de9d..7e04176 100755 (executable)
 #define DISCOVER_TIMEOUT 5
 #define DISCOVER_RETRIES 6
 
+#if defined TIZEN_EXT
+#define REQUEST_TIMEOUT 1
+#else
 #define REQUEST_TIMEOUT 5
+#endif
 #define REQUEST_RETRIES 3
 
+#if defined TIZEN_EXT
+#define DISCOVER_TIMEOUT_WIFI 1
+#define DISCOVER_RETRIES_WIFI 10
+static int dhcp_discover_timeout = DISCOVER_TIMEOUT_WIFI;
+static int dhcp_discover_max_retry = DISCOVER_RETRIES_WIFI;
+
+void set_dhcp_discover_timeout(int timeout_value)
+{
+       dhcp_discover_timeout = timeout_value;
+}
+
+void set_dhcp_discover_retry_count(int retry_count)
+{
+       dhcp_discover_max_retry = retry_count;
+}
+#endif
+
 typedef enum _listen_mode {
        L_NONE,
        L2,
@@ -833,16 +854,19 @@ int g_dhcpv6_client_get_timeouts(GDHCPClient *dhcp_client,
                return -EINVAL;
 
        if (T1)
-               *T1 = dhcp_client->T1;
+               *T1 = (dhcp_client->expire == 0xffffffff) ? 0xffffffff:
+                       dhcp_client->T1;
 
        if (T2)
-               *T2 = dhcp_client->T2;
+               *T2 = (dhcp_client->expire == 0xffffffff) ? 0xffffffff:
+                       dhcp_client->T2;
 
        if (started)
                *started = dhcp_client->last_request;
 
        if (expire)
-               *expire = dhcp_client->last_request + dhcp_client->expire;
+               *expire = (dhcp_client->expire == 0xffffffff) ? 0xffffffff:
+                       dhcp_client->last_request + dhcp_client->expire;
 
        return 0;
 }
@@ -2688,6 +2712,11 @@ int g_dhcp_client_start(GDHCPClient *dhcp_client, const char *last_address)
        uint32_t addr;
        uint64_t rand;
 
+#if defined TIZEN_EXT
+       int discover_retry = 0;
+       int timeout = 0;
+#endif
+
        remove_timeouts(dhcp_client);
 
        if (dhcp_client->type == G_DHCP_IPV6) {
@@ -2774,13 +2803,32 @@ int g_dhcp_client_start(GDHCPClient *dhcp_client, const char *last_address)
                return 0;
        }
 
+#if defined TIZEN_EXT
+       if (g_ascii_strncasecmp(dhcp_client->interface, "wlan", 4)
+                       == 0) {
+               discover_retry = DISCOVER_RETRIES_WIFI;
+               timeout = DISCOVER_TIMEOUT_WIFI;
+       } else {
+               discover_retry = DISCOVER_RETRIES;
+               timeout = DISCOVER_TIMEOUT;
+       }
+
+       debug(dhcp_client, "[DHCPC] Discover retry/total : [%d]/[%d] timeout [%d]",
+                       dhcp_client->retry_times, discover_retry, timeout);
+#endif
+
+
        if (dhcp_client->type == G_DHCP_IPV4LL) {
                dhcp_client->state = INIT_SELECTING;
                ipv4ll_start(dhcp_client);
                return 0;
        }
 
-       if (dhcp_client->retry_times == DISCOVER_RETRIES) {
+#if defined TIZEN_EXT
+               if (dhcp_client->retry_times == discover_retry) {
+#else
+               if (dhcp_client->retry_times == DISCOVER_RETRIES) {
+#endif
                if (dhcp_client->no_lease_cb)
                        dhcp_client->no_lease_cb(dhcp_client,
                                                dhcp_client->no_lease_data);
@@ -2823,7 +2871,11 @@ int g_dhcp_client_start(GDHCPClient *dhcp_client, const char *last_address)
 
                dhcp_client->timeout = g_timeout_add_seconds_full(
                                                                G_PRIORITY_HIGH,
+#if defined TIZEN_EXT
+                                                               timeout,
+#else
                                                                REQUEST_TIMEOUT,
+#endif
                                                                reboot_timeout,
                                                                dhcp_client,
                                                                NULL);
@@ -2832,7 +2884,11 @@ int g_dhcp_client_start(GDHCPClient *dhcp_client, const char *last_address)
        send_discover(dhcp_client, addr);
 
        dhcp_client->timeout = g_timeout_add_seconds_full(G_PRIORITY_HIGH,
+#if defined TIZEN_EXT
+                                                       timeout,
+#else
                                                        DISCOVER_TIMEOUT,
+#endif
                                                        discover_timeout,
                                                        dhcp_client,
                                                        NULL);
index 3ad471b..6f12bbb 100755 (executable)
@@ -199,10 +199,6 @@ rm %{buildroot}%{_sysconfdir}/dbus-1/system.d/*.conf
 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d/
 cp src/connman.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
 
-#License
-mkdir -p %{buildroot}%{_datadir}/license
-cp COPYING %{buildroot}%{_datadir}/license/connman
-
 %if %{with connman_vpnd}
 cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
 %endif
@@ -246,7 +242,7 @@ systemctl daemon-reload
 %attr(644,root,root) %{_libdir}/systemd/system/connman.socket
 %attr(644,root,root) %{_libdir}/systemd/system/sockets.target.wants/connman.socket
 %endif
-%{_datadir}/license/connman
+%license COPYING
 %{upgrade_script_path}/%{upgrade_script_filename}
 
 %files test
@@ -264,6 +260,7 @@ systemctl daemon-reload
 %{_libdir}/connman/plugins-vpn/openconnect.so
 %{_libdir}/connman/scripts/openconnect-script
 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
+%license COPYING
 %endif
 
 %if %{with connman_openvpn}
@@ -272,6 +269,7 @@ systemctl daemon-reload
 %{_libdir}/%{name}/plugins-vpn/openvpn.so
 %{_libdir}/%{name}/scripts/openvpn-script
 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
+%license COPYING
 %endif
 
 %if %{with connman_vpnd}
@@ -283,6 +281,7 @@ systemctl daemon-reload
 %dir %{_libdir}/%{name}/plugins-vpn
 %config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
+%license COPYING
 %endif
 
 %post extension-tv
@@ -290,6 +289,7 @@ mv -f %{_libdir}/systemd/system/connman.service.tv %{_libdir}/systemd/system/con
 mv -f %{_sysconfdir}/connman/main.conf.tv %{_sysconfdir}/connman/main.conf
 %files extension-tv
 %attr(644,root,root) %{_sysconfdir}/connman/main.conf.tv
+%license COPYING
 %if "%{?_lib}" == "lib64"
 %attr(644,root,root) %{_unitdir}/connman.service.tv
 %else
@@ -299,3 +299,5 @@ mv -f %{_sysconfdir}/connman/main.conf.tv %{_sysconfdir}/connman/main.conf
 mv -f %{_sysconfdir}/connman/main.conf.ivi %{_sysconfdir}/connman/main.conf
 %files extension-ivi
 %attr(644,root,root) %{_sysconfdir}/connman/main.conf.ivi
+%license COPYING
+
index 499f38d..7c44d1c 100755 (executable)
@@ -455,6 +455,11 @@ enum __connman_dhcpv6_status {
        CONNMAN_DHCPV6_STATUS_RESTART  = 2,
 };
 
+#if defined TIZEN_EXT
+void set_dhcp_discover_timeout(int timeout_value);
+void set_dhcp_discover_retry_count(int retry_count);
+#endif
+
 typedef void (* dhcpv6_cb) (struct connman_network *network,
                        enum __connman_dhcpv6_status status, gpointer data);
 
@@ -670,6 +675,15 @@ int __connman_service_load_modifiable(struct connman_service *service);
 
 void __connman_service_list_struct(DBusMessageIter *iter);
 
+#if defined TIZEN_EXT
+int connman_service_get_ipv6_dns_method(struct connman_service *service);
+enum connman_dnsconfig_method {
+       CONNMAN_DNSCONFIG_METHOD_UNKNOWN = 0,
+       CONNMAN_DNSCONFIG_METHOD_MANUAL  = 1,
+       CONNMAN_DNSCONFIG_METHOD_DHCP    = 2,
+};
+#endif
+
 struct connman_service *__connman_service_lookup_from_index(int index);
 struct connman_service *__connman_service_lookup_from_ident(const char *identifier);
 struct connman_service *__connman_service_create_from_network(struct connman_network *network);
@@ -904,11 +918,6 @@ unsigned int __connman_rtnl_update_interval_remove(unsigned int interval);
 int __connman_rtnl_request_update(void);
 int __connman_rtnl_send(const void *buf, size_t len);
 
-#if defined TIZEN_EXT
-void rtnl_nameserver_add_all(struct connman_service *service,
-                       enum connman_ipconfig_type type);
-#endif
-
 bool __connman_session_policy_autoconnect(enum connman_service_connect_reason reason);
 
 int __connman_session_create(DBusMessage *msg);
index 5b0beab..32ffcd9 100755 (executable)
@@ -257,9 +257,12 @@ static void no_lease_cb(GDHCPClient *dhcp_client, gpointer user_data)
        DBG("No lease available ipv4ll %d client %p", ipv4ll_running,
                dhcp->ipv4ll_client);
 
+       if (dhcp->timeout > 0)
+               g_source_remove(dhcp->timeout);
+
        dhcp->timeout = g_timeout_add_seconds(RATE_LIMIT_INTERVAL,
-                                               dhcp_retry_cb,
-                                               dhcp);
+                       dhcp_retry_cb,
+                       dhcp);
        if (ipv4ll_running)
                return;
 
@@ -634,7 +637,9 @@ int __connman_dhcp_start(struct connman_ipconfig *ipconfig,
                        struct connman_network *network, dhcp_cb callback,
                        gpointer user_data)
 {
+#if !defined TIZEN_EXT
        const char *last_addr = NULL;
+#endif
        struct connman_dhcp *dhcp;
        int err;
 
@@ -648,7 +653,9 @@ int __connman_dhcp_start(struct connman_ipconfig *ipconfig,
                        return -EINVAL;
        }
 
+#if !defined TIZEN_EXT
        last_addr = __connman_ipconfig_get_dhcp_address(ipconfig);
+#endif
 
        dhcp = g_hash_table_lookup(ipconfig_table, ipconfig);
        if (!dhcp) {
@@ -680,7 +687,14 @@ int __connman_dhcp_start(struct connman_ipconfig *ipconfig,
        dhcp->callback = callback;
        dhcp->user_data = user_data;
 
+#if defined TIZEN_EXT
+       DBG("Start DHCP with DHCPDISCOVER request");
+
+       return g_dhcp_client_start(dhcp->dhcp_client, NULL);
+#else
        return g_dhcp_client_start(dhcp->dhcp_client, last_addr);
+#endif
+
 }
 
 void __connman_dhcp_stop(struct connman_ipconfig *ipconfig)
index 3d66ef3..bf4da3e 100755 (executable)
@@ -417,7 +417,9 @@ static int dhcpv6_info_request(struct connman_dhcpv6 *dhcp)
                return -EINVAL;
        }
 
+#if !defined TIZEN_EXT
        if (getenv("CONNMAN_DHCPV6_DEBUG"))
+#endif
                g_dhcp_client_set_debug(dhcp_client, dhcpv6_debug, "DHCPv6");
 
        service = connman_service_lookup_from_network(dhcp->network);
@@ -1232,12 +1234,17 @@ static int check_restart(struct connman_dhcpv6 *dhcp)
 
        g_dhcpv6_client_get_timeouts(dhcp->dhcp_client, NULL, NULL,
                                NULL, &expired);
+
+       /* infinite lifetime for an DHCPv6 address */
+       if (expired == 0xffffffff)
+               return -EISCONN;
+
        current = time(NULL);
 
        if (current >= expired) {
                DBG("expired by %d secs", (int)(current - expired));
 
-               g_timeout_add(0, dhcpv6_restart, dhcp);
+               g_idle_add(dhcpv6_restart, dhcp);
 
                return -ETIMEDOUT;
        }
@@ -1496,8 +1503,7 @@ int __connman_dhcpv6_start_renew(struct connman_network *network,
                        /* RFC 3315, chapter 18.1.3, start rebind */
                        DBG("start rebind immediately");
 
-                       dhcp->timeout = g_timeout_add_seconds(0, start_rebind,
-                                                       dhcp);
+                       dhcp->timeout = g_idle_add(start_rebind, dhcp);
 
                } else if ((unsigned)current < (unsigned)started + T1) {
                        delta = started + T1 - current;
@@ -1769,7 +1775,9 @@ static int dhcpv6_solicitation(struct connman_dhcpv6 *dhcp)
                return -EINVAL;
        }
 
+#if !defined TIZEN_EXT
        if (getenv("CONNMAN_DHCPV6_DEBUG"))
+#endif
                g_dhcp_client_set_debug(dhcp_client, dhcpv6_debug, "DHCPv6");
 
        service = connman_service_lookup_from_network(dhcp->network);
@@ -2086,7 +2094,9 @@ static GDHCPClient *create_pd_client(struct connman_dhcpv6 *dhcp, int *err)
                return NULL;
        }
 
+#if !defined TIZEN_EXT
        if (getenv("CONNMAN_DHCPV6_DEBUG"))
+#endif
                g_dhcp_client_set_debug(dhcp_client, dhcpv6_debug, "DHCPv6:PD");
 
        service = connman_service_lookup_from_network(dhcp->network);
@@ -2199,7 +2209,7 @@ static int check_pd_restart(struct connman_dhcpv6 *dhcp)
        if (current > expired) {
                DBG("expired by %d secs", (int)(current - expired));
 
-               g_timeout_add(0, dhcpv6_restart, dhcp);
+               g_idle_add(dhcpv6_restart, dhcp);
 
                return -ETIMEDOUT;
        }
index 27d98b2..46239fe 100755 (executable)
@@ -1839,8 +1839,6 @@ void __connman_ipconfig_append_ipv4(struct connman_ipconfig *ipconfig,
        struct connman_ipaddress *append_addr = NULL;
        const char *str;
 
-       DBG("");
-
        if (ipconfig->type != CONNMAN_IPCONFIG_TYPE_IPV4)
                return;
 
@@ -1901,8 +1899,6 @@ void __connman_ipconfig_append_ipv6(struct connman_ipconfig *ipconfig,
        struct connman_ipaddress *append_addr = NULL;
        const char *str, *privacy;
 
-       DBG("");
-
        if (ipconfig->type != CONNMAN_IPCONFIG_TYPE_IPV6)
                return;
 
@@ -1964,8 +1960,6 @@ void __connman_ipconfig_append_ipv6config(struct connman_ipconfig *ipconfig,
 {
        const char *str, *privacy;
 
-       DBG("");
-
        str = __connman_ipconfig_method2string(ipconfig->method);
        if (!str)
                return;
@@ -2008,8 +2002,6 @@ void __connman_ipconfig_append_ipv4config(struct connman_ipconfig *ipconfig,
 {
        const char *str;
 
-       DBG("");
-
        str = __connman_ipconfig_method2string(ipconfig->method);
        if (!str)
                return;
index bd52f39..32705e4 100755 (executable)
@@ -140,7 +140,9 @@ static DBusMessage *get_technologies(DBusConnection *conn,
 {
        DBusMessage *reply;
 
+#if !defined TIZEN_EXT
        DBG("");
+#endif
 
        reply = dbus_message_new_method_return(msg);
        if (!reply)
index 2585841..c57d70e 100755 (executable)
@@ -111,6 +111,8 @@ struct connman_network {
 
 };
 
+static void autoconf_ipv6_set(struct connman_network *network);
+
 static const char *type2string(enum connman_network_type type)
 {
        switch (type) {
@@ -223,12 +225,27 @@ static void dhcp_callback(struct connman_ipconfig *ipconfig,
                        struct connman_network *network,
                        bool success, gpointer data)
 {
+#if defined TIZEN_EXT
+       struct connman_service *service;
+       struct connman_ipconfig *ipconfig_ipv6;
+#endif
+
        network->connecting = false;
 
        if (success)
                dhcp_success(network);
        else
                dhcp_failure(network);
+
+#if defined TIZEN_EXT
+       service = connman_service_lookup_from_network(network);
+       ipconfig_ipv6 = __connman_service_get_ip6config(service);
+       if (__connman_ipconfig_get_method(ipconfig_ipv6) == CONNMAN_IPCONFIG_METHOD_AUTO) {
+               DBG("IPv6 autoconf start");
+               set_configuration(network, CONNMAN_IPCONFIG_TYPE_IPV6);
+               autoconf_ipv6_set(network);
+       }
+#endif
 }
 
 static int set_connected_manual(struct connman_network *network)
@@ -387,7 +404,6 @@ err:
        return err;
 }
 
-static void autoconf_ipv6_set(struct connman_network *network);
 static void dhcpv6_callback(struct connman_network *network,
                        enum __connman_dhcpv6_status status, gpointer data);
 
@@ -502,11 +518,21 @@ static void check_dhcpv6(struct nd_router_advert *reply,
         * We do stateful/stateless DHCPv6 if router advertisement says so.
         */
        if (reply->nd_ra_flags_reserved & ND_RA_FLAG_MANAGED) {
+#if defined TIZEN_EXT
+               DBG("IPv6 ND_RA_FLAG_MANAGED");
+#endif
                __connman_dhcpv6_start(network, prefixes, dhcpv6_callback);
        } else {
                if (reply->nd_ra_flags_reserved & ND_RA_FLAG_OTHER)
+#if defined TIZEN_EXT
+               {
+                       DBG("IPv6 ND_RA_FLAG_OTHER");
+#endif
                        __connman_dhcpv6_start_info(network,
                                                        dhcpv6_info_callback);
+#if defined TIZEN_EXT
+               }
+#endif
 
                g_slist_free_full(prefixes, g_free);
                network->connecting = false;
@@ -1307,8 +1333,35 @@ static gboolean __connman_network_clear_associating_delayed(gpointer user_data)
 
        if (network->associating == FALSE &&
                        state_ipv4 == CONNMAN_SERVICE_STATE_ASSOCIATION &&
-                       state_ipv6 == CONNMAN_SERVICE_STATE_ASSOCIATION)
-               connman_network_clear_associating(network);
+                       state_ipv6 == CONNMAN_SERVICE_STATE_ASSOCIATION) {
+               __connman_service_ipconfig_indicate_state(service,
+                               CONNMAN_SERVICE_STATE_IDLE,
+                               CONNMAN_IPCONFIG_TYPE_IPV4);
+               __connman_service_ipconfig_indicate_state(service,
+                               CONNMAN_SERVICE_STATE_IDLE,
+                               CONNMAN_IPCONFIG_TYPE_IPV6);
+       } else {
+               if (network->associating == FALSE) {
+                       struct connman_ipconfig *ipconfig_ipv4, *ipconfig_ipv6;
+                       enum connman_ipconfig_method ipv4_method, ipv6_method;
+
+                       ipconfig_ipv4 = __connman_service_get_ip4config(service);
+                       ipv4_method = __connman_ipconfig_get_method(ipconfig_ipv4);
+                       ipconfig_ipv6 = __connman_service_get_ip4config(service);
+                       ipv6_method = __connman_ipconfig_get_method(ipconfig_ipv6);
+
+                       if((ipv4_method == CONNMAN_IPCONFIG_METHOD_UNKNOWN || ipv4_method == CONNMAN_IPCONFIG_METHOD_OFF) &&
+                                       (state_ipv6 == CONNMAN_SERVICE_STATE_ASSOCIATION))
+                               __connman_service_ipconfig_indicate_state(service,
+                                               CONNMAN_SERVICE_STATE_IDLE,
+                                               CONNMAN_IPCONFIG_TYPE_IPV6);
+                       if((ipv6_method == CONNMAN_IPCONFIG_METHOD_UNKNOWN || ipv6_method == CONNMAN_IPCONFIG_METHOD_OFF) &&
+                                       (state_ipv4 == CONNMAN_SERVICE_STATE_ASSOCIATION))
+                               __connman_service_ipconfig_indicate_state(service,
+                                               CONNMAN_SERVICE_STATE_IDLE,
+                                               CONNMAN_IPCONFIG_TYPE_IPV4);
+               }
+       }
 
        return FALSE;
 }
@@ -1773,7 +1826,9 @@ int __connman_network_enable_ipconfig(struct connman_network *network,
                return -ENOSYS;
 
        case CONNMAN_IPCONFIG_TYPE_IPV6:
+#if !defined TIZEN_EXT
                set_configuration(network, type);
+#endif
 
                method = __connman_ipconfig_get_method(ipconfig);
 
@@ -1796,11 +1851,16 @@ int __connman_network_enable_ipconfig(struct connman_network *network,
                                CONNMAN_SERVICE_STATE_CONFIGURATION,
                                        CONNMAN_IPCONFIG_TYPE_IPV6);
 #endif
+#if !defined TIZEN_EXT
                        autoconf_ipv6_set(network);
+#endif
                        break;
 
                case CONNMAN_IPCONFIG_METHOD_FIXED:
                case CONNMAN_IPCONFIG_METHOD_MANUAL:
+#if defined TIZEN_EXT
+                       set_configuration(network, type);
+#endif
                        r = manual_ipv6_set(network, ipconfig);
                        break;
 
index 5f5cea5..b7d7f37 100755 (executable)
@@ -1314,6 +1314,34 @@ static void rtnl_newnduseropt(struct nlmsghdr *hdr)
        if (index < 0)
                return;
 
+#if defined TIZEN_EXT
+       struct connman_service *service;
+       enum connman_dnsconfig_method ipv6_dns_method;
+       char *ifname;
+
+       service = __connman_service_lookup_from_index(index);
+       if (!service || !(__connman_service_index_is_default(index))) {
+               DBG("Invalid service, index: %d\n", index);
+               return;
+       }
+
+       DBG("service: %p index: %d\n", service, index);
+
+       ifname = connman_inet_ifname(index);
+       if (ifname == NULL) {
+               DBG("Interface is NULL, return");
+               return;
+       }
+
+       ipv6_dns_method = connman_service_get_ipv6_dns_method(service);
+       if (ipv6_dns_method != CONNMAN_DNSCONFIG_METHOD_DHCP) {
+               DBG("IPv6 DNS method is not Auto ignore RA!!! [DNS method: %d]", ipv6_dns_method);
+               g_free(ifname);
+               return;
+       }
+       g_free(ifname);
+#endif
+
        for (opt = (void *)&msg[1];
                        msglen > 0;
                        msglen -= opt->nd_opt_len * 8,
@@ -1324,12 +1352,7 @@ static void rtnl_newnduseropt(struct nlmsghdr *hdr)
 
                if (opt->nd_opt_type == 25) { /* ND_OPT_RDNSS */
                        char buf[40];
-#if defined TIZEN_EXT
-                       struct connman_service *service;
 
-                       service = __connman_service_lookup_from_index(index);
-                       DBG("service: %p\n",service);
-#endif
                        servers = rtnl_nd_opt_rdnss(opt, &lifetime,
                                        &nr_servers);
                        for (i = 0; i < nr_servers; i++) {
@@ -1338,6 +1361,9 @@ static void rtnl_newnduseropt(struct nlmsghdr *hdr)
                                        continue;
 
 #if defined TIZEN_EXT
+                               __connman_service_nameserver_remove(service,
+                                               buf, false,
+                                               CONNMAN_IPCONFIG_TYPE_IPV6);
                                __connman_service_nameserver_append(service,
                                                buf, false,
                                                CONNMAN_IPCONFIG_TYPE_IPV6);
@@ -1345,10 +1371,6 @@ static void rtnl_newnduseropt(struct nlmsghdr *hdr)
                                connman_resolver_append_lifetime(index,
                                                NULL, buf, lifetime);
                        }
-#if defined TIZEN_EXT
-                       rtnl_nameserver_add_all(service, CONNMAN_IPCONFIG_TYPE_IPV6);
-#endif
-
                } else if (opt->nd_opt_type == 31) { /* ND_OPT_DNSSL */
                        g_free(domains);
 
index ed3235c..772c89f 100755 (executable)
@@ -77,14 +77,6 @@ struct connman_service_user {
        uid_t current_user;
 };
 
-#ifdef TIZEN_EXT
-enum connman_dnsconfig_method {
-       CONNMAN_DNSCONFIG_METHOD_UNKNOWN = 0,
-       CONNMAN_DNSCONFIG_METHOD_MANUAL  = 1,
-       CONNMAN_DNSCONFIG_METHOD_DHCP    = 2,
-};
-#endif
-
 struct connman_service {
        int refcount;
        char *identifier;
@@ -1643,15 +1635,6 @@ static int nameserver_remove_all(struct connman_service *service)
        return 0;
 }
 
-#if defined TIZEN_EXT
-void rtnl_nameserver_add_all(struct connman_service *service,
-               enum connman_ipconfig_type type)
-{
-       DBG("");
-       nameserver_add_all(service, type);
-}
-#endif
-
 static int searchdomain_add_all(struct connman_service *service)
 {
        int index, i = 0;
@@ -3657,6 +3640,18 @@ const char *connman_service_get_proxy_autoconfig(struct connman_service *service
        return NULL;
 }
 
+#if defined TIZEN_EXT
+int connman_service_get_ipv6_dns_method(struct connman_service *service)
+{
+       if (!service) {
+               DBG("Service is NULL");
+               return -1;
+       }
+
+       return service->dns_config_method_ipv6;
+}
+#endif
+
 void __connman_service_set_timeservers(struct connman_service *service,
                                char **timeservers)
 {
@@ -5628,17 +5623,23 @@ static void service_append_added_foreach(gpointer data, gpointer user_data)
        DBusMessageIter *iter = user_data;
 
        if (!service || !service->path) {
+#if !defined TIZEN_EXT
                DBG("service %p or path is NULL", service);
+#endif
                return;
        }
 
        if (g_hash_table_lookup(services_notify->add, service->path)) {
+#if !defined TIZEN_EXT
                DBG("new %s", service->path);
+#endif
 
                append_struct(service, iter);
                g_hash_table_remove(services_notify->add, service->path);
        } else {
+#if !defined TIZEN_EXT
                DBG("changed %s", service->path);
+#endif
 
                append_struct_service(iter, NULL, service);
        }