1 /*
2  * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #include "netsys_controller.h"
16 
17 #include "net_conn_constants.h"
18 #include "net_conn_types.h"
19 #include "net_mgr_log_wrapper.h"
20 #include "netmanager_base_common_utils.h"
21 #include "netsys_controller_service_impl.h"
22 #include "i_net_dns_result_callback.h"
23 #include "i_net_dns_health_callback.h"
24 
25 using namespace OHOS::NetManagerStandard::CommonUtils;
26 namespace OHOS {
27 namespace NetManagerStandard {
28 static constexpr uint32_t IPV4_MAX_LENGTH = 32;
29 
Init()30 void NetsysController::Init()
31 {
32     NETMGR_LOG_I("netsys Init");
33     // LCOV_EXCL_START This will never happen.
34     if (initFlag_) {
35         NETMGR_LOG_I("netsys initialization is complete");
36         return;
37     }
38     // LCOV_EXCL_STOP
39     netsysService_ = std::make_unique<NetsysControllerServiceImpl>().release();
40     netsysService_->Init();
41     initFlag_ = true;
42 }
43 
GetInstance()44 NetsysController &NetsysController::GetInstance()
45 {
46     static NetsysController singleInstance_;
47     static std::mutex mutex_;
48     if (!singleInstance_.initFlag_) {
49         std::unique_lock<std::mutex> lock(mutex_);
50         if (!singleInstance_.initFlag_) {
51             singleInstance_.Init();
52         }
53     }
54     return singleInstance_;
55 }
56 
SetInternetPermission(uint32_t uid, uint8_t allow)57 int32_t NetsysController::SetInternetPermission(uint32_t uid, uint8_t allow)
58 {
59     // LCOV_EXCL_START This will never happen.
60     if (netsysService_ == nullptr) {
61         NETMGR_LOG_E("netsysService_ is null");
62         return NETSYS_NETSYSSERVICE_NULL;
63     }
64     // LCOV_EXCL_STOP
65     return netsysService_->SetInternetPermission(uid, allow);
66 }
67 
NetworkCreatePhysical(int32_t netId, int32_t permission)68 int32_t NetsysController::NetworkCreatePhysical(int32_t netId, int32_t permission)
69 {
70     NETMGR_LOG_I("Create Physical network: netId[%{public}d], permission[%{public}d]", netId, permission);
71     // LCOV_EXCL_START This will never happen.
72     if (netsysService_ == nullptr) {
73         NETMGR_LOG_E("netsysService_ is null");
74         return NETSYS_NETSYSSERVICE_NULL;
75     }
76     // LCOV_EXCL_STOP
77     return netsysService_->NetworkCreatePhysical(netId, permission);
78 }
79 
NetworkCreateVirtual(int32_t netId, bool hasDns)80 int32_t NetsysController::NetworkCreateVirtual(int32_t netId, bool hasDns)
81 {
82     NETMGR_LOG_I("Create Virtual network: netId[%{public}d], hasDns[%{public}d]", netId, hasDns);
83     // LCOV_EXCL_START This will never happen.
84     if (netsysService_ == nullptr) {
85         NETMGR_LOG_E("netsysService_ is null");
86         return NETSYS_NETSYSSERVICE_NULL;
87     }
88     // LCOV_EXCL_STOP
89     return netsysService_->NetworkCreateVirtual(netId, hasDns);
90 }
91 
NetworkDestroy(int32_t netId)92 int32_t NetsysController::NetworkDestroy(int32_t netId)
93 {
94     NETMGR_LOG_I("Destroy network: netId[%{public}d]", netId);
95     // LCOV_EXCL_START This will never happen.
96     if (netsysService_ == nullptr) {
97         NETMGR_LOG_E("netsysService_ is null");
98         return NETSYS_NETSYSSERVICE_NULL;
99     }
100     // LCOV_EXCL_STOP
101     return netsysService_->NetworkDestroy(netId);
102 }
103 
CreateVnic(uint16_t mtu, const std::string &tunAddr, int32_t prefix, const std::set<int32_t> &uids)104 int32_t NetsysController::CreateVnic(uint16_t mtu, const std::string &tunAddr, int32_t prefix,
105                                      const std::set<int32_t> &uids)
106 {
107     NETMGR_LOG_I("Create Vnic network");
108     // LCOV_EXCL_START This will never happen.
109     if (netsysService_ == nullptr) {
110         NETMGR_LOG_E("netsysService_ is null");
111         return NETSYS_NETSYSSERVICE_NULL;
112     }
113     // LCOV_EXCL_STOP
114     return netsysService_->CreateVnic(mtu, tunAddr, prefix, uids);
115 }
116 
DestroyVnic()117 int32_t NetsysController::DestroyVnic()
118 {
119     NETMGR_LOG_I("Destroy Vnic network");
120     // LCOV_EXCL_START This will never happen.
121     if (netsysService_ == nullptr) {
122         NETMGR_LOG_E("netsysService_ is null");
123         return NETSYS_NETSYSSERVICE_NULL;
124     }
125     // LCOV_EXCL_STOP
126     return netsysService_->DestroyVnic();
127 }
128 
EnableDistributedClientNet(const std::string &virnicAddr, const std::string &iif)129 int32_t NetsysController::EnableDistributedClientNet(const std::string &virnicAddr, const std::string &iif)
130 {
131     if (netsysService_ == nullptr) {
132         NETMGR_LOG_E("netsysService_ is null");
133         return NETSYS_NETSYSSERVICE_NULL;
134     }
135     return netsysService_->EnableDistributedClientNet(virnicAddr, iif);
136 }
137 
EnableDistributedServerNet(const std::string &iif, const std::string &devIface, const std::string &dstAddr)138 int32_t NetsysController::EnableDistributedServerNet(const std::string &iif, const std::string &devIface,
139                                                      const std::string &dstAddr)
140 {
141     if (netsysService_ == nullptr) {
142         NETMGR_LOG_E("netsysService_ is null");
143         return NETSYS_NETSYSSERVICE_NULL;
144     }
145     return netsysService_->EnableDistributedServerNet(iif, devIface, dstAddr);
146 }
147 
DisableDistributedNet(bool isServer)148 int32_t NetsysController::DisableDistributedNet(bool isServer)
149 {
150     if (netsysService_ == nullptr) {
151         NETMGR_LOG_E("netsysService_ is null");
152         return NETSYS_NETSYSSERVICE_NULL;
153     }
154     return netsysService_->DisableDistributedNet(isServer);
155 }
156 
NetworkAddUids(int32_t netId, const std::vector<int32_t> &beginUids, const std::vector<int32_t> &endUids)157 int32_t NetsysController::NetworkAddUids(int32_t netId, const std::vector<int32_t> &beginUids,
158                                          const std::vector<int32_t> &endUids)
159 {
160     NETMGR_LOG_I("Destroy network: netId[%{public}d]", netId);
161     // LCOV_EXCL_START This will never happen.
162     if (netsysService_ == nullptr) {
163         NETMGR_LOG_E("netsysService_ is null");
164         return NETSYS_NETSYSSERVICE_NULL;
165     }
166     // LCOV_EXCL_STOP
167     if (beginUids.size() != endUids.size()) {
168         NETMGR_LOG_E("beginUids and endUids size is mismatch");
169         return NETMANAGER_ERR_INTERNAL;
170     }
171     std::vector<UidRange> uidRanges;
172     for (size_t i = 0; i < beginUids.size(); i++) {
173         uidRanges.emplace_back(UidRange(beginUids[i], endUids[i]));
174     }
175     return netsysService_->NetworkAddUids(netId, uidRanges);
176 }
177 
NetworkDelUids(int32_t netId, const std::vector<int32_t> &beginUids, const std::vector<int32_t> &endUids)178 int32_t NetsysController::NetworkDelUids(int32_t netId, const std::vector<int32_t> &beginUids,
179                                          const std::vector<int32_t> &endUids)
180 {
181     NETMGR_LOG_I("Destroy network: netId[%{public}d]", netId);
182     // LCOV_EXCL_START This will never happen.
183     if (netsysService_ == nullptr) {
184         NETMGR_LOG_E("netsysService_ is null");
185         return NETSYS_NETSYSSERVICE_NULL;
186     }
187     // LCOV_EXCL_STOP
188     if (beginUids.size() != endUids.size()) {
189         NETMGR_LOG_E("beginUids and endUids size is mismatch");
190         return NETMANAGER_ERR_INTERNAL;
191     }
192     std::vector<UidRange> uidRanges;
193     for (size_t i = 0; i < beginUids.size(); i++) {
194         uidRanges.emplace_back(UidRange(beginUids[i], endUids[i]));
195     }
196     return netsysService_->NetworkDelUids(netId, uidRanges);
197 }
198 
NetworkAddInterface(int32_t netId, const std::string &iface, NetBearType netBearerType)199 int32_t NetsysController::NetworkAddInterface(int32_t netId, const std::string &iface, NetBearType netBearerType)
200 {
201     NETMGR_LOG_I("Add network interface: netId[%{public}d], iface[%{public}s, bearerType[%{public}u]]", netId,
202                  iface.c_str(), netBearerType);
203     // LCOV_EXCL_START This will never happen.
204     if (netsysService_ == nullptr) {
205         NETMGR_LOG_E("netsysService_ is null");
206         return NETSYS_NETSYSSERVICE_NULL;
207     }
208     // LCOV_EXCL_STOP
209     return netsysService_->NetworkAddInterface(netId, iface, netBearerType);
210 }
211 
NetworkRemoveInterface(int32_t netId, const std::string &iface)212 int32_t NetsysController::NetworkRemoveInterface(int32_t netId, const std::string &iface)
213 {
214     NETMGR_LOG_I("Remove network interface: netId[%{public}d], iface[%{public}s]", netId, iface.c_str());
215     // LCOV_EXCL_START This will never happen.
216     if (netsysService_ == nullptr) {
217         NETMGR_LOG_E("netsysService_ is null");
218         return NETSYS_NETSYSSERVICE_NULL;
219     }
220     // LCOV_EXCL_STOP
221     return netsysService_->NetworkRemoveInterface(netId, iface);
222 }
223 
NetworkAddRoute(int32_t netId, const std::string &ifName, const std::string &destination, const std::string &nextHop)224 int32_t NetsysController::NetworkAddRoute(int32_t netId, const std::string &ifName, const std::string &destination,
225                                           const std::string &nextHop)
226 {
227     NETMGR_LOG_D("Add Route: netId[%{public}d], ifName[%{public}s], destination[%{public}s], nextHop[%{public}s]",
228                  netId, ifName.c_str(), ToAnonymousIp(destination).c_str(), ToAnonymousIp(nextHop).c_str());
229     // LCOV_EXCL_START This will never happen.
230     if (netsysService_ == nullptr) {
231         NETMGR_LOG_E("netsysService_ is null");
232         return NETSYS_NETSYSSERVICE_NULL;
233     }
234     // LCOV_EXCL_STOP
235     return netsysService_->NetworkAddRoute(netId, ifName, destination, nextHop);
236 }
237 
NetworkRemoveRoute(int32_t netId, const std::string &ifName, const std::string &destination, const std::string &nextHop)238 int32_t NetsysController::NetworkRemoveRoute(int32_t netId, const std::string &ifName, const std::string &destination,
239                                              const std::string &nextHop)
240 {
241     NETMGR_LOG_D("Remove Route: netId[%{public}d], ifName[%{public}s], destination[%{public}s], nextHop[%{public}s]",
242                  netId, ifName.c_str(), ToAnonymousIp(destination).c_str(), ToAnonymousIp(nextHop).c_str());
243     // LCOV_EXCL_START This will never happen.
244     if (netsysService_ == nullptr) {
245         NETMGR_LOG_E("netsysService_ is null");
246         return NETSYS_NETSYSSERVICE_NULL;
247     }
248     // LCOV_EXCL_STOP
249     return netsysService_->NetworkRemoveRoute(netId, ifName, destination, nextHop);
250 }
251 
GetInterfaceConfig(OHOS::nmd::InterfaceConfigurationParcel &cfg)252 int32_t NetsysController::GetInterfaceConfig(OHOS::nmd::InterfaceConfigurationParcel &cfg)
253 {
254     NETMGR_LOG_I("get interface config");
255     // LCOV_EXCL_START This will never happen.
256     if (netsysService_ == nullptr) {
257         NETMGR_LOG_E("netsysService_ is null");
258         return NETSYS_NETSYSSERVICE_NULL;
259     }
260     // LCOV_EXCL_STOP
261     return netsysService_->GetInterfaceConfig(cfg);
262 }
263 
SetInterfaceConfig(const OHOS::nmd::InterfaceConfigurationParcel &cfg)264 int32_t NetsysController::SetInterfaceConfig(const OHOS::nmd::InterfaceConfigurationParcel &cfg)
265 {
266     NETMGR_LOG_I("set interface config");
267     // LCOV_EXCL_START This will never happen.
268     if (netsysService_ == nullptr) {
269         NETMGR_LOG_E("netsysService_ is null");
270         return NETSYS_NETSYSSERVICE_NULL;
271     }
272     // LCOV_EXCL_STOP
273     return netsysService_->SetInterfaceConfig(cfg);
274 }
275 
SetInterfaceDown(const std::string &iface)276 int32_t NetsysController::SetInterfaceDown(const std::string &iface)
277 {
278     NETMGR_LOG_I("Set interface down: iface[%{public}s]", iface.c_str());
279     // LCOV_EXCL_START This will never happen.
280     if (netsysService_ == nullptr) {
281         NETMGR_LOG_E("netsysService_ is null");
282         return NETSYS_NETSYSSERVICE_NULL;
283     }
284     // LCOV_EXCL_STOP
285     return netsysService_->SetInterfaceDown(iface);
286 }
287 
SetInterfaceUp(const std::string &iface)288 int32_t NetsysController::SetInterfaceUp(const std::string &iface)
289 {
290     NETMGR_LOG_I("Set interface up: iface[%{public}s]", iface.c_str());
291     // LCOV_EXCL_START This will never happen.
292     if (netsysService_ == nullptr) {
293         NETMGR_LOG_E("netsysService_ is null");
294         return NETSYS_NETSYSSERVICE_NULL;
295     }
296     // LCOV_EXCL_STOP
297     return netsysService_->SetInterfaceUp(iface);
298 }
299 
ClearInterfaceAddrs(const std::string &ifName)300 void NetsysController::ClearInterfaceAddrs(const std::string &ifName)
301 {
302     NETMGR_LOG_I("Clear addrs: ifName[%{public}s]", ifName.c_str());
303     // LCOV_EXCL_START This will never happen.
304     if (netsysService_ == nullptr) {
305         NETMGR_LOG_E("netsysService_ is null");
306         return;
307     }
308     // LCOV_EXCL_STOP
309     return netsysService_->ClearInterfaceAddrs(ifName);
310 }
311 
GetInterfaceMtu(const std::string &ifName)312 int32_t NetsysController::GetInterfaceMtu(const std::string &ifName)
313 {
314     NETMGR_LOG_I("Get mtu: ifName[%{public}s]", ifName.c_str());
315     // LCOV_EXCL_START This will never happen.
316     if (netsysService_ == nullptr) {
317         NETMGR_LOG_E("netsysService_ is null");
318         return NETSYS_NETSYSSERVICE_NULL;
319     }
320     // LCOV_EXCL_STOP
321     return netsysService_->GetInterfaceMtu(ifName);
322 }
323 
SetInterfaceMtu(const std::string &ifName, int32_t mtu)324 int32_t NetsysController::SetInterfaceMtu(const std::string &ifName, int32_t mtu)
325 {
326     NETMGR_LOG_I("Set mtu: ifName[%{public}s], mtu[%{public}d]", ifName.c_str(), mtu);
327     // LCOV_EXCL_START This will never happen.
328     if (netsysService_ == nullptr) {
329         NETMGR_LOG_E("netsysService_ is null");
330         return NETSYS_NETSYSSERVICE_NULL;
331     }
332     // LCOV_EXCL_STOP
333     return netsysService_->SetInterfaceMtu(ifName, mtu);
334 }
335 
SetTcpBufferSizes(const std::string &tcpBufferSizes)336 int32_t NetsysController::SetTcpBufferSizes(const std::string &tcpBufferSizes)
337 {
338     NETMGR_LOG_I("Set tcp buffer sizes: tcpBufferSizes[%{public}s]", tcpBufferSizes.c_str());
339     // LCOV_EXCL_START This will never happen.
340     if (netsysService_ == nullptr) {
341         NETMGR_LOG_E("netsysService_ is null");
342         return NETSYS_NETSYSSERVICE_NULL;
343     }
344     // LCOV_EXCL_STOP
345     return netsysService_->SetTcpBufferSizes(tcpBufferSizes);
346 }
347 
AddInterfaceAddress(const std::string &ifName, const std::string &ipAddr, int32_t prefixLength)348 int32_t NetsysController::AddInterfaceAddress(const std::string &ifName, const std::string &ipAddr,
349                                               int32_t prefixLength)
350 {
351     NETMGR_LOG_I("Add address: ifName[%{public}s], ipAddr[%{public}s], prefixLength[%{public}d]",
352         ifName.c_str(), ToAnonymousIp(ipAddr).c_str(), prefixLength);
353     // LCOV_EXCL_START This will never happen.
354     if (netsysService_ == nullptr) {
355         NETMGR_LOG_E("netsysService_ is null");
356         return NETSYS_NETSYSSERVICE_NULL;
357     }
358     // LCOV_EXCL_STOP
359     return netsysService_->AddInterfaceAddress(ifName, ipAddr, prefixLength);
360 }
361 
DelInterfaceAddress(const std::string &ifName, const std::string &ipAddr, int32_t prefixLength)362 int32_t NetsysController::DelInterfaceAddress(const std::string &ifName, const std::string &ipAddr,
363                                               int32_t prefixLength)
364 {
365     NETMGR_LOG_I("Delete address: ifName[%{public}s], ipAddr[%{public}s], prefixLength[%{public}d]",
366         ifName.c_str(), ToAnonymousIp(ipAddr).c_str(), prefixLength);
367     // LCOV_EXCL_START This will never happen.
368     if (netsysService_ == nullptr) {
369         NETMGR_LOG_E("netsysService_ is null");
370         return NETSYS_NETSYSSERVICE_NULL;
371     }
372     // LCOV_EXCL_STOP
373     return netsysService_->DelInterfaceAddress(ifName, ipAddr, prefixLength);
374 }
375 
DelInterfaceAddress(const std::string &ifName, const std::string &ipAddr, int32_t prefixLength, const std::string &netCapabilities)376 int32_t NetsysController::DelInterfaceAddress(const std::string &ifName, const std::string &ipAddr,
377                                               int32_t prefixLength, const std::string &netCapabilities)
378 {
379     NETMGR_LOG_I("Delete address: ifName[%{public}s], ipAddr[%{public}s], prefixLength[%{public}d]",
380         ifName.c_str(), ToAnonymousIp(ipAddr).c_str(), prefixLength);
381     // LCOV_EXCL_START This will never happen.
382     if (netsysService_ == nullptr) {
383         NETMGR_LOG_E("netsysService_ is null");
384         return NETSYS_NETSYSSERVICE_NULL;
385     }
386     // LCOV_EXCL_STOP
387     return netsysService_->DelInterfaceAddress(ifName, ipAddr, prefixLength, netCapabilities);
388 }
389 
InterfaceSetIpAddress(const std::string &ifaceName, const std::string &ipAddress)390 int32_t NetsysController::InterfaceSetIpAddress(const std::string &ifaceName, const std::string &ipAddress)
391 {
392     NETMGR_LOG_D("Set Ip Address: ifName[%{public}s]", ifaceName.c_str());
393     // LCOV_EXCL_START This will never happen.
394     if (netsysService_ == nullptr) {
395         NETMGR_LOG_E("netsysService_ is null");
396         return NETSYS_NETSYSSERVICE_NULL;
397     }
398     // LCOV_EXCL_STOP
399     return netsysService_->InterfaceSetIpAddress(ifaceName, ipAddress);
400 }
401 
InterfaceSetIffUp(const std::string &ifaceName)402 int32_t NetsysController::InterfaceSetIffUp(const std::string &ifaceName)
403 {
404     NETMGR_LOG_D("Set Iff Up: ifName[%{public}s]", ifaceName.c_str());
405     // LCOV_EXCL_START This will never happen.
406     if (netsysService_ == nullptr) {
407         NETMGR_LOG_E("netsysService_ is null");
408         return NETSYS_NETSYSSERVICE_NULL;
409     }
410     // LCOV_EXCL_STOP
411     return netsysService_->InterfaceSetIffUp(ifaceName);
412 }
413 
SetResolverConfig(uint16_t netId, uint16_t baseTimeoutMsec, uint8_t retryCount, const std::vector<std::string> &servers, const std::vector<std::string> &domains)414 int32_t NetsysController::SetResolverConfig(uint16_t netId, uint16_t baseTimeoutMsec, uint8_t retryCount,
415                                             const std::vector<std::string> &servers,
416                                             const std::vector<std::string> &domains)
417 {
418     NETMGR_LOG_I("Set resolver config: netId[%{public}d]", netId);
419     // LCOV_EXCL_START This will never happen.
420     if (netsysService_ == nullptr) {
421         NETMGR_LOG_E("netsysService_ is null");
422         return NETSYS_NETSYSSERVICE_NULL;
423     }
424     // LCOV_EXCL_STOP
425     return netsysService_->SetResolverConfig(netId, baseTimeoutMsec, retryCount, servers, domains);
426 }
427 
GetResolverConfig(uint16_t netId, std::vector<std::string> &servers, std::vector<std::string> &domains, uint16_t &baseTimeoutMsec, uint8_t &retryCount)428 int32_t NetsysController::GetResolverConfig(uint16_t netId, std::vector<std::string> &servers,
429                                             std::vector<std::string> &domains, uint16_t &baseTimeoutMsec,
430                                             uint8_t &retryCount)
431 {
432     NETMGR_LOG_I("Get resolver config: netId[%{public}d]", netId);
433     // LCOV_EXCL_START This will never happen.
434     if (netsysService_ == nullptr) {
435         NETMGR_LOG_E("netsysService_ is null");
436         return NETSYS_NETSYSSERVICE_NULL;
437     }
438     // LCOV_EXCL_STOP
439     return netsysService_->GetResolverConfig(netId, servers, domains, baseTimeoutMsec, retryCount);
440 }
441 
CreateNetworkCache(uint16_t netId)442 int32_t NetsysController::CreateNetworkCache(uint16_t netId)
443 {
444     NETMGR_LOG_I("create dns cache: netId[%{public}d]", netId);
445     // LCOV_EXCL_START This will never happen.
446     if (netsysService_ == nullptr) {
447         NETMGR_LOG_E("netsysService_ is null");
448         return NETSYS_NETSYSSERVICE_NULL;
449     }
450     // LCOV_EXCL_STOP
451     return netsysService_->CreateNetworkCache(netId);
452 }
453 
DestroyNetworkCache(uint16_t netId)454 int32_t NetsysController::DestroyNetworkCache(uint16_t netId)
455 {
456     NETMGR_LOG_I("Destroy dns cache: netId[%{public}d]", netId);
457     // LCOV_EXCL_START This will never happen.
458     if (netsysService_ == nullptr) {
459         NETMGR_LOG_E("netsysService_ is null");
460         return NETSYS_NETSYSSERVICE_NULL;
461     }
462     // LCOV_EXCL_STOP
463     return netsysService_->DestroyNetworkCache(netId);
464 }
465 
GetAddrInfo(const std::string &hostName, const std::string &serverName, const AddrInfo &hints, uint16_t netId, std::vector<AddrInfo> &res)466 int32_t NetsysController::GetAddrInfo(const std::string &hostName, const std::string &serverName, const AddrInfo &hints,
467                                       uint16_t netId, std::vector<AddrInfo> &res)
468 {
469     // LCOV_EXCL_START This will never happen.
470     if (netsysService_ == nullptr) {
471         NETMGR_LOG_E("netsysService_ is null");
472         return NET_CONN_ERR_SERVICE_UPDATE_NET_LINK_INFO_FAIL;
473     }
474     // LCOV_EXCL_STOP
475     return netsysService_->GetAddrInfo(hostName, serverName, hints, netId, res);
476 }
477 
GetNetworkSharingTraffic(const std::string &downIface, const std::string &upIface, nmd::NetworkSharingTraffic &traffic)478 int32_t NetsysController::GetNetworkSharingTraffic(const std::string &downIface, const std::string &upIface,
479                                                    nmd::NetworkSharingTraffic &traffic)
480 {
481     NETMGR_LOG_I("NetsysController GetNetworkSharingTraffic");
482     // LCOV_EXCL_START This will never happen.
483     if (netsysService_ == nullptr) {
484         NETMGR_LOG_E("netsysService_ is null");
485         return NETSYS_NETSYSSERVICE_NULL;
486     }
487     // LCOV_EXCL_STOP
488     return netsysService_->GetNetworkSharingTraffic(downIface, upIface, traffic);
489 }
490 
GetCellularRxBytes()491 int64_t NetsysController::GetCellularRxBytes()
492 {
493     NETMGR_LOG_D("NetsysController GetCellularRxBytes");
494     // LCOV_EXCL_START This will never happen.
495     if (netsysService_ == nullptr) {
496         NETMGR_LOG_E("netsysService_ is null");
497         return NETSYS_NETSYSSERVICE_NULL;
498     }
499     // LCOV_EXCL_STOP
500     return netsysService_->GetCellularRxBytes();
501 }
502 
GetCellularTxBytes()503 int64_t NetsysController::GetCellularTxBytes()
504 {
505     NETMGR_LOG_D("NetsysController GetCellularTxBytes");
506     // LCOV_EXCL_START This will never happen.
507     if (netsysService_ == nullptr) {
508         NETMGR_LOG_E("netsysService_ is null");
509         return NETSYS_NETSYSSERVICE_NULL;
510     }
511     // LCOV_EXCL_STOP
512     return netsysService_->GetCellularTxBytes();
513 }
514 
GetAllRxBytes()515 int64_t NetsysController::GetAllRxBytes()
516 {
517     NETMGR_LOG_D("NetsysController GetAllRxBytes");
518     // LCOV_EXCL_START This will never happen.
519     if (netsysService_ == nullptr) {
520         NETMGR_LOG_E("netsysService_ is null");
521         return NETSYS_NETSYSSERVICE_NULL;
522     }
523     // LCOV_EXCL_STOP
524     return netsysService_->GetAllRxBytes();
525 }
526 
GetAllTxBytes()527 int64_t NetsysController::GetAllTxBytes()
528 {
529     NETMGR_LOG_D("NetsysController GetAllTxBytes");
530     // LCOV_EXCL_START This will never happen.
531     if (netsysService_ == nullptr) {
532         NETMGR_LOG_E("netsysService_ is null");
533         return NETSYS_NETSYSSERVICE_NULL;
534     }
535     // LCOV_EXCL_STOP
536     return netsysService_->GetAllTxBytes();
537 }
538 
GetUidRxBytes(uint32_t uid)539 int64_t NetsysController::GetUidRxBytes(uint32_t uid)
540 {
541     NETMGR_LOG_D("NetsysController GetUidRxBytes");
542     // LCOV_EXCL_START This will never happen.
543     if (netsysService_ == nullptr) {
544         NETMGR_LOG_E("netsysService_ is null");
545         return NETSYS_NETSYSSERVICE_NULL;
546     }
547     // LCOV_EXCL_STOP
548     return netsysService_->GetUidRxBytes(uid);
549 }
550 
GetUidTxBytes(uint32_t uid)551 int64_t NetsysController::GetUidTxBytes(uint32_t uid)
552 {
553     NETMGR_LOG_D("NetsysController GetUidTxBytes");
554     // LCOV_EXCL_START This will never happen.
555     if (netsysService_ == nullptr) {
556         NETMGR_LOG_E("netsysService_ is null");
557         return NETSYS_NETSYSSERVICE_NULL;
558     }
559     // LCOV_EXCL_STOP
560     return netsysService_->GetUidTxBytes(uid);
561 }
562 
GetUidOnIfaceRxBytes(uint32_t uid, const std::string &interfaceName)563 int64_t NetsysController::GetUidOnIfaceRxBytes(uint32_t uid, const std::string &interfaceName)
564 {
565     NETMGR_LOG_D("NetsysController GetUidOnIfaceRxBytes");
566     // LCOV_EXCL_START This will never happen.
567     if (netsysService_ == nullptr) {
568         NETMGR_LOG_E("netsysService_ is null");
569         return NETSYS_NETSYSSERVICE_NULL;
570     }
571     // LCOV_EXCL_STOP
572     return netsysService_->GetUidOnIfaceRxBytes(uid, interfaceName);
573 }
574 
GetUidOnIfaceTxBytes(uint32_t uid, const std::string &interfaceName)575 int64_t NetsysController::GetUidOnIfaceTxBytes(uint32_t uid, const std::string &interfaceName)
576 {
577     NETMGR_LOG_D("NetsysController GetUidOnIfaceTxBytes");
578     // LCOV_EXCL_START This will never happen.
579     if (netsysService_ == nullptr) {
580         NETMGR_LOG_E("netsysService_ is null");
581         return NETSYS_NETSYSSERVICE_NULL;
582     }
583     // LCOV_EXCL_STOP
584     return netsysService_->GetUidOnIfaceTxBytes(uid, interfaceName);
585 }
586 
GetIfaceRxBytes(const std::string &interfaceName)587 int64_t NetsysController::GetIfaceRxBytes(const std::string &interfaceName)
588 {
589     NETMGR_LOG_D("NetsysController GetIfaceRxBytes");
590     // LCOV_EXCL_START This will never happen.
591     if (netsysService_ == nullptr) {
592         NETMGR_LOG_E("netsysService_ is null");
593         return NETSYS_NETSYSSERVICE_NULL;
594     }
595     // LCOV_EXCL_STOP
596     return netsysService_->GetIfaceRxBytes(interfaceName);
597 }
598 
GetIfaceTxBytes(const std::string &interfaceName)599 int64_t NetsysController::GetIfaceTxBytes(const std::string &interfaceName)
600 {
601     NETMGR_LOG_D("NetsysController GetIfaceTxBytes");
602     // LCOV_EXCL_START This will never happen.
603     if (netsysService_ == nullptr) {
604         NETMGR_LOG_E("netsysService_ is null");
605         return NETSYS_NETSYSSERVICE_NULL;
606     }
607     // LCOV_EXCL_STOP
608     return netsysService_->GetIfaceTxBytes(interfaceName);
609 }
610 
InterfaceGetList()611 std::vector<std::string> NetsysController::InterfaceGetList()
612 {
613     NETMGR_LOG_I("InterfaceGetList");
614     // LCOV_EXCL_START This will never happen.
615     if (netsysService_ == nullptr) {
616         NETMGR_LOG_E("netsysService_ is null");
617         return {};
618     }
619     // LCOV_EXCL_STOP
620     return netsysService_->InterfaceGetList();
621 }
622 
UidGetList()623 std::vector<std::string> NetsysController::UidGetList()
624 {
625     NETMGR_LOG_I("UidGetList");
626     // LCOV_EXCL_START This will never happen.
627     if (netsysService_ == nullptr) {
628         NETMGR_LOG_E("netsysService_ is null");
629         return {};
630     }
631     // LCOV_EXCL_STOP
632     return netsysService_->UidGetList();
633 }
634 
GetIfaceRxPackets(const std::string &interfaceName)635 int64_t NetsysController::GetIfaceRxPackets(const std::string &interfaceName)
636 {
637     NETMGR_LOG_D("NetsysController GetIfaceRxPackets");
638     // LCOV_EXCL_START This will never happen.
639     if (netsysService_ == nullptr) {
640         NETMGR_LOG_E("netsysService_ is null");
641         return NETSYS_NETSYSSERVICE_NULL;
642     }
643     // LCOV_EXCL_STOP
644     return netsysService_->GetIfaceRxPackets(interfaceName);
645 }
646 
GetIfaceTxPackets(const std::string &interfaceName)647 int64_t NetsysController::GetIfaceTxPackets(const std::string &interfaceName)
648 {
649     NETMGR_LOG_D("NetsysController GetIfaceTxPackets");
650     // LCOV_EXCL_START This will never happen.
651     if (netsysService_ == nullptr) {
652         NETMGR_LOG_E("netsysService_ is null");
653         return NETSYS_NETSYSSERVICE_NULL;
654     }
655     // LCOV_EXCL_STOP
656     return netsysService_->GetIfaceTxPackets(interfaceName);
657 }
658 
SetDefaultNetWork(int32_t netId)659 int32_t NetsysController::SetDefaultNetWork(int32_t netId)
660 {
661     NETMGR_LOG_D("Set DefaultNetWork: netId[%{public}d]", netId);
662     // LCOV_EXCL_START This will never happen.
663     if (netsysService_ == nullptr) {
664         NETMGR_LOG_E("netsysService_ is null");
665         return NETSYS_NETSYSSERVICE_NULL;
666     }
667     // LCOV_EXCL_STOP
668     return netsysService_->SetDefaultNetWork(netId);
669 }
670 
ClearDefaultNetWorkNetId()671 int32_t NetsysController::ClearDefaultNetWorkNetId()
672 {
673     NETMGR_LOG_D("ClearDefaultNetWorkNetId");
674     // LCOV_EXCL_START This will never happen.
675     if (netsysService_ == nullptr) {
676         NETMGR_LOG_E("netsysService_ is null");
677         return NETSYS_NETSYSSERVICE_NULL;
678     }
679     // LCOV_EXCL_STOP
680     return netsysService_->ClearDefaultNetWorkNetId();
681 }
682 
BindSocket(int32_t socketFd, uint32_t netId)683 int32_t NetsysController::BindSocket(int32_t socketFd, uint32_t netId)
684 {
685     NETMGR_LOG_D("NetsysController::BindSocket: netId = [%{public}u]", netId);
686     // LCOV_EXCL_START This will never happen.
687     if (netsysService_ == nullptr) {
688         NETMGR_LOG_E("netsysService_ is null");
689         return NETSYS_NETSYSSERVICE_NULL;
690     }
691     // LCOV_EXCL_STOP
692     return netsysService_->BindSocket(socketFd, netId);
693 }
694 
IpEnableForwarding(const std::string &requestor)695 int32_t NetsysController::IpEnableForwarding(const std::string &requestor)
696 {
697     NETMGR_LOG_I("IpEnableForwarding: requestor[%{public}s]", requestor.c_str());
698     // LCOV_EXCL_START This will never happen.
699     if (netsysService_ == nullptr) {
700         NETMGR_LOG_E("netsysService_ is null");
701         return NETSYS_NETSYSSERVICE_NULL;
702     }
703     // LCOV_EXCL_STOP
704     return netsysService_->IpEnableForwarding(requestor);
705 }
706 
IpDisableForwarding(const std::string &requestor)707 int32_t NetsysController::IpDisableForwarding(const std::string &requestor)
708 {
709     NETMGR_LOG_I("IpDisableForwarding: requestor[%{public}s]", requestor.c_str());
710     // LCOV_EXCL_START This will never happen.
711     if (netsysService_ == nullptr) {
712         NETMGR_LOG_E("netsysService_ is null");
713         return NETSYS_NETSYSSERVICE_NULL;
714     }
715     // LCOV_EXCL_STOP
716     return netsysService_->IpDisableForwarding(requestor);
717 }
718 
EnableNat(const std::string &downstreamIface, const std::string &upstreamIface)719 int32_t NetsysController::EnableNat(const std::string &downstreamIface, const std::string &upstreamIface)
720 {
721     NETMGR_LOG_I("EnableNat: intIface[%{public}s] intIface[%{public}s]", downstreamIface.c_str(),
722                  upstreamIface.c_str());
723     // LCOV_EXCL_START This will never happen.
724     if (netsysService_ == nullptr) {
725         NETMGR_LOG_E("netsysService_ is null");
726         return NETSYS_NETSYSSERVICE_NULL;
727     }
728     // LCOV_EXCL_STOP
729     return netsysService_->EnableNat(downstreamIface, upstreamIface);
730 }
731 
DisableNat(const std::string &downstreamIface, const std::string &upstreamIface)732 int32_t NetsysController::DisableNat(const std::string &downstreamIface, const std::string &upstreamIface)
733 {
734     NETMGR_LOG_I("DisableNat: intIface[%{public}s] intIface[%{public}s]",
735                  downstreamIface.c_str(), upstreamIface.c_str());
736     // LCOV_EXCL_START This will never happen.
737     if (netsysService_ == nullptr) {
738         NETMGR_LOG_E("netsysService_ is null");
739         return NETSYS_NETSYSSERVICE_NULL;
740     }
741     // LCOV_EXCL_STOP
742     return netsysService_->DisableNat(downstreamIface, upstreamIface);
743 }
744 
IpfwdAddInterfaceForward(const std::string &fromIface, const std::string &toIface)745 int32_t NetsysController::IpfwdAddInterfaceForward(const std::string &fromIface, const std::string &toIface)
746 {
747     NETMGR_LOG_I("IpfwdAddInterfaceForward: fromIface[%{public}s], toIface[%{public}s]", fromIface.c_str(),
748                  toIface.c_str());
749     // LCOV_EXCL_START This will never happen.
750     if (netsysService_ == nullptr) {
751         NETMGR_LOG_E("netsysService_ is null");
752         return NETSYS_NETSYSSERVICE_NULL;
753     }
754     // LCOV_EXCL_STOP
755     return netsysService_->IpfwdAddInterfaceForward(fromIface, toIface);
756 }
757 
IpfwdRemoveInterfaceForward(const std::string &fromIface, const std::string &toIface)758 int32_t NetsysController::IpfwdRemoveInterfaceForward(const std::string &fromIface, const std::string &toIface)
759 {
760     NETMGR_LOG_I("IpfwdRemoveInterfaceForward: fromIface[%{public}s], toIface[%{public}s]", fromIface.c_str(),
761                  toIface.c_str());
762     // LCOV_EXCL_START This will never happen.
763     if (netsysService_ == nullptr) {
764         NETMGR_LOG_E("netsysService_ is null");
765         return NETSYS_NETSYSSERVICE_NULL;
766     }
767     // LCOV_EXCL_STOP
768     return netsysService_->IpfwdRemoveInterfaceForward(fromIface, toIface);
769 }
770 
ShareDnsSet(uint16_t netId)771 int32_t NetsysController::ShareDnsSet(uint16_t netId)
772 {
773     NETMGR_LOG_I("ShareDnsSet: netId[%{public}d]", netId);
774     // LCOV_EXCL_START This will never happen.
775     if (netsysService_ == nullptr) {
776         NETMGR_LOG_E("netsysService_ is null");
777         return NETSYS_NETSYSSERVICE_NULL;
778     }
779     // LCOV_EXCL_STOP
780     return netsysService_->ShareDnsSet(netId);
781 }
782 
StartDnsProxyListen()783 int32_t NetsysController::StartDnsProxyListen()
784 {
785     NETMGR_LOG_I("StartDnsProxyListen");
786     // LCOV_EXCL_START This will never happen.
787     if (netsysService_ == nullptr) {
788         NETMGR_LOG_E("netsysService_ is null");
789         return NETSYS_NETSYSSERVICE_NULL;
790     }
791     // LCOV_EXCL_STOP
792     return netsysService_->StartDnsProxyListen();
793 }
794 
StopDnsProxyListen()795 int32_t NetsysController::StopDnsProxyListen()
796 {
797     NETMGR_LOG_I("StopDnsProxyListen");
798     // LCOV_EXCL_START This will never happen.
799     if (netsysService_ == nullptr) {
800         NETMGR_LOG_E("netsysService_ is null");
801         return NETSYS_NETSYSSERVICE_NULL;
802     }
803     // LCOV_EXCL_STOP
804     return netsysService_->StopDnsProxyListen();
805 }
806 
RegisterNetsysNotifyCallback(const NetsysNotifyCallback &callback)807 int32_t NetsysController::RegisterNetsysNotifyCallback(const NetsysNotifyCallback &callback)
808 {
809     // LCOV_EXCL_START This will never happen.
810     if (netsysService_ == nullptr) {
811         NETMGR_LOG_E("netsysService_ is null");
812         return NETSYS_NETSYSSERVICE_NULL;
813     }
814     // LCOV_EXCL_STOP
815     return netsysService_->RegisterNetsysNotifyCallback(callback);
816 }
817 
BindNetworkServiceVpn(int32_t socketFd)818 int32_t NetsysController::BindNetworkServiceVpn(int32_t socketFd)
819 {
820     NETMGR_LOG_I("BindNetworkServiceVpn: socketFd[%{public}d]", socketFd);
821     if (socketFd <= 0) {
822         NETMGR_LOG_E("socketFd is null");
823         return NETSYS_ERR_VPN;
824     }
825     // LCOV_EXCL_START This will never happen.
826     if (netsysService_ == nullptr) {
827         NETMGR_LOG_E("netsysService_ is null");
828         return NETSYS_NETSYSSERVICE_NULL;
829     }
830     // LCOV_EXCL_STOP
831     return netsysService_->BindNetworkServiceVpn(socketFd);
832 }
833 
EnableVirtualNetIfaceCard(int32_t socketFd, struct ifreq &ifRequest, int32_t &ifaceFd)834 int32_t NetsysController::EnableVirtualNetIfaceCard(int32_t socketFd, struct ifreq &ifRequest, int32_t &ifaceFd)
835 {
836     NETMGR_LOG_I("EnableVirtualNetIfaceCard: socketFd[%{public}d]", socketFd);
837     if (socketFd <= 0) {
838         NETMGR_LOG_E("socketFd is null");
839         return NETSYS_ERR_VPN;
840     }
841     // LCOV_EXCL_START This will never happen.
842     if (netsysService_ == nullptr) {
843         NETMGR_LOG_E("netsysService_ is null");
844         return NETSYS_NETSYSSERVICE_NULL;
845     }
846     // LCOV_EXCL_STOP
847     return netsysService_->EnableVirtualNetIfaceCard(socketFd, ifRequest, ifaceFd);
848 }
849 
SetIpAddress(int32_t socketFd, const std::string &ipAddress, int32_t prefixLen, struct ifreq &ifRequest)850 int32_t NetsysController::SetIpAddress(int32_t socketFd, const std::string &ipAddress, int32_t prefixLen,
851                                        struct ifreq &ifRequest)
852 {
853     NETMGR_LOG_D("NetsysController::set addr");
854     if ((socketFd <= 0) || (ipAddress.length() == 0) || (static_cast<uint32_t>(ipAddress.length()) > IPV4_MAX_LENGTH) ||
855 	    (prefixLen <= 0) || (static_cast<uint32_t>(prefixLen) > IPV4_MAX_LENGTH)) {
856         NETMGR_LOG_E(
857             "The paramemters of SetIpAddress is failed, socketFd[%{public}d], "
858             "ipAddress[%{public}s], prefixLen[%{public}d].",
859             socketFd, ToAnonymousIp(ipAddress).c_str(), prefixLen);
860         return NETSYS_ERR_VPN;
861     }
862     // LCOV_EXCL_START This will never happen.
863     if (netsysService_ == nullptr) {
864         NETMGR_LOG_E("netsysService_ is null");
865         return NETSYS_NETSYSSERVICE_NULL;
866     }
867     // LCOV_EXCL_STOP
868     return netsysService_->SetIpAddress(socketFd, ipAddress, prefixLen, ifRequest);
869 }
870 
SetBlocking(int32_t ifaceFd, bool isBlock)871 int32_t NetsysController::SetBlocking(int32_t ifaceFd, bool isBlock)
872 {
873     NETMGR_LOG_D("NetsysController::SetBlocking: ifaceFd[%{public}d], isBlock[%{public}d]", ifaceFd, isBlock);
874     // LCOV_EXCL_START This will never happen.
875     if (netsysService_ == nullptr) {
876         NETMGR_LOG_E("netsysService_ is null");
877         return NETSYS_NETSYSSERVICE_NULL;
878     }
879     // LCOV_EXCL_STOP
880     return netsysService_->SetBlocking(ifaceFd, isBlock);
881 }
882 
StartDhcpClient(const std::string &iface, bool bIpv6)883 int32_t NetsysController::StartDhcpClient(const std::string &iface, bool bIpv6)
884 {
885     NETMGR_LOG_I("StartDhcpClient: iface[%{public}s], bIpv6[%{public}d]", iface.c_str(), bIpv6);
886     // LCOV_EXCL_START This will never happen.
887     if (netsysService_ == nullptr) {
888         NETMGR_LOG_E("netsysService_ is null");
889         return NETSYS_NETSYSSERVICE_NULL;
890     }
891     // LCOV_EXCL_STOP
892     return netsysService_->StartDhcpClient(iface, bIpv6);
893 }
894 
StopDhcpClient(const std::string &iface, bool bIpv6)895 int32_t NetsysController::StopDhcpClient(const std::string &iface, bool bIpv6)
896 {
897     NETMGR_LOG_I("StopDhcpClient: iface[%{public}s], bIpv6[%{public}d]", iface.c_str(), bIpv6);
898     // LCOV_EXCL_START This will never happen.
899     if (netsysService_ == nullptr) {
900         NETMGR_LOG_E("netsysService_ is null");
901         return NETSYS_NETSYSSERVICE_NULL;
902     }
903     // LCOV_EXCL_STOP
904     return netsysService_->StopDhcpClient(iface, bIpv6);
905 }
906 
RegisterCallback(sptr<NetsysControllerCallback> callback)907 int32_t NetsysController::RegisterCallback(sptr<NetsysControllerCallback> callback)
908 {
909     NETMGR_LOG_D("NetsysController::RegisterCallback");
910     // LCOV_EXCL_START This will never happen.
911     if (netsysService_ == nullptr) {
912         NETMGR_LOG_E("netsysService_ is null");
913         return NETSYS_NETSYSSERVICE_NULL;
914     }
915     // LCOV_EXCL_STOP
916     return netsysService_->RegisterCallback(callback);
917 }
918 
StartDhcpService(const std::string &iface, const std::string &ipv4addr)919 int32_t NetsysController::StartDhcpService(const std::string &iface, const std::string &ipv4addr)
920 {
921     NETMGR_LOG_I("StartDhcpService: iface[%{public}s], ipv4addr[%{public}s]",
922         iface.c_str(), ToAnonymousIp(ipv4addr).c_str());
923     // LCOV_EXCL_START This will never happen.
924     if (netsysService_ == nullptr) {
925         NETMGR_LOG_E("netsysService_ is null");
926         return NETSYS_NETSYSSERVICE_NULL;
927     }
928     // LCOV_EXCL_STOP
929     return netsysService_->StartDhcpService(iface, ipv4addr);
930 }
931 
StopDhcpService(const std::string &iface)932 int32_t NetsysController::StopDhcpService(const std::string &iface)
933 {
934     NETMGR_LOG_I("StopDhcpService: ifaceFd[%{public}s]", iface.c_str());
935     // LCOV_EXCL_START This will never happen.
936     if (netsysService_ == nullptr) {
937         NETMGR_LOG_E("netsysService_ is null");
938         return NETSYS_NETSYSSERVICE_NULL;
939     }
940     // LCOV_EXCL_STOP
941     return netsysService_->StopDhcpService(iface);
942 }
943 
BandwidthEnableDataSaver(bool enable)944 int32_t NetsysController::BandwidthEnableDataSaver(bool enable)
945 {
946     NETMGR_LOG_D("NetsysController::BandwidthEnableDataSaver: enable=%{public}d", enable);
947     // LCOV_EXCL_START This will never happen.
948     if (netsysService_ == nullptr) {
949         NETMGR_LOG_E("netsysService_ is null");
950         return NETSYS_NETSYSSERVICE_NULL;
951     }
952     // LCOV_EXCL_STOP
953     return netsysService_->BandwidthEnableDataSaver(enable);
954 }
955 
BandwidthSetIfaceQuota(const std::string &ifName, int64_t bytes)956 int32_t NetsysController::BandwidthSetIfaceQuota(const std::string &ifName, int64_t bytes)
957 {
958     NETMGR_LOG_D("NetsysController::BandwidthSetIfaceQuota: ifName=%{public}s", ifName.c_str());
959     // LCOV_EXCL_START This will never happen.
960     if (netsysService_ == nullptr) {
961         NETMGR_LOG_E("netsysService_ is null");
962         return NETSYS_NETSYSSERVICE_NULL;
963     }
964     // LCOV_EXCL_STOP
965     return netsysService_->BandwidthSetIfaceQuota(ifName, bytes);
966 }
967 
BandwidthRemoveIfaceQuota(const std::string &ifName)968 int32_t NetsysController::BandwidthRemoveIfaceQuota(const std::string &ifName)
969 {
970     NETMGR_LOG_D("NetsysController::BandwidthRemoveIfaceQuota: ifName=%{public}s", ifName.c_str());
971     // LCOV_EXCL_START This will never happen.
972     if (netsysService_ == nullptr) {
973         NETMGR_LOG_E("netsysService_ is null");
974         return NETSYS_NETSYSSERVICE_NULL;
975     }
976     // LCOV_EXCL_STOP
977     return netsysService_->BandwidthRemoveIfaceQuota(ifName);
978 }
979 
BandwidthAddDeniedList(uint32_t uid)980 int32_t NetsysController::BandwidthAddDeniedList(uint32_t uid)
981 {
982     NETMGR_LOG_D("NetsysController::BandwidthAddDeniedList: uid=%{public}d", uid);
983     // LCOV_EXCL_START This will never happen.
984     if (netsysService_ == nullptr) {
985         NETMGR_LOG_E("netsysService_ is null");
986         return NETSYS_NETSYSSERVICE_NULL;
987     }
988     // LCOV_EXCL_STOP
989     return netsysService_->BandwidthAddDeniedList(uid);
990 }
991 
BandwidthRemoveDeniedList(uint32_t uid)992 int32_t NetsysController::BandwidthRemoveDeniedList(uint32_t uid)
993 {
994     NETMGR_LOG_D("NetsysController::BandwidthRemoveDeniedList: uid=%{public}d", uid);
995     // LCOV_EXCL_START This will never happen.
996     if (netsysService_ == nullptr) {
997         NETMGR_LOG_E("netsysService_ is null");
998         return NETSYS_NETSYSSERVICE_NULL;
999     }
1000     // LCOV_EXCL_STOP
1001     return netsysService_->BandwidthRemoveDeniedList(uid);
1002 }
1003 
BandwidthAddAllowedList(uint32_t uid)1004 int32_t NetsysController::BandwidthAddAllowedList(uint32_t uid)
1005 {
1006     NETMGR_LOG_D("NetsysController::BandwidthAddAllowedList: uid=%{public}d", uid);
1007     // LCOV_EXCL_START This will never happen.
1008     if (netsysService_ == nullptr) {
1009         NETMGR_LOG_E("netsysService_ is null");
1010         return NETSYS_NETSYSSERVICE_NULL;
1011     }
1012     // LCOV_EXCL_STOP
1013     return netsysService_->BandwidthAddAllowedList(uid);
1014 }
1015 
BandwidthRemoveAllowedList(uint32_t uid)1016 int32_t NetsysController::BandwidthRemoveAllowedList(uint32_t uid)
1017 {
1018     NETMGR_LOG_D("NetsysController::BandwidthRemoveAllowedList: uid=%{public}d", uid);
1019     // LCOV_EXCL_START This will never happen.
1020     if (netsysService_ == nullptr) {
1021         NETMGR_LOG_E("netsysService_ is null");
1022         return NETSYS_NETSYSSERVICE_NULL;
1023     }
1024     // LCOV_EXCL_STOP
1025     return netsysService_->BandwidthRemoveAllowedList(uid);
1026 }
1027 
FirewallSetUidsAllowedListChain(uint32_t chain, const std::vector<uint32_t> &uids)1028 int32_t NetsysController::FirewallSetUidsAllowedListChain(uint32_t chain, const std::vector<uint32_t> &uids)
1029 {
1030     NETMGR_LOG_I("NetsysController::FirewallSetUidsAllowedListChain: chain=%{public}d", chain);
1031     // LCOV_EXCL_START This will never happen.
1032     if (netsysService_ == nullptr) {
1033         NETMGR_LOG_E("netsysService_ is null");
1034         return NETSYS_NETSYSSERVICE_NULL;
1035     }
1036     // LCOV_EXCL_STOP
1037     return netsysService_->FirewallSetUidsAllowedListChain(chain, uids);
1038 }
1039 
FirewallSetUidsDeniedListChain(uint32_t chain, const std::vector<uint32_t> &uids)1040 int32_t NetsysController::FirewallSetUidsDeniedListChain(uint32_t chain, const std::vector<uint32_t> &uids)
1041 {
1042     NETMGR_LOG_I("NetsysController::FirewallSetUidsDeniedListChain: chain=%{public}d", chain);
1043     // LCOV_EXCL_START This will never happen.
1044     if (netsysService_ == nullptr) {
1045         NETMGR_LOG_E("netsysService_ is null");
1046         return NETSYS_NETSYSSERVICE_NULL;
1047     }
1048     // LCOV_EXCL_STOP
1049     return netsysService_->FirewallSetUidsDeniedListChain(chain, uids);
1050 }
1051 
FirewallEnableChain(uint32_t chain, bool enable)1052 int32_t NetsysController::FirewallEnableChain(uint32_t chain, bool enable)
1053 {
1054     NETMGR_LOG_I("NetsysController::FirewallEnableChain: chain=%{public}d, enable=%{public}d", chain, enable);
1055     // LCOV_EXCL_START This will never happen.
1056     if (netsysService_ == nullptr) {
1057         NETMGR_LOG_E("netsysService_ is null");
1058         return NETSYS_NETSYSSERVICE_NULL;
1059     }
1060     // LCOV_EXCL_STOP
1061     return netsysService_->FirewallEnableChain(chain, enable);
1062 }
1063 
FirewallSetUidRule(uint32_t chain, const std::vector<uint32_t> &uids, uint32_t firewallRule)1064 int32_t NetsysController::FirewallSetUidRule(uint32_t chain, const std::vector<uint32_t> &uids, uint32_t firewallRule)
1065 {
1066     NETMGR_LOG_I("NetsysController::FirewallSetUidRule Start");
1067     // LCOV_EXCL_START This will never happen.
1068     if (netsysService_ == nullptr) {
1069         NETMGR_LOG_E("netsysService_ is null");
1070         return NETSYS_NETSYSSERVICE_NULL;
1071     }
1072     // LCOV_EXCL_STOP
1073     return netsysService_->FirewallSetUidRule(chain, uids, firewallRule);
1074 }
1075 
FreeAddrInfo(addrinfo *aihead)1076 void NetsysController::FreeAddrInfo(addrinfo *aihead)
1077 {
1078     addrinfo *tmpNext = nullptr;
1079     for (addrinfo *tmp = aihead; tmp != nullptr;) {
1080         if (tmp->ai_addr != nullptr) {
1081             free(tmp->ai_addr);
1082         }
1083         if (tmp->ai_canonname != nullptr) {
1084             free(tmp->ai_canonname);
1085         }
1086         tmpNext = tmp->ai_next;
1087         free(tmp);
1088         tmp = tmpNext;
1089     }
1090 }
1091 
GetTotalStats(uint64_t &stats, uint32_t type)1092 int32_t NetsysController::GetTotalStats(uint64_t &stats, uint32_t type)
1093 {
1094     // LCOV_EXCL_START This will never happen.
1095     if (netsysService_ == nullptr) {
1096         NETMGR_LOG_E("netsysService is null");
1097         return NETSYS_NETSYSSERVICE_NULL;
1098     }
1099     // LCOV_EXCL_STOP
1100     return netsysService_->GetTotalStats(stats, static_cast<uint32_t>(type));
1101 }
1102 
GetUidStats(uint64_t &stats, uint32_t type, uint32_t uid)1103 int32_t NetsysController::GetUidStats(uint64_t &stats, uint32_t type, uint32_t uid)
1104 {
1105     // LCOV_EXCL_START This will never happen.
1106     if (netsysService_ == nullptr) {
1107         NETMGR_LOG_E("netsysService is null");
1108         return NETSYS_NETSYSSERVICE_NULL;
1109     }
1110     // LCOV_EXCL_STOP
1111     return netsysService_->GetUidStats(stats, static_cast<uint32_t>(type), uid);
1112 }
1113 
GetIfaceStats(uint64_t &stats, uint32_t type, const std::string &interfaceName)1114 int32_t NetsysController::GetIfaceStats(uint64_t &stats, uint32_t type, const std::string &interfaceName)
1115 {
1116     // LCOV_EXCL_START This will never happen.
1117     if (netsysService_ == nullptr) {
1118         NETMGR_LOG_E("netsysService is null");
1119         return NETSYS_NETSYSSERVICE_NULL;
1120     }
1121     // LCOV_EXCL_STOP
1122     return netsysService_->GetIfaceStats(stats, static_cast<uint32_t>(type), interfaceName);
1123 }
1124 
GetAllSimStatsInfo(std::vector<OHOS::NetManagerStandard::NetStatsInfo> &stats)1125 int32_t NetsysController::GetAllSimStatsInfo(std::vector<OHOS::NetManagerStandard::NetStatsInfo> &stats)
1126 {
1127     // LCOV_EXCL_START This will never happen.
1128     if (netsysService_ == nullptr) {
1129         NETMGR_LOG_E("netsysService is null");
1130         return NETSYS_NETSYSSERVICE_NULL;
1131     }
1132     // LCOV_EXCL_STOP
1133     return netsysService_->GetAllSimStatsInfo(stats);
1134 }
1135 
DeleteSimStatsInfo(uint32_t uid)1136 int32_t NetsysController::DeleteSimStatsInfo(uint32_t uid)
1137 {
1138     // LCOV_EXCL_START This will never happen.
1139     if (netsysService_ == nullptr) {
1140         NETMGR_LOG_E("netsysService is null");
1141         return NETSYS_NETSYSSERVICE_NULL;
1142     }
1143     // LCOV_EXCL_STOP
1144     return netsysService_->DeleteSimStatsInfo(uid);
1145 }
1146 
GetAllStatsInfo(std::vector<OHOS::NetManagerStandard::NetStatsInfo> &stats)1147 int32_t NetsysController::GetAllStatsInfo(std::vector<OHOS::NetManagerStandard::NetStatsInfo> &stats)
1148 {
1149     // LCOV_EXCL_START This will never happen.
1150     if (netsysService_ == nullptr) {
1151         NETMGR_LOG_E("netsysService is null");
1152         return NETSYS_NETSYSSERVICE_NULL;
1153     }
1154     // LCOV_EXCL_STOP
1155     return netsysService_->GetAllStatsInfo(stats);
1156 }
1157 
DeleteStatsInfo(uint32_t uid)1158 int32_t NetsysController::DeleteStatsInfo(uint32_t uid)
1159 {
1160     // LCOV_EXCL_START This will never happen.
1161     if (netsysService_ == nullptr) {
1162         NETMGR_LOG_E("netsysService is null");
1163         return NETSYS_NETSYSSERVICE_NULL;
1164     }
1165     // LCOV_EXCL_STOP
1166     return netsysService_->DeleteStatsInfo(uid);
1167 }
1168 
SetIptablesCommandForRes(const std::string &cmd, std::string &respond, NetsysNative::IptablesType ipType)1169 int32_t NetsysController::SetIptablesCommandForRes(const std::string &cmd, std::string &respond,
1170     NetsysNative::IptablesType ipType)
1171 {
1172     if (cmd.empty()) {
1173         NETMGR_LOG_E("SetIptablesCommandForRes cmd is empty");
1174         return ERR_INVALID_DATA;
1175     }
1176     // LCOV_EXCL_START This will never happen.
1177     if (netsysService_ == nullptr) {
1178         NETMGR_LOG_E("SetIptablesCommandForRes netsysService is null");
1179         return NETSYS_NETSYSSERVICE_NULL;
1180     }
1181     // LCOV_EXCL_STOP
1182     NETMGR_LOG_I("SetIptablesCommandForRes, iptables is %{public}d.", ipType);
1183     return netsysService_->SetIptablesCommandForRes(cmd, respond, ipType);
1184 }
1185 
NetDiagPingHost(const OHOS::NetsysNative::NetDiagPingOption &pingOption, const sptr<OHOS::NetsysNative::INetDiagCallback> &callback)1186 int32_t NetsysController::NetDiagPingHost(const OHOS::NetsysNative::NetDiagPingOption &pingOption,
1187                                           const sptr<OHOS::NetsysNative::INetDiagCallback> &callback)
1188 {
1189     // LCOV_EXCL_START This will never happen.
1190     if (netsysService_ == nullptr) {
1191         NETMGR_LOG_E("netsysService is null");
1192         return NETSYS_NETSYSSERVICE_NULL;
1193     }
1194     // LCOV_EXCL_STOP
1195     return netsysService_->NetDiagPingHost(pingOption, callback);
1196 }
1197 
NetDiagGetRouteTable(std::list<OHOS::NetsysNative::NetDiagRouteTable> &routeTables)1198 int32_t NetsysController::NetDiagGetRouteTable(std::list<OHOS::NetsysNative::NetDiagRouteTable> &routeTables)
1199 {
1200     // LCOV_EXCL_START This will never happen.
1201     if (netsysService_ == nullptr) {
1202         NETMGR_LOG_E("netsysService is null");
1203         return NETSYS_NETSYSSERVICE_NULL;
1204     }
1205     // LCOV_EXCL_STOP
1206     return netsysService_->NetDiagGetRouteTable(routeTables);
1207 }
1208 
NetDiagGetSocketsInfo(OHOS::NetsysNative::NetDiagProtocolType socketType, OHOS::NetsysNative::NetDiagSocketsInfo &socketsInfo)1209 int32_t NetsysController::NetDiagGetSocketsInfo(OHOS::NetsysNative::NetDiagProtocolType socketType,
1210                                                 OHOS::NetsysNative::NetDiagSocketsInfo &socketsInfo)
1211 {
1212     // LCOV_EXCL_START This will never happen.
1213     if (netsysService_ == nullptr) {
1214         NETMGR_LOG_E("netsysService is null");
1215         return NETSYS_NETSYSSERVICE_NULL;
1216     }
1217     // LCOV_EXCL_STOP
1218     return netsysService_->NetDiagGetSocketsInfo(socketType, socketsInfo);
1219 }
1220 
NetDiagGetInterfaceConfig(std::list<OHOS::NetsysNative::NetDiagIfaceConfig> &configs, const std::string &ifaceName)1221 int32_t NetsysController::NetDiagGetInterfaceConfig(std::list<OHOS::NetsysNative::NetDiagIfaceConfig> &configs,
1222                                                     const std::string &ifaceName)
1223 {
1224     // LCOV_EXCL_START This will never happen.
1225     if (netsysService_ == nullptr) {
1226         NETMGR_LOG_E("netsysService is null");
1227         return NETSYS_NETSYSSERVICE_NULL;
1228     }
1229     // LCOV_EXCL_STOP
1230     return netsysService_->NetDiagGetInterfaceConfig(configs, ifaceName);
1231 }
1232 
NetDiagUpdateInterfaceConfig(const OHOS::NetsysNative::NetDiagIfaceConfig &config, const std::string &ifaceName, bool add)1233 int32_t NetsysController::NetDiagUpdateInterfaceConfig(const OHOS::NetsysNative::NetDiagIfaceConfig &config,
1234                                                        const std::string &ifaceName, bool add)
1235 {
1236     // LCOV_EXCL_START This will never happen.
1237     if (netsysService_ == nullptr) {
1238         NETMGR_LOG_E("netsysService is null");
1239         return NETSYS_NETSYSSERVICE_NULL;
1240     }
1241     // LCOV_EXCL_STOP
1242     return netsysService_->NetDiagUpdateInterfaceConfig(config, ifaceName, add);
1243 }
1244 
NetDiagSetInterfaceActiveState(const std::string &ifaceName, bool up)1245 int32_t NetsysController::NetDiagSetInterfaceActiveState(const std::string &ifaceName, bool up)
1246 {
1247     // LCOV_EXCL_START This will never happen.
1248     if (netsysService_ == nullptr) {
1249         NETMGR_LOG_E("netsysService is null");
1250         return NETSYS_NETSYSSERVICE_NULL;
1251     }
1252     // LCOV_EXCL_STOP
1253     return netsysService_->NetDiagSetInterfaceActiveState(ifaceName, up);
1254 }
1255 
AddStaticArp(const std::string &ipAddr, const std::string &macAddr, const std::string &ifName)1256 int32_t NetsysController::AddStaticArp(const std::string &ipAddr, const std::string &macAddr,
1257                                        const std::string &ifName)
1258 {
1259     // LCOV_EXCL_START This will never happen.
1260     if (netsysService_ == nullptr) {
1261         NETMGR_LOG_E("AddStaticArp netsysService is null");
1262         return NETSYS_NETSYSSERVICE_NULL;
1263     }
1264     // LCOV_EXCL_STOP
1265     return netsysService_->AddStaticArp(ipAddr, macAddr, ifName);
1266 }
1267 
DelStaticArp(const std::string &ipAddr, const std::string &macAddr, const std::string &ifName)1268 int32_t NetsysController::DelStaticArp(const std::string &ipAddr, const std::string &macAddr,
1269                                        const std::string &ifName)
1270 {
1271     // LCOV_EXCL_START This will never happen.
1272     if (netsysService_ == nullptr) {
1273         NETMGR_LOG_E("DelStaticArp netsysService is null");
1274         return NETSYS_NETSYSSERVICE_NULL;
1275     }
1276     // LCOV_EXCL_STOP
1277     return netsysService_->DelStaticArp(ipAddr, macAddr, ifName);
1278 }
1279 
RegisterDnsResultCallback( const sptr<OHOS::NetManagerStandard::NetsysDnsReportCallback> &callback, uint32_t timeStep)1280 int32_t NetsysController::RegisterDnsResultCallback(
1281     const sptr<OHOS::NetManagerStandard::NetsysDnsReportCallback> &callback, uint32_t timeStep)
1282 {
1283     // LCOV_EXCL_START This will never happen.
1284     if (netsysService_ == nullptr) {
1285         NETMGR_LOG_E("netsysService is null");
1286         return NETSYS_NETSYSSERVICE_NULL;
1287     }
1288     // LCOV_EXCL_STOP
1289     return netsysService_->RegisterDnsResultCallback(callback, timeStep);
1290 }
1291 
UnregisterDnsResultCallback( const sptr<OHOS::NetManagerStandard::NetsysDnsReportCallback> &callback)1292 int32_t NetsysController::UnregisterDnsResultCallback(
1293     const sptr<OHOS::NetManagerStandard::NetsysDnsReportCallback> &callback)
1294 {
1295     // LCOV_EXCL_START This will never happen.
1296     if (netsysService_ == nullptr) {
1297         NETMGR_LOG_E("netsysService is null");
1298         return NETSYS_NETSYSSERVICE_NULL;
1299     }
1300     // LCOV_EXCL_STOP
1301     return netsysService_->UnregisterDnsResultCallback(callback);
1302 }
1303 
RegisterDnsHealthCallback(const sptr<OHOS::NetsysNative::INetDnsHealthCallback> &callback)1304 int32_t NetsysController::RegisterDnsHealthCallback(const sptr<OHOS::NetsysNative::INetDnsHealthCallback> &callback)
1305 {
1306     // LCOV_EXCL_START This will never happen.
1307     if (netsysService_ == nullptr) {
1308         NETMGR_LOG_E("netsysService is null");
1309         return NETSYS_NETSYSSERVICE_NULL;
1310     }
1311     // LCOV_EXCL_STOP
1312     return netsysService_->RegisterDnsHealthCallback(callback);
1313 }
1314 
UnregisterDnsHealthCallback(const sptr<OHOS::NetsysNative::INetDnsHealthCallback> &callback)1315 int32_t NetsysController::UnregisterDnsHealthCallback(const sptr<OHOS::NetsysNative::INetDnsHealthCallback> &callback)
1316 {
1317     // LCOV_EXCL_START This will never happen.
1318     if (netsysService_ == nullptr) {
1319         NETMGR_LOG_E("netsysService is null");
1320         return NETSYS_NETSYSSERVICE_NULL;
1321     }
1322     // LCOV_EXCL_STOP
1323     return netsysService_->UnregisterDnsHealthCallback(callback);
1324 }
1325 
GetCookieStats(uint64_t &stats, uint32_t type, uint64_t cookie)1326 int32_t NetsysController::GetCookieStats(uint64_t &stats, uint32_t type, uint64_t cookie)
1327 {
1328     // LCOV_EXCL_START This will never happen.
1329     if (netsysService_ == nullptr) {
1330         NETMGR_LOG_E("GetCookieStats netsysService is null");
1331         return NETSYS_NETSYSSERVICE_NULL;
1332     }
1333     // LCOV_EXCL_STOP
1334     return netsysService_->GetCookieStats(stats, type, cookie);
1335 }
1336 
GetNetworkSharingType(std::set<uint32_t>& sharingTypeIsOn)1337 int32_t NetsysController::GetNetworkSharingType(std::set<uint32_t>& sharingTypeIsOn)
1338 {
1339     // LCOV_EXCL_START This will never happen.
1340     if (netsysService_ == nullptr) {
1341         NETMGR_LOG_E("GetNetworkSharingType netsysService is null");
1342         return NETSYS_NETSYSSERVICE_NULL;
1343     }
1344     // LCOV_EXCL_STOP
1345     return netsysService_->GetNetworkSharingType(sharingTypeIsOn);
1346 }
1347 
UpdateNetworkSharingType(uint32_t type, bool isOpen)1348 int32_t NetsysController::UpdateNetworkSharingType(uint32_t type, bool isOpen)
1349 {
1350     // LCOV_EXCL_START This will never happen.
1351     if (netsysService_ == nullptr) {
1352         NETMGR_LOG_E("UpdateNetworkSharingType netsysService is null");
1353         return NETSYS_NETSYSSERVICE_NULL;
1354     }
1355     // LCOV_EXCL_STOP
1356     return netsysService_->UpdateNetworkSharingType(type, isOpen);
1357 }
1358 
1359 #ifdef FEATURE_NET_FIREWALL_ENABLE
SetFirewallRules(NetFirewallRuleType type, const std::vector<sptr<NetFirewallBaseRule>> &ruleList, bool isFinish)1360 int32_t NetsysController::SetFirewallRules(NetFirewallRuleType type,
1361                                            const std::vector<sptr<NetFirewallBaseRule>> &ruleList, bool isFinish)
1362 {
1363     NETMGR_LOG_I("NetsysController::SetFirewallRules");
1364     // LCOV_EXCL_START This will never happen.
1365     if (netsysService_ == nullptr) {
1366         NETMGR_LOG_E("SetFirewallRules netsysService is null");
1367         return NETSYS_NETSYSSERVICE_NULL;
1368     }
1369     // LCOV_EXCL_STOP
1370     return netsysService_->SetFirewallRules(type, ruleList, isFinish);
1371 }
1372 
SetFirewallDefaultAction(FirewallRuleAction inDefault, FirewallRuleAction outDefault)1373 int32_t NetsysController::SetFirewallDefaultAction(FirewallRuleAction inDefault, FirewallRuleAction outDefault)
1374 {
1375     NETMGR_LOG_I("NetsysController::SetFirewallDefaultAction");
1376     // LCOV_EXCL_START This will never happen.
1377     if (netsysService_ == nullptr) {
1378         NETMGR_LOG_E("SetFirewallDefaultAction netsysService is null");
1379         return NETSYS_NETSYSSERVICE_NULL;
1380     }
1381     // LCOV_EXCL_STOP
1382     return netsysService_->SetFirewallDefaultAction(inDefault, outDefault);
1383 }
1384 
SetFirewallCurrentUserId(int32_t userId)1385 int32_t NetsysController::SetFirewallCurrentUserId(int32_t userId)
1386 {
1387     NETMGR_LOG_I("NetsysController::SetFirewallCurrentUserId");
1388     // LCOV_EXCL_START This will never happen.
1389     if (netsysService_ == nullptr) {
1390         NETMGR_LOG_E("SetFirewallCurrentUserId netsysService is null");
1391         return NETSYS_NETSYSSERVICE_NULL;
1392     }
1393     // LCOV_EXCL_STOP
1394     return netsysService_->SetFirewallCurrentUserId(userId);
1395 }
1396 
ClearFirewallRules(NetFirewallRuleType type)1397 int32_t NetsysController::ClearFirewallRules(NetFirewallRuleType type)
1398 {
1399     NETMGR_LOG_I("NetsysController::ClearFirewallRules");
1400     // LCOV_EXCL_START This will never happen.
1401     if (netsysService_ == nullptr) {
1402         NETMGR_LOG_E("ClearFirewallRules netsysService is null");
1403         return NETSYS_NETSYSSERVICE_NULL;
1404     }
1405     // LCOV_EXCL_STOP
1406     return netsysService_->ClearFirewallRules(type);
1407 }
1408 
RegisterNetFirewallCallback(const sptr<NetsysNative::INetFirewallCallback> &callback)1409 int32_t NetsysController::RegisterNetFirewallCallback(const sptr<NetsysNative::INetFirewallCallback> &callback)
1410 {
1411     // LCOV_EXCL_START This will never happen.
1412     if (netsysService_ == nullptr) {
1413         NETMGR_LOG_E("netsysService is null");
1414         return NETSYS_NETSYSSERVICE_NULL;
1415     }
1416     // LCOV_EXCL_STOP
1417     return netsysService_->RegisterNetFirewallCallback(callback);
1418 }
1419 
UnRegisterNetFirewallCallback(const sptr<NetsysNative::INetFirewallCallback> &callback)1420 int32_t NetsysController::UnRegisterNetFirewallCallback(const sptr<NetsysNative::INetFirewallCallback> &callback)
1421 {
1422     // LCOV_EXCL_START This will never happen.
1423     if (netsysService_ == nullptr) {
1424         NETMGR_LOG_E("netsysService is null");
1425         return NETSYS_NETSYSSERVICE_NULL;
1426     }
1427     // LCOV_EXCL_STOP
1428     return netsysService_->UnRegisterNetFirewallCallback(callback);
1429 }
1430 #endif
1431 
1432 #ifdef FEATURE_WEARABLE_DISTRIBUTED_NET_ENABLE
EnableWearableDistributedNetForward(const int32_t tcpPortId, const int32_t udpPortId)1433 int32_t NetsysController::EnableWearableDistributedNetForward(const int32_t tcpPortId, const int32_t udpPortId)
1434 {
1435     if (netsysService_ == nullptr) {
1436         NETMGR_LOG_E("NetsysService is null in EnableWearableDistributedNetForward");
1437         return NETSYS_NETSYSSERVICE_NULL;
1438     }
1439     return netsysService_->EnableWearableDistributedNetForward(tcpPortId, udpPortId);
1440 }
1441 
DisableWearableDistributedNetForward()1442 int32_t NetsysController::DisableWearableDistributedNetForward()
1443 {
1444     if (netsysService_ == nullptr) {
1445         NETMGR_LOG_E("NetsysService is null in DisableWearableDistributedNetForward");
1446         return NETSYS_NETSYSSERVICE_NULL;
1447     }
1448     return netsysService_->DisableWearableDistributedNetForward();
1449 }
1450 #endif
1451 
SetIpv6PrivacyExtensions(const std::string &interfaceName, const uint32_t on)1452 int32_t NetsysController::SetIpv6PrivacyExtensions(const std::string &interfaceName, const uint32_t on)
1453 {
1454     // LCOV_EXCL_START This will never happen.
1455     if (netsysService_ == nullptr) {
1456         NETMGR_LOG_E("SetIpv6PrivacyExtensions netsysService is null");
1457         return NETSYS_NETSYSSERVICE_NULL;
1458     }
1459     // LCOV_EXCL_STOP
1460     return netsysService_->SetIpv6PrivacyExtensions(interfaceName, on);
1461 }
1462 
SetEnableIpv6(const std::string &interfaceName, const uint32_t on)1463 int32_t NetsysController::SetEnableIpv6(const std::string &interfaceName, const uint32_t on)
1464 {
1465     // LCOV_EXCL_START This will never happen.
1466     if (netsysService_ == nullptr) {
1467         NETMGR_LOG_E("SetEnableIpv6 netsysService is null");
1468         return NETSYS_NETSYSSERVICE_NULL;
1469     }
1470     // LCOV_EXCL_STOP
1471     return netsysService_->SetEnableIpv6(interfaceName, on);
1472 }
1473 
SetNetworkAccessPolicy(uint32_t uid, NetworkAccessPolicy policy, bool reconfirmFlag, bool isBroker)1474 int32_t NetsysController::SetNetworkAccessPolicy(uint32_t uid, NetworkAccessPolicy policy, bool reconfirmFlag,
1475                                                  bool isBroker)
1476 {
1477     // LCOV_EXCL_START This will never happen.
1478     if (netsysService_ == nullptr) {
1479         NETMGR_LOG_E("netsysService_ is null");
1480         return NETSYS_NETSYSSERVICE_NULL;
1481     }
1482     // LCOV_EXCL_STOP
1483     return netsysService_->SetNetworkAccessPolicy(uid, policy, reconfirmFlag, isBroker);
1484 }
1485 
NotifyNetBearerTypeChange(std::set<NetBearType> bearerTypes)1486 int32_t NetsysController::NotifyNetBearerTypeChange(std::set<NetBearType> bearerTypes)
1487 {
1488     // LCOV_EXCL_START This will never happen.
1489     if (netsysService_ == nullptr) {
1490         NETMGR_LOG_E("netsysService_ is null");
1491         return NETSYS_NETSYSSERVICE_NULL;
1492     }
1493     // LCOV_EXCL_STOP
1494     return netsysService_->NotifyNetBearerTypeChange(bearerTypes);
1495 }
1496 
DeleteNetworkAccessPolicy(uint32_t uid)1497 int32_t NetsysController::DeleteNetworkAccessPolicy(uint32_t uid)
1498 {
1499     // LCOV_EXCL_START This will never happen.
1500     if (netsysService_ == nullptr) {
1501         NETMGR_LOG_E("netsysService_ is null");
1502         return NETSYS_NETSYSSERVICE_NULL;
1503     }
1504     // LCOV_EXCL_STOP
1505     return netsysService_->DeleteNetworkAccessPolicy(uid);
1506 }
1507 
ClearFirewallAllRules()1508 int32_t NetsysController::ClearFirewallAllRules()
1509 {
1510     // LCOV_EXCL_START This will never happen.
1511     if (netsysService_ == nullptr) {
1512         NETMGR_LOG_E("netsysService_ is null");
1513         return NETSYS_NETSYSSERVICE_NULL;
1514     }
1515     // LCOV_EXCL_STOP
1516     return netsysService_->ClearFirewallAllRules();
1517 }
1518 
StartClat(const std::string &interfaceName, int32_t netId, const std::string &nat64PrefixStr)1519 int32_t NetsysController::StartClat(const std::string &interfaceName, int32_t netId, const std::string &nat64PrefixStr)
1520 {
1521     // LCOV_EXCL_START This will never happen.
1522     if (netsysService_ == nullptr) {
1523         NETMGR_LOG_E("StartClat netsysService is null");
1524         return NETSYS_NETSYSSERVICE_NULL;
1525     }
1526     // LCOV_EXCL_STOP
1527     return netsysService_->StartClat(interfaceName, netId, nat64PrefixStr);
1528 }
1529 
StopClat(const std::string &interfaceName)1530 int32_t NetsysController::StopClat(const std::string &interfaceName)
1531 {
1532     // LCOV_EXCL_START This will never happen.
1533     if (netsysService_ == nullptr) {
1534         NETMGR_LOG_E("StopClat netsysService is null");
1535         return NETSYS_NETSYSSERVICE_NULL;
1536     }
1537     // LCOV_EXCL_STOP
1538     return netsysService_->StopClat(interfaceName);
1539 }
1540 
SetNicTrafficAllowed(const std::vector<std::string> &ifaceNames, bool status)1541 int32_t NetsysController::SetNicTrafficAllowed(const std::vector<std::string> &ifaceNames, bool status)
1542 {
1543     // LCOV_EXCL_START This will never happen.
1544     if (netsysService_ == nullptr) {
1545         NETMGR_LOG_E("SetNicTrafficAllowed netsysService is null");
1546         return NETSYS_NETSYSSERVICE_NULL;
1547     }
1548     // LCOV_EXCL_STOP
1549     return netsysService_->SetNicTrafficAllowed(ifaceNames, status);
1550 }
1551 
1552 #ifdef SUPPORT_SYSVPN
ProcessVpnStage(NetsysNative::SysVpnStageCode stage)1553 int32_t NetsysController::ProcessVpnStage(NetsysNative::SysVpnStageCode stage)
1554 {
1555     // LCOV_EXCL_START This will never happen.
1556     if (netsysService_ == nullptr) {
1557         NETMGR_LOG_E("ProcessVpnStage netsysService is null");
1558         return NETSYS_NETSYSSERVICE_NULL;
1559     }
1560     // LCOV_EXCL_STOP
1561     return netsysService_->ProcessVpnStage(stage);
1562 }
1563 #endif // SUPPORT_SYSVPN
1564 
CloseSocketsUid(const std::string &ipAddr, uint32_t uid)1565 int32_t NetsysController::CloseSocketsUid(const std::string &ipAddr, uint32_t uid)
1566 {
1567     NETMGR_LOG_D("Set CloseSocketsUid: uid[%{public}d]", uid);
1568     if (netsysService_ == nullptr) {
1569         NETMGR_LOG_E("netsysService_ is null");
1570         return NETSYS_NETSYSSERVICE_NULL;
1571     }
1572     return netsysService_->CloseSocketsUid(ipAddr, uid);
1573 }
1574 } // namespace NetManagerStandard
1575 } // namespace OHOS
1576