rgb-cln/lightningd
Rusty Russell 5af3a135be lightningd: separate path for failed_htlc when an onion is bad.
We tell channeld that an htlc is bad by sending it a 'struct
failed_htlc'.  This usually contains an onionreply to forward, but for
the case where the onion itself was bad, it contains a failure code
instead.

This makes the "send a failed_htlc for a bad onion" a completely
separate code path, then we can work on removing failcodes from the
other path.

In several places 'failcode' is now changed to 'badonion' to reflect
that it can only be a BADONION failcode.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2020-02-25 11:12:12 +10:30
..
test lightningd/bitcoind: use the Bitcoin plugin for getutxout 2020-02-12 11:45:07 +10:30
.gitignore handshaked: remove. 2017-10-20 18:31:32 +02:00
Makefile common: move json_stream from lightningd/ to common/ 2020-02-04 13:24:32 +10:30
bitcoind.c pytest: test Bitcoin plugin registration and the bcli plugin 2020-02-12 11:45:07 +10:30
bitcoind.h lightningd/bitcoind: remove all bitcoin-cli specific code 2020-02-12 11:45:07 +10:30
chaintopology.c pytest: test Bitcoin plugin registration and the bcli plugin 2020-02-12 11:45:07 +10:30
chaintopology.h lightningd/bitcoind: use the Bitcoin plugin to send transactions 2020-02-12 11:45:07 +10:30
channel.c gossipd: provide (stripped) channel_update when resolving a channel. 2020-02-25 11:12:12 +10:30
channel.h gossipd: provide (stripped) channel_update when resolving a channel. 2020-02-25 11:12:12 +10:30
channel_control.c channeld: get the onionreply back from lightningd for failed htlcs. 2020-02-25 11:12:12 +10:30
channel_control.h channel control: break out separate method for canceling 2020-02-10 15:59:26 +10:30
channel_state.h wallet: Add a final `CLOSED` state to channels 2019-06-30 16:41:30 +09:30
closing_control.c lightningd: save the fee_states into the database. 2019-12-12 22:15:48 +01:00
closing_control.h common/per_per_state: generalize lightningd/peer_comm Part 1 2019-06-04 01:29:39 +00:00
connect_control.c connectd: Pass the init_featurebits down to connectd and use in init 2020-02-11 13:53:31 +10:30
connect_control.h Use node_id everywhere for nodes. 2019-04-09 12:37:16 -07:00
gossip_control.c plugin: Add featurebits registered by plugins to node_announcements 2020-02-11 13:53:31 +10:30
gossip_control.h gossipd: get fed the blockheight from lightningd when we know it. 2019-09-25 04:01:56 +00:00
gossip_msg.c gossipd: add hop-style to nodes to mark whether they speak TLV onion. 2019-11-14 10:15:33 +01:00
gossip_msg.h common/features: only support a single feature bitset. 2019-10-11 02:52:04 +00:00
hsm_control.c bitcoind: remove the chainparams member 2019-11-15 13:14:08 +01:00
hsm_control.h Use node_id everywhere for nodes. 2019-04-09 12:37:16 -07:00
htlc_end.c lightningd: store raw msg rather than code for locally-failed outgoing HTLCs 2020-02-25 11:12:12 +10:30
htlc_end.h lightningd: store raw msg rather than code for locally-failed outgoing HTLCs 2020-02-25 11:12:12 +10:30
htlc_set.c Makefile: update bolt markers which have been since merged. 2020-01-31 06:07:56 +00:00
htlc_set.h lightningd: remove htlc_set destruction timer once we head to invoice. 2019-12-12 22:16:03 +01:00
invoice.c plugin: Introduce plugin type to allow singleton and chaining 2020-02-11 15:57:22 +10:30
invoice.h lightningd: sew in htlc set. 2019-12-12 15:03:53 +01:00
io_loop_with_timers.c plugins: don't crash if getmanifest times out. 2019-07-24 16:16:53 +02:00
io_loop_with_timers.h lightningd/io_loop_with_timers.c: Move mainloop to its own source file, have chaintopology use it. 2019-05-31 17:57:10 +02:00
json.c common: move json_stream helpers to common/json 2020-02-04 13:24:32 +10:30
json.h common: move json_stream helpers to common/json 2020-02-04 13:24:32 +10:30
jsonrpc.c lightningd: fix crash when plugin has been unloaded and we abort cmd. 2020-02-15 08:49:18 +10:30
jsonrpc.h common: move json_stream from lightningd/ to common/ 2020-02-04 13:24:32 +10:30
lightningd.c lightningd: clean utxos after the topology is setup 2020-02-12 11:45:07 +10:30
lightningd.h lightningd: Added --subdaemon command to allow alternate subdaemons. 2020-02-04 10:44:13 +10:30
log.c log: print UNUSUAL messages before log initialization too. 2019-11-23 22:42:34 +00:00
log.h lightningd: use a simple array for less memory usage. 2019-11-18 04:50:22 +00:00
log_status.c lightningd: kill per-peer daemons if they claim a different peer id. 2019-11-18 04:50:22 +00:00
log_status.h lightningd: have logging include an optional node_id for each entry. 2019-11-18 04:50:22 +00:00
memdump.c htlcs: Make sure htlc_sets is not erroneously flagged as a memleak 2019-12-12 22:16:03 +01:00
memdump.h lightningd: add code to search strmaps for memleak detection. 2019-02-07 20:33:50 +00:00
notification.c lightningd, openingd: remove active code inside assert(). 2020-02-18 10:21:29 +10:30
notification.h db: put scids in forwards even if we didn't actually send. 2020-02-12 22:27:57 -06:00
onchain_control.c lightningd: have optional node_id associated with subdaemons. 2019-11-18 04:50:22 +00:00
onchain_control.h onchaind: Replay stored channeltxs to restore onchaind state 2018-04-25 14:33:38 +02:00
opening_control.c plugin: Introduce plugin type to allow singleton and chaining 2020-02-11 15:57:22 +10:30
opening_control.h subd: Add a helper to get the current owning subd for a given peer 2020-01-28 23:50:52 +01:00
options.c lightningd/bitcoind: remove all bitcoin-cli specific code 2020-02-12 11:45:07 +10:30
options.h common: parse --allow-deprecated-apis extremely early. 2019-11-23 22:42:34 +00:00
pay.c lightningd: store raw msg rather than code for locally-failed outgoing HTLCs 2020-02-25 11:12:12 +10:30
pay.h Use dedicated type for error codes 2020-01-31 06:02:47 +00:00
peer_control.c lightningd/bitcoind: use the Bitcoin plugin for getutxout 2020-02-12 11:45:07 +10:30
peer_control.h peer: Add custommsg hook and wire it into channeld and openingd 2020-01-28 23:50:52 +01:00
peer_htlcs.c lightningd: separate path for failed_htlc when an onion is bad. 2020-02-25 11:12:12 +10:30
peer_htlcs.h channeld: don't get details of our own failed htlcs at init. 2020-02-25 11:12:12 +10:30
ping.c bolt: update to BOLT spec changes (extract format + type specifications) 2019-07-16 06:10:58 +00:00
ping.h ping: complete JSON RPC ping commands even if one ping gets no response. 2018-09-14 22:11:23 +02:00
plugin.c chaintopology: check bitcoin plugin commands at startup 2020-02-12 11:45:07 +10:30
plugin.h chaintopology: check bitcoin plugin commands at startup 2020-02-12 11:45:07 +10:30
plugin_control.c lightningd/plugin: unregister a plugin's options when stopping it 2020-02-10 09:49:15 +10:30
plugin_control.h plugins: cleanup shared headers between dynamic and static plugins 2019-09-30 00:20:16 +00:00
plugin_hook.c plugin: Remove special case for plugin stopping while handling hooks 2020-02-11 15:57:22 +10:30
plugin_hook.h plugin: Multiple plugins can register a singl hook 2020-02-11 15:57:22 +10:30
signmessage.c lightningd: checkmessage can intuit pubkey in some cases. 2019-10-14 18:58:44 -05:00
subd.c lightningd: Added --subdaemon command to allow alternate subdaemons. 2020-02-04 10:44:13 +10:30
subd.h lightningd: have optional node_id associated with subdaemons. 2019-11-18 04:50:22 +00:00
watch.c wallet: remove edgecase around transaction checks 2020-01-02 16:56:42 +01:00
watch.h lightningd: fix occasional missing txid detection. 2019-06-28 03:31:43 +00:00