summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Chen <cken@google.com>2023-01-17 23:02:14 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-01-17 23:02:14 +0000
commit7c5b973df2b91cec79f15928207c0cd10d9fba15 (patch)
treee25e99fb7a8e972add3355dcef95f3def21bd932
parent8442a0b0e37a5f33dc33b4c6860179ed38622e80 (diff)
parentfd22f385a7817bc55a1bac4e022e7c00716095bf (diff)
downloadnetd-7c5b973df2b91cec79f15928207c0cd10d9fba15.tar.gz
Allow DNS lookup in no default network case am: fd22f385a7
Original change: https://android-review.googlesource.com/c/platform/system/netd/+/2389516 Change-Id: Ib86a7e156ad824fb53a90c758d3e65cafc4ce4a2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--server/NetworkController.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/server/NetworkController.cpp b/server/NetworkController.cpp
index 082eaf84..3e38d48e 100644
--- a/server/NetworkController.cpp
+++ b/server/NetworkController.cpp
@@ -825,7 +825,10 @@ int NetworkController::setNetworkAllowlist(
bool NetworkController::isUidAllowed(unsigned netId, uid_t uid) const {
const ScopedRLock lock(mRWLock);
Network* network = getNetworkLocked(netId);
- if (network && network->isUidAllowed(uid)) {
+ // Exempt when no netId is specified and there is no default network, so that apps or tests can
+ // do DNS lookups for hostnames in etc/hosts.
+ if ((network && network->isUidAllowed(uid)) ||
+ (netId == NETID_UNSET && mDefaultNetId == NETID_UNSET)) {
return true;
}
return false;