diff options
author | Mike Yu <yumike@google.com> | 2020-11-24 20:05:18 +0800 |
---|---|---|
committer | Mike Yu <yumike@google.com> | 2020-11-27 21:12:07 +0800 |
commit | 4499ee36eea0bdc498ff669ae2ecd706d5702ce2 (patch) | |
tree | 75ed587d70fe856f88237c9a03b2795634f4ca07 /PrivateDnsConfiguration.cpp | |
parent | f7717f5a4f5200b0c413bbecb6fbf69df9bccdfc (diff) | |
download | DnsResolver-4499ee36eea0bdc498ff669ae2ecd706d5702ce2.tar.gz |
Extend DnsTlsServer to return IP string
No functionality change.
Bug: 79727473
Test: cd packages/modules/DnsResolver && atest
Change-Id: I7adca3f240197fe59f683abefaa0005af0fbc141
Diffstat (limited to 'PrivateDnsConfiguration.cpp')
-rw-r--r-- | PrivateDnsConfiguration.cpp | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/PrivateDnsConfiguration.cpp b/PrivateDnsConfiguration.cpp index 43596bba..47969b3d 100644 --- a/PrivateDnsConfiguration.cpp +++ b/PrivateDnsConfiguration.cpp @@ -20,7 +20,6 @@ #include <android-base/logging.h> #include <android-base/stringprintf.h> -#include <netdb.h> #include <netdutils/ThreadUtil.h> #include <sys/socket.h> @@ -37,13 +36,6 @@ using std::chrono::milliseconds; namespace android { namespace net { -std::string addrToString(const sockaddr_storage* addr) { - char out[INET6_ADDRSTRLEN] = {0}; - getnameinfo((const sockaddr*) addr, sizeof(sockaddr_storage), out, INET6_ADDRSTRLEN, nullptr, 0, - NI_NUMERICHOST); - return std::string(out); -} - bool parseServer(const char* server, sockaddr_storage* parsed) { addrinfo hints = { .ai_flags = AI_NUMERICHOST | AI_NUMERICSERV, @@ -178,7 +170,7 @@ void PrivateDnsConfiguration::startValidation(const DnsTlsServer& server, unsign LOG(WARNING) << "Validating DnsTlsServer on netId " << netId; const bool success = DnsTlsTransport::validate(server, netId, mark); LOG(DEBUG) << "validateDnsTlsServer returned " << success << " for " - << addrToString(&server.ss); + << server.toIpString(); const bool needs_reeval = this->recordPrivateDnsValidation(server, netId, success); if (!needs_reeval) { @@ -225,20 +217,19 @@ bool PrivateDnsConfiguration::recordPrivateDnsValidation(const DnsTlsServer& ser auto& tracker = netPair->second; auto serverPair = tracker.find(identity); if (serverPair == tracker.end()) { - LOG(WARNING) << "Server " << addrToString(&server.ss) + LOG(WARNING) << "Server " << server.toIpString() << " was removed during private DNS validation"; success = false; reevaluationStatus = DONT_REEVALUATE; } else if (!(serverPair->second == server)) { // TODO: It doesn't seem correct to overwrite the tracker entry for // |server| down below in this circumstance... Fix this. - LOG(WARNING) << "Server " << addrToString(&server.ss) + LOG(WARNING) << "Server " << server.toIpString() << " was changed during private DNS validation"; success = false; reevaluationStatus = DONT_REEVALUATE; } else if (!serverPair->second.active()) { - LOG(WARNING) << "Server " << addrToString(&server.ss) - << " was removed from the configuration"; + LOG(WARNING) << "Server " << server.toIpString() << " was removed from the configuration"; success = false; reevaluationStatus = DONT_REEVALUATE; } @@ -247,11 +238,11 @@ bool PrivateDnsConfiguration::recordPrivateDnsValidation(const DnsTlsServer& ser const auto& listeners = ResolverEventReporter::getInstance().getListeners(); if (listeners.size() != 0) { for (const auto& it : listeners) { - it->onPrivateDnsValidationEvent(netId, addrToString(&server.ss), server.name, success); + it->onPrivateDnsValidationEvent(netId, server.toIpString(), server.name, success); } LOG(DEBUG) << "Sent validation " << (success ? "success" : "failure") << " event on netId " - << netId << " for " << addrToString(&server.ss) << " with hostname {" - << server.name << "}"; + << netId << " for " << server.toIpString() << " with hostname {" << server.name + << "}"; } else { LOG(ERROR) << "Validation event not sent since no INetdEventListener receiver is available."; |