htlcswitch: always assume an onion error for malformed htlc failures
Previously a temporary channel failure was returning for unexpected malformed htlc failures. This is not what we want to communicate to the sender, because the sender may apply a penalty to us only. Returning the temporary channel failure is especially problematic if we ourselves are the sender and the malformed htlc failure comes from our direct peer. When interpretating the failure, we aren't able to distinguish anymore between our channel not having enough balance and our peer sending an unexpected failure back.
This commit is contained in:
3 files changed
+18
-5
No files matched your search
@@ -3570,7 +3570,7 @@ func testSphinxReplayPersistence(net *lntest.NetworkHarness, t *harnessTest) {
|
||||
|
||||
// Construct the response we expect after sending a duplicate packet
|
||||
// that fails due to sphinx replay detection.
|
||||
replayErr := "TemporaryChannelFailure"
|
||||
replayErr := "InvalidOnionKey"
|
||||
if !strings.Contains(resp.PaymentError, replayErr) {
|
||||
t.Fatalf("received payment error: %v, expected %v",
|
||||
resp.PaymentError, replayErr)
|
||||
|
||||
Reference in new issue
Block a user