diff --git a/lightning/src/ln/channelmanager.rs b/lightning/src/ln/channelmanager.rs index 649c71d8fb3..deaf5dbae23 100644 --- a/lightning/src/ln/channelmanager.rs +++ b/lightning/src/ln/channelmanager.rs @@ -8546,37 +8546,35 @@ This indicates a bug inside LDK. Please report this error at https://github.com/ } } - #[rustfmt::skip] - fn internal_peer_storage_retrieval(&self, counterparty_node_id: PublicKey, msg: msgs::PeerStorageRetrieval) -> Result<(), MsgHandleErrInternal> { + fn internal_peer_storage_retrieval( + &self, peer_node_id: PublicKey, msg: msgs::PeerStorageRetrieval, + ) -> Result<(), MsgHandleErrInternal> { // TODO: Check if have any stale or missing ChannelMonitor. - let logger = WithContext::from(&self.logger, Some(counterparty_node_id), None, None); - let err = MsgHandleErrInternal::from_chan_no_close( - ChannelError::Ignore("Invalid PeerStorageRetrieval message received.".into()), - ChannelId([0; 32]), - ); - let err_str = || { - format!("Invalid PeerStorage received from {}", counterparty_node_id) + let logger = WithContext::from(&self.logger, Some(peer_node_id), None, None); + let err = || { + MsgHandleErrInternal::from_chan_no_close( + ChannelError::Ignore("Invalid PeerStorageRetrieval message received.".into()), + ChannelId([0; 32]), + ) }; let encrypted_ops = match EncryptedOurPeerStorage::new(msg.data) { Ok(encrypted_ops) => encrypted_ops, - Err(_) => { - log_debug!(logger, "{}", err_str()); - return Err(err); - } + Err(()) => { + log_debug!(logger, "Received a peer backup which wasn't long enough to be valid"); + return Err(err()); + }, }; - let decrypted_data = match encrypted_ops.decrypt(&self.node_signer.get_peer_storage_key()) { + let decrypted = match encrypted_ops.decrypt(&self.node_signer.get_peer_storage_key()) { Ok(decrypted_ops) => decrypted_ops.into_vec(), - Err(_) => { - log_debug!(logger, "{}", err_str()); - return Err(err); - } + Err(()) => { + log_debug!(logger, "Received a peer backup which was corrupted"); + return Err(err()); + }, }; - if decrypted_data.is_empty() { - log_debug!(logger, "Received a peer storage from peer {} with 0 channels.", log_pubkey!(counterparty_node_id)); - } + log_trace!(logger, "Got valid {}-byte peer backup from {}", decrypted.len(), peer_node_id); Ok(()) } diff --git a/lightning/src/sign/mod.rs b/lightning/src/sign/mod.rs index a623858ae56..075cd2b644e 100644 --- a/lightning/src/sign/mod.rs +++ b/lightning/src/sign/mod.rs @@ -1858,11 +1858,11 @@ impl KeysManager { pub fn new(seed: &[u8; 32], starting_time_secs: u64, starting_time_nanos: u32) -> Self { // Constants for key derivation path indices used in this function. const NODE_SECRET_INDEX: ChildNumber = ChildNumber::Hardened { index: 0 }; - const DESTINATION_SCRIPT_INDEX: ChildNumber = ChildNumber::Hardened { index: (1) }; - const SHUTDOWN_PUBKEY_INDEX: ChildNumber = ChildNumber::Hardened { index: (2) }; - const CHANNEL_MASTER_KEY_INDEX: ChildNumber = ChildNumber::Hardened { index: (3) }; - const INBOUND_PAYMENT_KEY_INDEX: ChildNumber = ChildNumber::Hardened { index: (5) }; - const PEER_STORAGE_KEY_INDEX: ChildNumber = ChildNumber::Hardened { index: (6) }; + const DESTINATION_SCRIPT_INDEX: ChildNumber = ChildNumber::Hardened { index: 1 }; + const SHUTDOWN_PUBKEY_INDEX: ChildNumber = ChildNumber::Hardened { index: 2 }; + const CHANNEL_MASTER_KEY_INDEX: ChildNumber = ChildNumber::Hardened { index: 3 }; + const INBOUND_PAYMENT_KEY_INDEX: ChildNumber = ChildNumber::Hardened { index: 5 }; + const PEER_STORAGE_KEY_INDEX: ChildNumber = ChildNumber::Hardened { index: 6 }; let secp_ctx = Secp256k1::new(); // Note that when we aren't serializing the key, network doesn't matter