Loading DnsTlsDispatcher.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ DnsTlsTransport::Response DnsTlsDispatcher::query(const std::list<DnsTlsServer>& ResState* statp, const Slice query, const Slice ans, int* resplen) { const std::list<DnsTlsServer> servers( getOrderedAndUsableServerList(tlsServers, statp->netid, statp->_mark)); getOrderedAndUsableServerList(tlsServers, statp->netid, statp->mark)); if (servers.empty()) LOG(WARNING) << "No usable DnsTlsServers"; Loading @@ -121,7 +121,7 @@ DnsTlsTransport::Response DnsTlsDispatcher::query(const std::list<DnsTlsServer>& bool connectTriggered = false; Stopwatch queryStopwatch; code = this->query(server, statp->netid, statp->_mark, query, ans, resplen, code = this->query(server, statp->netid, statp->mark, query, ans, resplen, &connectTriggered); dnsQueryEvent->set_latency_micros(saturate_cast<int32_t>(queryStopwatch.timeTakenUs())); Loading res_send.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -739,7 +739,7 @@ same_ns: if (getpeername(statp->tcp_nssock, (struct sockaddr*)(void*)&peer, &size) < 0 || !sock_eq((struct sockaddr*)(void*)&peer, nsap) || getsockopt(statp->tcp_nssock, SOL_SOCKET, SO_MARK, &old_mark, &mark_size) < 0 || old_mark != statp->_mark) { old_mark != statp->mark) { statp->closeSockets(); } } Loading @@ -762,9 +762,9 @@ same_ns: } const uid_t uid = statp->enforce_dns_uid ? AID_DNS : statp->uid; resolv_tag_socket(statp->tcp_nssock, uid, statp->pid); if (statp->_mark != MARK_UNSET) { if (setsockopt(statp->tcp_nssock, SOL_SOCKET, SO_MARK, &statp->_mark, sizeof(statp->_mark)) < 0) { if (statp->mark != MARK_UNSET) { if (setsockopt(statp->tcp_nssock, SOL_SOCKET, SO_MARK, &statp->mark, sizeof(statp->mark)) < 0) { *terrno = errno; PLOG(DEBUG) << __func__ << ": setsockopt: "; return -1; Loading Loading @@ -1065,8 +1065,8 @@ static int setupUdpSocket(ResState* statp, const sockaddr* sockap, unique_fd* fd } const uid_t uid = statp->enforce_dns_uid ? AID_DNS : statp->uid; resolv_tag_socket(*fd_out, uid, statp->pid); if (statp->_mark != MARK_UNSET) { if (setsockopt(*fd_out, SOL_SOCKET, SO_MARK, &(statp->_mark), sizeof(statp->_mark)) < 0) { if (statp->mark != MARK_UNSET) { if (setsockopt(*fd_out, SOL_SOCKET, SO_MARK, &(statp->mark), sizeof(statp->mark)) < 0) { *terrno = errno; return -1; } Loading resolv_private.h +3 −3 Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ struct ResState { : netid(netcontext->dns_netid), uid(netcontext->uid), pid(netcontext->pid), _mark(netcontext->dns_mark), mark(netcontext->dns_mark), event(dnsEvent), netcontext_flags(netcontext->flags) {} Loading @@ -107,7 +107,7 @@ struct ResState { copy.search_domains = search_domains; copy.nsaddrs = nsaddrs; copy.ndots = ndots; copy._mark = _mark; copy.mark = mark; copy.flags = flags; copy.event = (dnsEvent == nullptr) ? event : dnsEvent; copy.netcontext_flags = netcontext_flags; Loading Loading @@ -135,7 +135,7 @@ struct ResState { std::vector<android::netdutils::IPSockAddr> nsaddrs; android::base::unique_fd udpsocks[MAXNS]; // UDP sockets to nameservers unsigned ndots : 4 = 1; // threshold for initial abs. query unsigned _mark; // If non-0 SET_MARK to _mark on all request sockets unsigned mark; // Socket mark to be used by all DNS query sockets android::base::unique_fd tcp_nssock; // TCP socket (but why not one per nameserver?) uint32_t flags = 0; // See RES_F_* defines below android::net::NetworkDnsEventReported* event; Loading Loading
DnsTlsDispatcher.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ DnsTlsTransport::Response DnsTlsDispatcher::query(const std::list<DnsTlsServer>& ResState* statp, const Slice query, const Slice ans, int* resplen) { const std::list<DnsTlsServer> servers( getOrderedAndUsableServerList(tlsServers, statp->netid, statp->_mark)); getOrderedAndUsableServerList(tlsServers, statp->netid, statp->mark)); if (servers.empty()) LOG(WARNING) << "No usable DnsTlsServers"; Loading @@ -121,7 +121,7 @@ DnsTlsTransport::Response DnsTlsDispatcher::query(const std::list<DnsTlsServer>& bool connectTriggered = false; Stopwatch queryStopwatch; code = this->query(server, statp->netid, statp->_mark, query, ans, resplen, code = this->query(server, statp->netid, statp->mark, query, ans, resplen, &connectTriggered); dnsQueryEvent->set_latency_micros(saturate_cast<int32_t>(queryStopwatch.timeTakenUs())); Loading
res_send.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -739,7 +739,7 @@ same_ns: if (getpeername(statp->tcp_nssock, (struct sockaddr*)(void*)&peer, &size) < 0 || !sock_eq((struct sockaddr*)(void*)&peer, nsap) || getsockopt(statp->tcp_nssock, SOL_SOCKET, SO_MARK, &old_mark, &mark_size) < 0 || old_mark != statp->_mark) { old_mark != statp->mark) { statp->closeSockets(); } } Loading @@ -762,9 +762,9 @@ same_ns: } const uid_t uid = statp->enforce_dns_uid ? AID_DNS : statp->uid; resolv_tag_socket(statp->tcp_nssock, uid, statp->pid); if (statp->_mark != MARK_UNSET) { if (setsockopt(statp->tcp_nssock, SOL_SOCKET, SO_MARK, &statp->_mark, sizeof(statp->_mark)) < 0) { if (statp->mark != MARK_UNSET) { if (setsockopt(statp->tcp_nssock, SOL_SOCKET, SO_MARK, &statp->mark, sizeof(statp->mark)) < 0) { *terrno = errno; PLOG(DEBUG) << __func__ << ": setsockopt: "; return -1; Loading Loading @@ -1065,8 +1065,8 @@ static int setupUdpSocket(ResState* statp, const sockaddr* sockap, unique_fd* fd } const uid_t uid = statp->enforce_dns_uid ? AID_DNS : statp->uid; resolv_tag_socket(*fd_out, uid, statp->pid); if (statp->_mark != MARK_UNSET) { if (setsockopt(*fd_out, SOL_SOCKET, SO_MARK, &(statp->_mark), sizeof(statp->_mark)) < 0) { if (statp->mark != MARK_UNSET) { if (setsockopt(*fd_out, SOL_SOCKET, SO_MARK, &(statp->mark), sizeof(statp->mark)) < 0) { *terrno = errno; return -1; } Loading
resolv_private.h +3 −3 Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ struct ResState { : netid(netcontext->dns_netid), uid(netcontext->uid), pid(netcontext->pid), _mark(netcontext->dns_mark), mark(netcontext->dns_mark), event(dnsEvent), netcontext_flags(netcontext->flags) {} Loading @@ -107,7 +107,7 @@ struct ResState { copy.search_domains = search_domains; copy.nsaddrs = nsaddrs; copy.ndots = ndots; copy._mark = _mark; copy.mark = mark; copy.flags = flags; copy.event = (dnsEvent == nullptr) ? event : dnsEvent; copy.netcontext_flags = netcontext_flags; Loading Loading @@ -135,7 +135,7 @@ struct ResState { std::vector<android::netdutils::IPSockAddr> nsaddrs; android::base::unique_fd udpsocks[MAXNS]; // UDP sockets to nameservers unsigned ndots : 4 = 1; // threshold for initial abs. query unsigned _mark; // If non-0 SET_MARK to _mark on all request sockets unsigned mark; // Socket mark to be used by all DNS query sockets android::base::unique_fd tcp_nssock; // TCP socket (but why not one per nameserver?) uint32_t flags = 0; // See RES_F_* defines below android::net::NetworkDnsEventReported* event; Loading