Skip to content

Make rand a dev-dependency #353

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 6 commits into from
Jul 23, 2019
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 .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ rust:
- stable
- beta
- 1.22.0
- 1.29.2
- 1.34.2
cache: cargo

before_install:
Expand All @@ -13,5 +13,5 @@ before_install:
script:
- cargo build --verbose
- cargo test --verbose
- if [ "$(rustup show | grep default | grep 1.29.2)" != "" ]; then cd fuzz && cargo test --verbose && ./travis-fuzz.sh; fi
- if [ "$(rustup show | grep default | grep 1.34.2)" != "" ]; then cd fuzz && cargo test --verbose && ./travis-fuzz.sh; fi
- if [ "$(rustup show | grep default | grep stable)" != "" ]; then cd net-tokio && cargo build --verbose; fi
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ max_level_debug = []
[dependencies]
bitcoin = "0.18"
bitcoin_hashes = "0.3"
rand = "0.4"
secp256k1 = "0.12"

[dev-dependencies.bitcoin]
Expand All @@ -33,6 +32,7 @@ features = ["bitcoinconsensus"]

[dev-dependencies]
hex = "0.3"
rand = "0.4"

[profile.dev]
opt-level = 1
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/chanmon_deser_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ extern crate lightning;
use bitcoin_hashes::sha256d::Hash as Sha256dHash;

use lightning::ln::channelmonitor;
use lightning::util::reset_rng_state;
use lightning::util::ser::{ReadableArgs, Writer};

mod utils;
Expand All @@ -30,7 +29,6 @@ impl Writer for VecWriter {

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
let logger = Arc::new(test_logger::TestLogger::new("".to_owned()));
if let Ok((latest_block_hash, monitor)) = <(Sha256dHash, channelmonitor::ChannelMonitor)>::read(&mut Cursor::new(data), logger.clone()) {
let mut w = VecWriter(Vec::new());
Expand Down
19 changes: 9 additions & 10 deletions fuzz/fuzz_targets/chanmon_fail_consistency.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ use lightning::ln::channelmonitor::{ChannelMonitorUpdateErr, HTLCUpdate};
use lightning::ln::channelmanager::{ChannelManager, PaymentHash, PaymentPreimage};
use lightning::ln::router::{Route, RouteHop};
use lightning::ln::msgs::{CommitmentUpdate, ChannelMessageHandler, ErrorAction, HandleError, UpdateAddHTLC, LocalFeatures};
use lightning::util::{reset_rng_state, fill_bytes, events};
use lightning::util::events;
use lightning::util::logger::Logger;
use lightning::util::config::UserConfig;
use lightning::util::events::{EventsProvider, MessageSendEventsProvider};
Expand All @@ -52,6 +52,7 @@ use secp256k1::Secp256k1;
use std::cmp::Ordering;
use std::collections::HashSet;
use std::sync::{Arc,Mutex};
use std::sync::atomic;
use std::io::Cursor;

struct FuzzEstimator {}
Expand Down Expand Up @@ -91,6 +92,8 @@ impl channelmonitor::ManyChannelMonitor for TestChannelMonitor {

struct KeyProvider {
node_id: u8,
session_id: atomic::AtomicU8,
channel_id: atomic::AtomicU8,
}
impl KeysInterface for KeyProvider {
fn get_node_secret(&self) -> SecretKey {
Expand Down Expand Up @@ -121,22 +124,18 @@ impl KeysInterface for KeyProvider {
}

fn get_session_key(&self) -> SecretKey {
let mut session_key = [0; 32];
fill_bytes(&mut session_key);
SecretKey::from_slice(&session_key).unwrap()
let id = self.session_id.fetch_add(1, atomic::Ordering::Relaxed);
SecretKey::from_slice(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, id, 10, self.node_id]).unwrap()
}

fn get_channel_id(&self) -> [u8; 32] {
let mut channel_id = [0; 32];
fill_bytes(&mut channel_id);
channel_id
let id = self.channel_id.fetch_add(1, atomic::Ordering::Relaxed);
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, id, 11, self.node_id]
}
}

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();

let fee_est = Arc::new(FuzzEstimator{});
let broadcast = Arc::new(TestBroadcaster{});

Expand All @@ -146,7 +145,7 @@ pub fn do_test(data: &[u8]) {
let watch = Arc::new(ChainWatchInterfaceUtil::new(Network::Bitcoin, Arc::clone(&logger)));
let monitor = Arc::new(TestChannelMonitor::new(watch.clone(), broadcast.clone(), logger.clone(), fee_est.clone()));

let keys_manager = Arc::new(KeyProvider { node_id: $node_id });
let keys_manager = Arc::new(KeyProvider { node_id: $node_id, session_id: atomic::AtomicU8::new(0), channel_id: atomic::AtomicU8::new(0) });
let mut config = UserConfig::new();
config.channel_options.fee_proportional_millionths = 0;
config.channel_options.announced_channel = true;
Expand Down
101 changes: 41 additions & 60 deletions fuzz/fuzz_targets/full_stack_target.rs

Large diffs are not rendered by default.

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 @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg!(msgs::AcceptChannel, data);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg!(msgs::AnnouncementSignatures, data);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg_exact!(msgs::ChannelAnnouncement, data);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg!(msgs::ChannelReestablish, data);
}

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 @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg_exact!(msgs::ChannelUpdate, data);
}

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 @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg!(msgs::ClosingSigned, data);
}

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 @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg!(msgs::CommitmentSigned, data);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg!(msgs::DecodedOnionErrorPacket, data);
}

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 @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg_hole!(msgs::ErrorMessage, data, 32, 2);
}

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 @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg!(msgs::FundingCreated, data);
}

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 @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg!(msgs::FundingLocked, data);
}

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 @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg!(msgs::FundingSigned, data);
}

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 @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg!(msgs::Init, data);
}

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 @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg_exact!(msgs::NodeAnnouncement, data);
}

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 @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg_hole!(msgs::OnionHopData, data, 1+8+8+4, 12);
}

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 @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg!(msgs::OpenChannel, data);
}

Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_ping_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg_simple!(msgs::Ping, data);
}

Expand Down
2 changes: 0 additions & 2 deletions fuzz/fuzz_targets/msg_targets/msg_pong_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg_simple!(msgs::Pong, data);
}

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 @@ -4,14 +4,12 @@
extern crate lightning;

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

mod utils;
use utils::VecWriter;

#[inline]
pub fn do_test(data: &[u8]) {
reset_rng_state();
test_msg!(msgs::RevokeAndACK, data);
}

Expand Down
Loading