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

channeld: handle reestablish from previous release with EXPERIMENTAL_FEATURES #4830

Merged

Conversation

rustyrussell
Copy link
Contributor

@rustyrussell rustyrussell commented Sep 30, 2021

We switched channel_types from optional to compulsory bits in
cb22015.

The result is infinite reconnects against older nodes.

We needed to upgrade the spec anyway, so I did that, and handle backwards compat.

@rustyrussell rustyrussell added this to the v0.10.2 milestone Sep 30, 2021
@rustyrussell
Copy link
Contributor Author

rustyrussell commented Sep 30, 2021

This does not work, BTW, since the other peer gets upset! I will alter the spec to change the numbers not to clash...

Done. Spec updated.

@cdecker cdecker marked this pull request as draft October 6, 2021 12:11
@cdecker cdecker removed this from the v0.10.2 milestone Oct 6, 2021
@cdecker
Copy link
Member

cdecker commented Oct 6, 2021

Drafted and removed from milestone since it cannot be merged as is, due to failure scenarios that weren't considered.

@rustyrussell rustyrussell added this to the v0.10.2 milestone Oct 7, 2021
@rustyrussell rustyrussell marked this pull request as ready for review October 7, 2021 04:07
Importantly, this version no longer assumes features 34/35 are unused.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
The latest draft has a feature bit here.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
It now uses raw bitfields instead of a subtype, and only allows a single
option for any upgrade.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…FEATURES.

We switched channel_types from optional to compulsory bits in
cb22015.

The result is infinite reconnects against older nodes; we reject what
they send, and they reject what we send.

The simplest fix is to neither send nor receive the (optional!) tlvs
unless we both advertize option_quiesce, which we now do.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-EXPERIMENTAL: channel_upgrade draft upgraded: cannot upgrade channels until peers also upgrade.
@cdecker
Copy link
Member

cdecker commented Oct 8, 2021

ACK 1c03b19

@cdecker cdecker merged commit 1534216 into ElementsProject:master Oct 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants