Use test_msg_exact in channl_update fuzz testing

Gossip messages should always use `test_msg_exact` to ensure they
round-trip during signature validation.
This commit is contained in:
Matt Corallo 2024-06-25 16:33:47 +00:00
parent dc3f826123
commit 162b81fbb1
3 changed files with 7 additions and 4 deletions

View file

@ -39,14 +39,17 @@ GEN_TEST lightning::ln::msgs::ChannelReestablish test_msg_simple ""
GEN_TEST lightning::ln::msgs::DecodedOnionErrorPacket test_msg ""
# Gossip messages need to use `test_msg_exact` to ensure that messages
# round-trip exactly when doing signature validation.
GEN_TEST lightning::ln::msgs::ChannelAnnouncement test_msg_exact ""
GEN_TEST lightning::ln::msgs::NodeAnnouncement test_msg_exact ""
GEN_TEST lightning::ln::msgs::ChannelUpdate test_msg_exact ""
GEN_TEST lightning::ln::msgs::QueryShortChannelIds test_msg ""
GEN_TEST lightning::ln::msgs::ReplyChannelRange test_msg ""
GEN_TEST lightning::ln::msgs::ErrorMessage test_msg_hole ", 32, 2"
GEN_TEST lightning::ln::msgs::WarningMessage test_msg_hole ", 32, 2"
GEN_TEST lightning::ln::msgs::ChannelUpdate test_msg_hole ", 108, 1"
GEN_TEST lightning::ln::channel_state::ChannelDetails test_msg_simple ""

View file

@ -25,11 +25,11 @@ pub mod msg_channel_reestablish;
pub mod msg_decoded_onion_error_packet;
pub mod msg_channel_announcement;
pub mod msg_node_announcement;
pub mod msg_channel_update;
pub mod msg_query_short_channel_ids;
pub mod msg_reply_channel_range;
pub mod msg_error_message;
pub mod msg_warning_message;
pub mod msg_channel_update;
pub mod msg_channel_details;
pub mod msg_open_channel_v2;
pub mod msg_accept_channel_v2;

View file

@ -17,11 +17,11 @@ use crate::utils::test_logger;
#[inline]
pub fn msg_channel_update_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
test_msg_hole!(lightning::ln::msgs::ChannelUpdate, data, 108, 1);
test_msg_exact!(lightning::ln::msgs::ChannelUpdate, data);
}
#[no_mangle]
pub extern "C" fn msg_channel_update_run(data: *const u8, datalen: usize) {
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
test_msg_hole!(lightning::ln::msgs::ChannelUpdate, data, 108, 1);
test_msg_exact!(lightning::ln::msgs::ChannelUpdate, data);
}