Enable querying AAAA records for DNS Introducer. (#8008)

* Initial commit DNS ipv6.

* Fix pyblack.

* nit.
This commit is contained in:
Florin Chirica 2021-08-16 21:35:37 +03:00 committed by GitHub
parent e4a802da04
commit 639d5ee1f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -208,20 +208,20 @@ class FullNodeDiscovery:
if self.resolver is None:
self.log.warn("Skipping DNS query: asyncresolver not initialized.")
return
peers: List[TimestampedPeerInfo] = []
result = await self.resolver.resolve(qname=dns_address, lifetime=30)
for ip in result:
peers.append(
TimestampedPeerInfo(
ip.to_text(),
self.default_port,
0,
for rdtype in ["A", "AAAA"]:
peers: List[TimestampedPeerInfo] = []
result = await self.resolver.resolve(qname=dns_address, rdtype=rdtype, lifetime=30)
for ip in result:
peers.append(
TimestampedPeerInfo(
ip.to_text(),
self.default_port,
0,
)
)
)
self.log.info(f"Received {len(peers)} peers from DNS seeder.")
if len(peers) == 0:
return
await self._respond_peers_common(full_node_protocol.RespondPeers(peers), None, False)
self.log.info(f"Received {len(peers)} peers from DNS seeder, using rdtype = {rdtype}.")
if len(peers) > 0:
await self._respond_peers_common(full_node_protocol.RespondPeers(peers), None, False)
except Exception as e:
self.log.warn(f"querying DNS introducer failed: {e}")