From 02aba77698e84e05fa49620dcacf9a8954ea512b Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Thu, 29 Jun 2017 16:02:37 +0200 Subject: [PATCH] channel: Passing channel_flags through to channeld --- lightningd/channel/channel.c | 8 ++++++-- lightningd/channel/channel_wire.csv | 1 + lightningd/peer_control.c | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lightningd/channel/channel.c b/lightningd/channel/channel.c index 809858f70..3e1105c24 100644 --- a/lightningd/channel/channel.c +++ b/lightningd/channel/channel.c @@ -130,6 +130,7 @@ struct peer { bool last_was_revoke; struct changed_htlc *last_sent_commit; u64 revocations_received; + u8 channel_flags; }; static u8 *create_channel_announcement(const tal_t *ctx, struct peer *peer); @@ -1657,6 +1658,7 @@ static void init_channel(struct peer *peer) &peer->short_channel_ids[LOCAL], &reconnected, &peer->unsent_shutdown_scriptpubkey, + &peer->channel_flags, &funding_signed)) status_failed(WIRE_CHANNEL_BAD_COMMAND, "Init: %s", tal_hex(msg, msg)); @@ -1745,8 +1747,10 @@ static void handle_funding_locked(struct peer *peer, const u8 *msg) static void handle_funding_announce_depth(struct peer *peer, const u8 *msg) { - status_trace("Exchanging announcement signatures."); - send_announcement_signatures(peer); + if (peer->channel_flags & CHANNEL_FLAGS_ANNOUNCE_CHANNEL) { + status_trace("Exchanging announcement signatures."); + send_announcement_signatures(peer); + } /* Only send the announcement and update if the other end gave * us its sig */ diff --git a/lightningd/channel/channel_wire.csv b/lightningd/channel/channel_wire.csv index 2c90e90e8..5ff37483e 100644 --- a/lightningd/channel/channel_wire.csv +++ b/lightningd/channel/channel_wire.csv @@ -66,6 +66,7 @@ channel_init,,funding_short_id,struct short_channel_id channel_init,,reestablish,bool channel_init,,shutdown_scriptpubkey_len,u16 channel_init,,shutdown_scriptpubkey,shutdown_scriptpubkey_len*u8 +channel_init,,flags,u8 channel_init,,init_peer_pkt_len,u16 channel_init,,init_peer_pkt,init_peer_pkt_len*u8 diff --git a/lightningd/peer_control.c b/lightningd/peer_control.c index e5138a9a5..1d74b8be0 100644 --- a/lightningd/peer_control.c +++ b/lightningd/peer_control.c @@ -1227,6 +1227,7 @@ static bool peer_start_channeld(struct peer *peer, &funding_channel_id, peer->reconnected, shutdown_scriptpubkey, + peer->channel_flags, funding_signed); /* We don't expect a response: we are triggered by funding_depth_cb. */