Skip to content

Commit 162b81f

Browse files
committed
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.
1 parent dc3f826 commit 162b81f

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

fuzz/src/msg_targets/gen_target.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,17 @@ GEN_TEST lightning::ln::msgs::ChannelReestablish test_msg_simple ""
3939

4040
GEN_TEST lightning::ln::msgs::DecodedOnionErrorPacket test_msg ""
4141

42+
# Gossip messages need to use `test_msg_exact` to ensure that messages
43+
# round-trip exactly when doing signature validation.
4244
GEN_TEST lightning::ln::msgs::ChannelAnnouncement test_msg_exact ""
4345
GEN_TEST lightning::ln::msgs::NodeAnnouncement test_msg_exact ""
46+
GEN_TEST lightning::ln::msgs::ChannelUpdate test_msg_exact ""
47+
4448
GEN_TEST lightning::ln::msgs::QueryShortChannelIds test_msg ""
4549
GEN_TEST lightning::ln::msgs::ReplyChannelRange test_msg ""
4650

4751
GEN_TEST lightning::ln::msgs::ErrorMessage test_msg_hole ", 32, 2"
4852
GEN_TEST lightning::ln::msgs::WarningMessage test_msg_hole ", 32, 2"
49-
GEN_TEST lightning::ln::msgs::ChannelUpdate test_msg_hole ", 108, 1"
5053

5154
GEN_TEST lightning::ln::channel_state::ChannelDetails test_msg_simple ""
5255

fuzz/src/msg_targets/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ pub mod msg_channel_reestablish;
2525
pub mod msg_decoded_onion_error_packet;
2626
pub mod msg_channel_announcement;
2727
pub mod msg_node_announcement;
28+
pub mod msg_channel_update;
2829
pub mod msg_query_short_channel_ids;
2930
pub mod msg_reply_channel_range;
3031
pub mod msg_error_message;
3132
pub mod msg_warning_message;
32-
pub mod msg_channel_update;
3333
pub mod msg_channel_details;
3434
pub mod msg_open_channel_v2;
3535
pub mod msg_accept_channel_v2;

fuzz/src/msg_targets/msg_channel_update.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use crate::utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_channel_update_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg_hole!(lightning::ln::msgs::ChannelUpdate, data, 108, 1);
20+
test_msg_exact!(lightning::ln::msgs::ChannelUpdate, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_channel_update_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg_hole!(lightning::ln::msgs::ChannelUpdate, data, 108, 1);
26+
test_msg_exact!(lightning::ln::msgs::ChannelUpdate, data);
2727
}

0 commit comments

Comments
 (0)