Skip to content

#119 squashed #170

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Sep 12, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions fuzz/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,11 @@ path = "fuzz_targets/chanmon_deser_target.rs"
# message fuzz targets
[[bin]]
name = "msg_ping_target"
path = "fuzz_targets/msg_ping_target.rs"
path = "fuzz_targets/msg_targets/msg_ping_target.rs"

[[bin]]
name = "msg_pong_target"
path = "fuzz_targets/msg_pong_target.rs"
path = "fuzz_targets/msg_targets/msg_pong_target.rs"

[[bin]]
name = "msg_error_message_target"
Expand Down
26 changes: 9 additions & 17 deletions fuzz/fuzz_targets/channel_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@ use bitcoin::network::serialize::{serialize, BitcoinHash};
use lightning::ln::channel::{Channel, ChannelKeys};
use lightning::ln::channelmanager::{HTLCFailReason, PendingHTLCStatus};
use lightning::ln::msgs;
use lightning::ln::msgs::{MsgDecodable, ErrorAction};
use lightning::ln::msgs::{ErrorAction};
use lightning::chain::chaininterface::{FeeEstimator, ConfirmationTarget};
use lightning::chain::transaction::OutPoint;
use lightning::util::reset_rng_state;
use lightning::util::logger::Logger;
use lightning::util::ser::{Readable, Reader};

mod utils;

Expand Down Expand Up @@ -119,8 +120,9 @@ pub fn do_test(data: &[u8]) {
}

macro_rules! decode_msg {
($MsgType: path, $len: expr) => {
match <($MsgType)>::decode(get_slice!($len)) {
($MsgType: path, $len: expr) => {{
let mut reader = Reader::new(::std::io::Cursor::new(get_slice!($len)));
match <($MsgType)>::read(&mut reader) {
Ok(msg) => msg,
Err(e) => match e {
msgs::DecodeError::UnknownRealmByte => return,
Expand All @@ -131,9 +133,11 @@ pub fn do_test(data: &[u8]) {
msgs::DecodeError::ExtraAddressesPerType => return,
msgs::DecodeError::BadLengthDescriptor => return,
msgs::DecodeError::ShortRead => panic!("We picked the length..."),
msgs::DecodeError::InvalidValue => panic!("Should not happen with p2p message decoding"),
msgs::DecodeError::Io(e) => panic!(format!("{}", e)),
}
}
}
}}
}

macro_rules! decode_msg_with_len16 {
Expand All @@ -143,19 +147,7 @@ pub fn do_test(data: &[u8]) {
Some(slice) => slice,
None => return,
}[$begin_len..$begin_len + 2]);
match <($MsgType)>::decode(get_slice!($begin_len as usize + 2 + (extra_len as usize)*$factor)) {
Ok(msg) => msg,
Err(e) => match e {
msgs::DecodeError::UnknownRealmByte => return,
msgs::DecodeError::UnknownRequiredFeature => return,
msgs::DecodeError::BadPublicKey => return,
msgs::DecodeError::BadSignature => return,
msgs::DecodeError::BadText => return,
msgs::DecodeError::ExtraAddressesPerType => return,
msgs::DecodeError::BadLengthDescriptor => return,
msgs::DecodeError::ShortRead => panic!("We picked the length..."),
}
}
decode_msg!($MsgType, $begin_len as usize + 2 + (extra_len as usize)*$factor)
}
}
}
Expand Down
3 changes: 3 additions & 0 deletions fuzz/fuzz_targets/msg_targets/gen_target.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,6 @@ GEN_TEST NodeAnnouncement test_msg_exact ""
GEN_TEST UpdateAddHTLC test_msg_hole ", 85, 33"
GEN_TEST ErrorMessage test_msg_hole ", 32, 2"
GEN_TEST OnionHopData test_msg_hole ", 1+8+8+4, 12"

GEN_TEST Ping test_msg_simple ""
GEN_TEST Pong test_msg_simple ""
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_accept_channel_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_channel_update_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_closing_signed_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_commitment_signed_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_error_message_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_funding_created_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_funding_locked_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_funding_signed_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_init_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_node_announcement_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_onion_hop_data_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_open_channel_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,15 @@

extern crate lightning;

use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable, Ping};
mod utils;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
if let Ok(msg) = Ping::decode(data) {
let _ = msg.encode();
}
test_msg_simple!(msgs::Ping, data);
}

#[cfg(feature = "afl")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,15 @@

extern crate lightning;

use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable, Pong};
mod utils;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
if let Ok(msg) = Pong::decode(data) {
let _ = msg.encode();
}
test_msg_simple!(msgs::Pong, data);
}

#[cfg(feature = "afl")]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_revoke_and_ack_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_shutdown_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_target_template.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_update_add_htlc_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_update_fail_htlc_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_update_fee_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ extern crate lightning;
use lightning::ln::msgs;
use lightning::util::reset_rng_state;

use lightning::ln::msgs::{MsgEncodable, MsgDecodable};

mod utils;

#[inline]
Expand Down
Loading