summaryrefslogtreecommitdiff
path: root/src/network.c
diff options
context:
space:
mode:
authorNiraj Kumar Goit <niraj.g@samsung.com>2018-01-04 14:48:49 +0530
committerSeonah Moon <seonah1.moon@samsung.com>2018-01-23 16:59:24 +0900
commit0e3dff67b594543b0488007bc913b3939ffe0fe6 (patch)
tree861e7b40e81acacf63951cc79cc7191893aec420 /src/network.c
parent1e0637575d1d1250baa8551dde46bb7bab02bc38 (diff)
downloadconnman-0e3dff67b594543b0488007bc913b3939ffe0fe6.tar.gz
connman-0e3dff67b594543b0488007bc913b3939ffe0fe6.tar.bz2
connman-0e3dff67b594543b0488007bc913b3939ffe0fe6.zip
Modified logic to process each VSIE of all vendors.
Modified logic to process each VSIE of all vendors instead of only samsung vendor(OUI: 001632). Received VSIE will be appended in the list and shared with application. Change-Id: Ifbb0159f40a8949a6f117416e5d436d5c2299b49
Diffstat (limited to 'src/network.c')
-rwxr-xr-xsrc/network.c49
1 files changed, 27 insertions, 22 deletions
diff --git a/src/network.c b/src/network.c
index d38fc0af..cf74b6d5 100755
--- a/src/network.c
+++ b/src/network.c
@@ -114,8 +114,7 @@ struct connman_network {
bool rsn_mode;
int disconnect_reason;
int assoc_status_code;
- void *wifi_vsie;
- unsigned int wifi_vsie_len;
+ GSList *vsie_list;
#endif
} wifi;
@@ -980,7 +979,7 @@ static void network_destruct(struct connman_network *network)
g_free(network->wifi.phase2_auth);
g_free(network->wifi.pin_wps);
#if defined TIZEN_EXT
- g_free(network->wifi.wifi_vsie);
+ g_slist_free_full(network->wifi.vsie_list, g_free);
#endif
g_free(network->path);
g_free(network->group);
@@ -2388,6 +2387,31 @@ bool connman_network_get_bool(struct connman_network *network,
return false;
}
+#if defined TIZEN_EXT
+/**
+ * connman_network_set_vsie_list:
+ * @network: network structure
+ * @vsie_list: GSList pointer
+ *
+ * Set vendor specific list pointer
+ */
+void connman_network_set_vsie_list(struct connman_network *network, GSList *vsie_list)
+{
+ network->wifi.vsie_list = vsie_list;
+}
+
+/**
+ * connman_network_get_vsie_list:
+ * @network: network structure
+ *
+ * Get vendor specific list pointer
+ */
+void *connman_network_get_vsie_list(struct connman_network *network)
+{
+ return network->wifi.vsie_list;
+}
+#endif
+
/**
* connman_network_set_blob:
* @network: network structure
@@ -2408,16 +2432,6 @@ int connman_network_set_blob(struct connman_network *network,
network->wifi.ssid_len = size;
} else
network->wifi.ssid_len = 0;
-#if defined TIZEN_EXT
- } else if (g_str_equal(key, "WiFi.Vsie")){
- g_free(network->wifi.wifi_vsie);
- network->wifi.wifi_vsie = g_try_malloc(size);
- if (network->wifi.wifi_vsie) {
- memcpy(network->wifi.wifi_vsie, data, size);
- network->wifi.wifi_vsie_len = size;
- } else
- network->wifi.wifi_vsie_len = 0;
-#endif
} else {
return -EINVAL;
}
@@ -2442,15 +2456,6 @@ const void *connman_network_get_blob(struct connman_network *network,
return network->wifi.ssid;
}
-#if defined TIZEN_EXT
- if (g_str_equal(key, "WiFi.Vsie")) {
- if (size)
- *size = network->wifi.wifi_vsie_len;
-
- return network->wifi.wifi_vsie;
- }
-#endif
-
return NULL;
}