diff --git a/wpa_supplicant-2.9_standard/BUILD.gn b/wpa_supplicant-2.9_standard/BUILD.gn index 26f51e665a3d27c346e50ced9623f8231a438e66..b31bc85d7331b74366b8628af7c7ab0cea724c87 100644 --- a/wpa_supplicant-2.9_standard/BUILD.gn +++ b/wpa_supplicant-2.9_standard/BUILD.gn @@ -12,6 +12,7 @@ # limitations under the License. import("//build/ohos.gni") +import("//third_party/wpa_supplicant/wpa_supplicant-2.9_standard/wpa.gni") WPA_ROOT_DIR = "//third_party/wpa_supplicant/wpa_supplicant-2.9_standard" @@ -39,7 +40,7 @@ if ("${CONFIG_DRIVER}" == "nl80211") { } else { CONFIG_L2_PACKET = "rtos" } -CONFIG_CTRL_IFACE = "udp" + CONFIG_MAIN = "main" config("wpa_warnings") { @@ -91,7 +92,6 @@ ohos_shared_library("wpa_client") { "-DCONFIG_INTERNAL_SHA384", "-DCONFIG_INTERNAL_SHA512", "-DCONFIG_CTRL_IFACE", - "-DCONFIG_CTRL_IFACE_UDP", "-DCONFIG_IBSS_RSN", "-DIEEE8021X_EAPOL", "-DCONFIG_BACEND_FILE", @@ -100,6 +100,11 @@ ohos_shared_library("wpa_client") { "-DCONFIG_DEBUG_FILE", "-DCONFIG_OPEN_HARMONY_PATCH", ] + if ("${CONFIG_CTRL_IFACE}" == "udp") { + cflags += [ "-DCONFIG_CTRL_IFACE_UDP" ] + } else { + cflags += [ "-DCONFIG_CTRL_IFACE_UNIX" ] + } deps = [ "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog", @@ -322,7 +327,6 @@ ohos_shared_library("wpa") { "-DCONFIG_INTERNAL_SHA384", "-DCONFIG_INTERNAL_SHA512", "-DCONFIG_CTRL_IFACE", - "-DCONFIG_CTRL_IFACE_UDP", "-DCONFIG_IBSS_RSN", "-DIEEE8021X_EAPOL", "-DUSERSPACE_CLIENT_SUPPORT", @@ -359,6 +363,11 @@ ohos_shared_library("wpa") { "-DCONFIG_SME", "-DCONFIG_WEP", ] + if ("${CONFIG_CTRL_IFACE}" == "udp") { + cflags += [ "-DCONFIG_CTRL_IFACE_UDP" ] + } else { + cflags += [ "-DCONFIG_CTRL_IFACE_UNIX" ] + } defines = [ "TLS_DEFAULT_CIPHERS = \"DEFAULT:!EXP:!LOW\"", @@ -459,7 +468,6 @@ ohos_shared_library("wpa_updater") { "-DCONFIG_INTERNAL_SHA384", "-DCONFIG_INTERNAL_SHA512", "-DCONFIG_CTRL_IFACE", - "-DCONFIG_CTRL_IFACE_UDP", "-DCONFIG_IBSS_RSN", "-DIEEE8021X_EAPOL", "-DUSERSPACE_CLIENT_SUPPORT", @@ -496,6 +504,11 @@ ohos_shared_library("wpa_updater") { "-DCONFIG_SME", "-DCONFIG_WEP", ] + if ("${CONFIG_CTRL_IFACE}" == "udp") { + cflags += [ "-DCONFIG_CTRL_IFACE_UDP" ] + } else { + cflags += [ "-DCONFIG_CTRL_IFACE_UNIX" ] + } defines = [ "TLS_DEFAULT_CIPHERS = \"DEFAULT:!EXP:!LOW\"", @@ -597,7 +610,6 @@ ohos_executable("wpa_cli") { "-DCONFIG_INTERNAL_SHA384", "-DCONFIG_INTERNAL_SHA512", "-DCONFIG_CTRL_IFACE", - "-DCONFIG_CTRL_IFACE_UDP", "-DCONFIG_IBSS_RSN", "-DIEEE8021X_EAPOL", "-DUSERSPACE_CLIENT_SUPPORT", @@ -615,6 +627,11 @@ ohos_executable("wpa_cli") { "-DCONFIG_DEBUG_FILE", "-DCONFIG_OPEN_HARMONY_PATCH", ] + if ("${CONFIG_CTRL_IFACE}" == "udp") { + cflags += [ "-DCONFIG_CTRL_IFACE_UDP" ] + } else { + cflags += [ "-DCONFIG_CTRL_IFACE_UNIX" ] + } if ("${CONFIG_DRIVER}" == "nl80211") { include_dirs += [ "$WPA_ROOT_DIR/libnl/include/libnl3" ] @@ -675,7 +692,6 @@ ohos_executable("hostapd_cli") { "-DCONFIG_INTERNAL_SHA384", "-DCONFIG_INTERNAL_SHA512", "-DCONFIG_CTRL_IFACE", - "-DCONFIG_CTRL_IFACE_UDP", "-DCONFIG_IBSS_RSN", "-DIEEE8021X_EAPOL", "-DUSERSPACE_CLIENT_SUPPORT", @@ -697,6 +713,11 @@ ohos_executable("hostapd_cli") { "-DCONFIG_DEBUG_FILE", "-DCONFIG_OPEN_HARMONY_PATCH", ] + if ("${CONFIG_CTRL_IFACE}" == "udp") { + cflags += [ "-DCONFIG_CTRL_IFACE_UDP" ] + } else { + cflags += [ "-DCONFIG_CTRL_IFACE_UNIX" ] + } deps = [ "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog", diff --git a/wpa_supplicant-2.9_standard/src/common/wpa_ctrl.c b/wpa_supplicant-2.9_standard/src/common/wpa_ctrl.c index d05ef5f018072f616af13af78595902d914c13c3..6f1b0c6f84197ca73204812e5547c7b20de16b60 100644 --- a/wpa_supplicant-2.9_standard/src/common/wpa_ctrl.c +++ b/wpa_supplicant-2.9_standard/src/common/wpa_ctrl.c @@ -78,7 +78,7 @@ struct wpa_ctrl { #ifdef CONFIG_CTRL_IFACE_UNIX #ifndef CONFIG_CTRL_IFACE_CLIENT_DIR -#define CONFIG_CTRL_IFACE_CLIENT_DIR "/tmp" +#define CONFIG_CTRL_IFACE_CLIENT_DIR "/data/service/el1/public/wifi" #endif /* CONFIG_CTRL_IFACE_CLIENT_DIR */ #ifndef CONFIG_CTRL_IFACE_CLIENT_PREFIX #define CONFIG_CTRL_IFACE_CLIENT_PREFIX "wpa_ctrl_" @@ -148,6 +148,7 @@ try_again: * no-deference-symlinks version to avoid races. */ fchmod(ctrl->s, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP); #endif /* ANDROID */ + fchmod(ctrl->s, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP); if (bind(ctrl->s, (struct sockaddr *) &ctrl->local, sizeof(ctrl->local)) < 0) { if (errno == EADDRINUSE && tries < 2) { @@ -301,6 +302,7 @@ void wpa_ctrl_cleanup(void) #endif /* CONFIG_CTRL_IFACE_UNIX */ +#ifdef CONFIG_CTRL_IFACE_UDP #if defined(CONFIG_OPEN_HARMONY_PATCH) || defined(CONFIG_OPEN_HARMONY_PATCH_LITE) int wpa_ctrl_port(const char *ctrl_path, struct wpa_ctrl *ctrl) { @@ -331,8 +333,6 @@ int wpa_ctrl_port(const char *ctrl_path, struct wpa_ctrl *ctrl) } #endif /* CONFIG_OPEN_HARMONY_PATCH */ -#ifdef CONFIG_CTRL_IFACE_UDP - struct wpa_ctrl * wpa_ctrl_open(const char *ctrl_path) { struct wpa_ctrl *ctrl; diff --git a/wpa_supplicant-2.9_standard/wpa.gni b/wpa_supplicant-2.9_standard/wpa.gni new file mode 100644 index 0000000000000000000000000000000000000000..20ca8fc37bd7776227d607a62958f79c384ba9e1 --- /dev/null +++ b/wpa_supplicant-2.9_standard/wpa.gni @@ -0,0 +1,21 @@ +# Copyright (c) 2021-2022 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +if (defined(ohos_lite)) { + import("//build/lite/config/component/lite_component.gni") +} else { + import("//build/ohos.gni") +} + +declare_args() { + CONFIG_CTRL_IFACE = "unix" +}