]> git.bitcoin.ninja Git - rust-lightning/commitdiff
Use `test_msg_exact` in `channl_update` fuzz testing
authorMatt Corallo <git@bluematt.me>
Tue, 25 Jun 2024 16:33:47 +0000 (16:33 +0000)
committerMatt Corallo <git@bluematt.me>
Mon, 1 Jul 2024 23:46:34 +0000 (23:46 +0000)
Gossip messages should always use `test_msg_exact` to ensure they
round-trip during signature validation.

fuzz/src/msg_targets/gen_target.sh
fuzz/src/msg_targets/mod.rs
fuzz/src/msg_targets/msg_channel_update.rs

index 05997c07573f8c4fcc57a6f7f38e32c4f87eb10c..71c3d895ba2fabfcea029abc1175ee8e42eec974 100755 (executable)
@@ -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 ""
 
index 15750a9a5b140a3402f5a8ee7b1c412be5c51428..16721fa627a763683a279b031da36c52e397c937 100644 (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;
index 358305b9dae2eff6629ded0a345b6f102e5fa8ee..4dc8c140345e2c21b13b0390751123c28adb8dce 100644 (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);
 }