From 353927435c1788e3ea19ddb9ad3c3fb38d2f1631 Mon Sep 17 00:00:00 2001 From: Jiung Yu Date: Tue, 18 Jul 2017 13:01:49 +0900 Subject: [PATCH] Remove the TIZEN_FEATURE_IP_OVER_EAPOL build flag Change-Id: I193769b63d8fb75ed18c315f1c7cf13612087872 Signed-off-by: Yu jiung --- CMakeLists.txt | 3 - include/wifi-direct-manager.h | 2 - include/wifi-direct-util.h | 2 - oem/wifi-direct-oem.c | 9 ++ oem/wifi-direct-oem.h | 6 +- packaging/wifi-direct-manager.spec | 7 +- .../include/wfd-plugin-wpasupplicant.h | 4 +- .../ctrl_iface_dbus/wfd-plugin-wpasupplicant.c | 137 ++++++++++++++------- .../emul/include/wfd-plugin-wpasupplicant.h | 2 + .../emul/wfd-plugin-wpasupplicant-emul.c | 10 ++ src/wifi-direct-event.c | 9 +- src/wifi-direct-group.c | 5 +- src/wifi-direct-manager.c | 11 ++ src/wifi-direct-util.c | 2 - 14 files changed, 138 insertions(+), 71 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cb7a43f..c3a0ba4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,9 +33,6 @@ ENDIF(TIZEN_WLAN_BOARD_SPRD) IF(TIZEN_TETHERING_ENABLE) ADD_DEFINITIONS(-DTIZEN_TETHERING_ENABLE) ENDIF(TIZEN_TETHERING_ENABLE) -IF(TIZEN_FEATURE_IP_OVER_EAPOL) - ADD_DEFINITIONS(-DTIZEN_FEATURE_IP_OVER_EAPOL) -ENDIF(TIZEN_FEATURE_IP_OVER_EAPOL) IF(TIZEN_ARCH_64) ADD_DEFINITIONS(-DTIZEN_ARCH_64) diff --git a/include/wifi-direct-manager.h b/include/wifi-direct-manager.h index 7f69292..ac4e200 100644 --- a/include/wifi-direct-manager.h +++ b/include/wifi-direct-manager.h @@ -105,9 +105,7 @@ typedef enum { typedef enum { WFD_IP_TYPE_DYNAMIC = 0x0, -#ifdef TIZEN_FEATURE_IP_OVER_EAPOL WFD_IP_TYPE_OVER_EAPOL = 0x1, -#endif /* TIZEN_FEATURE_IP_OVER_EAPOL */ } wfd_ip_type_e; typedef enum { diff --git a/include/wifi-direct-util.h b/include/wifi-direct-util.h index cddd8d5..a4d3f72 100644 --- a/include/wifi-direct-util.h +++ b/include/wifi-direct-util.h @@ -78,9 +78,7 @@ int wfd_util_dhcpc_start(char *ifname, wfd_device_s *peer); int wfd_util_dhcpc_stop(char *ifname); int wfd_util_local_get_ip(char *ifname, unsigned char *ip_addr, int is_IPv6); int wfd_util_dhcpc_get_server_ip(unsigned char* ip_addr); -#ifdef TIZEN_FEATURE_IP_OVER_EAPOL int wfd_util_ip_over_eap_assign(wfd_device_s *peer, const char *ifname); -#endif /* TIZEN_FEATURE_IP_OVER_EAPOL */ int wfd_util_ip_unset(const char *ifname); gboolean wfd_util_is_remove_group_allowed(void); diff --git a/oem/wifi-direct-oem.c b/oem/wifi-direct-oem.c index bed386e..2b97992 100644 --- a/oem/wifi-direct-oem.c +++ b/oem/wifi-direct-oem.c @@ -454,6 +454,15 @@ int wfd_oem_asp_prov_disc_req(wfd_oem_ops_s *ops, wfd_oem_asp_prov_s *params) return ops->asp_prov_disc_req(params); } +int wfd_oem_set_eapol_ip_config(wfd_oem_ops_s *ops, int enable) +{ + if (!ops || !ops->set_eapol_ip_config) { + return -1; + } + + return ops->set_eapol_ip_config(enable); +} + int wfd_oem_add_vsie(wfd_oem_ops_s *ops, wfd_oem_vsie_frames_e frame_id, const char* vsie) { diff --git a/oem/wifi-direct-oem.h b/oem/wifi-direct-oem.h index a0544a0..c4a0239 100644 --- a/oem/wifi-direct-oem.h +++ b/oem/wifi-direct-oem.h @@ -256,11 +256,9 @@ typedef struct { int is_persistent; char pass[OEM_PASS_PHRASE_LEN+1]; unsigned char go_dev_addr[OEM_MACADDR_LEN]; -#ifdef TIZEN_FEATURE_IP_OVER_EAPOL unsigned char ip_addr[OEM_IPADDR_LEN]; unsigned char ip_addr_mask[OEM_IPADDR_LEN]; unsigned char ip_addr_go[OEM_IPADDR_LEN]; -#endif /* TIZEN_FEATURE_IP_OVER_EAPOL */ } wfd_oem_group_data_s; typedef enum { @@ -652,6 +650,8 @@ typedef struct { int (*cancel_seek_service)(wfd_oem_asp_service_s *service); int (*asp_prov_disc_req)(wfd_oem_asp_prov_s *params); + int (*set_eapol_ip_config)(int enable); + int (*add_vsie)(wfd_oem_vsie_frames_e frame_id, const char* vsie); int (*get_vsie)(wfd_oem_vsie_frames_e frame_id, char **vsie); int (*remove_vsie)(wfd_oem_vsie_frames_e frame_id, const char *vsie); @@ -719,6 +719,8 @@ int wfd_oem_seek_service(wfd_oem_ops_s *ops, wfd_oem_asp_service_s *service); int wfd_oem_cancel_seek_service(wfd_oem_ops_s *ops, wfd_oem_asp_service_s *service); int wfd_oem_asp_prov_disc_req(wfd_oem_ops_s *ops, wfd_oem_asp_prov_s *params); +int wfd_oem_set_eapol_ip_config(wfd_oem_ops_s *ops, int enable); + int wfd_oem_add_vsie(wfd_oem_ops_s *ops, wfd_oem_vsie_frames_e frame_id, const char* vsie); int wfd_oem_get_vsie(wfd_oem_ops_s *ops, wfd_oem_vsie_frames_e frame_id, diff --git a/packaging/wifi-direct-manager.spec b/packaging/wifi-direct-manager.spec index 100fdaa..16b805d 100644 --- a/packaging/wifi-direct-manager.spec +++ b/packaging/wifi-direct-manager.spec @@ -8,7 +8,7 @@ Name: wifi-direct-manager Summary: Wi-Fi Direct manger -Version: 1.2.235 +Version: 1.2.236 Release: 1 Group: Network & Connectivity/Wireless License: Apache-2.0 @@ -213,7 +213,6 @@ cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix} -DARCHITECTURE=$ARCH \ %if ! 0%{?model_build_feature_network_tethering_disable} -DTIZEN_TETHERING_ENABLE=0 \ %endif - -DTIZEN_FEATURE_IP_OVER_EAPOL=1 \ -DTIZEN_DEBUG_DBUS_VALUE=1 \ -DTIZEN_PROFILE_MOBILE=1 \ %if "%{?_lib}" == "lib64" @@ -239,7 +238,6 @@ cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix} -DARCHITECTURE=$ARCH \ -DTIZEN_TETHERING_ENABLE=0 \ %endif -DTIZEN_WLAN_BOARD_SPRD=1 \ - -DTIZEN_FEATURE_IP_OVER_EAPOL=1 \ -DTIZEN_DEBUG_DBUS_VALUE=1 \ -DTIZEN_PROFILE_MOBILE=1 \ %if "%{?_lib}" == "lib64" @@ -268,7 +266,6 @@ cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix} -DARCHITECTURE=$ARCH \ %if ! 0%{?model_build_feature_network_tethering_disable} -DTIZEN_TETHERING_ENABLE=0 \ %endif - -DTIZEN_FEATURE_IP_OVER_EAPOL=1 \ -DTIZEN_DEBUG_DBUS_VALUE=1 \ -DTIZEN_PROFILE_COMMON=1 \ %if "%{?_lib}" == "lib64" @@ -296,7 +293,6 @@ cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix} -DARCHITECTURE=$ARCH \ %if ! 0%{?model_build_feature_network_tethering_disable} -DTIZEN_TETHERING_ENABLE=0 \ %endif - -DTIZEN_FEATURE_IP_OVER_EAPOL=1 \ -DTIZEN_DEBUG_DBUS_VALUE=1 \ -DTIZEN_PROFILE_TV=1 \ %if "%{?_lib}" == "lib64" @@ -323,7 +319,6 @@ cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DARCHITECTURE=$ARCH \ %if ! 0%{?model_build_feature_network_tethering_disable} -DTIZEN_TETHERING_ENABLE=0 \ %endif - -DTIZEN_FEATURE_IP_OVER_EAPOL=1 \ -DTIZEN_DEBUG_DBUS_VALUE=1 \ -DTIZEN_PROFILE_COMMON=1 \ %if "%{?_lib}" == "lib64" diff --git a/plugin/wpasupplicant/ctrl_iface_dbus/include/wfd-plugin-wpasupplicant.h b/plugin/wpasupplicant/ctrl_iface_dbus/include/wfd-plugin-wpasupplicant.h index afe1307..d07dcee 100644 --- a/plugin/wpasupplicant/ctrl_iface_dbus/include/wfd-plugin-wpasupplicant.h +++ b/plugin/wpasupplicant/ctrl_iface_dbus/include/wfd-plugin-wpasupplicant.h @@ -101,12 +101,10 @@ #define DEFAULT_NO_GROUP_IFACE 1 #endif -#ifdef TIZEN_FEATURE_IP_OVER_EAPOL #define DEFAULT_IP_GO "\xc0\xa8\x31\x01" #define DEFAULT_IP_MASK "\xff\xff\xff\x00" #define DEFAULT_IP_START "\xc0\xa8\x31\x33" #define DEFAULT_IP_END "\xc0\xa8\x31\x64" -#endif /* TIZEN_FEATURE_IP_OVER_EAPOL */ #define WS_POLL_TIMEOUT 5000 #define WS_CONN_RETRY_COUNT 10 @@ -434,6 +432,8 @@ int ws_seek_service(wfd_oem_asp_service_s *service); int ws_cancel_seek_service(wfd_oem_asp_service_s *service); int ws_asp_prov_disc_req(wfd_oem_asp_prov_s *asp_params); +int ws_set_eapol_ip_config(int enable); + int ws_add_vsie(wfd_oem_vsie_frames_e frame_id, const char* vsie); int ws_get_vsie(wfd_oem_vsie_frames_e frame_id, char **vsie); int ws_remove_vsie(wfd_oem_vsie_frames_e frame_id, const char *vsie); diff --git a/plugin/wpasupplicant/ctrl_iface_dbus/wfd-plugin-wpasupplicant.c b/plugin/wpasupplicant/ctrl_iface_dbus/wfd-plugin-wpasupplicant.c index 8667354..bb5f2df 100644 --- a/plugin/wpasupplicant/ctrl_iface_dbus/wfd-plugin-wpasupplicant.c +++ b/plugin/wpasupplicant/ctrl_iface_dbus/wfd-plugin-wpasupplicant.c @@ -137,6 +137,8 @@ static wfd_oem_ops_s supplicant_ops = { .cancel_seek_service = ws_cancel_seek_service, .asp_prov_disc_req = ws_asp_prov_disc_req, + .set_eapol_ip_config = ws_set_eapol_ip_config, + .add_vsie = ws_add_vsie, .get_vsie = ws_get_vsie, .remove_vsie = ws_remove_vsie, @@ -1009,9 +1011,7 @@ static void __ws_parse_peer_joined(char *peer_path, static unsigned char peer_dev[WS_MACSTR_LEN] = {'\0',}; const char *path = NULL; char *loc = NULL; -#ifdef TIZEN_FEATURE_IP_OVER_EAPOL int i = 0; -#endif /* TIZEN_FEATURE_IP_OVER_EAPOL */ g_variant_get(parameter, "(&oay)", &path, &iter); g_strlcpy(peer_path, path, DBUS_OBJECT_PATH_MAX); @@ -1022,13 +1022,11 @@ static void __ws_parse_peer_joined(char *peer_path, __ws_mac_compact_to_normal(loc + 1, peer_dev); __ws_txt_to_mac(peer_dev, dev_addr); WDP_LOGD("peer mac [" MACSTR "]", MAC2STR(dev_addr)); -#ifdef TIZEN_FEATURE_IP_OVER_EAPOL for (i = 0; i < OEM_IPADDR_LEN; i++) g_variant_iter_loop(iter, "y", &ip_addr[i]); g_variant_iter_free(iter); WDP_LOGD("peer ip [" IPSTR "]", IP2STR(ip_addr)); -#endif /* TIZEN_FEATURE_IP_OVER_EAPOL */ __WDP_LOG_FUNC_EXIT__; return; @@ -1180,7 +1178,6 @@ void __ws_extract_group_details(const char *key, GVariant *value, void *user_dat g_variant_get(value, "b", &group->is_persistent); WDP_LOGD("Is Persistent : [%s]", group->is_persistent ? "YES" : "NO"); -#ifdef TIZEN_FEATURE_IP_OVER_EAPOL } else if (g_strcmp0(key, "IpAddr") == 0) { if (__ws_unpack_ay(group->ip_addr, value, OEM_IPADDR_LEN)) @@ -1195,7 +1192,6 @@ void __ws_extract_group_details(const char *key, GVariant *value, void *user_dat if (__ws_unpack_ay(group->ip_addr_go, value, OEM_IPADDR_LEN)) WDP_LOGD("GO IP address [" IPSTR "]", IP2STR(group->ip_addr_go)); -#endif /* TIZEN_FEATURE_IP_OVER_EAPOL */ } else if (g_strcmp0(key, "group_object") == 0) { static char group_path[DBUS_OBJECT_PATH_MAX] = {'\0',}; const char *g_path; @@ -4123,13 +4119,6 @@ int __ws_init_p2pdevice(void) dbus_method_param_s params; const char *primary_device_type = PRIMARY_DEVICE_TYPE; - -#ifdef TIZEN_FEATURE_IP_OVER_EAPOL - const char *ip_addr_go = DEFAULT_IP_GO; - const char *ip_addr_mask = DEFAULT_IP_MASK; - const char *ip_addr_start = DEFAULT_IP_START; - const char *ip_addr_end = DEFAULT_IP_END; -#endif /* TIZEN_FEATURE_IP_OVER_EAPOL */ int i = 0; int res = 0; @@ -4187,35 +4176,6 @@ int __ws_init_p2pdevice(void) g_variant_builder_add(builder, "{sv}", "PrimaryDeviceType", g_variant_new("ay", type_builder)); g_variant_builder_unref(type_builder); -#ifdef TIZEN_FEATURE_IP_OVER_EAPOL - type_builder = g_variant_builder_new(G_VARIANT_TYPE("ay")); - for (i = 0; i < OEM_IPADDR_LEN; i++) - g_variant_builder_add(type_builder, "y", ip_addr_go[i]); - g_variant_builder_add(builder, "{sv}", "IpAddrGO", - g_variant_new("ay", type_builder)); - g_variant_builder_unref(type_builder); - - type_builder = g_variant_builder_new(G_VARIANT_TYPE("ay")); - for (i = 0; i < OEM_IPADDR_LEN; i++) - g_variant_builder_add(type_builder, "y", ip_addr_mask[i]); - g_variant_builder_add(builder, "{sv}", "IpAddrMask", - g_variant_new("ay", type_builder)); - g_variant_builder_unref(type_builder); - - type_builder = g_variant_builder_new(G_VARIANT_TYPE("ay")); - for (i = 0; i < OEM_IPADDR_LEN; i++) - g_variant_builder_add(type_builder, "y", ip_addr_start[i]); - g_variant_builder_add(builder, "{sv}", "IpAddrStart", - g_variant_new("ay", type_builder)); - g_variant_builder_unref(type_builder); - - type_builder = g_variant_builder_new(G_VARIANT_TYPE("ay")); - for (i = 0; i < OEM_IPADDR_LEN; i++) - g_variant_builder_add(type_builder, "y", ip_addr_end[i]); - g_variant_builder_add(builder, "{sv}", "IpAddrEnd", - g_variant_new("ay", type_builder)); - g_variant_builder_unref(type_builder); -#endif /* TIZEN_FEATURE_IP_OVER_EAPOL */ value = g_variant_new("a{sv}", builder); g_variant_builder_unref(builder); @@ -7274,6 +7234,99 @@ int ws_asp_prov_disc_req(wfd_oem_asp_prov_s *asp_params) return res; } +int ws_set_eapol_ip_config(int enable) +{ + __WDP_LOG_FUNC_ENTER__; + GDBusConnection *g_dbus = NULL; + + GVariant *value = NULL; + GVariant *param = NULL; + GVariantBuilder *builder = NULL; + GVariantBuilder *type_builder = NULL; + dbus_method_param_s params; + int res = 0; + int i = 0; + enum { + IP_GO, + IP_MASK, + IP_START, + IP_END, + }; + unsigned char eapol_ip[IP_END + 1][OEM_IPADDR_LEN + 1] = {0,}; + + if (!g_pd) { + WDP_LOGE("ws_dbus_plugin_data_s is not created yet"); + __WDP_LOG_FUNC_EXIT__; + return -1; + } + + g_dbus = g_pd->g_dbus; + if (!g_dbus) { + WDP_LOGE("DBus connection is NULL"); + __WDP_LOG_FUNC_EXIT__; + return -1; + } + memset(¶ms, 0x0, sizeof(dbus_method_param_s)); + + dbus_set_method_param(¶ms, DBUS_PROPERTIES_METHOD_SET, g_pd->iface_path, + g_dbus); + + builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}")); + + memset(&eapol_ip, 0x0, (IP_END + 1) * (OEM_IPADDR_LEN + 1)); + if (enable == 1) { + memcpy(eapol_ip[IP_GO], DEFAULT_IP_GO, OEM_IPADDR_LEN); + memcpy(eapol_ip[IP_MASK], DEFAULT_IP_MASK, OEM_IPADDR_LEN); + memcpy(eapol_ip[IP_START], DEFAULT_IP_START, OEM_IPADDR_LEN); + memcpy(eapol_ip[IP_END], DEFAULT_IP_END, OEM_IPADDR_LEN); + } + + type_builder = g_variant_builder_new(G_VARIANT_TYPE("ay")); + for (i = 0; i < OEM_IPADDR_LEN; i++) + g_variant_builder_add(type_builder, "y", eapol_ip[IP_GO][i]); + g_variant_builder_add(builder, "{sv}", "IpAddrGO", + g_variant_new("ay", type_builder)); + g_variant_builder_unref(type_builder); + + type_builder = g_variant_builder_new(G_VARIANT_TYPE("ay")); + for (i = 0; i < OEM_IPADDR_LEN; i++) + g_variant_builder_add(type_builder, "y", eapol_ip[IP_MASK][i]); + g_variant_builder_add(builder, "{sv}", "IpAddrMask", + g_variant_new("ay", type_builder)); + g_variant_builder_unref(type_builder); + + type_builder = g_variant_builder_new(G_VARIANT_TYPE("ay")); + for (i = 0; i < OEM_IPADDR_LEN; i++) + g_variant_builder_add(type_builder, "y", eapol_ip[IP_START][i]); + g_variant_builder_add(builder, "{sv}", "IpAddrStart", + g_variant_new("ay", type_builder)); + g_variant_builder_unref(type_builder); + + type_builder = g_variant_builder_new(G_VARIANT_TYPE("ay")); + for (i = 0; i < OEM_IPADDR_LEN; i++) + g_variant_builder_add(type_builder, "y", eapol_ip[IP_END][i]); + g_variant_builder_add(builder, "{sv}", "IpAddrEnd", + g_variant_new("ay", type_builder)); + g_variant_builder_unref(type_builder); + + value = g_variant_new("a{sv}", builder); + g_variant_builder_unref(builder); + + param = g_variant_new("(ssv)", SUPPLICANT_P2PDEVICE, "P2PDeviceConfig", value); + + params.params = param; + + DEBUG_G_VARIANT("Params : ", param); + res = dbus_method_call(¶ms, DBUS_PROPERTIES_INTERFACE, NULL, NULL); + if (res < 0) { + WDP_LOGE("Failed to send command to wpa_supplicant"); + } else { + WDP_LOGI("Succeeded to set eapol IP"); + } + __WDP_LOG_FUNC_EXIT__; + return res; +} + int ws_add_vsie(wfd_oem_vsie_frames_e frame_id, const char* vsie) { __WDP_LOG_FUNC_ENTER__; diff --git a/plugin/wpasupplicant/emul/include/wfd-plugin-wpasupplicant.h b/plugin/wpasupplicant/emul/include/wfd-plugin-wpasupplicant.h index 41b31b7..9edeb9f 100644 --- a/plugin/wpasupplicant/emul/include/wfd-plugin-wpasupplicant.h +++ b/plugin/wpasupplicant/emul/include/wfd-plugin-wpasupplicant.h @@ -125,6 +125,8 @@ int ws_seek_service(wfd_oem_asp_service_s *service); int ws_cancel_seek_service(wfd_oem_asp_service_s *service); int ws_asp_prov_disc_req(wfd_oem_asp_prov_s *asp_params); +int ws_set_eapol_ip_config(int enable); + int ws_add_vsie(wfd_oem_vsie_frames_e frame_id, const char* vsie); int ws_get_vsie(wfd_oem_vsie_frames_e frame_id, char **vsie); int ws_remove_vsie(wfd_oem_vsie_frames_e frame_id, const char *vsie); diff --git a/plugin/wpasupplicant/emul/wfd-plugin-wpasupplicant-emul.c b/plugin/wpasupplicant/emul/wfd-plugin-wpasupplicant-emul.c index b4db51c..6179081 100644 --- a/plugin/wpasupplicant/emul/wfd-plugin-wpasupplicant-emul.c +++ b/plugin/wpasupplicant/emul/wfd-plugin-wpasupplicant-emul.c @@ -75,6 +75,8 @@ static wfd_oem_ops_s supplicant_ops = { .cancel_seek_service = ws_cancel_seek_service, .asp_prov_disc_req = ws_asp_prov_disc_req, + .set_eapol_ip_config = ws_set_eapol_ip_config, + .add_vsie = ws_add_vsie, .get_vsie = ws_get_vsie, .remove_vsie = ws_remove_vsie, @@ -512,6 +514,14 @@ int ws_asp_prov_disc_req(wfd_oem_asp_prov_s *asp_params) return -1; } +int ws_set_eapol_ip_config(int enable) +{ + __WDP_LOG_FUNC_ENTER__; + + __WDP_LOG_FUNC_EXIT__; + return -1; +} + int ws_add_vsie(wfd_oem_vsie_frames_e frame_id, const char* vsie) { __WDP_LOG_FUNC_ENTER__; diff --git a/src/wifi-direct-event.c b/src/wifi-direct-event.c index b8eca11..2061df2 100644 --- a/src/wifi-direct-event.c +++ b/src/wifi-direct-event.c @@ -827,7 +827,6 @@ void wfd_event_group_created(wfd_oem_event_s *event) wfd_group_complete(manager, event); if (group->role == WFD_DEV_ROLE_GC && session) { -#ifdef TIZEN_FEATURE_IP_OVER_EAPOL wfd_device_s *peer = session->peer; if (peer == NULL) { WDS_LOGE("Unexpected event. Peer doesn't exist"); @@ -860,7 +859,6 @@ void wfd_event_group_created(wfd_oem_event_s *event) wfd_destroy_session(manager); } -#endif /* TIZEN_FEATURE_IP_OVER_EAPOL */ wfd_peer_clear_all(manager); } else { if (group->flags & WFD_GROUP_FLAG_AUTONOMOUS) { @@ -1125,7 +1123,6 @@ void wfd_event_sta_connected(wfd_oem_event_s *event) peer_mac_address)); wfd_update_peer(manager, peer); -#ifdef TIZEN_FEATURE_IP_OVER_EAPOL if (event->ip_addr_peer[3]) { peer->ip_type = WFD_IP_TYPE_OVER_EAPOL; memcpy(peer->client_ip_addr, event->ip_addr_peer, IPADDR_LEN); @@ -1154,9 +1151,9 @@ void wfd_event_sta_connected(wfd_oem_event_s *event) wfd_asp_session_peer_ip(session->session_mac, session->session_id, session->service_mac, peer->ip_addr); } - } else -#endif /* TIZEN_FEATURE_IP_OVER_EAPOL */ - wfd_util_dhcps_wait_ip_leased(peer); + } else { + wfd_util_dhcps_wait_ip_leased(peer); + } wfd_destroy_session(manager); __WDS_LOG_FUNC_EXIT__; diff --git a/src/wifi-direct-group.c b/src/wifi-direct-group.c index 7cae09d..d0b3d7f 100644 --- a/src/wifi-direct-group.c +++ b/src/wifi-direct-group.c @@ -224,7 +224,6 @@ int wfd_group_complete(void *data, wfd_oem_event_s *group_info) wfd_group_add_member(group, peer->dev_addr); session->state = SESSION_STATE_COMPLETED; peer->state = WFD_PEER_STATE_CONNECTED; -#ifdef TIZEN_FEATURE_IP_OVER_EAPOL if (edata->ip_addr[3] && edata->ip_addr_go[3]) { peer->ip_type = WFD_IP_TYPE_OVER_EAPOL; memcpy(peer->client_ip_addr, edata->ip_addr, IPADDR_LEN); @@ -232,10 +231,8 @@ int wfd_group_complete(void *data, wfd_oem_event_s *group_info) memcpy(peer->go_ip_addr, edata->ip_addr_go, IPADDR_LEN); WDS_LOGE("Peer's GO IP [" IPSTR "]", IP2STR((char*) &peer->go_ip_addr)); } - if (peer->ip_type != WFD_IP_TYPE_OVER_EAPOL) -#endif /* TIZEN_FEATURE_IP_OVER_EAPOL */ - wfd_util_dhcpc_start(group->ifname, peer); + wfd_util_dhcpc_start(group->ifname, peer); } __WDS_LOG_FUNC_EXIT__; diff --git a/src/wifi-direct-manager.c b/src/wifi-direct-manager.c index 62c9f1c..95e555f 100644 --- a/src/wifi-direct-manager.c +++ b/src/wifi-direct-manager.c @@ -550,6 +550,7 @@ int wfd_manager_local_config_set(wfd_manager_s *manager) { __WDS_LOG_FUNC_ENTER__; wfd_device_s *local = NULL; + int ip_over_eapol = 0; int res = 0; if (!manager) { @@ -581,6 +582,16 @@ int wfd_manager_local_config_set(wfd_manager_s *manager) return WIFI_DIRECT_ERROR_OPERATION_FAILED; } + if (manager->is_ip_over_eapol) + ip_over_eapol = 1; + else + ip_over_eapol = 0; + res = wfd_oem_set_eapol_ip_config(manager->oem_ops, ip_over_eapol); + if (res < 0) { + WDS_LOGE("Failed to set eapol ip config"); + return WIFI_DIRECT_ERROR_OPERATION_FAILED; + } + return WIFI_DIRECT_ERROR_NONE; } diff --git a/src/wifi-direct-util.c b/src/wifi-direct-util.c index 736a813..416116f 100644 --- a/src/wifi-direct-util.c +++ b/src/wifi-direct-util.c @@ -1342,7 +1342,6 @@ int wfd_util_dhcpc_get_server_ip(unsigned char* ip_addr) return 0; } -#ifdef TIZEN_FEATURE_IP_OVER_EAPOL static int _wfd_util_set_vconf_for_static_ip(const char *ifname, char *static_ip) { __WDS_LOG_FUNC_ENTER__; @@ -1488,7 +1487,6 @@ int wfd_util_ip_over_eap_assign(wfd_device_s *peer, const char *ifname) __WDS_LOG_FUNC_EXIT__; return 0; } -#endif /* TIZEN_FEATURE_IP_OVER_EAPOL */ int wfd_util_ip_unset(const char *ifname) { -- 2.7.4