Skip to content

Commit cd8f1de

Browse files
authored
Merge pull request #353 from TheBlueMatt/2019-07-no-rand
Make rand a dev-dependency
2 parents ef3e9dd + bf7eeb1 commit cd8f1de

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+178
-273
lines changed

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ rust:
33
- stable
44
- beta
55
- 1.22.0
6-
- 1.29.2
6+
- 1.34.2
77
cache: cargo
88

99
before_install:
@@ -13,5 +13,5 @@ before_install:
1313
script:
1414
- cargo build --verbose
1515
- cargo test --verbose
16-
- if [ "$(rustup show | grep default | grep 1.29.2)" != "" ]; then cd fuzz && cargo test --verbose && ./travis-fuzz.sh; fi
16+
- if [ "$(rustup show | grep default | grep 1.34.2)" != "" ]; then cd fuzz && cargo test --verbose && ./travis-fuzz.sh; fi
1717
- if [ "$(rustup show | grep default | grep stable)" != "" ]; then cd net-tokio && cargo build --verbose; fi

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ max_level_debug = []
2424
[dependencies]
2525
bitcoin = "0.18"
2626
bitcoin_hashes = "0.3"
27-
rand = "0.4"
2827
secp256k1 = "0.12"
2928

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

3433
[dev-dependencies]
3534
hex = "0.3"
35+
rand = "0.4"
3636

3737
[profile.dev]
3838
opt-level = 1

fuzz/fuzz_targets/chanmon_deser_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ extern crate lightning;
88
use bitcoin_hashes::sha256d::Hash as Sha256dHash;
99

1010
use lightning::ln::channelmonitor;
11-
use lightning::util::reset_rng_state;
1211
use lightning::util::ser::{ReadableArgs, Writer};
1312

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

3130
#[inline]
3231
pub fn do_test(data: &[u8]) {
33-
reset_rng_state();
3432
let logger = Arc::new(test_logger::TestLogger::new("".to_owned()));
3533
if let Ok((latest_block_hash, monitor)) = <(Sha256dHash, channelmonitor::ChannelMonitor)>::read(&mut Cursor::new(data), logger.clone()) {
3634
let mut w = VecWriter(Vec::new());

fuzz/fuzz_targets/chanmon_fail_consistency.rs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ use lightning::ln::channelmonitor::{ChannelMonitorUpdateErr, HTLCUpdate};
3737
use lightning::ln::channelmanager::{ChannelManager, PaymentHash, PaymentPreimage};
3838
use lightning::ln::router::{Route, RouteHop};
3939
use lightning::ln::msgs::{CommitmentUpdate, ChannelMessageHandler, ErrorAction, HandleError, UpdateAddHTLC, LocalFeatures};
40-
use lightning::util::{reset_rng_state, fill_bytes, events};
40+
use lightning::util::events;
4141
use lightning::util::logger::Logger;
4242
use lightning::util::config::UserConfig;
4343
use lightning::util::events::{EventsProvider, MessageSendEventsProvider};
@@ -52,6 +52,7 @@ use secp256k1::Secp256k1;
5252
use std::cmp::Ordering;
5353
use std::collections::HashSet;
5454
use std::sync::{Arc,Mutex};
55+
use std::sync::atomic;
5556
use std::io::Cursor;
5657

5758
struct FuzzEstimator {}
@@ -91,6 +92,8 @@ impl channelmonitor::ManyChannelMonitor for TestChannelMonitor {
9192

9293
struct KeyProvider {
9394
node_id: u8,
95+
session_id: atomic::AtomicU8,
96+
channel_id: atomic::AtomicU8,
9497
}
9598
impl KeysInterface for KeyProvider {
9699
fn get_node_secret(&self) -> SecretKey {
@@ -121,22 +124,18 @@ impl KeysInterface for KeyProvider {
121124
}
122125

123126
fn get_session_key(&self) -> SecretKey {
124-
let mut session_key = [0; 32];
125-
fill_bytes(&mut session_key);
126-
SecretKey::from_slice(&session_key).unwrap()
127+
let id = self.session_id.fetch_add(1, atomic::Ordering::Relaxed);
128+
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()
127129
}
128130

129131
fn get_channel_id(&self) -> [u8; 32] {
130-
let mut channel_id = [0; 32];
131-
fill_bytes(&mut channel_id);
132-
channel_id
132+
let id = self.channel_id.fetch_add(1, atomic::Ordering::Relaxed);
133+
[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]
133134
}
134135
}
135136

136137
#[inline]
137138
pub fn do_test(data: &[u8]) {
138-
reset_rng_state();
139-
140139
let fee_est = Arc::new(FuzzEstimator{});
141140
let broadcast = Arc::new(TestBroadcaster{});
142141

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

149-
let keys_manager = Arc::new(KeyProvider { node_id: $node_id });
148+
let keys_manager = Arc::new(KeyProvider { node_id: $node_id, session_id: atomic::AtomicU8::new(0), channel_id: atomic::AtomicU8::new(0) });
150149
let mut config = UserConfig::new();
151150
config.channel_options.fee_proportional_millionths = 0;
152151
config.channel_options.announced_channel = true;

fuzz/fuzz_targets/full_stack_target.rs

Lines changed: 41 additions & 60 deletions
Large diffs are not rendered by default.

fuzz/fuzz_targets/msg_targets/msg_accept_channel_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg!(msgs::AcceptChannel, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_announcement_signatures_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg!(msgs::AnnouncementSignatures, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_channel_announcement_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg_exact!(msgs::ChannelAnnouncement, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_channel_reestablish_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg!(msgs::ChannelReestablish, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_channel_update_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg_exact!(msgs::ChannelUpdate, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_closing_signed_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg!(msgs::ClosingSigned, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_commitment_signed_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg!(msgs::CommitmentSigned, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_decoded_onion_error_packet_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg!(msgs::DecodedOnionErrorPacket, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_error_message_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg_hole!(msgs::ErrorMessage, data, 32, 2);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_funding_created_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg!(msgs::FundingCreated, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_funding_locked_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg!(msgs::FundingLocked, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_funding_signed_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg!(msgs::FundingSigned, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_init_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg!(msgs::Init, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_node_announcement_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg_exact!(msgs::NodeAnnouncement, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_onion_hop_data_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg_hole!(msgs::OnionHopData, data, 1+8+8+4, 12);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_open_channel_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg!(msgs::OpenChannel, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_ping_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg_simple!(msgs::Ping, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_pong_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg_simple!(msgs::Pong, data);
1614
}
1715

fuzz/fuzz_targets/msg_targets/msg_revoke_and_ack_target.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
extern crate lightning;
55

66
use lightning::ln::msgs;
7-
use lightning::util::reset_rng_state;
87

98
mod utils;
109
use utils::VecWriter;
1110

1211
#[inline]
1312
pub fn do_test(data: &[u8]) {
14-
reset_rng_state();
1513
test_msg!(msgs::RevokeAndACK, data);
1614
}
1715

0 commit comments

Comments
 (0)