mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-02-26 15:42:52 +01:00
Currently we entirely ignore the BADONION bit when deciding how to handle HTLC failures. This opens us up to an attack where a malicious node always fails HTLCs backwards via `update_fail_malformed_htlc` with an error code of `BADONION|NODE|PERM|X`. In this case, we may decide to interpret this as a permanent node failure for the node encrypting the onion, i.e. the counterparty of the node who sent the `update_fail_malformed_htlc` message and ultimately failed the HTLC. Thus, any node we route through could cause us to fully remove its counterparty from our network graph. Luckily we do not do any persistent tracking of removed nodes, and thus will re-add the removed node once it is re-announced or on restart, however we are likely to add such persistent tracking (at least in-memory) in the future. |
||
---|---|---|
.. | ||
chan_utils.rs | ||
chanmon_update_fail_tests.rs | ||
channel.rs | ||
channelmanager.rs | ||
features.rs | ||
functional_test_utils.rs | ||
functional_tests.rs | ||
inbound_payment.rs | ||
mod.rs | ||
monitor_tests.rs | ||
msgs.rs | ||
onion_route_tests.rs | ||
onion_utils.rs | ||
payment_tests.rs | ||
peer_channel_encryptor.rs | ||
peer_handler.rs | ||
priv_short_conf_tests.rs | ||
reorg_tests.rs | ||
script.rs | ||
shutdown_tests.rs | ||
wire.rs |