diff options
author | Saurav Babu <saurav.babu@samsung.com> | 2017-12-27 16:13:05 +0530 |
---|---|---|
committer | Saurav Babu <saurav.babu@samsung.com> | 2017-12-27 12:41:28 +0000 |
commit | 9458c40dfd9b99b9da24e3cdb249dbc116e8750c (patch) | |
tree | 4e89981bf4b6f446183c990e52d2a842fe170b53 | |
parent | f911da60ac8a5058b8182c30f765e12d7bdaf943 (diff) | |
download | connman-accepted/tizen/unified/20171229.070200.tar.gz connman-accepted/tizen/unified/20171229.070200.tar.bz2 connman-accepted/tizen/unified/20171229.070200.zip |
connman: Get HS20 property of service correctlysubmit/tizen/20171228.074717submit/tizen/20171228.053515accepted/tizen/unified/20171229.070200
Change-Id: I21d3a4ba5632d5a00a3254137b12dfdbd1dbe3dc
Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
-rwxr-xr-x | gsupplicant/gsupplicant.h | 2 | ||||
-rwxr-xr-x | gsupplicant/supplicant.c | 13 | ||||
-rwxr-xr-x | include/network.h | 3 | ||||
-rwxr-xr-x | plugins/wifi.c | 5 | ||||
-rwxr-xr-x | src/network.c | 25 | ||||
-rwxr-xr-x | src/service.c | 2 |
6 files changed, 21 insertions, 29 deletions
diff --git a/gsupplicant/gsupplicant.h b/gsupplicant/gsupplicant.h index a33dab0f..9177275e 100755 --- a/gsupplicant/gsupplicant.h +++ b/gsupplicant/gsupplicant.h @@ -372,7 +372,7 @@ const unsigned char *g_supplicant_network_get_bssid( unsigned int g_supplicant_network_get_maxrate(GSupplicantNetwork *network); const char *g_supplicant_network_get_enc_mode(GSupplicantNetwork *network); bool g_supplicant_network_get_rsn_mode(GSupplicantNetwork *network); -unsigned int g_supplicant_network_is_hs20AP(GSupplicantNetwork *network); +bool g_supplicant_network_is_hs20AP(GSupplicantNetwork *network); const char *g_supplicant_network_get_eap(GSupplicantNetwork *network); const char *g_supplicant_network_get_identity(GSupplicantNetwork *network); const char *g_supplicant_network_get_phase2(GSupplicantNetwork *network); diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index b1232a5d..d84c8930 100755 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -213,6 +213,7 @@ struct g_supplicant_bss { dbus_bool_t ft_ieee8021x; char *wifi_vsie; unsigned int wifi_vsie_len; + dbus_bool_t hs20; #endif unsigned int wps_capabilities; }; @@ -234,7 +235,7 @@ struct _GSupplicantNetwork { GHashTable *bss_table; GHashTable *config_table; #if defined TIZEN_EXT - unsigned int isHS20AP; + bool isHS20AP; char *eap; char *identity; char *phase2; @@ -1182,7 +1183,7 @@ const char *g_supplicant_peer_get_name(GSupplicantPeer *peer) } #if defined TIZEN_EXT -unsigned int g_supplicant_network_is_hs20AP(GSupplicantNetwork *network) +bool g_supplicant_network_is_hs20AP(GSupplicantNetwork *network) { if (!network) return 0; @@ -1685,6 +1686,8 @@ static void add_or_replace_bss_to_network(struct g_supplicant_bss *bss) SUPPLICANT_DBG("Failed to allocate memory for wifi_vsie"); } } + + network->isHS20AP = bss->hs20; #endif SUPPLICANT_DBG("New network %s created", network->name); @@ -2101,6 +2104,12 @@ static void bss_property(const char *key, DBusMessageIter *iter, bss->rsn_selected = FALSE; supplicant_dbus_property_foreach(iter, bss_wpa, bss); +#if defined TIZEN_EXT + } else if (g_strcmp0(key, "HS20") == 0) { + dbus_bool_t hs20 = FALSE; + dbus_message_iter_get_basic(iter, &hs20); + bss->hs20 = hs20; +#endif } else if (g_strcmp0(key, "IEs") == 0) bss_process_ies(iter, bss); else diff --git a/include/network.h b/include/network.h index 6403b167..4be5fbf0 100755 --- a/include/network.h +++ b/include/network.h @@ -147,9 +147,6 @@ int connman_network_set_proxy(struct connman_network *network, const char *proxies); void connman_network_clear_associating(struct connman_network *network); -int connman_network_set_is_hs20AP(struct connman_network *network, - unsigned int isHS20AP); -unsigned int connman_network_get_is_hs20AP(struct connman_network *network); int connman_network_set_keymgmt(struct connman_network *network, unsigned int keymgmt); diff --git a/plugins/wifi.c b/plugins/wifi.c index d34f8116..9c453b34 100755 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -3287,6 +3287,8 @@ static void network_added(GSupplicantNetwork *supplicant_network) g_supplicant_network_get_rsn_mode(supplicant_network)); connman_network_set_keymgmt(network, g_supplicant_network_get_keymgmt(supplicant_network)); + connman_network_set_bool(network, "WiFi.HS20AP", + g_supplicant_network_is_hs20AP(supplicant_network)); #endif connman_network_set_available(network, true); connman_network_set_string(network, "WiFi.Mode", mode); @@ -3627,7 +3629,7 @@ static void network_merged(GSupplicantNetwork *network) struct wifi_data *wifi; const char *identifier; struct connman_network *connman_network; - unsigned int ishs20AP = 0; + bool ishs20AP = 0; char *temp = NULL; interface = g_supplicant_network_get_interface(network); @@ -3669,7 +3671,6 @@ static void network_merged(GSupplicantNetwork *network) } ishs20AP = g_supplicant_network_is_hs20AP(network); - connman_network_set_is_hs20AP(connman_network, ishs20AP); if (ishs20AP && g_strcmp0(g_supplicant_network_get_security(network), "ieee8021x") == 0) { diff --git a/src/network.c b/src/network.c index 64c26cca..5aac8d6a 100755 --- a/src/network.c +++ b/src/network.c @@ -103,7 +103,7 @@ struct connman_network { char encryption_mode[WIFI_ENCYPTION_MODE_LEN_MAX]; unsigned char bssid[WIFI_BSSID_LEN_MAX]; unsigned int maxrate; - unsigned int isHS20AP; + bool isHS20AP; unsigned int keymgmt; char *keymgmt_type; bool rsn_mode; @@ -2022,25 +2022,6 @@ int connman_network_set_proxy(struct connman_network *network, return 0; } -int connman_network_set_is_hs20AP(struct connman_network *network, - unsigned int isHS20AP) -{ - if (!network) - return 0; - - network->wifi.isHS20AP = isHS20AP; - - return 0; -} - -unsigned int connman_network_get_is_hs20AP(struct connman_network *network) -{ - if (!network) - return 0; - - return network->wifi.isHS20AP; -} - int connman_network_set_keymgmt(struct connman_network *network, unsigned int keymgmt) { @@ -2377,6 +2358,8 @@ int connman_network_set_bool(struct connman_network *network, #if defined TIZEN_EXT else if (g_strcmp0(key, "DefaultInternet") == 0) network->default_internet = value; + else if (g_strcmp0(key, "WiFi.HS20AP") == 0) + network->wifi.isHS20AP = value; #endif return -EINVAL; @@ -2405,6 +2388,8 @@ bool connman_network_get_bool(struct connman_network *network, #if defined TIZEN_EXT else if (g_str_equal(key, "DefaultInternet")) return network->default_internet; + else if (g_str_equal(key, "WiFi.HS20AP")) + return network->wifi.isHS20AP; #endif return false; diff --git a/src/service.c b/src/service.c index 3d491a8c..129b4105 100755 --- a/src/service.c +++ b/src/service.c @@ -3175,7 +3175,7 @@ static void append_wifi_ext_info(DBusMessageIter *dict, maxrate = connman_network_get_maxrate(network); frequency = connman_network_get_frequency(network); enc_mode = connman_network_get_enc_mode(network); - passpoint = connman_network_get_is_hs20AP(network); + passpoint = connman_network_get_bool(network, "WiFi.HS20AP"); keymgmt = connman_network_get_keymgmt(network); snprintf(bssid_str, WIFI_BSSID_STR_LEN, "%02x:%02x:%02x:%02x:%02x:%02x", |