Browse Source

net: manually resolve dns seed sources

Note: Some seeds aren't actually returning an IP for their name entries, so
they're being added to addrman with a source of [::].

This commit shouldn't change that behavior, for better or worse.
0.13
Cory Fields 8 years ago
parent
commit
a98cd1fc86
  1. 10
      src/net.cpp

10
src/net.cpp

@ -1454,7 +1454,15 @@ void ThreadDNSAddressSeed() @@ -1454,7 +1454,15 @@ void ThreadDNSAddressSeed()
found++;
}
}
addrman.Add(vAdd, CNetAddr(seed.name, true));
// TODO: The seed name resolve may fail, yielding an IP of [::], which results in
// addrman assigning the same source to results from different seeds.
// This should switch to a hard-coded stable dummy IP for each seed name, so that the
// resolve is not required at all.
if (!vIPs.empty()) {
CService seedSource;
Lookup(seed.name.c_str(), seedSource, 0, true);
addrman.Add(vAdd, seedSource);
}
}
}

Loading…
Cancel
Save