Merge "[Improvement]:Pass the same received RSSI from supplicant to Application....
[platform/upstream/connman.git] / src / service.c
index ed3235c..a5a7f39 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;
@@ -620,6 +612,8 @@ static int service_load_passphrase(struct connman_service *service)
        if (str)
                service->passphrase = str;
 
+       g_key_file_free(keyfile);
+
        return 0;
 }
 
@@ -1365,6 +1359,7 @@ static int nameserver_add_all(struct connman_service *service)
                        DBG("type %d add service->nameservers_config[%d]:%s",type,
                            i, service->nameservers_config[i]);
                        if(strncmp(service->nameservers_config[i], "::", 2) == 0) {
+                               DBG("Invalid nameserver");
                                i++;
                                continue;
                        }
@@ -1494,6 +1489,9 @@ static int nameserver_remove(struct connman_service *service,
        if (index < 0)
                return -ENXIO;
 
+#if defined TIZEN_EXT
+       DBG("Resolver remove nameserver: %s", nameserver);
+#endif
        return connman_resolver_remove(index, NULL, nameserver);
 }
 
@@ -1643,15 +1641,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;
@@ -1752,9 +1741,6 @@ int __connman_service_nameserver_append(struct connman_service *service,
                return -ENOMEM;
 
        nameservers[len] = g_strdup(nameserver);
-       if (!nameservers[len])
-               return -ENOMEM;
-
        nameservers[len + 1] = NULL;
 
 #ifdef TIZEN_EXT
@@ -1847,6 +1833,9 @@ set_servers:
                service->nameservers_auto = nameservers;
        } else {
                service->nameservers = nameservers;
+#if defined TIZEN_EXT
+               DBG("nameserver remove ip_type: %d", type);
+#endif
                nameserver_remove(service, nameserver);
        }
 
@@ -2211,7 +2200,9 @@ static void state_changed(struct connman_service *service)
        if (!allow_property_changed(service))
                return;
 #endif
-
+#if defined TIZEN_EXT
+       DBG(" %s, %s", str, service->path);
+#endif
        connman_dbus_property_changed_basic(service->path,
                                CONNMAN_SERVICE_INTERFACE, "State",
                                                DBUS_TYPE_STRING, &str);
@@ -3164,6 +3155,8 @@ static void append_wifi_ext_info(DBusMessageIter *dict,
 {
        char bssid_buff[WIFI_BSSID_STR_LEN] = {0,};
        char *bssid_str = bssid_buff;
+       const void *ssid;
+       unsigned int ssid_len;
        unsigned char *bssid;
        unsigned int maxrate;
        unsigned int keymgmt;
@@ -3171,6 +3164,7 @@ static void append_wifi_ext_info(DBusMessageIter *dict,
        const char *enc_mode;
        gboolean passpoint;
 
+       ssid = connman_network_get_blob(network, "WiFi.SSID", &ssid_len);
        bssid = connman_network_get_bssid(network);
        maxrate = connman_network_get_maxrate(network);
        frequency = connman_network_get_frequency(network);
@@ -3182,6 +3176,8 @@ static void append_wifi_ext_info(DBusMessageIter *dict,
                                bssid[0], bssid[1], bssid[2],
                                bssid[3], bssid[4], bssid[5]);
 
+       connman_dbus_dict_append_fixed_array(dict, "SSID",
+                                       DBUS_TYPE_BYTE, &ssid, ssid_len);
        connman_dbus_dict_append_basic(dict, "BSSID",
                                        DBUS_TYPE_STRING, &bssid_str);
        connman_dbus_dict_append_basic(dict, "MaxRate",
@@ -3286,7 +3282,7 @@ static void append_properties(DBusMessageIter *dict, dbus_bool_t limited,
                                                append_ethernet, service);
 
                connman_dbus_dict_append_basic(dict, "DisconnectReason",
-                               DBUS_TYPE_UINT32, &service->disconnect_reason);
+                               DBUS_TYPE_INT32, &service->disconnect_reason);
 
                break;
 #endif
@@ -3657,6 +3653,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)
 {
@@ -4840,9 +4848,21 @@ static bool auto_connect_service(GList *services,
                        if (preferred)
                               continue;
 
+#if defined TIZEN_EXT
+                       DBG("Service is not favorite, autoconnecting %d",
+                                       autoconnecting);
+#endif
                        return autoconnecting;
                }
 
+#if defined TIZEN_EXT
+               DBG("service %p identifier %s roaming %d ignore %d "
+                               "ipconfig_usable %d autoconnect %d state %d",
+                               service,
+                               service->identifier, service->roaming,
+                               service->ignore, is_ipconfig_usable(service),
+                               service->autoconnect, service->state);
+#endif
                if (is_ignore(service) || service->state !=
                                CONNMAN_SERVICE_STATE_IDLE)
                        continue;
@@ -5628,17 +5648,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);
        }
@@ -7632,6 +7658,7 @@ static int service_connect(struct connman_service *service)
                         * or EAP-AKA (EAP-TLS, EAP-SIM and EAP-AKA networks
                         * need to be fully provisioned)
                         */
+                       DBG("service eap: %s", service->eap);
                        if (g_str_equal(service->eap, "tls") ||
                                g_str_equal(service->eap, "sim") ||
                                g_str_equal(service->eap, "aka"))