diff options
author | Mattes D <github@xoft.cz> | 2015-02-20 14:28:05 +0100 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2015-02-20 14:28:05 +0100 |
commit | 9c5162041e6e0699283862b87e2e424bf8e3b8b8 (patch) | |
tree | 3beed26a11a3fb35b79b444f2380f6b93dc2f3a7 /src/OSSupport/HostnameLookup.cpp | |
parent | NetworkSingleton: LibEvent thread is joined properly on server exit. (diff) | |
download | cuberite-9c5162041e6e0699283862b87e2e424bf8e3b8b8.tar cuberite-9c5162041e6e0699283862b87e2e424bf8e3b8b8.tar.gz cuberite-9c5162041e6e0699283862b87e2e424bf8e3b8b8.tar.bz2 cuberite-9c5162041e6e0699283862b87e2e424bf8e3b8b8.tar.lz cuberite-9c5162041e6e0699283862b87e2e424bf8e3b8b8.tar.xz cuberite-9c5162041e6e0699283862b87e2e424bf8e3b8b8.tar.zst cuberite-9c5162041e6e0699283862b87e2e424bf8e3b8b8.zip |
Diffstat (limited to 'src/OSSupport/HostnameLookup.cpp')
-rw-r--r-- | src/OSSupport/HostnameLookup.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/OSSupport/HostnameLookup.cpp b/src/OSSupport/HostnameLookup.cpp index 3a2997ffd..0944153be 100644 --- a/src/OSSupport/HostnameLookup.cpp +++ b/src/OSSupport/HostnameLookup.cpp @@ -69,12 +69,24 @@ void cHostnameLookup::Callback(int a_ErrCode, evutil_addrinfo * a_Addr, void * a case AF_INET: // IPv4 { sockaddr_in * sin = reinterpret_cast<sockaddr_in *>(a_Addr->ai_addr); + if (!Self->m_Callbacks->OnNameResolvedV4(Self->m_Hostname, sin)) + { + // Callback indicated that the IP shouldn't be serialized to a string, just continue with the next address: + HasResolved = true; + continue; + } evutil_inet_ntop(AF_INET, &(sin->sin_addr), IP, sizeof(IP)); break; } case AF_INET6: // IPv6 { sockaddr_in6 * sin = reinterpret_cast<sockaddr_in6 *>(a_Addr->ai_addr); + if (!Self->m_Callbacks->OnNameResolvedV6(Self->m_Hostname, sin)) + { + // Callback indicated that the IP shouldn't be serialized to a string, just continue with the next address: + HasResolved = true; + continue; + } evutil_inet_ntop(AF_INET6, &(sin->sin6_addr), IP, sizeof(IP)); break; } |