-
Notifications
You must be signed in to change notification settings - Fork 265
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support DNS hostnames in node announcements #2234
Conversation
Simple interop testing with CLN v0.10.2-252-gc0e3155 configured with: Overview of setup:Alice [Eclair] @ dnstest1.co.fr <---> Bob [CLN] @ dnstest2.co.fr <---> Carol [Eclair] @ dnstest3.co.fr Added to local
Created a script dns_gossip.sh to test that DNS hostnames are gossiped between Eclair and CLN. dns_gossip.shLaunch bicoind with Example result:
To re-run |
// this actor listens to connection requests and creates connections | ||
system.actorOf(ClientSpawner.props(nodeParams.keyPair, nodeParams.socksProxy_opt, nodeParams.peerConnectionConf, TestProbe().ref, TestProbe().ref)) | ||
|
||
val invalidDnsHostname_opt = NodeAddress.fromParts("eclair.invalid", 9735).toOption |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: the .invalid top level domain will never resolve.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The logic looks good to me, I only have small cosmetic/architectural comments, good job!
This does need a rebase though.
eclair-core/src/main/scala/fr/acinq/eclair/router/Announcements.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/router/Announcements.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/tor/Socks5Connection.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/router/Validation.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/wire/protocol/LightningMessageTypes.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/test/scala/fr/acinq/eclair/db/NetworkDbSpec.scala
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, a couple of nits and a question for @pm47 about the sun.net
dependency.
This needs a rebase, which should be trivial.
eclair-core/src/main/scala/fr/acinq/eclair/wire/protocol/LightningMessageTypes.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/wire/protocol/CommonCodecs.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/wire/protocol/LightningMessageTypes.scala
Outdated
Show resolved
Hide resolved
Codecov Report
@@ Coverage Diff @@
## master #2234 +/- ##
==========================================
- Coverage 84.95% 84.89% -0.07%
==========================================
Files 198 198
Lines 15255 15277 +22
Branches 633 640 +7
==========================================
+ Hits 12960 12969 +9
- Misses 2295 2308 +13
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, good job 💯
Add support for DNS host names
Notable changes:
server.public-ips
addresses (see PR #911). Note: you can not specify more than one DNS host name.Client
attempts to connect to a peer.NodeAnnouncement
that contains more than one DNS host nameTo do:
interop testing with LND Issue# 6337interop testing with LDK PR# 1329See also PR #2202 - Use NodeAddress everywhere
and PR #2296 - drop Tor v2 support