|
|
|
@ -1415,6 +1415,18 @@ void MapPort(bool)
@@ -1415,6 +1415,18 @@ void MapPort(bool)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static std::string GetDNSHost(const CDNSSeedData& data, ServiceFlags* requiredServiceBits) |
|
|
|
|
{ |
|
|
|
|
//use default host for non-filter-capable seeds or if we use the default service bits (NODE_NETWORK)
|
|
|
|
|
if (!data.supportsServiceBitsFiltering || *requiredServiceBits == NODE_NETWORK) { |
|
|
|
|
*requiredServiceBits = NODE_NETWORK; |
|
|
|
|
return data.host; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return strprintf("x%x.%s", *requiredServiceBits, data.host); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ThreadDNSAddressSeed() |
|
|
|
|
{ |
|
|
|
|
// goal: only query DNS seeds if address need is acute
|
|
|
|
@ -1441,7 +1453,7 @@ void ThreadDNSAddressSeed()
@@ -1441,7 +1453,7 @@ void ThreadDNSAddressSeed()
|
|
|
|
|
std::vector<CNetAddr> vIPs; |
|
|
|
|
std::vector<CAddress> vAdd; |
|
|
|
|
ServiceFlags requiredServiceBits = nRelevantServices; |
|
|
|
|
if (LookupHost(seed.getHost(requiredServiceBits).c_str(), vIPs, 0, true)) |
|
|
|
|
if (LookupHost(GetDNSHost(seed, &requiredServiceBits).c_str(), vIPs, 0, true)) |
|
|
|
|
{ |
|
|
|
|
BOOST_FOREACH(const CNetAddr& ip, vIPs) |
|
|
|
|
{ |
|
|
|
|