Put most of netd into the android::net namespace.

Test: netd_{unit,integration}_test pass
Test: bullhead builds, boots
Bug: 34873832
Change-Id: I0a252328041b342f9c03cd08c11a69d452b045b3
diff --git a/server/ClatdController.cpp b/server/ClatdController.cpp
index 348a0dd..85c1b02 100644
--- a/server/ClatdController.cpp
+++ b/server/ClatdController.cpp
@@ -34,6 +34,9 @@
 
 static const char* kClatdPath = "/system/bin/clatd";
 
+namespace android {
+namespace net {
+
 ClatdController::ClatdController(NetworkController* controller)
         : mNetCtrl(controller) {
 }
@@ -144,3 +147,6 @@
     }
     return waitpid_status == 0; // 0 while child is running
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/ClatdController.h b/server/ClatdController.h
index 1985836..21d4dfe 100644
--- a/server/ClatdController.h
+++ b/server/ClatdController.h
@@ -19,6 +19,9 @@
 
 #include <map>
 
+namespace android {
+namespace net {
+
 class NetworkController;
 
 class ClatdController {
@@ -36,4 +39,7 @@
     pid_t getClatdPid(char* interface);
 };
 
+}  // namespace net
+}  // namespace android
+
 #endif
diff --git a/server/CommandListener.cpp b/server/CommandListener.cpp
index df4ea41..b5aff11 100644
--- a/server/CommandListener.cpp
+++ b/server/CommandListener.cpp
@@ -51,7 +51,8 @@
 #include <string>
 #include <vector>
 
-using android::net::gCtls;
+namespace android {
+namespace net {
 
 namespace {
 
@@ -1605,3 +1606,6 @@
 
     return syntaxError(client, "Unknown argument");
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/CommandListener.h b/server/CommandListener.h
index 096c2a0..762ae7c 100644
--- a/server/CommandListener.h
+++ b/server/CommandListener.h
@@ -34,6 +34,9 @@
 #include "ClatdController.h"
 #include "StrictController.h"
 
+namespace android {
+namespace net {
+
 class CommandListener : public FrameworkListener {
 public:
     CommandListener();
@@ -156,4 +159,7 @@
     };
 };
 
+}  // namespace net
+}  // namespace android
+
 #endif
diff --git a/server/DnsProxyListener.cpp b/server/DnsProxyListener.cpp
index aea5bdc..ac7cdbe 100644
--- a/server/DnsProxyListener.cpp
+++ b/server/DnsProxyListener.cpp
@@ -51,6 +51,9 @@
 using android::String16;
 using android::net::metrics::INetdEventListener;
 
+namespace android {
+namespace net {
+
 DnsProxyListener::DnsProxyListener(const NetworkController* netCtrl, EventReporter* eventReporter) :
         FrameworkListener("dnsproxyd"), mNetCtrl(netCtrl), mEventReporter(eventReporter) {
     registerCmd(new GetAddrInfoCmd(this));
@@ -586,3 +589,6 @@
     }
     mClient->decRef();
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/DnsProxyListener.h b/server/DnsProxyListener.h
index 8807488..50cd73d 100644
--- a/server/DnsProxyListener.h
+++ b/server/DnsProxyListener.h
@@ -25,6 +25,9 @@
 #include "EventReporter.h"
 #include "NetdCommand.h"
 
+namespace android {
+namespace net {
+
 class NetworkController;
 
 class DnsProxyListener : public FrameworkListener {
@@ -140,4 +143,7 @@
     };
 };
 
+}  // namespace net
+}  // namespace android
+
 #endif
diff --git a/server/DummyNetwork.cpp b/server/DummyNetwork.cpp
index a3b3435..6cd6791 100644
--- a/server/DummyNetwork.cpp
+++ b/server/DummyNetwork.cpp
@@ -22,6 +22,9 @@
 #include "log/log.h"
 #include "errno.h"
 
+namespace android {
+namespace net {
+
 const char* DummyNetwork::INTERFACE_NAME = "dummy0";
 
 DummyNetwork::DummyNetwork(unsigned netId) : Network(netId) {
@@ -42,3 +45,6 @@
 int DummyNetwork::removeInterface(const std::string& /* interface */) {
     return -EINVAL;
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/DummyNetwork.h b/server/DummyNetwork.h
index 7bc0d3d..32584aa 100644
--- a/server/DummyNetwork.h
+++ b/server/DummyNetwork.h
@@ -19,6 +19,9 @@
 
 #include "Network.h"
 
+namespace android {
+namespace net {
+
 class DummyNetwork : public Network {
 public:
     static const char* INTERFACE_NAME;
@@ -31,4 +34,7 @@
     int removeInterface(const std::string& interface) override WARN_UNUSED_RESULT;
 };
 
+}  // namespace net
+}  // namespace android
+
 #endif  // NETD_SERVER_DUMMY_NETWORK_H
diff --git a/server/DumpWriter.cpp b/server/DumpWriter.cpp
index d96d47b..9a7e352 100644
--- a/server/DumpWriter.cpp
+++ b/server/DumpWriter.cpp
@@ -23,6 +23,9 @@
 using android::String16;
 using android::Vector;
 
+namespace android {
+namespace net {
+
 namespace {
 
 const char kIndentString[] = "  ";
@@ -63,3 +66,6 @@
     va_end(ap);
     println(line);
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/DumpWriter.h b/server/DumpWriter.h
index 3bdad4f..47adac9 100644
--- a/server/DumpWriter.h
+++ b/server/DumpWriter.h
@@ -21,6 +21,8 @@
 #include <utils/String16.h>
 #include <utils/Vector.h>
 
+namespace android {
+namespace net {
 
 class DumpWriter {
 public:
@@ -38,4 +40,7 @@
     int mFd;
 };
 
+}  // namespace net
+}  // namespace android
+
 #endif  // NETD_SERVER_DUMPWRITER_H_
diff --git a/server/FwmarkServer.cpp b/server/FwmarkServer.cpp
index 38a116d..a9a18c5 100644
--- a/server/FwmarkServer.cpp
+++ b/server/FwmarkServer.cpp
@@ -30,6 +30,9 @@
 using android::String16;
 using android::net::metrics::INetdEventListener;
 
+namespace android {
+namespace net {
+
 FwmarkServer::FwmarkServer(NetworkController* networkController, EventReporter* eventReporter) :
         SocketListener("fwmarkd", true), mNetworkController(networkController),
         mEventReporter(eventReporter) {
@@ -252,3 +255,6 @@
 
     return 0;
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/FwmarkServer.h b/server/FwmarkServer.h
index 644acb8..c9b19a5 100644
--- a/server/FwmarkServer.h
+++ b/server/FwmarkServer.h
@@ -21,6 +21,9 @@
 #include "EventReporter.h"
 #include "sysutils/SocketListener.h"
 
+namespace android {
+namespace net {
+
 class NetworkController;
 
 class FwmarkServer : public SocketListener {
@@ -38,4 +41,7 @@
     EventReporter* mEventReporter;
 };
 
+}  // namespace net
+}  // namespace android
+
 #endif  // NETD_SERVER_FWMARK_SERVER_H
diff --git a/server/InterfaceController.cpp b/server/InterfaceController.cpp
index 1d0a8e0..ed5d8d0 100644
--- a/server/InterfaceController.cpp
+++ b/server/InterfaceController.cpp
@@ -32,6 +32,7 @@
 using android::base::StringPrintf;
 using android::base::ReadFileToString;
 using android::base::WriteStringToFile;
+using android::net::RouteController;
 
 namespace {
 
diff --git a/server/LocalNetwork.cpp b/server/LocalNetwork.cpp
index ba0b21e..91fda3c 100644
--- a/server/LocalNetwork.cpp
+++ b/server/LocalNetwork.cpp
@@ -21,6 +21,9 @@
 #define LOG_TAG "Netd"
 #include "log/log.h"
 
+namespace android {
+namespace net {
+
 LocalNetwork::LocalNetwork(unsigned netId) : Network(netId) {
 }
 
@@ -54,3 +57,6 @@
     mInterfaces.erase(interface);
     return 0;
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/LocalNetwork.h b/server/LocalNetwork.h
index 89a67f4..2aa7900 100644
--- a/server/LocalNetwork.h
+++ b/server/LocalNetwork.h
@@ -19,6 +19,9 @@
 
 #include "Network.h"
 
+namespace android {
+namespace net {
+
 class LocalNetwork : public Network {
 public:
     explicit LocalNetwork(unsigned netId);
@@ -30,4 +33,7 @@
     int removeInterface(const std::string& interface) override WARN_UNUSED_RESULT;
 };
 
+}  // namespace net
+}  // namespace android
+
 #endif  // NETD_SERVER_LOCAL_NETWORK_H
diff --git a/server/NetlinkHandler.cpp b/server/NetlinkHandler.cpp
index e9a11ba..ac6f5a3 100644
--- a/server/NetlinkHandler.cpp
+++ b/server/NetlinkHandler.cpp
@@ -34,6 +34,9 @@
 static const char *kUpdated = "updated";
 static const char *kRemoved = "removed";
 
+namespace android {
+namespace net {
+
 NetlinkHandler::NetlinkHandler(NetlinkManager *nm, int listenerSocket,
                                int format) :
                         NetlinkListener(listenerSocket, format) {
@@ -224,3 +227,6 @@
 void NetlinkHandler::notifyStrictCleartext(const char* uid, const char* hex) {
     notify(ResponseCode::StrictCleartext, "%s %s", uid, hex);
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/NetlinkHandler.h b/server/NetlinkHandler.h
index d97c864..2f4c01c 100644
--- a/server/NetlinkHandler.h
+++ b/server/NetlinkHandler.h
@@ -21,6 +21,9 @@
 #include <sysutils/NetlinkListener.h>
 #include "NetlinkManager.h"
 
+namespace android {
+namespace net {
+
 class NetlinkHandler: public NetlinkListener {
     NetlinkManager *mNm;
 
@@ -49,4 +52,8 @@
     void notifyRouteChange(NetlinkEvent::Action action, const char *route, const char *gateway, const char *iface);
     void notifyStrictCleartext(const char* uid, const char* hex);
 };
+
+}  // namespace net
+}  // namespace android
+
 #endif
diff --git a/server/NetlinkManager.cpp b/server/NetlinkManager.cpp
index 769a80a..35349d2 100644
--- a/server/NetlinkManager.cpp
+++ b/server/NetlinkManager.cpp
@@ -46,6 +46,9 @@
 
 #include "pcap-netfilter-linux-android.h"
 
+namespace android {
+namespace net {
+
 const int NetlinkManager::NFLOG_QUOTA_GROUP = 1;
 const int NetlinkManager::NETFILTER_STRICT_GROUP = 2;
 
@@ -208,3 +211,6 @@
 
     return status;
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/NetlinkManager.h b/server/NetlinkManager.h
index 40a5722..d5d18b2 100644
--- a/server/NetlinkManager.h
+++ b/server/NetlinkManager.h
@@ -20,6 +20,8 @@
 #include <sysutils/SocketListener.h>
 #include <sysutils/NetlinkListener.h>
 
+namespace android {
+namespace net {
 
 class NetlinkHandler;
 
@@ -59,4 +61,8 @@
     NetlinkHandler* setupSocket(int *sock, int netlinkFamily, int groups,
         int format, bool configNflog);
 };
+
+}  // namespace net
+}  // namespace android
+
 #endif
diff --git a/server/Network.cpp b/server/Network.cpp
index f33cd88..eb2a233 100644
--- a/server/Network.cpp
+++ b/server/Network.cpp
@@ -22,6 +22,9 @@
 #include <android-base/strings.h>
 #include <sstream>
 
+namespace android {
+namespace net {
+
 Network::~Network() {
     if (!mInterfaces.empty()) {
         ALOGE("deleting network with netId %u without clearing its interfaces", mNetId);
@@ -86,3 +89,6 @@
 
 Network::Network(unsigned netId) : mNetId(netId) {
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/Network.h b/server/Network.h
index 8949dd1..69af3ff 100644
--- a/server/Network.h
+++ b/server/Network.h
@@ -22,6 +22,9 @@
 #include <set>
 #include <string>
 
+namespace android {
+namespace net {
+
 // A Network represents a collection of interfaces participating as a single administrative unit.
 class Network {
 public:
@@ -57,4 +60,7 @@
     std::set<std::string> mInterfaces;
 };
 
+}  // namespace net
+}  // namespace android
+
 #endif  // NETD_SERVER_NETWORK_H
diff --git a/server/NetworkController.cpp b/server/NetworkController.cpp
index c891391..8e4c69d 100644
--- a/server/NetworkController.cpp
+++ b/server/NetworkController.cpp
@@ -47,6 +47,9 @@
 #include "RouteController.h"
 #include "VirtualNetwork.h"
 
+namespace android {
+namespace net {
+
 namespace {
 
 // Keep these in sync with ConnectivityService.java.
@@ -666,3 +669,6 @@
     }
     return 0;
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/NetworkController.h b/server/NetworkController.h
index 07e743c..0c6cd63 100644
--- a/server/NetworkController.h
+++ b/server/NetworkController.h
@@ -28,6 +28,11 @@
 #include <sys/types.h>
 #include <vector>
 
+struct android_net_context;
+
+namespace android {
+namespace net {
+
 class DumpWriter;
 class Network;
 class UidRanges;
@@ -116,4 +121,7 @@
 
 };
 
+}  // namespace net
+}  // namespace android
+
 #endif  // NETD_SERVER_NETWORK_CONTROLLER_H
diff --git a/server/PhysicalNetwork.cpp b/server/PhysicalNetwork.cpp
index ee0e7c7..ccac323 100644
--- a/server/PhysicalNetwork.cpp
+++ b/server/PhysicalNetwork.cpp
@@ -22,6 +22,9 @@
 #define LOG_TAG "Netd"
 #include "log/log.h"
 
+namespace android {
+namespace net {
+
 namespace {
 
 WARN_UNUSED_RESULT int addToDefault(unsigned netId, const std::string& interface,
@@ -188,3 +191,6 @@
     mInterfaces.erase(interface);
     return 0;
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/PhysicalNetwork.h b/server/PhysicalNetwork.h
index cba3c6e..9200955 100644
--- a/server/PhysicalNetwork.h
+++ b/server/PhysicalNetwork.h
@@ -20,6 +20,9 @@
 #include "Network.h"
 #include "Permission.h"
 
+namespace android {
+namespace net {
+
 class PhysicalNetwork : public Network {
 public:
     class Delegate {
@@ -53,4 +56,7 @@
     bool mIsDefault;
 };
 
+}  // namespace net
+}  // namespace android
+
 #endif  // NETD_SERVER_PHYSICAL_NETWORK_H
diff --git a/server/ResolverController.cpp b/server/ResolverController.cpp
index 4a0fca4..daf4ebb 100644
--- a/server/ResolverController.cpp
+++ b/server/ResolverController.cpp
@@ -40,6 +40,9 @@
 #include "ResolverController.h"
 #include "ResolverStats.h"
 
+namespace android {
+namespace net {
+
 int ResolverController::setDnsServers(unsigned netId, const char* searchDomains,
         const char** servers, int numservers, const __res_params* params) {
     if (DBG) {
@@ -246,3 +249,6 @@
     }
     dw.decIndent();
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/ResolverController.h b/server/ResolverController.h
index d0c984f..3da9ac9 100644
--- a/server/ResolverController.h
+++ b/server/ResolverController.h
@@ -22,13 +22,12 @@
 #include <linux/in.h>
 
 struct __res_params;
-class DumpWriter;
 
 namespace android {
 namespace net {
+
+class DumpWriter;
 struct ResolverStats;
-}  // namespace net
-}  // namespace android
 
 class ResolverController {
 public:
@@ -59,4 +58,7 @@
     void dump(DumpWriter& dw, unsigned netId);
 };
 
+}  // namespace net
+}  // namespace android
+
 #endif /* _RESOLVER_CONTROLLER_H_ */
diff --git a/server/RouteController.cpp b/server/RouteController.cpp
index a50dab3..f61a5ef 100644
--- a/server/RouteController.cpp
+++ b/server/RouteController.cpp
@@ -27,9 +27,9 @@
 
 #include <map>
 
+#include "DummyNetwork.h"
 #include "Fwmark.h"
 #include "UidRanges.h"
-#include "DummyNetwork.h"
 
 #include "android-base/file.h"
 #define LOG_TAG "Netd"
@@ -41,6 +41,9 @@
 using android::base::WriteStringToFile;
 using android::net::UidRange;
 
+namespace android {
+namespace net {
+
 namespace {
 
 // BEGIN CONSTANTS --------------------------------------------------------------------------------
@@ -1164,3 +1167,6 @@
                                                      Permission permission) {
     return modifyVpnFallthroughRule(RTM_DELRULE, vpnNetId, physicalInterface, permission);
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/RouteController.h b/server/RouteController.h
index f1affe3..75b3ca3 100644
--- a/server/RouteController.h
+++ b/server/RouteController.h
@@ -22,6 +22,9 @@
 
 #include <sys/types.h>
 
+namespace android {
+namespace net {
+
 class UidRanges;
 
 class RouteController {
@@ -89,4 +92,7 @@
                                                Permission permission) WARN_UNUSED_RESULT;
 };
 
+}  // namespace net
+}  // namespace android
+
 #endif  // NETD_SERVER_ROUTE_CONTROLLER_H
diff --git a/server/SockDiag.cpp b/server/SockDiag.cpp
index c6a0a92..423ad3b 100644
--- a/server/SockDiag.cpp
+++ b/server/SockDiag.cpp
@@ -45,6 +45,9 @@
 
 #define INET_DIAG_BC_MARK_COND 10
 
+namespace android {
+namespace net {
+
 namespace {
 
 int checkError(int fd) {
@@ -497,3 +500,6 @@
 
     return 0;
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/SockDiag.h b/server/SockDiag.h
index d53a774..5e545eb 100644
--- a/server/SockDiag.h
+++ b/server/SockDiag.h
@@ -33,6 +33,9 @@
 struct inet_diag_msg;
 class SockDiagTest;
 
+namespace android {
+namespace net {
+
 class SockDiag {
 
   public:
@@ -80,4 +83,7 @@
     static bool isLoopbackSocket(const inet_diag_msg *msg);
 };
 
+}  // namespace net
+}  // namespace android
+
 #endif  // _SOCK_DIAG_H
diff --git a/server/SockDiagTest.cpp b/server/SockDiagTest.cpp
index 70a199d..d839a5d 100644
--- a/server/SockDiagTest.cpp
+++ b/server/SockDiagTest.cpp
@@ -30,6 +30,9 @@
 #include "SockDiag.h"
 #include "UidRanges.h"
 
+namespace android {
+namespace net {
+
 class SockDiagTest : public ::testing::Test {
 protected:
     static bool isLoopbackSocket(const inet_diag_msg *msg) {
@@ -534,3 +537,6 @@
                         testing::Values(ADDRESS, UID, UIDRANGE,
                                         UID_EXCLUDE_LOOPBACK, UIDRANGE_EXCLUDE_LOOPBACK,
                                         PERMISSION));
+
+}  // namespace net
+}  // namespace android
diff --git a/server/UidRanges.cpp b/server/UidRanges.cpp
index e7c7f69..cd1ae78 100644
--- a/server/UidRanges.cpp
+++ b/server/UidRanges.cpp
@@ -26,7 +26,9 @@
 #include <log/log.h>
 
 using android::base::StringAppendF;
-using android::net::UidRange;
+
+namespace android {
+namespace net {
 
 bool UidRanges::hasUid(uid_t uid) const {
     if (uid > (unsigned) INT32_MAX) {
@@ -115,3 +117,6 @@
     StringAppendF(&s, "}");
     return s;
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/UidRanges.h b/server/UidRanges.h
index 1f1133e..206998f 100644
--- a/server/UidRanges.h
+++ b/server/UidRanges.h
@@ -23,6 +23,9 @@
 #include <utility>
 #include <vector>
 
+namespace android {
+namespace net {
+
 class UidRanges {
 public:
     UidRanges() {}
@@ -41,4 +44,7 @@
     std::vector<android::net::UidRange> mRanges;
 };
 
+}  // namespace net
+}  // namespace android
+
 #endif  // NETD_SERVER_UID_RANGES_H
diff --git a/server/VirtualNetwork.cpp b/server/VirtualNetwork.cpp
index 6daa50d..49418eb 100644
--- a/server/VirtualNetwork.cpp
+++ b/server/VirtualNetwork.cpp
@@ -23,6 +23,9 @@
 #define LOG_TAG "Netd"
 #include "log/log.h"
 
+namespace android {
+namespace net {
+
 VirtualNetwork::VirtualNetwork(unsigned netId, bool hasDns, bool secure) :
         Network(netId), mHasDns(hasDns), mSecure(secure) {
 }
@@ -121,3 +124,6 @@
     mInterfaces.erase(interface);
     return 0;
 }
+
+}  // namespace net
+}  // namespace android
diff --git a/server/VirtualNetwork.h b/server/VirtualNetwork.h
index 1a6a136..e48060b 100644
--- a/server/VirtualNetwork.h
+++ b/server/VirtualNetwork.h
@@ -22,6 +22,9 @@
 #include "Network.h"
 #include "UidRanges.h"
 
+namespace android {
+namespace net {
+
 // A VirtualNetwork may be "secure" or not.
 //
 // A secure VPN is the usual type of VPN that grabs the default route (and thus all user traffic).
@@ -55,4 +58,7 @@
     UidRanges mUidRanges;
 };
 
+}  // namespace net
+}  // namespace android
+
 #endif  // NETD_SERVER_VIRTUAL_NETWORK_H
diff --git a/server/main.cpp b/server/main.cpp
index 79f667c..4cc5838 100644
--- a/server/main.cpp
+++ b/server/main.cpp
@@ -50,7 +50,11 @@
 using android::IPCThreadState;
 using android::ProcessState;
 using android::defaultServiceManager;
+using android::net::CommandListener;
+using android::net::DnsProxyListener;
+using android::net::FwmarkServer;
 using android::net::NetdNativeService;
+using android::net::NetlinkManager;
 
 static void blockSigpipe();
 static void remove_pid_file();
diff --git a/tests/dns_responder/dns_responder_client.h b/tests/dns_responder/dns_responder_client.h
index d8f3710..ed7d38d 100644
--- a/tests/dns_responder/dns_responder_client.h
+++ b/tests/dns_responder/dns_responder_client.h
@@ -1,8 +1,6 @@
 #ifndef DNS_RESPONDER_CLIENT_H
 #define DNS_RESPONDER_CLIENT_H
 
-#include "SockDiag.h"
-
 #include <cutils/sockets.h>
 
 #include <private/android_filesystem_config.h>