Remove the TIZEN_FEATURE_IP_OVER_EAPOL build flag 20/139220/4
authorJiung Yu <jiung.yu@samsung.com>
Tue, 18 Jul 2017 04:01:49 +0000 (13:01 +0900)
committerJiung Yu <jiung.yu@samsung.com>
Tue, 18 Jul 2017 09:12:08 +0000 (18:12 +0900)
Change-Id: I193769b63d8fb75ed18c315f1c7cf13612087872
Signed-off-by: Yu jiung <jiung.yu@samsung.com>
14 files changed:
CMakeLists.txt
include/wifi-direct-manager.h
include/wifi-direct-util.h
oem/wifi-direct-oem.c
oem/wifi-direct-oem.h
packaging/wifi-direct-manager.spec
plugin/wpasupplicant/ctrl_iface_dbus/include/wfd-plugin-wpasupplicant.h
plugin/wpasupplicant/ctrl_iface_dbus/wfd-plugin-wpasupplicant.c
plugin/wpasupplicant/emul/include/wfd-plugin-wpasupplicant.h
plugin/wpasupplicant/emul/wfd-plugin-wpasupplicant-emul.c
src/wifi-direct-event.c
src/wifi-direct-group.c
src/wifi-direct-manager.c
src/wifi-direct-util.c

index cb7a43f..c3a0ba4 100644 (file)
@@ -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)
index 7f69292..ac4e200 100644 (file)
@@ -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 {
index cddd8d5..a4d3f72 100644 (file)
@@ -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);
 
index bed386e..2b97992 100644 (file)
@@ -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)
 {
index a0544a0..c4a0239 100644 (file)
@@ -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,
index 100fdaa..16b805d 100644 (file)
@@ -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"
index afe1307..d07dcee 100644 (file)
 #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);
index 8667354..bb5f2df 100644 (file)
@@ -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(&params, 0x0, sizeof(dbus_method_param_s));
+
+       dbus_set_method_param(&params, 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(&params, 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__;
index 41b31b7..9edeb9f 100644 (file)
@@ -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);
index b4db51c..6179081 100644 (file)
@@ -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__;
index b8eca11..2061df2 100644 (file)
@@ -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__;
index 7cae09d..d0b3d7f 100644 (file)
@@ -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__;
index 62c9f1c..95e555f 100644 (file)
@@ -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;
 }
 
index 736a813..416116f 100644 (file)
@@ -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)
 {