Skip to content

Commit 801d6e5

Browse files
authored
Merge pull request #1068 from TheBlueMatt/2021-09-ser-cleanup
Simplify Message Serialization and Parse TLV Suffix
2 parents 831f124 + 997dc5f commit 801d6e5

30 files changed

+224
-345
lines changed

fuzz/src/chanmon_consistency.rs

-3
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,6 @@ impl Writer for VecWriter {
9494
self.0.extend_from_slice(buf);
9595
Ok(())
9696
}
97-
fn size_hint(&mut self, size: usize) {
98-
self.0.reserve_exact(size);
99-
}
10097
}
10198

10299
struct TestChainMonitor {

fuzz/src/chanmon_deser.rs

-3
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@ impl Writer for VecWriter {
1818
self.0.extend_from_slice(buf);
1919
Ok(())
2020
}
21-
fn size_hint(&mut self, size: usize) {
22-
self.0.reserve_exact(size);
23-
}
2421
}
2522

2623
#[inline]

fuzz/src/msg_targets/gen_target.sh

+23-23
Original file line numberDiff line numberDiff line change
@@ -11,36 +11,36 @@ echo "mod utils;" > mod.rs
1111

1212
# Note when adding new targets here you should add a similar line in src/bin/gen_target.sh
1313

14-
GEN_TEST AcceptChannel test_msg ""
15-
GEN_TEST AnnouncementSignatures test_msg ""
14+
GEN_TEST AcceptChannel test_msg_simple ""
15+
GEN_TEST AnnouncementSignatures test_msg_simple ""
16+
GEN_TEST ClosingSigned test_msg_simple ""
17+
GEN_TEST CommitmentSigned test_msg_simple ""
18+
GEN_TEST FundingCreated test_msg_simple ""
19+
GEN_TEST FundingLocked test_msg_simple ""
20+
GEN_TEST FundingSigned test_msg_simple ""
21+
GEN_TEST GossipTimestampFilter test_msg_simple ""
22+
GEN_TEST Init test_msg_simple ""
23+
GEN_TEST OnionHopData test_msg_simple ""
24+
GEN_TEST OpenChannel test_msg_simple ""
25+
GEN_TEST Ping test_msg_simple ""
26+
GEN_TEST Pong test_msg_simple ""
27+
GEN_TEST QueryChannelRange test_msg_simple ""
28+
GEN_TEST ReplyShortChannelIdsEnd test_msg_simple ""
29+
GEN_TEST RevokeAndACK test_msg_simple ""
30+
GEN_TEST Shutdown test_msg_simple ""
31+
GEN_TEST UpdateAddHTLC test_msg_simple ""
32+
GEN_TEST UpdateFailHTLC test_msg_simple ""
33+
GEN_TEST UpdateFailMalformedHTLC test_msg_simple ""
34+
GEN_TEST UpdateFee test_msg_simple ""
35+
GEN_TEST UpdateFulfillHTLC test_msg_simple ""
36+
1637
GEN_TEST ChannelReestablish test_msg ""
17-
GEN_TEST CommitmentSigned test_msg ""
1838
GEN_TEST DecodedOnionErrorPacket test_msg ""
19-
GEN_TEST FundingCreated test_msg ""
20-
GEN_TEST FundingLocked test_msg ""
21-
GEN_TEST FundingSigned test_msg ""
22-
GEN_TEST OpenChannel test_msg ""
23-
GEN_TEST RevokeAndACK test_msg ""
24-
GEN_TEST Shutdown test_msg ""
25-
GEN_TEST UpdateFailHTLC test_msg ""
26-
GEN_TEST UpdateFailMalformedHTLC test_msg ""
27-
GEN_TEST UpdateFee test_msg ""
28-
GEN_TEST UpdateFulfillHTLC test_msg ""
2939

3040
GEN_TEST ChannelAnnouncement test_msg_exact ""
3141
GEN_TEST NodeAnnouncement test_msg_exact ""
3242
GEN_TEST QueryShortChannelIds test_msg ""
33-
GEN_TEST ReplyShortChannelIdsEnd test_msg ""
34-
GEN_TEST QueryChannelRange test_msg ""
3543
GEN_TEST ReplyChannelRange test_msg ""
36-
GEN_TEST GossipTimestampFilter test_msg ""
3744

38-
GEN_TEST UpdateAddHTLC test_msg_hole ", 85, 33"
3945
GEN_TEST ErrorMessage test_msg_hole ", 32, 2"
4046
GEN_TEST ChannelUpdate test_msg_hole ", 108, 1"
41-
42-
GEN_TEST ClosingSigned test_msg_simple ""
43-
GEN_TEST Init test_msg_simple ""
44-
GEN_TEST OnionHopData test_msg_simple ""
45-
GEN_TEST Ping test_msg_simple ""
46-
GEN_TEST Pong test_msg_simple ""

fuzz/src/msg_targets/mod.rs

+11-11
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
mod utils;
22
pub mod msg_accept_channel;
33
pub mod msg_announcement_signatures;
4-
pub mod msg_channel_reestablish;
4+
pub mod msg_closing_signed;
55
pub mod msg_commitment_signed;
6-
pub mod msg_decoded_onion_error_packet;
76
pub mod msg_funding_created;
87
pub mod msg_funding_locked;
98
pub mod msg_funding_signed;
9+
pub mod msg_gossip_timestamp_filter;
10+
pub mod msg_init;
11+
pub mod msg_onion_hop_data;
1012
pub mod msg_open_channel;
13+
pub mod msg_ping;
14+
pub mod msg_pong;
15+
pub mod msg_query_channel_range;
16+
pub mod msg_reply_short_channel_ids_end;
1117
pub mod msg_revoke_and_ack;
1218
pub mod msg_shutdown;
19+
pub mod msg_update_add_htlc;
1320
pub mod msg_update_fail_htlc;
1421
pub mod msg_update_fail_malformed_htlc;
1522
pub mod msg_update_fee;
1623
pub mod msg_update_fulfill_htlc;
24+
pub mod msg_channel_reestablish;
25+
pub mod msg_decoded_onion_error_packet;
1726
pub mod msg_channel_announcement;
1827
pub mod msg_node_announcement;
1928
pub mod msg_query_short_channel_ids;
20-
pub mod msg_reply_short_channel_ids_end;
21-
pub mod msg_query_channel_range;
2229
pub mod msg_reply_channel_range;
23-
pub mod msg_gossip_timestamp_filter;
24-
pub mod msg_update_add_htlc;
2530
pub mod msg_error_message;
2631
pub mod msg_channel_update;
27-
pub mod msg_closing_signed;
28-
pub mod msg_init;
29-
pub mod msg_onion_hop_data;
30-
pub mod msg_ping;
31-
pub mod msg_pong;

fuzz/src/msg_targets/msg_accept_channel.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_accept_channel_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::AcceptChannel, data);
20+
test_msg_simple!(msgs::AcceptChannel, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_accept_channel_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::AcceptChannel, data);
26+
test_msg_simple!(msgs::AcceptChannel, data);
2727
}

fuzz/src/msg_targets/msg_announcement_signatures.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_announcement_signatures_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::AnnouncementSignatures, data);
20+
test_msg_simple!(msgs::AnnouncementSignatures, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_announcement_signatures_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::AnnouncementSignatures, data);
26+
test_msg_simple!(msgs::AnnouncementSignatures, data);
2727
}

fuzz/src/msg_targets/msg_commitment_signed.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_commitment_signed_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::CommitmentSigned, data);
20+
test_msg_simple!(msgs::CommitmentSigned, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_commitment_signed_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::CommitmentSigned, data);
26+
test_msg_simple!(msgs::CommitmentSigned, data);
2727
}

fuzz/src/msg_targets/msg_funding_created.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_funding_created_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::FundingCreated, data);
20+
test_msg_simple!(msgs::FundingCreated, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_funding_created_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::FundingCreated, data);
26+
test_msg_simple!(msgs::FundingCreated, data);
2727
}

fuzz/src/msg_targets/msg_funding_locked.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_funding_locked_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::FundingLocked, data);
20+
test_msg_simple!(msgs::FundingLocked, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_funding_locked_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::FundingLocked, data);
26+
test_msg_simple!(msgs::FundingLocked, data);
2727
}

fuzz/src/msg_targets/msg_funding_signed.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_funding_signed_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::FundingSigned, data);
20+
test_msg_simple!(msgs::FundingSigned, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_funding_signed_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::FundingSigned, data);
26+
test_msg_simple!(msgs::FundingSigned, data);
2727
}

fuzz/src/msg_targets/msg_gossip_timestamp_filter.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_gossip_timestamp_filter_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::GossipTimestampFilter, data);
20+
test_msg_simple!(msgs::GossipTimestampFilter, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_gossip_timestamp_filter_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::GossipTimestampFilter, data);
26+
test_msg_simple!(msgs::GossipTimestampFilter, data);
2727
}

fuzz/src/msg_targets/msg_open_channel.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_open_channel_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::OpenChannel, data);
20+
test_msg_simple!(msgs::OpenChannel, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_open_channel_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::OpenChannel, data);
26+
test_msg_simple!(msgs::OpenChannel, data);
2727
}

fuzz/src/msg_targets/msg_query_channel_range.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_query_channel_range_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::QueryChannelRange, data);
20+
test_msg_simple!(msgs::QueryChannelRange, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_query_channel_range_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::QueryChannelRange, data);
26+
test_msg_simple!(msgs::QueryChannelRange, data);
2727
}

fuzz/src/msg_targets/msg_reply_short_channel_ids_end.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_reply_short_channel_ids_end_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::ReplyShortChannelIdsEnd, data);
20+
test_msg_simple!(msgs::ReplyShortChannelIdsEnd, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_reply_short_channel_ids_end_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::ReplyShortChannelIdsEnd, data);
26+
test_msg_simple!(msgs::ReplyShortChannelIdsEnd, data);
2727
}

fuzz/src/msg_targets/msg_revoke_and_ack.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_revoke_and_ack_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::RevokeAndACK, data);
20+
test_msg_simple!(msgs::RevokeAndACK, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_revoke_and_ack_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::RevokeAndACK, data);
26+
test_msg_simple!(msgs::RevokeAndACK, data);
2727
}

fuzz/src/msg_targets/msg_shutdown.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_shutdown_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::Shutdown, data);
20+
test_msg_simple!(msgs::Shutdown, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_shutdown_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::Shutdown, data);
26+
test_msg_simple!(msgs::Shutdown, data);
2727
}

fuzz/src/msg_targets/msg_update_add_htlc.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_update_add_htlc_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg_hole!(msgs::UpdateAddHTLC, data, 85, 33);
20+
test_msg_simple!(msgs::UpdateAddHTLC, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_update_add_htlc_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg_hole!(msgs::UpdateAddHTLC, data, 85, 33);
26+
test_msg_simple!(msgs::UpdateAddHTLC, data);
2727
}

fuzz/src/msg_targets/msg_update_fail_htlc.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_update_fail_htlc_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::UpdateFailHTLC, data);
20+
test_msg_simple!(msgs::UpdateFailHTLC, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_update_fail_htlc_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::UpdateFailHTLC, data);
26+
test_msg_simple!(msgs::UpdateFailHTLC, data);
2727
}

fuzz/src/msg_targets/msg_update_fail_malformed_htlc.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_update_fail_malformed_htlc_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::UpdateFailMalformedHTLC, data);
20+
test_msg_simple!(msgs::UpdateFailMalformedHTLC, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_update_fail_malformed_htlc_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::UpdateFailMalformedHTLC, data);
26+
test_msg_simple!(msgs::UpdateFailMalformedHTLC, data);
2727
}

fuzz/src/msg_targets/msg_update_fee.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_update_fee_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::UpdateFee, data);
20+
test_msg_simple!(msgs::UpdateFee, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_update_fee_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::UpdateFee, data);
26+
test_msg_simple!(msgs::UpdateFee, data);
2727
}

fuzz/src/msg_targets/msg_update_fulfill_htlc.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use utils::test_logger;
1717

1818
#[inline]
1919
pub fn msg_update_fulfill_htlc_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::UpdateFulfillHTLC, data);
20+
test_msg_simple!(msgs::UpdateFulfillHTLC, data);
2121
}
2222

2323
#[no_mangle]
2424
pub extern "C" fn msg_update_fulfill_htlc_run(data: *const u8, datalen: usize) {
2525
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::UpdateFulfillHTLC, data);
26+
test_msg_simple!(msgs::UpdateFulfillHTLC, data);
2727
}

0 commit comments

Comments
 (0)