core-lightning/common
Rusty Russell bb538a1862 common: don't crash on bad sphinx payload.
It's cleanest to eliminate the SPHINX_INVALID_PAYLOAD altogether.

lightning_channeld: FATAL SIGNAL (version v0.7.3-242-gb1583bb-modded)
0x55a8169eed08 send_backtrace
	common/daemon.c:41
0x55a8169fc3eb status_failed
	common/status.c:206
0x55a8169fc657 status_backtrace_exit
	common/subdaemon.c:25
0x55a8169eedbb crashdump
	common/daemon.c:57
0x7f0eaff8446f ???
	???:0
0x7f0eaff843eb ???
	???:0
0x7f0eaff63898 ???
	???:0
0x55a8169fb29f route_step_decode
	common/sphinx.c:759
0x55a8169fb60a process_onionpacket
	common/sphinx.c:834
0x55a8169d9b34 get_shared_secret
	channeld/channeld.c:605
0x55a8169d9d35 handle_peer_add_htlc
	channeld/channeld.c:649
0x55a8169dd88d peer_in
	channeld/channeld.c:1838
0x55a8169e11a8 main
	channeld/channeld.c:3233
0x7f0eaff651e2 ???

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-12-09 14:33:31 +01:00
..
test tlv: Migrate tlv serialization to typesafe function 2019-12-03 00:37:15 +00:00
addr.c addr: handle P2SH/P2PKH in scriptpubkey encoding 2019-11-13 03:31:20 +00:00
addr.h addr: handle P2SH/P2PKH in scriptpubkey encoding 2019-11-13 03:31:20 +00:00
amount.c elements: Add amount_asset to support more than just plain satoshis 2019-10-03 04:32:57 +00:00
amount.h elements: Add amount_asset to support more than just plain satoshis 2019-10-03 04:32:57 +00:00
base32.c Remove tal_len, use tal_count() or tal_bytelen(). 2018-07-30 11:31:17 +02:00
base32.h common/base32: make this a simple tal-wrapper around ccan/base32. 2018-05-10 02:28:44 +00:00
base64.c Init commit to be able to create a tor static service on the fly. 2019-12-03 23:35:18 +01:00
base64.h Init commit to be able to create a tor static service on the fly. 2019-12-03 23:35:18 +01:00
bech32_util.c Remove tal_len, use tal_count() or tal_bytelen(). 2018-07-30 11:31:17 +02:00
bech32_util.h common: Moving some bech32 related utilities to bech32_util 2018-04-25 12:34:55 +02:00
bech32.c bech32: fix overflow bug. 2018-11-02 05:58:01 +00:00
bech32.h Use expected LIGHTNING_DIR_FILE_H define 2018-03-25 23:54:21 +00:00
bigsize.c bigsize: insist in minimal representation in bigsize_get(). 2019-07-31 23:25:59 +00:00
bigsize.h bigsize: make it a proper first-class type. 2019-07-31 23:25:59 +00:00
bip32.c common: move some files out of lightningd/ 2017-08-29 17:54:14 +02:00
bip32.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
bolt11.c don't enforce description_hash checking 2019-11-25 18:15:35 +01:00
bolt11.h common/bolt11: add secret support. 2019-11-24 23:33:17 +00:00
channel_config.c struct channel_config: use amount_sat / amount_msat. 2019-02-21 08:01:37 +00:00
channel_config.h bolt: update to BOLT spec changes (extract format + type specifications) 2019-07-16 06:10:58 +00:00
close_tx.c elements: Change function prefix to elements_ for some functions 2019-10-03 04:32:57 +00:00
close_tx.h tx: Add chainparams to struct bitcoin_tx as context 2019-07-31 23:22:54 +00:00
configdir.c config: limit depth on includes. 2019-11-23 22:42:34 +00:00
configdir.h config: explicitly disallow nonsensical options. 2019-11-23 22:42:34 +00:00
crypto_state.c crypto_state: move to its own file. 2017-10-20 18:31:32 +02:00
crypto_state.h crypto_state: move to its own file. 2017-10-20 18:31:32 +02:00
crypto_sync.c common: allow subdaemons to specify the node_id in status messages. 2019-11-18 04:50:22 +00:00
crypto_sync.h common/per_per_state: generalize lightningd/peer_comm Part 1 2019-06-04 01:29:39 +00:00
cryptomsg.c transition from status_trace() to status_debug 2019-09-10 02:02:51 +00:00
cryptomsg.h common/cryptomsg: remove unused async routines. 2018-09-28 04:14:28 +00:00
daemon_conn.c status: suppress status_trace/status_debug messages if queue too long. 2019-05-03 11:42:48 +02:00
daemon_conn.h status: suppress status_trace/status_debug messages if queue too long. 2019-05-03 11:42:48 +02:00
daemon.c daemons: initialize libsodium at setup 2019-10-09 22:00:38 -05:00
daemon.h pytest: backtrace on internal errors in subdaemons. 2019-04-08 04:41:43 +00:00
decode_array.c gossipd: hand (any) timestamps through to callback for query_channel_range. 2019-10-10 21:48:52 -05:00
decode_array.h gossipd: hand (any) timestamps through to callback for query_channel_range. 2019-10-10 21:48:52 -05:00
derive_basepoints.c developer: add --dev-force-channel-secrets. 2019-07-17 12:55:37 -05:00
derive_basepoints.h developer: add --dev-force-channel-secrets. 2019-07-17 12:55:37 -05:00
dev_disconnect.c dev_disconnect: make it more reliable. 2019-10-10 21:48:52 -05:00
dev_disconnect.h Add DEVELOPER flag, set by default. 2017-10-26 12:53:09 +02:00
features.c common/features: add payment_secret feature if EXPERIMENTAL. 2019-11-24 23:33:17 +00:00
features.h common/features: clean up feature handling for different cases. 2019-11-24 23:33:17 +00:00
funding_tx.c elements: Change function prefix to elements_ for some functions 2019-10-03 04:32:57 +00:00
funding_tx.h tx: Add chainparams to struct bitcoin_tx as context 2019-07-31 23:22:54 +00:00
gossip_constants.h gossipd: restore a flag for fast pruning 2019-09-27 00:01:34 +00:00
gossip_rcvd_filter.c common/gossip_rcvd_filter: avoid DoS. 2019-09-06 14:35:01 +02:00
gossip_rcvd_filter.h common/gossip_rcvd_filter: cache for received gossip. 2019-09-06 14:35:01 +02:00
gossip_store.c gossipd: handle a "push" marker into the gossip_store. 2019-11-04 17:50:58 +01:00
gossip_store.h gossipd: handle a "push" marker into the gossip_store. 2019-11-04 17:50:58 +01:00
hash_u5.c common/hash_u5: routines to hash 5 bit values. 2017-11-01 01:09:23 +00:00
hash_u5.h common/hash_u5: routines to hash 5 bit values. 2017-11-01 01:09:23 +00:00
htlc_state.c common: absorb remaining files from daemon/ 2017-08-29 17:54:14 +02:00
htlc_state.h Fix a-vs-an typos 2018-02-08 22:49:34 +01:00
htlc_trim.c channeld: extract HTLC trim logic into common. 2019-06-11 23:19:11 +00:00
htlc_trim.h channeld: extract HTLC trim logic into common. 2019-06-11 23:19:11 +00:00
htlc_tx.c elements: Change function prefix to elements_ for some functions 2019-10-03 04:32:57 +00:00
htlc_tx.h elements: Remove global is_elements variable in favor of chainparams 2019-10-03 04:32:57 +00:00
htlc_wire.c daemons: use amount_msat/amount_sat in all internal wire transfers. 2019-02-21 08:01:37 +00:00
htlc_wire.h daemons: use amount_msat/amount_sat in all internal wire transfers. 2019-02-21 08:01:37 +00:00
htlc.h Remove unused functions not covered by unit tests 2018-03-28 11:22:05 +02:00
initial_channel.c channeld: remove chainparams local parameter. 2019-11-20 20:41:53 +01:00
initial_channel.h channeld: remove chainparams local parameter. 2019-11-20 20:41:53 +01:00
initial_commit_tx.c channeld: remove chainparams local parameter. 2019-11-20 20:41:53 +01:00
initial_commit_tx.h channeld: remove chainparams local parameter. 2019-11-20 20:41:53 +01:00
io_lock.c common/io_lock: add helper to query if lock is taken. 2018-10-19 22:02:11 +00:00
io_lock.h common/io_lock: add helper to query if lock is taken. 2018-10-19 22:02:11 +00:00
json_command.h param: make command_fail/command_success WARN_UNUSED_RESULT. 2018-12-20 03:22:32 +00:00
json_helpers.c dev-forget-channel: accept passing in channel_id 2019-10-10 05:57:45 +00:00
json_helpers.h dev-forget-channel: accept passing in channel_id 2019-10-10 05:57:45 +00:00
json_tok.c json-rpc: Add helper for an array of secrets 2019-12-01 15:40:47 +01:00
json_tok.h json-rpc: Add helper for an array of secrets 2019-12-01 15:40:47 +01:00
json.c json: Add helper to extract a secret from JSON 2019-12-01 15:40:47 +01:00
json.h json: Add helper to extract a secret from JSON 2019-12-01 15:40:47 +01:00
jsonrpc_errors.h funding: don't allow funding new channels until we're synced. 2019-08-10 22:09:09 +02:00
key_derive.c Make option_static_remotekey non-EXPERIMENTAL now it's in spec. 2019-09-30 01:50:44 +00:00
key_derive.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
keyset.c Make option_static_remotekey non-EXPERIMENTAL now it's in spec. 2019-09-30 01:50:44 +00:00
keyset.h derive_keyset: don't rotate key for remote iff option_static_remotekey. 2019-09-10 16:18:25 -05:00
Makefile Init commit to be able to create a tor static service on the fly. 2019-12-03 23:35:18 +01:00
memleak.c lightningd: move basic parameter parsing into common/configdir 2019-11-23 22:42:34 +00:00
memleak.h common/memleak: simplify notleak() handling. 2019-09-06 14:35:01 +02:00
msg_queue.c status: suppress status_trace/status_debug messages if queue too long. 2019-05-03 11:42:48 +02:00
msg_queue.h status: suppress status_trace/status_debug messages if queue too long. 2019-05-03 11:42:48 +02:00
node_id.c common/node_id: new type. 2019-04-09 12:37:16 -07:00
node_id.h common/node_id: new type. 2019-04-09 12:37:16 -07:00
overflows.h The overflow check mul_overflows_s64(int64_t, int64_t) overflows and triggers UB :-) Remove it 2018-03-27 23:18:48 +00:00
param.c param: implement helpers for multiplex commands. 2019-07-16 21:39:14 +00:00
param.h param: implement helpers for multiplex commands. 2019-07-16 21:39:14 +00:00
peer_billboard.c common: peer_billboard() helper for updating the billboard. 2018-02-23 18:02:00 +01:00
peer_billboard.h common: peer_billboard() helper for updating the billboard. 2018-02-23 18:02:00 +01:00
peer_failed.c common: detect "sync error" from lnd. 2019-07-26 03:53:03 +00:00
peer_failed.h common/per_per_state: generalize lightningd/peer_comm Part 1 2019-06-04 01:29:39 +00:00
peer_status_wire.csv common: add peer_error flag to treat this error as "soft". 2019-07-26 03:53:03 +00:00
per_peer_state.c Move gossip_constants.h into common/ 2019-09-25 04:01:56 +00:00
per_peer_state.h developer: consolidiate gossip timing options into one --dev-fast-gossip. 2019-09-20 06:55:00 +00:00
permute_tx.c wally: Remove tx->input and tx->output, wally all the way! 2019-04-08 00:00:00 +00:00
permute_tx.h tx: Change permute_{inputs,outputs} to sort both old and new txs 2019-04-08 00:00:00 +00:00
ping.c transition from status_trace() to status_debug 2019-09-10 02:02:51 +00:00
ping.h pong: embed version string into ping replies if DEVELOPER=1. 2018-02-22 12:24:26 +01:00
pseudorand.c common: expose pseudorand_double 2019-04-16 21:22:13 +00:00
pseudorand.h common: expose pseudorand_double 2019-04-16 21:22:13 +00:00
read_peer_msg.c common: remove spammy debug msg. 2019-10-22 07:05:47 -07:00
read_peer_msg.h common/gossip_store: handle timestamp filtering. 2019-06-04 01:29:39 +00:00
socket_close.c closingd: Ensure proper closing of TCP socket. 2018-05-09 04:43:21 +00:00
socket_close.h closingd: Ensure proper closing of TCP socket. 2018-05-09 04:43:21 +00:00
sphinx.c common: don't crash on bad sphinx payload. 2019-12-09 14:33:31 +01:00
sphinx.h common: don't crash on bad sphinx payload. 2019-12-09 14:33:31 +01:00
status_levels.h status: separate types for peer failure vs "impossible" failures. 2018-02-08 19:07:12 +01:00
status_wire.c status: generate messages rather than marshal/unmarshal manually. 2018-02-08 19:07:12 +01:00
status_wire.csv common: allow subdaemons to specify the node_id in status messages. 2019-11-18 04:50:22 +00:00
status_wire.h status: generate messages rather than marshal/unmarshal manually. 2018-02-08 19:07:12 +01:00
status.c lightningd: enable io logging on subdaemons iff we're going to print it. 2019-11-18 04:50:22 +00:00
status.h common: allow subdaemons to specify the node_id in status messages. 2019-11-18 04:50:22 +00:00
subdaemon.c common: allow subdaemons to specify the node_id in status messages. 2019-11-18 04:50:22 +00:00
subdaemon.h common: reduce header differences for DEVELOPER vs non-DEVELOPER. 2019-09-06 14:35:01 +02:00
timeout.c utils: remove tal_tmpctx altogether, use global. 2018-03-16 00:16:10 +00:00
timeout.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
type_to_string.c type_to_string: return const char *. 2019-02-21 00:44:57 +00:00
type_to_string.h common/node_id: new type. 2019-04-09 12:37:16 -07:00
utils.c utils: add set_softref() / clear_softref(). 2019-10-10 21:48:52 -05:00
utils.h utils: add set_softref() / clear_softref(). 2019-10-10 21:48:52 -05:00
utxo.c common/utxo: make commitment_point optional in close_info. 2019-09-10 16:18:25 -05:00
utxo.h common/utxo: make commitment_point optional in close_info. 2019-09-10 16:18:25 -05:00
version.c Make version output simpler/more user-friendly 2018-04-04 02:32:44 +00:00
version.h Onboarding: Make log output texts friendlier to new users 2018-01-29 03:22:27 +00:00
wallet_tx.c bitcoind: remove the chainparams member 2019-11-15 13:14:08 +01:00
wallet_tx.h fundchannel: Add a new 'utxo' parameter 2019-06-11 23:24:07 +00:00
wallet.c wallet: Rip out the txtypes type in favor of enum wallet_tx_type 2019-06-08 02:58:27 +00:00
wallet.h wallet: Add transaction annotation type 2019-10-07 20:03:24 -05:00
wire_error.c Remove tal_len, use tal_count() or tal_bytelen(). 2018-07-30 11:31:17 +02:00
wire_error.h common: fix up BOLT 1 references. 2018-06-18 12:31:09 +02:00
wireaddr.c Init commit to be able to create a tor static service on the fly. 2019-12-03 23:35:18 +01:00
wireaddr.h Init commit to be able to create a tor static service on the fly. 2019-12-03 23:35:18 +01:00
withdraw_tx.c elements: Change function prefix to elements_ for some functions 2019-10-03 04:32:57 +00:00
withdraw_tx.h common: withdraw_tx() now use the array of struct bitcoin_tx_output as parameter 2019-09-05 16:05:36 -05:00