Blame outbound channel on UPDATE onion failure with 0-len update
authorValentine Wallace <vwallace@protonmail.com>
Fri, 15 Sep 2023 20:55:12 +0000 (16:55 -0400)
committerValentine Wallace <vwallace@protonmail.com>
Fri, 22 Sep 2023 19:56:28 +0000 (15:56 -0400)
commit6299f7d14f4a6b47e133c6abaa3a05ed50177b0f
tree776da19b80724522c182210e682bb34733cfea17
parent9df61dc0b8d74f9323d0a25bf7b7ca2f9ab48f1c
Blame outbound channel on UPDATE onion failure with 0-len update

We've run into this several times in the wild, likely due to
https://github.com/ElementsProject/lightning/issues/6200 wherein a node on the
path will error with 0x1000 but not provide a channel update (a spec
violation).

Previously, we would blame the inbound edge even though the buggy peer wanted
us to blame the outbound edge. Since this issue seems to be recurring and our
blaming the inbound edge is causing us to punish innocent channels, trust the
peer that the outbound edge is the one to blame.
lightning/src/ln/onion_route_tests.rs
lightning/src/ln/onion_utils.rs