cln/lightningd
Rusty Russell b05dbeff4e lightningd: don't allow invoices with 640 byte descriptions.
They are invalid!  This is because our BOLT11_FIELD_BYTE_LIMIT is not the limit,
it's one greater than the limit.

Reported-by: https://github.com/noblepayne
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-Fixed: JSON-RPC: `invoice` no longer accepts 640-byte descriptions (it would produce malformed invoices).
2025-11-13 10:57:49 +10:30
..
test lightnind: add connectd's reported events to the db. 2025-11-12 13:58:43 +10:30
.gitignore Ignore all the deamon inside the git history 2021-10-28 15:51:38 +02:00
anchorspend.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
anchorspend.h channeld: use anchors on peer's commitment(s) if we can't broadcast our own. 2023-10-27 11:19:56 +10:30
bitcoind.c lightningd: remove unused start_time field in bitcoind_getfilteredblock. 2025-10-24 11:30:17 +10:30
bitcoind.h global: remove unnecessary includes from headers. 2025-10-23 06:44:04 +10:30
chaintopology.c common: add new_htable() macro to allocate, initialize and setup memleak coverage for any typed hash table. 2025-10-24 11:30:17 +10:30
chaintopology.h wallet: make sure to watch all txids in transactions table. 2025-10-24 11:30:17 +10:30
channel.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
channel.h global: remove unnecessary includes from headers. 2025-10-23 06:44:04 +10:30
channel_control.c lightningd: fix crash in channel_control. 2025-10-24 11:30:17 +10:30
channel_control.h lightningd: don't hand redundant block_height to block notifications. 2025-05-15 16:40:33 +09:30
channel_gossip.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
channel_gossip.h lightningd: don't hand redundant block_height to block notifications. 2025-05-15 16:40:33 +09:30
channel_state.h global: remove unnecessary includes from headers. 2025-10-23 06:44:04 +10:30
closed_channel.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
closed_channel.h lightningd: save shachain for closed channels. 2025-04-29 13:31:23 +09:30
closing_control.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
closing_control.h lightningd: make close_txs parameter to resolve_close_command const. 2024-11-25 20:23:21 +10:30
coin_mvts.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
coin_mvts.h lightningd: migrate events from bookkeeper at startup. 2025-08-19 13:37:50 +09:30
configs.c ccan: update to get improved grab_file API, and adapt code. 2025-10-26 12:37:58 +10:30
connect_control.c lightnind: add connectd's reported events to the db. 2025-11-12 13:58:43 +10:30
connect_control.h connectd: return reason, connect time to lightningd on connection results. 2025-11-12 13:58:43 +10:30
datastore.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
dual_open_control.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
dual_open_control.h common: BOLT update: option_anchors_zero_fee_htlc_tx is now simply "option_anchors". 2024-06-19 15:54:24 +09:30
feerate.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
feerate.h lightningd: clean up feerate handling, deprecate old terms. 2023-04-10 07:31:12 +09:30
forwards.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
forwards.h global: remove unnecessary includes from headers. 2025-10-23 06:44:04 +10:30
gossip_control.c connectd: return reason, connect time to lightningd on connection results. 2025-11-12 13:58:43 +10:30
gossip_control.h global: remove unnecessary includes from headers. 2025-10-23 06:44:04 +10:30
gossip_generation.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
gossip_generation.h bitcoin/short_channel_id: pass by copy everywhere. 2024-03-20 13:51:48 +10:30
hsm_control.c hsmd_wire: remove hsmd_derive_bip86_key and add it to hsmd_init_reply_v4 2025-10-26 12:37:58 +10:30
hsm_control.h hsm_control: fixup! old comment 2025-10-26 12:37:58 +10:30
htlc_end.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
htlc_end.h lightningd: Add extra_tlvs to htlc_accepted_hook 2025-08-14 18:57:05 +09:30
htlc_set.c lightningd: add invoice_amt to the htlc_accepted hook 2025-11-10 15:05:27 +10:30
htlc_set.h lightningd: add invoice_amt to the htlc_accepted hook 2025-11-10 15:05:27 +10:30
invoice.c lightningd: don't allow invoices with 640 byte descriptions. 2025-11-13 10:57:49 +10:30
invoice.h lightningd: add override amt to invoice_check_payment 2025-11-10 15:05:27 +10: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: use jsonrpc_io for reading JSON commands. 2025-10-24 11:28:57 +10:30
jsonrpc.h lightningd: make notifications from plugins just like native ones. 2025-08-18 10:01:07 +09:30
lightningd.c ccan: update to get improved grab_file API, and adapt code. 2025-10-26 12:37:58 +10:30
lightningd.h options: remove --use-bip86-derivation 2025-10-26 12:37:58 +10:30
log.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
log.h common: don't send trace messages by default, don't ratelimit at all. 2024-12-16 09:48:51 +10:30
log_status.c lightningd/log: clean up nomenclature. 2023-07-19 19:13:57 +09:30
log_status.h lightningd/log: clean up nomenclature. 2023-07-19 19:13:57 +09:30
Makefile Makefile: create a library containing common, wire and bitcoin objects. 2025-10-23 06:44:04 +10:30
memdump.c common: add new_htable() macro to allocate, initialize and setup memleak coverage for any typed hash table. 2025-10-24 11:30:17 +10:30
memdump.h lightningd: simplify memleak code. 2022-03-10 09:40:09 +10:30
notification.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
notification.h connectd: simplify logic, and add a "reconnected" message. 2025-10-01 12:12:56 +09:30
offer.c lightningd: fix compilation for older compilers. 2025-10-24 16:23:37 +10:30
onchain_control.c common: add new_htable() macro to allocate, initialize and setup memleak coverage for any typed hash table. 2025-10-24 11:30:17 +10:30
onchain_control.h onchaind: remove 'is_replay' logic 2021-12-28 04:42:42 +10:30
onion_message.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
onion_message.h common: remove support for pre v0.10.2 onionmessages. 2021-12-01 05:44:28 +10:30
opening_common.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
opening_common.h global: remove unnecessary includes from headers. 2025-10-23 06:44:04 +10:30
opening_control.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
opening_control.h common: BOLT update: option_anchors_zero_fee_htlc_tx is now simply "option_anchors". 2024-06-19 15:54:24 +09:30
options.c options: remove --use-bip86-derivation 2025-10-26 12:37:58 +10:30
options.h lightningd: remove old listconfigs output. 2025-03-12 09:26:08 +10:30
pay.c lightningd: add invoice_amt to the htlc_accepted hook 2025-11-10 15:05:27 +10:30
pay.h lightningd: refactor payment failed. 2024-10-27 13:57:50 +11:00
peer_control.c lightnind: add connectd's reported events to the db. 2025-11-12 13:58:43 +10:30
peer_control.h lightningd: cancel watching original funding when we switch to the new one via splice. 2025-10-24 11:30:17 +10:30
peer_fd.c subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
peer_fd.h global: remove unnecessary includes from headers. 2025-10-23 06:44:04 +10:30
peer_htlcs.c lightningd: add peer_id to htlc_accepted_hook 2025-11-11 16:36:30 +01:00
peer_htlcs.h lightningd: Add extra_tlvs to htlc_accepted_hook 2025-08-14 18:57:05 +09:30
ping.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
ping.h lightningd: fix race with crossover pings. 2025-08-14 17:35:39 +09:30
plugin.c ccan: update to get improved grab_file API, and adapt code. 2025-10-26 12:37:58 +10:30
plugin.h lightningd: use jsonrpc_io for plugin JSON commands. 2025-10-24 11:28:57 +10:30
plugin_control.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
plugin_control.h plugins: add command field to subcommand output. 2021-06-25 09:49:33 +09:30
plugin_hook.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
plugin_hook.h plugin: wire JSON id for commands which caused hooks to fire. 2022-09-16 12:31:45 +09:30
routehint.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
routehint.h invoice: overhaul routehints to use topology.listincoming, cleanup. 2021-06-16 10:29:17 +09:30
runes.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
runes.h runes: ensure that uniqueid is a valid number. 2023-09-12 15:19:02 +09:30
signmessage.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
subd.c global: remove unnecessary includes from C files. 2025-10-23 06:44:04 +10:30
subd.h global: remove unnecessary includes from headers. 2025-10-23 06:44:04 +10:30
wait.c lightningd: add networkevents to wait API. 2025-11-12 13:58:43 +10:30
wait.h lightningd: db infrastructure for network events. 2025-11-12 13:58:43 +10:30
watch.c ccan/htable: update to explicit DUPS/NODUPS types. 2025-01-21 09:18:25 +10:30
watch.h ccan/htable: update to explicit DUPS/NODUPS types. 2025-01-21 09:18:25 +10:30