aboutsummaryrefslogtreecommitdiff
path: root/PrivateDnsConfiguration.cpp
diff options
context:
space:
mode:
authorMike Yu <yumike@google.com>2021-07-06 21:01:17 +0800
committerMike Yu <yumike@google.com>2021-08-02 17:39:57 +0800
commit5e406a34f7d870a0f8afaa3fdc17e2ca5ccfd894 (patch)
treeb75810222afbf84c5fc15aa75656a2cf70a29b18 /PrivateDnsConfiguration.cpp
parentf54cf26090579f0ccf841bf27178a8a591e07bfc (diff)
downloadDnsResolver-5e406a34f7d870a0f8afaa3fdc17e2ca5ccfd894.tar.gz
Add some DoH tests in resolv_integration_test
The tests include: [1] 1 test in TransportParameterizedTest [2] 3 tests in PrivateDnsDohTest Bug: 155855709 Bug: 181642979 Test: cd packages/modules/DnsResolver && atest Change-Id: I8b5a85ad5556e7ff093656234069a81f29417c6a
Diffstat (limited to 'PrivateDnsConfiguration.cpp')
-rw-r--r--PrivateDnsConfiguration.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/PrivateDnsConfiguration.cpp b/PrivateDnsConfiguration.cpp
index a8a2de57..8960460c 100644
--- a/PrivateDnsConfiguration.cpp
+++ b/PrivateDnsConfiguration.cpp
@@ -23,6 +23,7 @@
#include <android-base/format.h>
#include <android-base/logging.h>
#include <android-base/stringprintf.h>
+#include <android/binder_ibinder.h>
#include <netdutils/Slice.h>
#include <netdutils/ThreadUtil.h>
#include <sys/socket.h>
@@ -444,6 +445,9 @@ int PrivateDnsConfiguration::setDoh(int32_t netId, uint32_t mark,
const auto& doh = entry.getDohIdentity(sortedServers, name);
if (!doh.ok()) continue;
+ // The internal tests are supposed to have root permission.
+ if (entry.forTesting && AIBinder_getCallingUid() != AID_ROOT) continue;
+
auto it = mDohTracker.find(netId);
// Skip if the same server already exists and its status == success.
if (it != mDohTracker.end() && it->second == doh.value() &&