From 87beec0d9ffcc06fd1c640a1cda3a4bda0c193e5 Mon Sep 17 00:00:00 2001 From: Bruin06 <419738327@qq.com> Date: Sat, 13 Sep 2025 15:14:32 +0800 Subject: [PATCH] Add Error Code With Invalid Password Signed-off-by: Bruin06 <419738327@qq.com> --- wifi/frameworks/native/c_adapter/src/wifi_c_utils.cpp | 3 ++- wifi/frameworks/native/interfaces/wifi_errcode.h | 1 + wifi/interfaces/kits/c/wifi_error_code.h | 2 ++ .../wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.cpp | 6 ++++++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/wifi/frameworks/native/c_adapter/src/wifi_c_utils.cpp b/wifi/frameworks/native/c_adapter/src/wifi_c_utils.cpp index 18f750b08..6cae2544a 100644 --- a/wifi/frameworks/native/c_adapter/src/wifi_c_utils.cpp +++ b/wifi/frameworks/native/c_adapter/src/wifi_c_utils.cpp @@ -37,7 +37,8 @@ static std::map g_ErrCodeMap = { {WIFI_OPT_AP_NOT_OPENED, ERROR_WIFI_NOT_STARTED}, {WIFI_OPT_INVALID_CONFIG, ERROR_WIFI_UNKNOWN}, {WIFI_OPT_GET_ENHANCE_SVC_FAILED, ERROR_WIFI_ENHANCE_SVC}, - {WIFI_OPT_STA_AND_P2P_MAC_SAME, ERROR_P2P_AND_STA_MAC_SAME} + {WIFI_OPT_STA_AND_P2P_MAC_SAME, ERROR_P2P_AND_STA_MAC_SAME}, + {WIFI_OPT_INVALID_PASSWORD, ERROR_P2P_INVALID_PASSWORD} }; WifiErrorCode GetCErrorCode(ErrCode errCode) diff --git a/wifi/frameworks/native/interfaces/wifi_errcode.h b/wifi/frameworks/native/interfaces/wifi_errcode.h index 5a00693f7..58dc2500b 100644 --- a/wifi/frameworks/native/interfaces/wifi_errcode.h +++ b/wifi/frameworks/native/interfaces/wifi_errcode.h @@ -52,6 +52,7 @@ enum ErrCode { WIFI_OPT_USER_DOES_NOT_RESPOND, /* user does not respond */ WIFI_OPT_USER_REFUSE_THE_ACTION, /* user refuse the action */ WIFI_OPT_INVALID_PARAM_NEW, /* invalid params since API-18 */ + WIFI_OPT_INVALID_PASSWORD, /* invalid password */ }; } // namespace Wifi } // namespace OHOS diff --git a/wifi/interfaces/kits/c/wifi_error_code.h b/wifi/interfaces/kits/c/wifi_error_code.h index d39e1fb63..c39a18e41 100644 --- a/wifi/interfaces/kits/c/wifi_error_code.h +++ b/wifi/interfaces/kits/c/wifi_error_code.h @@ -71,6 +71,8 @@ typedef enum { ERROR_P2P_GROUP_NOT_AVAILABLE = -200, /* sta and p2p mac is same */ ERROR_P2P_AND_STA_MAC_SAME = -201, + /* Invalid password */ + ERROR_P2P_INVALID_PASSWORD = -202, } WifiErrorCode; #endif // WIFI_ERROR_CODE_C_H diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.cpp index 3215e7d8d..99611ee8c 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_sa/wifi_p2p_service_impl.cpp @@ -1216,6 +1216,12 @@ ErrCode WifiP2pServiceImpl::Hid2dRemoveGcGroup(const std::string& gcIfName) ErrCode WifiP2pServiceImpl::Hid2dConnect(const Hid2dConnectConfig& config) { + uint32_t passLen = config.GetPreSharedKey().length(); + if (!config.GetPreSharedKey().empty() && + (passLen < WIFI_P2P_PASSPHRASE_MIN_LEN || passLen > WIFI_P2P_PASSPHRASE_MAX_LEN)) { + WIFI_LOGE("%{public}s, Invalid Password", __func__); + return WIFI_OPT_INVALID_PASSWORD; + } int callingUid = GetCallingUid(); WIFI_LOGI("Uid %{public}d Hid2dConnect", callingUid); if (callingUid != SOFT_BUS_SERVICE_UID) { -- Gitee