diff options
| author | Ken Chen <cken@google.com> | 2021-03-22 11:37:17 +0800 |
|---|---|---|
| committer | Ken Chen <cken@google.com> | 2021-03-23 11:41:59 +0800 |
| commit | c929e8aca3eb6a8fd05c9630c9776e751430648a (patch) | |
| tree | 0c4628c82360dec48e9e86d50df1fedc7f53c3b6 /server/Network.cpp | |
| parent | 3824ac96477f7432767f683b0d44c0356e6c7d5a (diff) | |
| download | platform_system_netd-c929e8aca3eb6a8fd05c9630c9776e751430648a.tar.gz platform_system_netd-c929e8aca3eb6a8fd05c9630c9776e751430648a.tar.bz2 platform_system_netd-c929e8aca3eb6a8fd05c9630c9776e751430648a.zip | |
Implement addUsers()/removeUsers() in derived classes
The implementation of addUsers() and removeUsers() are different between
virtual network, physical network, and others. Virtualize both functions
in base class and override them in derived classes for specialization.
Test: atest
Change-Id: Ie3baeb404d2cd9513efb95857de53b4b3079be0b
Diffstat (limited to 'server/Network.cpp')
| -rw-r--r-- | server/Network.cpp | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/server/Network.cpp b/server/Network.cpp index 96865d603..ca53ccaa4 100644 --- a/server/Network.cpp +++ b/server/Network.cpp @@ -106,53 +106,6 @@ bool Network::hasInvalidUidRanges(const UidRanges& uidRanges) const { return false; } -int Network::addUsers(const UidRanges& uidRanges) { - if (hasInvalidUidRanges(uidRanges)) { - return -EINVAL; - } - - for (const std::string& interface : mInterfaces) { - int ret; - if (isVirtual()) { - ret = RouteController::addUsersToVirtualNetwork(mNetId, interface.c_str(), mSecure, - uidRanges); - } else if (isPhysical()) { - ret = RouteController::addUsersToPhysicalNetwork(mNetId, interface.c_str(), uidRanges); - } else { - ALOGE("failed to add users. Invalid network type %d, netId %d", getType(), mNetId); - return -EINVAL; - } - if (ret) { - ALOGE("failed to add users on interface %s of netId %u", interface.c_str(), mNetId); - return ret; - } - } - mUidRanges.add(uidRanges); - return 0; -} - -int Network::removeUsers(const UidRanges& uidRanges) { - for (const std::string& interface : mInterfaces) { - int ret; - if (isVirtual()) { - ret = RouteController::removeUsersFromVirtualNetwork(mNetId, interface.c_str(), mSecure, - uidRanges); - } else if (isPhysical()) { - ret = RouteController::removeUsersFromPhysicalNetwork(mNetId, interface.c_str(), - uidRanges); - } else { - ALOGE("failed to remove users. Invalid network type %d, netId %d", getType(), mNetId); - return -EINVAL; - } - if (ret) { - ALOGE("failed to remove users on interface %s of netId %u", interface.c_str(), mNetId); - return ret; - } - } - mUidRanges.remove(uidRanges); - return 0; -} - bool Network::isSecure() const { return mSecure; } |
