netd: Accept NetId instead of interface name in DNS resolver commands.
Conflicts:
DnsProxyListener.cpp
NetworkController.cpp
NetworkController.h
Change-Id: Ic82b73de6f50d39d56c5e1a32f5b1f3ebb80bb7d
diff --git a/NetworkController.cpp b/NetworkController.cpp
index efa23f1..395798d 100644
--- a/NetworkController.cpp
+++ b/NetworkController.cpp
@@ -38,16 +38,13 @@
NetworkController::NetworkController(PermissionsController* permissionsController,
RouteController* routeController)
- : mDefaultNetId(NETID_UNSET),
- mNextFreeNetId(MIN_NET_ID),
- mPermissionsController(permissionsController),
+ : mPermissionsController(permissionsController),
mRouteController(routeController) {
}
void NetworkController::clearNetworkPreference() {
android::RWLock::AutoWLock lock(mRWLock);
mUidMap.clear();
- mPidMap.clear();
}
unsigned NetworkController::getDefaultNetwork() const {
@@ -94,15 +91,6 @@
return status;
}
-void NetworkController::setNetworkForPid(int pid, unsigned netId) {
- android::RWLock::AutoWLock lock(mRWLock);
- if (netId == 0) {
- mPidMap.erase(pid);
- } else {
- mPidMap[pid] = netId;
- }
-}
-
bool NetworkController::setNetworkForUidRange(int uid_start, int uid_end, unsigned netId,
bool forward_dns) {
android::RWLock::AutoWLock lock(mRWLock);
@@ -134,8 +122,7 @@
return false;
}
-unsigned NetworkController::getNetwork(int uid, unsigned requested_netId, int pid,
- bool for_dns) const {
+unsigned NetworkController::getNetwork(int uid, unsigned requested_netId, bool for_dns) const {
android::RWLock::AutoRLock lock(mRWLock);
for (std::list<UidEntry>::const_iterator it = mUidMap.begin(); it != mUidMap.end(); ++it) {
if (uid < it->uid_start || it->uid_end < uid)
@@ -146,11 +133,6 @@
}
if (isNetIdValid(requested_netId))
return requested_netId;
- if (pid != PID_UNSPECIFIED) {
- std::map<int, unsigned>::const_iterator it = mPidMap.find(pid);
- if (it != mPidMap.end())
- return it->second;
- }
return mDefaultNetId;
}
@@ -158,10 +140,7 @@
std::map<std::string, unsigned>::const_iterator it = mIfaceNetidMap.find(interface);
if (it != mIfaceNetidMap.end())
return it->second;
-
- unsigned netId = mNextFreeNetId++;
- mIfaceNetidMap[interface] = netId;
- return netId;
+ return NETID_UNSET;
}
bool NetworkController::createNetwork(unsigned netId, const char* interface,
@@ -183,6 +162,7 @@
mPermissionsController->setPermissionForNetwork(permission, netId);
mNetIdToInterfaces.insert(std::pair<unsigned, std::string>(netId, interface));
+ mIfaceNetidMap[interface] = netId;
return true;
}