diff options
| author | Pieter Wuille <[email protected]> | 2016-06-15 19:31:28 +0200 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2016-06-15 19:31:58 +0200 |
| commit | bc0a895d810107132651c8178e95a981b9f3ff74 (patch) | |
| tree | 3dc73383a4d0f3fefa2fdfdd85b0f2135a0343a4 /src/net.cpp | |
| parent | Merge #7636: Add bitcoin address label to request payment QR code (diff) | |
| download | discoin-bc0a895d810107132651c8178e95a981b9f3ff74.tar.xz discoin-bc0a895d810107132651c8178e95a981b9f3ff74.zip | |
Do not set extra flags for unfiltered DNS seed results
Diffstat (limited to 'src/net.cpp')
| -rw-r--r-- | src/net.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/net.cpp b/src/net.cpp index a390eca77..5e791291c 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -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() 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) { |