summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgsupplicant/gsupplicant.h4
-rw-r--r--gsupplicant/supplicant.c12
-rwxr-xr-xplugins/wifi.c17
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;