From a475b98ecc91f5195d46932c0e2fd0d6430d1646 Mon Sep 17 00:00:00 2001
From: l00635678
Date: Mon, 24 Mar 2025 20:55:05 +0800
Subject: [PATCH] =?UTF-8?q?Fuzz=E7=94=A8=E4=BE=8B=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: l00635678
---
services/netconnmanager/BUILD.gn | 1 +
services/netconnmanager/src/net_conn_service.cpp | 2 ++
services/netmanagernative/BUILD.gn | 1 +
services/netpolicymanager/BUILD.gn | 1 +
services/netpolicymanager/src/net_policy_service.cpp | 5 +++++
services/netstatsmanager/BUILD.gn | 1 +
services/netstatsmanager/src/net_stats_service.cpp | 2 ++
.../netpolicyclient_fuzzer/net_policy_client_fuzzer.cpp | 4 ++--
8 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/services/netconnmanager/BUILD.gn b/services/netconnmanager/BUILD.gn
index 533282eab..4c43f0b24 100644
--- a/services/netconnmanager/BUILD.gn
+++ b/services/netconnmanager/BUILD.gn
@@ -234,6 +234,7 @@ ohos_static_library("net_conn_manager_static") {
defines = [
"NETMGR_LOG_TAG = \"NetConnManager\"",
"LOG_DOMAIN = 0xD0015B0",
+ "NETMANAGER_TEST",
]
if (enable_netmgr_debug) {
diff --git a/services/netconnmanager/src/net_conn_service.cpp b/services/netconnmanager/src/net_conn_service.cpp
index dd1e04370..53038421d 100644
--- a/services/netconnmanager/src/net_conn_service.cpp
+++ b/services/netconnmanager/src/net_conn_service.cpp
@@ -3045,9 +3045,11 @@ void NetConnService::OnAddSystemAbility(int32_t systemAbilityId, const std::stri
}
} else if (systemAbilityId == ACCESS_TOKEN_MANAGER_SERVICE_ID) {
if (!registerToService_) {
+#ifndef NETMANAGER_TEST
if (!Publish(NetConnService::GetInstance().get())) {
NETMGR_LOG_E("Register to sa manager failed");
}
+#endif
registerToService_ = true;
}
} else if (systemAbilityId == COMM_NET_POLICY_MANAGER_SYS_ABILITY_ID) {
diff --git a/services/netmanagernative/BUILD.gn b/services/netmanagernative/BUILD.gn
index 36a11f33c..e8ae98e16 100644
--- a/services/netmanagernative/BUILD.gn
+++ b/services/netmanagernative/BUILD.gn
@@ -266,6 +266,7 @@ ohos_static_library("netsys_native_manager_static") {
"NETSYS_CONFIG_DEBUG=0",
"DNS_CONFIG_DEBUG=0",
"UNITTEST_FORBID_FFRT=1",
+ "NETMANAGER_TEST",
"IPTABLES_CONFIG_PATH = \"/system/etc/wearable_distributed_net_forward.json\"",
]
diff --git a/services/netpolicymanager/BUILD.gn b/services/netpolicymanager/BUILD.gn
index be606a5f8..bc348c9a7 100644
--- a/services/netpolicymanager/BUILD.gn
+++ b/services/netpolicymanager/BUILD.gn
@@ -193,6 +193,7 @@ ohos_static_library("net_policy_manager_static") {
defines = [
"NETMGR_LOG_TAG = \"NetPolicyService\"",
"LOG_DOMAIN = 0xD0015B0",
+ "NETMANAGER_TEST",
]
if (enable_netmgr_debug) {
diff --git a/services/netpolicymanager/src/net_policy_service.cpp b/services/netpolicymanager/src/net_policy_service.cpp
index ae88d6d4e..c714f2f7e 100755
--- a/services/netpolicymanager/src/net_policy_service.cpp
+++ b/services/netpolicymanager/src/net_policy_service.cpp
@@ -150,9 +150,11 @@ void NetPolicyService::Init()
NetAccessPolicyRDB netAccessPolicy;
netAccessPolicy.InitRdbStore();
UpdateNetAccessPolicyToMapFromDB();
+#ifndef NETMANAGER_TEST
if (!Publish(DelayedSingleton::GetInstance().get())) {
NETMGR_LOG_E("Register to sa manager failed");
}
+#endif
}, ffrt::task_attr().name("FfrtNetPolicyServiceInit"));
ffrtQueue_.submit([this]() { SetBrokerUidAccessPolicyMap(std::nullopt); },
ffrt::task_attr().name("InitSetBrokerUidAccessPolicyMapFunc").delay(DELAY_US));
@@ -204,6 +206,9 @@ int32_t NetPolicyService::IsUidNetAllowed(uint32_t uid, bool metered, bool &isAl
int32_t NetPolicyService::IsUidNetAllowed(uint32_t uid, const std::string &ifaceName, bool &isAllowed)
{
NETMGR_LOG_D("IsUidNetAllowed uid[%{public}d ifaceName[%{public}s]", uid, ifaceName.c_str());
+ if (netPolicyTraffic_ == nullptr) {
+ return 0;
+ }
const auto &vec = netPolicyTraffic_->GetMeteredIfaces();
if (std::find(vec.begin(), vec.end(), ifaceName) != vec.end()) {
return IsUidNetAllowed(uid, true, isAllowed);
diff --git a/services/netstatsmanager/BUILD.gn b/services/netstatsmanager/BUILD.gn
index 410506fd0..5aa6aa268 100644
--- a/services/netstatsmanager/BUILD.gn
+++ b/services/netstatsmanager/BUILD.gn
@@ -206,6 +206,7 @@ ohos_static_library("net_stats_manager_static") {
"NETMGR_LOG_TAG = \"NetStatsClient\"",
"LOG_DOMAIN = 0xD0015B0",
"UNITTEST_FORBID_FFRT",
+ "NETMANAGER_TEST",
]
if (netmanager_base_enable_netsys_access_policy_diag_listen) {
diff --git a/services/netstatsmanager/src/net_stats_service.cpp b/services/netstatsmanager/src/net_stats_service.cpp
index e4e69794a..1a298591d 100644
--- a/services/netstatsmanager/src/net_stats_service.cpp
+++ b/services/netstatsmanager/src/net_stats_service.cpp
@@ -251,10 +251,12 @@ bool NetStatsService::Init()
return false;
}
if (!registerToService_) {
+#ifndef NETMANAGER_TEST
if (!Publish(DelayedSingleton::GetInstance().get())) {
NETMGR_LOG_E("Register to sa manager failed");
return false;
}
+#endif
registerToService_ = true;
}
if (nullptr == netStatsCached_) {
diff --git a/test/fuzztest/netpolicyclient_fuzzer/net_policy_client_fuzzer.cpp b/test/fuzztest/netpolicyclient_fuzzer/net_policy_client_fuzzer.cpp
index 42be746e7..212e2b53f 100644
--- a/test/fuzztest/netpolicyclient_fuzzer/net_policy_client_fuzzer.cpp
+++ b/test/fuzztest/netpolicyclient_fuzzer/net_policy_client_fuzzer.cpp
@@ -393,7 +393,7 @@ void SetDeviceIdleTrustlistFuzzTest(const uint8_t *data, size_t size)
}
bool isAllowed = NetPolicyGetData() % CONVERT_NUMBER_TO_BOOL == 0;
- std::vector uids = NetPolicyGetData>();
+ std::vector uids;
dataParcel.WriteUInt32Vector(uids);
dataParcel.WriteBool(isAllowed);
@@ -423,7 +423,7 @@ void SetPowerSaveTrustlistFuzzTest(const uint8_t *data, size_t size)
}
bool isAllowed = NetPolicyGetData() % CONVERT_NUMBER_TO_BOOL == 0;
- std::vector uids = NetPolicyGetData>();
+ std::vector uids;
dataParcel.WriteBool(isAllowed);
dataParcel.WriteUInt32Vector(uids);
--
Gitee