diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2022-04-22 09:13:14 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-04-22 09:13:14 +0000 |
commit | 1b43c810c32451f5d6c4bdc43065e4fa1dc2a860 (patch) | |
tree | dc10d2732caafb0ca8628e7efa1603fda6ef02ab | |
parent | c585e605303aa48d46ffd2ec2ae0574142c0d99b (diff) | |
parent | 8600c688176a042275e7f9fbd0826950397ac059 (diff) | |
download | DnsResolver-1b43c810c32451f5d6c4bdc43065e4fa1dc2a860.tar.gz |
Merge "Exclude source port 5353 from DNS query" am: 8600c68817
Original change: https://android-review.googlesource.com/c/platform/packages/modules/DnsResolver/+/2059528
Change-Id: Ifa9d129e23a009f1173e5bceb7a349212db37846
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | res_send.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/res_send.cpp b/res_send.cpp index 0eed3295..f2a4a46c 100644 --- a/res_send.cpp +++ b/res_send.cpp @@ -253,7 +253,7 @@ static struct timespec evNowTime(void) { // END: Code copied from ISC eventlib /* BIONIC-BEGIN: implement source port randomization */ -static int random_bind(int s, int family, bool isMdns) { +static int random_bind(int s, int family) { sockaddr_union u; int j; socklen_t slen; @@ -281,7 +281,7 @@ static int random_bind(int s, int family, bool isMdns) { int port = 1025 + (arc4random_uniform(65535 - 1025)); // RFC 6762 section 5.1: Don't use 5353 source port on one-shot Multicast DNS queries. DNS // resolver does not fully compliant mDNS. - if (isMdns && port == 5353) continue; + if (port == 5353) continue; if (family == AF_INET) u.sin.sin_port = htons(port); @@ -779,7 +779,7 @@ same_ns: } } errno = 0; - if (random_bind(statp->tcp_nssock, nsap->sa_family, false /* isMdns */) < 0) { + if (random_bind(statp->tcp_nssock, nsap->sa_family) < 0) { *terrno = errno; dump_error("bind/vc", nsap); statp->closeSockets(); @@ -1082,9 +1082,7 @@ static int setupUdpSocket(ResState* statp, const sockaddr* sockap, unique_fd* fd } } - const auto addr = IPSockAddr::toIPSockAddr(*sockap); - const bool isMdns = (addr == mdns_addrs[0] || addr == mdns_addrs[1]); - if (random_bind(*fd_out, sockap->sa_family, isMdns) < 0) { + if (random_bind(*fd_out, sockap->sa_family) < 0) { *terrno = errno; dump_error("bind", sockap); return 0; |