summaryrefslogtreecommitdiff
path: root/server/NetworkController.cpp
diff options
context:
space:
mode:
authorLorenzo Colitti <lorenzo@google.com>2016-10-26 06:03:08 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2016-10-26 06:03:09 +0000
commit0e8ad694d51b60099eeea0422e942ab1aa4becf1 (patch)
tree83dc49b60c838d546bd5d9329f0259086de62e90 /server/NetworkController.cpp
parentf625bd895fd72ea4f5aaabb00733378dc051f7f8 (diff)
parentd102965e157e16c5a7600616cfbabaaa7bc41acd (diff)
Merge changes I8056830b,I1407644e,Ie32c8651,I60929eec,I06cd226c, ...
* changes: List network permissions in dumpsys netd. Close sockets when changing network permissions. Add general /proc/sys/net/ipv[46]/{conf,neigh}/ interface Disable DAD for downstream interfaces when tethering Add tests for interface add/remove binder API Support adding/removing IPv4 and IPv6 addresses on interfaces Don't start tethering if IPv6 RPF is not supported. Enable IPv6 reverse path filtering. Allow networking on loopback in doze, standby, and powersave. Don't close loopback sockets when a VPN connects or entering doze. Make the socketDestroy tests use a fake tun interface. Add tetherApplyDnsInterfaces() binder interface. Parse IPv6 tethering counters. Add counters for IPv6 tethering. Refactor getTetherStats in preparation for IPv6 tether counters. More test coverage for tethering counter parsing. Add a test for NatController. Add a test for getTetherStats. Setup interfaces for IPv6 tethering Listen to xt_quota2 kobject event for quota Verify expectations better in SockDiagTest. Don't fail the test if the iptables lock is held. Silence spammy iptables rule at boot.
Diffstat (limited to 'server/NetworkController.cpp')
-rw-r--r--server/NetworkController.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/server/NetworkController.cpp b/server/NetworkController.cpp
index 014d9267..c891391d 100644
--- a/server/NetworkController.cpp
+++ b/server/NetworkController.cpp
@@ -453,8 +453,6 @@ int NetworkController::setPermissionForNetworks(Permission permission,
return -EINVAL;
}
- // TODO: ioctl(SIOCKILLADDR, ...) to kill socets on the network that don't have permission.
-
if (int ret = static_cast<PhysicalNetwork*>(network)->setPermission(permission)) {
return ret;
}
@@ -538,7 +536,14 @@ void NetworkController::dump(DumpWriter& dw) {
dw.println("Networks:");
dw.incIndent();
for (const auto& i : mNetworks) {
- dw.println(i.second->toString().c_str());
+ Network* network = i.second;
+ dw.println(network->toString().c_str());
+ if (network->getType() == Network::PHYSICAL) {
+ dw.incIndent();
+ Permission permission = reinterpret_cast<PhysicalNetwork*>(network)->getPermission();
+ dw.println("Required permission: %s", permissionToName(permission));
+ dw.decIndent();
+ }
android::net::gCtls->resolverCtrl.dump(dw, i.first);
dw.blankline();
}