lightning/lightningd
Rusty Russell 5becfa6ee1 onion_message: don't use general secret, use per-message secret.
We had a scheme where lightningd itself would put a per-node secret in
the blinded path, then we'd tell the caller when it was used.  Then it
simply checks the alias to determine if the correct path was used.

But this doesn't work when we start to offer multiple blinded paths.
So go for a far simpler scheme, where the secret is generated (and
stored) by the caller, and hand it back to them.

We keep the split "with secret" or "without secret" API, since I'm
sure callers who don't care about the secret won't check that it
doesn't exist!  And without that, someone can use a blinded path for a
different message and get a response which may reveal the node.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2022-11-09 15:08:03 +01:00
..
test common/json_filter: routines for json filtering. 2022-11-09 20:25:58 +10:30
.gitignore Ignore all the deamon inside the git history 2021-10-28 15:51:38 +02:00
bitcoind.c lightningd: trace JSON id prefixes through sendrawtx. 2022-09-16 12:31:45 +09:30
bitcoind.h lightningd: trace JSON id prefixes through sendrawtx. 2022-09-16 12:31:45 +09:30
chaintopology.c wallet: Use boolean to determine whether an output is coinbase 2022-11-09 11:55:25 +01:00
chaintopology.h lightningd: trace JSON id prefixes through sendrawtx. 2022-09-16 12:31:45 +09:30
channel_control.c channeld: remove onion objects. 2022-09-29 16:10:57 +09:30
channel_control.h doc: update BOLTs to bc86304b4b0af5fd5ce9d24f74e2ebbceb7e2730 2022-09-12 09:34:52 +09:30
channel_state.h channel-state: add two new states, for dualopend 2021-01-10 13:44:04 +01:00
channel.c lightningd: trace JSON id prefixes through sendrawtx. 2022-09-16 12:31:45 +09:30
channel.h lightningd: figure out optimal channel *before* forward_htlc hook. 2022-09-26 13:52:04 +02:00
closing_control.c lightningd: trace JSON id prefixes through sendrawtx. 2022-09-16 12:31:45 +09:30
closing_control.h lightningd: trace JSON id prefixes through sendrawtx. 2022-09-16 12:31:45 +09:30
coin_mvts.c common/onion: split into decode and encode routines. 2022-11-09 15:08:03 +01:00
coin_mvts.h coin_mvt: tiny, dont import lightningd header 2022-02-07 13:02:09 +10:30
connect_control.c jsonrpc: make error codes an enum. 2022-09-19 10:18:55 +09:30
connect_control.h plugin: wire JSON id for commands which caused hooks to fire. 2022-09-16 12:31:45 +09:30
datastore.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
dual_open_control.c wallet: Use boolean to determine whether an output is coinbase 2022-11-09 11:55:25 +01:00
dual_open_control.h lightningd: hand fds to connectd, not receive them from connectd. 2022-07-18 20:50:04 -05:00
feerate.c lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
feerate.h lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
gossip_control.c gossipd: batch outpoints spent, add block height. 2022-09-24 15:22:27 +09:30
gossip_control.h gossipd: batch outpoints spent, add block height. 2022-09-24 15:22:27 +09:30
hsm_control.c onion_message: don't use general secret, use per-message secret. 2022-11-09 15:08:03 +01:00
hsm_control.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
htlc_end.c channeld: don't calculate blinding shared secret, let lightningd do it. 2022-10-26 11:29:06 +10:30
htlc_end.h channeld: don't calculate blinding shared secret, let lightningd do it. 2022-10-26 11:29:06 +10:30
htlc_set.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
htlc_set.h Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
invoice.c common/onion: split into decode and encode routines. 2022-11-09 15:08:03 +01:00
invoice.h Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
io_loop_with_timers.c database: pull out database code into a new module 2022-03-05 15:03:34 +10:30
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
jsonrpc.c lightningd: set filter when we see 'filter' object. 2022-11-09 20:25:58 +10:30
jsonrpc.h common/json_filter: routine to turn "filter" JSON into a filter. 2022-11-09 20:25:58 +10:30
lightningd.c onionmessages: remove obsolete onion message parsing. 2022-09-29 16:10:57 +09:30
lightningd.h onion_message: don't use general secret, use per-message secret. 2022-11-09 15:08:03 +01:00
log_status.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
log_status.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
log.c lightningd: fix fatal() log message in log. 2022-07-25 08:11:09 -07:00
log.h options: let log-level subsystem filter also cover nodeid. 2022-07-09 09:59:52 +09:30
Makefile common/onion: split into decode and encode routines. 2022-11-09 15:08:03 +01:00
memdump.c memleak: remove exclusions from memleak_start() 2022-09-19 11:34:42 +09:30
memdump.h lightningd: simplify memleak code. 2022-03-10 09:40:09 +10:30
notification.c lightningd: add in_htlc_id / out_htlc_id to listforwards. 2022-09-22 15:19:46 +02:00
notification.h jsonrpc: make error codes an enum. 2022-09-19 10:18:55 +09:30
offer.c BOLTs: update to more recent bolt12 spec. 2022-10-26 11:29:06 +10:30
onchain_control.c lightningd: trace JSON id prefixes through sendrawtx. 2022-09-16 12:31:45 +09:30
onchain_control.h onchaind: remove 'is_replay' logic 2021-12-28 04:42:42 +10:30
onion_message.c onion_message: don't use general secret, use per-message secret. 2022-11-09 15:08:03 +01:00
onion_message.h common: remove support for pre v0.10.2 onionmessages. 2021-12-01 05:44:28 +10:30
opening_common.c openingd: Add reserve to fundchannel and multifundchannel 2022-09-21 11:25:47 +02:00
opening_common.h openingd: Add reserve to fundchannel and multifundchannel 2022-09-21 11:25:47 +02:00
opening_control.c opening: Add dev-allowdustreserve option to opt into dust reserves 2022-09-21 11:25:47 +02:00
opening_control.h connectd: hold peer until we're interested. 2022-03-23 13:20:12 +10:30
options.c lightningd: --dev-onion-reply-length option. 2022-11-08 17:40:57 +01:00
options.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
pay.c common/onion: split into decode and encode routines. 2022-11-09 15:08:03 +01:00
pay.h jsonrpc: make error codes an enum. 2022-09-19 10:18:55 +09:30
peer_control.c plugin: wire JSON id for commands which caused hooks to fire. 2022-09-16 12:31:45 +09:30
peer_control.h connectd: control connect backoff from lightningd. 2022-07-28 15:08:44 +09:30
peer_fd.c subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
peer_fd.h subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
peer_htlcs.c common/onion: split into decode and encode routines. 2022-11-09 15:08:03 +01:00
peer_htlcs.h lightningd: add in_htlc_id / out_htlc_id to listforwards. 2022-09-22 15:19:46 +02:00
ping.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
plugin_control.c lightningd: wire plugin command JSON id through to plugin commands. 2022-09-16 12:31:45 +09:30
plugin_control.h plugins: add command field to subcommand output. 2021-06-25 09:49:33 +09:30
plugin_hook.c plugin: wire JSON id for commands which caused hooks to fire. 2022-09-16 12:31:45 +09:30
plugin_hook.h plugin: wire JSON id for commands which caused hooks to fire. 2022-09-16 12:31:45 +09:30
plugin.c memleak: simplify API. 2022-09-19 11:34:42 +09:30
plugin.h lightningd: wire plugin command JSON id through to plugin commands. 2022-09-16 12:31:45 +09:30
routehint.c lightnind: use aliases in routehints for private channels. 2022-08-09 16:31:36 -05:00
routehint.h invoice: overhaul routehints to use topology.listincoming, cleanup. 2021-06-16 10:29:17 +09:30
signmessage.c lightningd: use jcon logging for commands where possible. 2022-09-16 12:31:45 +09:30
subd.c lightningd: more graceful shutdown. 2022-09-12 14:00:41 +02:00
subd.h lightningd: more graceful shutdown. 2022-09-12 14:00:41 +02:00
watch.c Remove names of parameters of callbacks which confuse gcc. 2022-08-31 12:18:28 +03:00
watch.h Remove names of parameters of callbacks which confuse gcc. 2022-08-31 12:18:28 +03:00