From 111d557e5a40c513bfe69ba4e6dfc87ba5ce1d43 Mon Sep 17 00:00:00 2001 From: chen-yu5 <417887319@qq.com> Date: Mon, 11 Aug 2025 15:18:03 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=A7=A3=E8=80=A6wifi=E4=B8=8Etelephony?= =?UTF-8?q?=E7=9A=84=E8=80=A6=E5=90=88=20Signed-off-by:chen-yu5=20<4178873?= =?UTF-8?q?19@qq.com>?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wifi_framework/wifi_manage/wifi_sta/BUILD.gn | 11 +++++++++-- .../wifi_manage/wifi_sta/sta_service.cpp | 8 ++++++++ .../wifi_framework/wifi_manage/wifi_sta/sta_service.h | 2 ++ .../wifi_manage/wifi_sta/sta_state_machine.cpp | 4 ++++ .../wifi_manage/wifi_sta/sta_state_machine.h | 6 ++++++ .../wifi_framework/wifi_manage/wifi_sta_ext/BUILD.gn | 11 +++++++++-- wifi/test/fuzztest/wifi_sta/enablep2p_fuzzer/BUILD.gn | 2 -- .../fuzztest/wifi_sta/wifistaserver_fuzzer/BUILD.gn | 2 -- .../wifi_framework/wifi_manage/wifi_sta_new/BUILD.gn | 2 -- 9 files changed, 38 insertions(+), 10 deletions(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/BUILD.gn b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/BUILD.gn index 53de33c73..83b5d53d9 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/BUILD.gn +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/BUILD.gn @@ -187,8 +187,6 @@ if (defined(ohos_lite)) { "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", - "cellular_data:tel_cellular_data_api", - "core_service:tel_core_service_api", "dhcp:dhcp_sdk", "hilog:libhilog", "init:libbegetutil", @@ -202,6 +200,15 @@ if (defined(ohos_lite)) { "time_service:time_client", ] + if (defined(global_parts_info) && + defined(global_parts_info.telephony_core_service) && + defined(global_parts_info.telephony_cellular_data)) { + external_deps += [ + "cellular_data:tel_cellular_data_api", + "core_service:tel_core_service_api",] + defines += [ "TELEPHONE_CORE_SERVICE_ENABLE" ] + } + part_name = "wifi" subsystem_name = "communication" } diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.cpp index 8c5bd2888..3a455296e 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.cpp @@ -19,8 +19,10 @@ #ifndef OHOS_ARCH_LITE #include "wifi_internal_event_dispatcher.h" #include "wifi_country_code_manager.h" +#ifdef TELEPHONE_CORE_SERVICE_ENABLE #include "core_service_client.h" #include "cellular_data_client.h" +#endif #include "wifi_notification_util.h" #include "wifi_history_record_manager.h" #endif @@ -301,6 +303,7 @@ std::string StaService::ConvertString(const std::u16string &wideText) const } #ifndef OHOS_ARCH_LITE +#ifdef TELEPHONE_CORE_SERVICE_ENABLE int32_t StaService::GetDataSlotId(int32_t slotId) const { int32_t simCount = CoreServiceClient::GetInstance().GetMaxSimCount(); @@ -339,6 +342,7 @@ std::string StaService::GetPlmn(int32_t slotId) const return ConvertString(plmn); } #endif +#endif std::string StaService::GetMcc(const std::string &imsi) const { @@ -350,6 +354,7 @@ std::string StaService::GetMnc(const std::string &imsi, const int mncLen) const return imsi.substr(EAP_AUTH_IMSI_MNC_POS, mncLen); } +#ifdef TELEPHONE_CORE_SERVICE_ENABLE void StaService::UpdateEapConfig(const WifiDeviceConfig &config, WifiEapConfig &wifiEapConfig) const { std::string eapMethod = config.wifiEapConfig.eap; @@ -395,6 +400,7 @@ void StaService::UpdateEapConfig(const WifiDeviceConfig &config, WifiEapConfig & LOGI("StaService::UpdateEapConfig, identity: %{public}s", identity.c_str()); wifiEapConfig.identity = identity; } +#endif int StaService::AddDeviceConfig(const WifiDeviceConfig &config) const { @@ -450,7 +456,9 @@ int StaService::AddDeviceConfig(const WifiDeviceConfig &config) const } } +#ifdef TELEPHONE_CORE_SERVICE_ENABLE UpdateEapConfig(config, tempDeviceConfig.wifiEapConfig); +#endif WifiSettings::GetInstance().SetKeyMgmtBitset(tempDeviceConfig); /* Add the new network to WifiSettings. */ diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.h index c92187b08..ef2e9d4dc 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_service.h @@ -440,9 +440,11 @@ private: void NotifyDeviceConfigChange(ConfigChange value) const; int FindDeviceConfig(const WifiDeviceConfig &config, WifiDeviceConfig &outConfig) const; std::string ConvertString(const std::u16string &wideText) const; +#ifdef TELEPHONE_CORE_SERVICE_ENABLE int32_t GetDataSlotId(int32_t slotId) const; std::string GetImsi(int32_t slotId) const; std::string GetPlmn(int32_t slotId) const; +#endif std::string GetMcc(const std::string &imsi) const; std::string GetMnc(const std::string &imsi, const int mncLen) const; void UpdateEapConfig(const WifiDeviceConfig &config, WifiEapConfig &wifiEapConfig) const; diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp index d8d7f1b22..13bfe28b4 100755 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp @@ -638,12 +638,14 @@ int StaStateMachine::LinkState::InitStaSMHandleMap() return this->pStaStateMachine->DealScreenStateChangedEvent(msg); }; #ifndef OHOS_ARCH_LITE +#ifdef TELEPHONE_CORE_SERVICE_ENABLE staSmHandleFuncMap[WIFI_SVR_CMD_STA_WPA_EAP_SIM_AUTH_EVENT] = [this](InternalMessagePtr msg) { return this->pStaStateMachine->DealWpaEapSimAuthEvent(msg); }; staSmHandleFuncMap[WIFI_SVR_CMD_STA_WPA_EAP_UMTS_AUTH_EVENT] = [this](InternalMessagePtr msg) { return this->pStaStateMachine->DealWpaEapUmtsAuthEvent(msg); }; +#endif #endif staSmHandleFuncMap[WIFI_SVR_CMD_STA_WPA_STATE_CHANGE_EVENT] = [this](InternalMessagePtr msg) { return this->DealWpaStateChange(msg); @@ -4334,6 +4336,7 @@ void StaStateMachine::StartConnectToBssid(std::string bssid) } #ifndef OHOS_ARCH_LITE +#ifdef TELEPHONE_CORE_SERVICE_ENABLE int32_t StaStateMachine::GetDataSlotId(int32_t slotId) { int32_t simCount = CoreServiceClient::GetInstance().GetMaxSimCount(); @@ -4821,6 +4824,7 @@ void StaStateMachine::DealWpaEapUmtsAuthEvent(InternalMessagePtr msg) WIFI_LOGD("%{public}s: success to send the message, authReq: %{private}s", __func__, reqCmd.c_str()); } #endif +#endif /* ------------------ state machine call back ----------------- */ void StaStateMachine::RegisterStaServiceCallback(const StaServiceCallback &callback) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.h index b6a39d850..d5bfbba74 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.h @@ -37,11 +37,13 @@ #include "want.h" #include "wifi_net_agent.h" #include "wifi_net_observer.h" +#ifdef TELEPHONE_CORE_SERVICE_ENABLE #include "sim_state_type.h" #include "core_service_client.h" #include "cellular_data_client.h" #include "core_manager_inner.h" #include "telephony_errors.h" +#endif #include "ienhance_service.h" #include "iself_cure_service.h" #include "appmgr/app_mgr_interface.h" @@ -51,8 +53,10 @@ namespace OHOS { namespace Wifi { #ifndef OHOS_ARCH_LITE +#ifdef TELEPHONE_CORE_SERVICE_ENABLE using namespace OHOS::Telephony; #endif +#endif constexpr int STA_RENEWAL_MIN_TIME = 120; constexpr int STREAM_TXPACKET_THRESHOLD = 0; constexpr int STREAM_RXPACKET_THRESHOLD = 0; @@ -856,6 +860,7 @@ private: void DealMloConnectionLinkInfo(void); #ifndef OHOS_ARCH_LITE +#ifdef TELEPHONE_CORE_SERVICE_ENABLE /** * @Description Get slot id. * @Return int32_t - 0:success, other value:failed @@ -962,6 +967,7 @@ private: * @Description Subscribe system ability changed. */ void SubscribeSystemAbilityChanged(void); +#endif /** * @Description save wificonfig for update mode. diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta_ext/BUILD.gn b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta_ext/BUILD.gn index e4b1546ec..5c5b3528d 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta_ext/BUILD.gn +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta_ext/BUILD.gn @@ -67,8 +67,6 @@ ohos_static_library("wifi_sta_ext_service") { "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", - "cellular_data:tel_cellular_data_api", - "core_service:tel_core_service_api", "dhcp:dhcp_sdk", "hilog:libhilog", "init:libbegetutil", @@ -84,6 +82,15 @@ ohos_static_library("wifi_sta_ext_service") { defines = [] + if (defined(global_parts_info) && + defined(global_parts_info.telephony_core_service) && + defined(global_parts_info.telephony_cellular_data)) { + external_deps += [ + "cellular_data:tel_cellular_data_api", + "core_service:tel_core_service_api",] + defines += [ "TELEPHONE_CORE_SERVICE_ENABLE" ] + } + if (wifi_feature_with_data_report) { defines += [ "WIFI_DATA_REPORT_ENABLE" ] } diff --git a/wifi/test/fuzztest/wifi_sta/enablep2p_fuzzer/BUILD.gn b/wifi/test/fuzztest/wifi_sta/enablep2p_fuzzer/BUILD.gn index 57f0c4135..88970e698 100644 --- a/wifi/test/fuzztest/wifi_sta/enablep2p_fuzzer/BUILD.gn +++ b/wifi/test/fuzztest/wifi_sta/enablep2p_fuzzer/BUILD.gn @@ -194,10 +194,8 @@ ohos_fuzztest("EnableP2pFuzzTest") { "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", - "cellular_data:tel_cellular_data_api", "certificate_manager:cert_manager_sdk", "common_event_service:cesfwk_innerkits", - "core_service:tel_core_service_api", "data_share:datashare_common", "data_share:datashare_consumer", "dhcp:dhcp_sdk", diff --git a/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/BUILD.gn b/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/BUILD.gn index 628e72d75..9d98f6ad0 100644 --- a/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/BUILD.gn +++ b/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/BUILD.gn @@ -155,8 +155,6 @@ ohos_fuzztest("WifiStaServerFuzzTest") { "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", - "cellular_data:tel_cellular_data_api", - "core_service:tel_core_service_api", "data_share:datashare_consumer", "dhcp:dhcp_sdk", "hilog:libhilog", diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta_new/BUILD.gn b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta_new/BUILD.gn index ccd1b7c08..fb23edab5 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta_new/BUILD.gn +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta_new/BUILD.gn @@ -139,8 +139,6 @@ ohos_unittest("wifi_sta_new_unittest") { "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", - "cellular_data:tel_cellular_data_api", - "core_service:tel_core_service_api", "dhcp:dhcp_sdk", "dhcp:dhcp_utils", "googletest:gmock_main", -- Gitee From a380479c897ac072462a7b4c095d5af6bae0b4e8 Mon Sep 17 00:00:00 2001 From: chen-yu5 <417887319@qq.com> Date: Tue, 12 Aug 2025 11:33:15 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=A7=A3=E8=80=A6wifi=E4=B8=8Etelephony?= =?UTF-8?q?=E7=9A=84=E8=80=A6=E5=90=88=20Signed-off-by:chen-yu5=20<4178873?= =?UTF-8?q?19@qq.com>?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wifi_framework/wifi_manage/wifi_sta_ext/BUILD.gn | 8 +++----- wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/BUILD.gn | 3 +++ .../wifistaserver_fuzzer/wifistaserver_fuzzer.cpp | 6 +++++- wifi/wifi.gni | 6 ++++++ 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta_ext/BUILD.gn b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta_ext/BUILD.gn index 5c5b3528d..4c5d02af8 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta_ext/BUILD.gn +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta_ext/BUILD.gn @@ -82,13 +82,11 @@ ohos_static_library("wifi_sta_ext_service") { defines = [] - if (defined(global_parts_info) && - defined(global_parts_info.telephony_core_service) && - defined(global_parts_info.telephony_cellular_data)) { - external_deps += [ + if (wifi_feature_with_call_supported) { + external_deps += [ "cellular_data:tel_cellular_data_api", "core_service:tel_core_service_api",] - defines += [ "TELEPHONE_CORE_SERVICE_ENABLE" ] + defines += [ "TELEPHONE_CORE_SERVICE_ENABLE" ] } if (wifi_feature_with_data_report) { diff --git a/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/BUILD.gn b/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/BUILD.gn index 9d98f6ad0..461e8b125 100644 --- a/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/BUILD.gn +++ b/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/BUILD.gn @@ -175,6 +175,9 @@ ohos_fuzztest("WifiStaServerFuzzTest") { if (wifi_feature_with_data_report) { defines += [ "WIFI_DATA_REPORT_ENABLE" ] } + if (wifi_feature_with_call_supported) { + defines += [ "TELEPHONE_CORE_SERVICE_ENABLE" ] + } part_name = "wifi" subsystem_name = "communication" diff --git a/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/wifistaserver_fuzzer.cpp b/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/wifistaserver_fuzzer.cpp index ba42b1d4a..99634979b 100644 --- a/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/wifistaserver_fuzzer.cpp +++ b/wifi/test/fuzztest/wifi_sta/wifistaserver_fuzzer/wifistaserver_fuzzer.cpp @@ -193,7 +193,9 @@ void StaServerFuzzTest(const uint8_t* data, size_t size) pStaService->StartPortalCertification(); pStaService->EnableHiLinkHandshake(true, config, conditionName); pStaService->DeliverStaIfaceData(conditionName); +#ifdef TELEPHONE_CORE_SERVICE_ENABLE pStaService->GetDataSlotId(index); +#endif pStaService->AddDeviceConfig(config); } @@ -451,10 +453,12 @@ void GetImsiFuzzTest(const uint8_t* data, size_t size) int slotId = static_cast(data[index++]); int mncLen = static_cast(data[index++]); std::string imsi = std::string(reinterpret_cast(data), size); +#ifdef TELEPHONE_CORE_SERVICE_ENABLE pStaService->GetPlmn(slotId); + pStaService->GetImsi(slotId); +#endif pStaService->GetMcc(imsi); pStaService->GetMnc(imsi, mncLen); - pStaService->GetImsi(slotId); } extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv) diff --git a/wifi/wifi.gni b/wifi/wifi.gni index e54029250..493d70adf 100644 --- a/wifi/wifi.gni +++ b/wifi/wifi.gni @@ -58,6 +58,12 @@ declare_args() { } wifi_feature_with_vap_manager = true wifi_feature_with_wifi_oeminfo_mac = false + wifi_feature_with_call_supported = false + if (defined(global_parts_info) && + defined(global_parts_info.telephony_core_service) && + defined(global_parts_info.telephony_cellular_data)) { + wifi_feature_with_call_supported = true + } } memory_optimization_cflags = [ -- Gitee