lnd/htlcswitch
Keagan McClelland 891b00d473 htlcswitch: drop the connection when receiving an invalid add
When the link is flushing in the incoming direction, it means
adds are invalid. The best chance we have at dealing with this
is to drop the connection. This should roll back the channel
state to the last CommitSig. If the remote has already sent a
CommitSig we haven't received yet, channel state will be
re-synchronized with a ChannelReestablish message upon
reconnection and the protocol state that caused us to flush
the link will be rolled back. In the event that there was some
non-deterministic behavior in the remote that caused them to
violate the protocol, we have a decent shot at correcting it
this way, since reconnecting will put us in the cleanest
possible state to try again.
2024-01-22 12:19:58 -08:00
..
hodl multi: add golang 1.17 compatible build tags 2021-09-29 17:31:37 -07:00
hop htlcswitch: update fuzzPayload for route blinding 2024-01-16 11:12:11 -06:00
testdata multi: update linter, fix new issues 2023-06-13 11:58:33 +02:00
circuit_map_test.go htlcswitch+lntest: modify Switch to persist resolution messages 2022-04-29 16:40:19 -04:00
circuit_map.go htlcswitch: improve loggings for Keystone 2023-01-12 22:08:02 +08:00
circuit_test.go htlcswitch: clean up test resources and temporary files 2022-10-10 10:32:39 -07:00
circuit.go multi: create channeldb/models package 2023-01-16 07:14:55 -08:00
decayedlog_test.go htlcswitch: use T.TempDir to create temporary test directory 2022-08-24 09:03:01 +08:00
decayedlog.go htlcswitch: fix duplicate close 2022-01-10 08:42:32 +01:00
failure_detail.go htlcswitch: add linkError field to htlcpacket 2020-02-06 19:43:29 +02:00
failure_test.go multi: update linter, fix new issues 2023-06-13 11:58:33 +02:00
failure.go htlcswitch: add linkError field to htlcpacket 2020-02-06 19:43:29 +02:00
held_htlc_set_test.go multi: create channeldb/models package 2023-01-16 07:14:55 -08:00
held_htlc_set.go multi: create channeldb/models package 2023-01-16 07:14:55 -08:00
htlcnotifier.go multi: add debug logs to catch slow shutdown 2023-10-06 16:34:47 -07:00
interceptable_switch.go multi: create channeldb/models package 2023-01-16 07:14:55 -08:00
interfaces.go htlcswitch+peer: add flush api and lifecycle hooks to ChannelUpdateHandler 2024-01-22 12:19:58 -08:00
link_isolated_test.go lnwallet+htlcswitch: add NewCommitState struct, modify send/recv sig to accept 2023-08-22 16:31:18 -07:00
link_test.go htlcswitch+peer: add flush api and lifecycle hooks to ChannelUpdateHandler 2024-01-22 12:19:58 -08:00
link.go htlcswitch: drop the connection when receiving an invalid add 2024-01-22 12:19:58 -08:00
linkfailure.go multi: ensure link is always torn down due to db failures, add exponential back off for sql-kvdb failures (#7927) 2023-08-30 16:48:00 -07:00
log.go htlcswitch/hop: fix logging 2019-09-09 13:52:35 +02:00
mailbox_test.go htlcswitch: use mock clock in TestMailBoxAddExpiry 2023-01-12 22:08:15 +08:00
mailbox.go htlcswitch: TODO for obviating type assertions 2023-07-31 09:52:33 -05:00
mock.go htlcswitch+peer: add flush api and lifecycle hooks to ChannelUpdateHandler 2024-01-22 12:19:58 -08:00
packet.go server+htlcswitch: prevent privacy leaks, allow alias routing 2022-07-07 17:10:28 -04:00
payment_result_test.go htlcswitch: clean up test resources and temporary files 2022-10-10 10:32:39 -07:00
payment_result.go multimutex: remove HashMutex, make Mutex type a type param 2023-06-01 17:39:49 -07:00
resolution_store_test.go htlcswitch: use T.TempDir to create temporary test directory 2022-08-24 09:03:01 +08:00
resolution_store.go htlcswitch: introduce resolutionStore to persist cnct messages 2022-04-29 16:40:16 -04:00
sequencer.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
switch_test.go multi: extend InvoiceDB methods with a context argument (#8066) 2023-10-11 13:42:59 +02:00
switch.go routing: fail attempt when no shard is found or circuit generation fails 2023-11-13 16:09:11 +08:00
test_utils.go multi: extend InvoiceDB methods with a context argument (#8066) 2023-10-11 13:42:59 +02:00