diff options
-rwxr-xr-x | gsupplicant/gsupplicant.h | 4 | ||||
-rw-r--r-- | gsupplicant/supplicant.c | 12 | ||||
-rwxr-xr-x | plugins/wifi.c | 17 |
3 files changed, 33 insertions, 0 deletions
diff --git a/gsupplicant/gsupplicant.h b/gsupplicant/gsupplicant.h index b0984b8c..648ee572 100755 --- a/gsupplicant/gsupplicant.h +++ b/gsupplicant/gsupplicant.h @@ -154,7 +154,11 @@ enum GSupplicantAPHiddenSSID { }; struct _GSupplicantSSID { +#if defined TIZEN_EXT + void *ssid; +#else const void *ssid; +#endif unsigned int ssid_len; unsigned int scan_ssid; GSupplicantMode mode; diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index 5fedf023..c5c83f33 100644 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -3187,6 +3187,9 @@ static void signal_bss_changed(const char *path, DBusMessageIter *iter) memcpy(new_bss, bss, sizeof(struct g_supplicant_bss)); new_bss->path = g_strdup(bss->path); +#if defined TIZEN_EXT + new_bss->vsie_list = NULL; +#endif g_hash_table_remove(interface->network_table, network->group); @@ -4876,6 +4879,9 @@ static void interface_select_network_result(const char *error, if (data->callback) data->callback(err, data->interface, data->user_data); +#if defined TIZEN_EXT + g_free(data->ssid->ssid); +#endif g_free(data->ssid); dbus_free(data); } @@ -4961,6 +4967,9 @@ error: } g_free(data->path); +#if defined TIZEN_EXT + g_free(data->ssid->ssid); +#endif g_free(data->ssid); g_free(data); } @@ -5716,6 +5725,9 @@ done: SUPPLICANT_DBG("AddNetwork failed %d", ret); callback_assoc_failed(decrypt_request_data.data->user_data); g_free(data->path); +#if defined TIZEN_EXT + g_free(data->ssid->ssid); +#endif g_free(data->ssid); dbus_free(data); } diff --git a/plugins/wifi.c b/plugins/wifi.c index c471accf..6103dc8c 100755 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -2509,11 +2509,21 @@ static GSupplicantEapKeymgmt network_eap_keymgmt(const char *security) static void ssid_init(GSupplicantSSID *ssid, struct connman_network *network) { const char *security; +#if defined TIZEN_EXT + const void *ssid_data; +#endif memset(ssid, 0, sizeof(*ssid)); ssid->mode = G_SUPPLICANT_MODE_INFRA; +#if defined TIZEN_EXT + ssid_data = connman_network_get_blob(network, "WiFi.SSID", + &ssid->ssid_len); + ssid->ssid = g_try_malloc0(ssid->ssid_len); + memcpy(ssid->ssid, ssid_data, ssid->ssid_len); +#else ssid->ssid = connman_network_get_blob(network, "WiFi.SSID", &ssid->ssid_len); +#endif ssid->scan_ssid = 1; security = connman_network_get_string(network, "WiFi.Security"); ssid->security = network_security(security); @@ -2614,6 +2624,9 @@ static int network_connect(struct connman_network *network) if (wifi->disconnecting) { wifi->pending_network = network; +#if defined TIZEN_EXT + g_free(ssid->ssid); +#endif g_free(ssid); } else { wifi->network = connman_network_ref(network); @@ -4038,7 +4051,11 @@ static GSupplicantSSID *ssid_ap_init(const char *ssid, return NULL; ap->mode = G_SUPPLICANT_MODE_MASTER; +#if defined TIZEN_EXT + ap->ssid = (void *) ssid; +#else ap->ssid = ssid; +#endif ap->ssid_len = strlen(ssid); ap->scan_ssid = 0; ap->freq = 2412; |