| 416 | } |
| 417 | |
| 418 | static void handle_onionmsg_forward_fail(struct lightningd *ld, const u8 *msg) |
| 419 | { |
| 420 | struct node_id source; |
| 421 | u8 *incoming; |
| 422 | struct pubkey path_key; |
| 423 | u8 *outgoing; |
| 424 | struct sciddir_or_pubkey *next; |
| 425 | |
| 426 | if (!fromwire_connectd_onionmsg_forward_fail(tmpctx, msg, |
| 427 | &source, |
| 428 | &incoming, |
| 429 | &path_key, |
| 430 | &outgoing, |
| 431 | &next)) { |
| 432 | log_broken(ld->log, "Malformed onionmsg_forward_fail: %s", |
| 433 | tal_hex(tmpctx, msg)); |
| 434 | return; |
| 435 | } |
| 436 | |
| 437 | if (tal_count(outgoing) && !next) { |
| 438 | log_broken(ld->log, "onionmsg_forward_fail missing next: %s", |
| 439 | tal_hex(tmpctx, msg)); |
| 440 | return; |
| 441 | } |
| 442 | |
| 443 | notify_onionmessage_forward_fail(ld, &source, incoming, |
| 444 | &path_key, outgoing, next); |
| 445 | } |
| 446 | |
| 447 | static void connectd_start_shutdown_reply(struct subd *connectd, |
| 448 | const u8 *reply, |
no test coverage detected