Skip to content
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

Websockets draft address in node_announcement rejected? #6432

Closed
rustyrussell opened this issue Apr 19, 2022 · 2 comments · Fixed by #6435
Closed

Websockets draft address in node_announcement rejected? #6432

rustyrussell opened this issue Apr 19, 2022 · 2 comments · Fixed by #6435
Assignees
Labels
gossip interop interop with other implementations spec
Milestone

Comments

@rustyrussell
Copy link

Background

The following node_announcement doesn't seem to be accepted by LND:

01012674c2e7ef68c73a086b7de2603f4ef1567358df84bb4edaa06cf2132965b14e2434faab04170f0089216accbd79188fa3d40dbb0438bd89782cae27cc656bf60007800088082a69a2625e7a2a024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605024b9a424c554549524f4e2d76302e31312e307263332d362d67663963613934650000001d0180c7caa826070224006180000000d0000000005cd2a001260706204c

This is with the draft websocket address type (6) (experimental reckless core-lightning mode enabled!):

In particular, the addrlen here is 001d (29), and the addr is 0180c7caa826070224006180000000d0000000005cd2a001260706204c which breaks down to:

  • 01: IPv4. 80c7caa8 = ip address. 2607 = port.
  • 02: IPv6. 24006180000000d0000000005cd2a001 = ipv6 address. 2607 = port
  • 06: Websocket. 204c = port

I think we'll remove the code which advertizes this for the coming Core Lightning release, since it prevents broad propagation (see ElementsProject/lightning#5196 ).

@Roasbeef Roasbeef added spec gossip interop interop with other implementations labels Apr 19, 2022
rustyrussell added a commit to rustyrussell/lightning that referenced this issue Apr 19, 2022
This seems to prevent broad propagation, due to LND not allowing it.  See
	lightningnetwork/lnd#6432

We still announce it if you disable deprecated-apis, so tests still work,
and hopefully we can enable it in future.

Fixes: ElementsProject#5196
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@Roasbeef
Copy link
Member

Roasbeef commented Apr 19, 2022

So looks like we reject unknown address types: https://github.com/lightningnetwork/lnd/blob/master/lnwire/lnwire.go#L805-L808

We should just be ignoring it though:

SHOULD ignore the first address descriptor that does NOT match the types defined above.

rustyrussell added a commit to rustyrussell/lightning that referenced this issue Apr 19, 2022
This seems to prevent broad propagation, due to LND not allowing it.  See
	lightningnetwork/lnd#6432

We still announce it if you disable deprecated-apis, so tests still work,
and hopefully we can enable it in future.

Fixes: ElementsProject#5196
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-EXPERIMENTAL: Protocol: disabled websocket announcement due to LND propagation issues
@Roasbeef Roasbeef added this to the v0.15.0 milestone Apr 19, 2022
rustyrussell added a commit to rustyrussell/lightning that referenced this issue Apr 20, 2022
This seems to prevent broad propagation, due to LND not allowing it.  See
	lightningnetwork/lnd#6432

We still announce it if you disable deprecated-apis, so tests still work,
and hopefully we can enable it in future.

Fixes: ElementsProject#5196
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-EXPERIMENTAL: Protocol: disabled websocket announcement due to LND propagation issues
rustyrussell added a commit to rustyrussell/lightning that referenced this issue Apr 20, 2022
This seems to prevent broad propagation, due to LND not allowing it.  See
	lightningnetwork/lnd#6432

We still announce it if you disable deprecated-apis, so tests still work,
and hopefully we can enable it in future.

Fixes: ElementsProject#5196
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-EXPERIMENTAL: Protocol: disabled websocket announcement due to LND propagation issues
@Roasbeef
Copy link
Member

Ok we have a fix here #6435, it'll land in 0.15 which will drop in ~May-ish.

rustyrussell added a commit to ElementsProject/lightning that referenced this issue Apr 20, 2022
This seems to prevent broad propagation, due to LND not allowing it.  See
	lightningnetwork/lnd#6432

We still announce it if you disable deprecated-apis, so tests still work,
and hopefully we can enable it in future.

Fixes: #5196
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-EXPERIMENTAL: Protocol: disabled websocket announcement due to LND propagation issues
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gossip interop interop with other implementations spec
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants