Snap for 5736565 from f0970c2a9b2f0cd55321b43671ccd96db332e4f8 to qt-c2f2-release

Change-Id: I88f705af16a60e1e061b311b78bb1fe88b2a3a36
diff --git a/libnetdbpf/Android.bp b/libnetdbpf/Android.bp
index bd25535..b5fefac 100644
--- a/libnetdbpf/Android.bp
+++ b/libnetdbpf/Android.bp
@@ -35,6 +35,7 @@
 cc_test {
     name: "libnetdbpf_test",
     test_suites: ["device-tests"],
+    require_root: true,
     srcs: [
         "BpfNetworkStatsTest.cpp",
     ],
diff --git a/resolv/Android.bp b/resolv/Android.bp
index 06f7f85..30d5f5a 100644
--- a/resolv/Android.bp
+++ b/resolv/Android.bp
@@ -160,6 +160,7 @@
 cc_test {
     name: "resolv_integration_test",
     test_suites: ["device-tests"],
+    require_root: true,
     defaults: ["netd_defaults"],
     srcs: [
         "dns_responder/dns_responder.cpp",
diff --git a/resolv/dns_responder/dns_responder_client.cpp b/resolv/dns_responder/dns_responder_client.cpp
index 8c71e04..3a87c21 100644
--- a/resolv/dns_responder/dns_responder_client.cpp
+++ b/resolv/dns_responder/dns_responder_client.cpp
@@ -17,6 +17,7 @@
 #define LOG_TAG "dns_responder_client"
 #include "dns_responder_client.h"
 
+#include <android-base/logging.h>
 #include <android-base/stringprintf.h>
 #include <utils/Log.h>
 
@@ -152,6 +153,9 @@
     // binder setup
     auto binder = android::defaultServiceManager()->getService(android::String16("netd"));
     mNetdSrv = android::interface_cast<android::net::INetd>(binder);
+    if (mNetdSrv == nullptr) {
+        LOG(FATAL) << "Can't connect to service 'netd'. Missing root privileges? uid=" << getuid();
+    }
 
     auto resolvBinder =
             android::defaultServiceManager()->getService(android::String16("dnsresolver"));
diff --git a/resolv/dnsresolver_binder_test.cpp b/resolv/dnsresolver_binder_test.cpp
index 0a2de0e..c006941 100644
--- a/resolv/dnsresolver_binder_test.cpp
+++ b/resolv/dnsresolver_binder_test.cpp
@@ -67,6 +67,7 @@
         if (binder != nullptr) {
             mDnsResolver = android::interface_cast<IDnsResolver>(binder);
         }
+        // This could happen when the test isn't running as root, or if netd isn't running.
         assert(nullptr != mDnsResolver.get());
         // Create cache for test
         mDnsResolver->createNetworkCache(TEST_NETID);
diff --git a/server/Android.bp b/server/Android.bp
index 5129e44..c7f2984 100644
--- a/server/Android.bp
+++ b/server/Android.bp
@@ -209,6 +209,7 @@
     name: "netd_unit_test",
     defaults: ["netd_defaults"],
     test_suites: ["device-tests"],
+    require_root: true,
     include_dirs: [
         "system/netd/include",
         "system/netd/server/binder",
diff --git a/tests/Android.bp b/tests/Android.bp
index 3c35ceb..4237b25 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -50,6 +50,7 @@
 cc_test {
     name: "netd_integration_test",
     test_suites: ["device-tests"],
+    require_root: true,
     defaults: ["netd_defaults"],
     srcs: [
         ":netd_integration_test_shared",