Skip to content

Commit 4741731

Browse files
committed
rustfmt: fuzz/src/offer_deser.rs
1 parent b9c52f6 commit 4741731

File tree

3 files changed

+88
-45
lines changed

3 files changed

+88
-45
lines changed

fuzz/src/onion_hop_data.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,25 @@ use lightning::util::test_utils;
1515

1616
#[inline]
1717
pub fn onion_hop_data_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
18-
use lightning::util::ser::ReadableArgs;
1918
use bitcoin::secp256k1::PublicKey;
19+
use lightning::util::ser::ReadableArgs;
2020
let mut r = ::std::io::Cursor::new(data);
2121
let node_signer = test_utils::TestNodeSigner::new(test_utils::privkey(42));
22-
let _ = <lightning::ln::msgs::InboundOnionPayload as ReadableArgs<(Option<PublicKey>, &&test_utils::TestNodeSigner)>>::read(&mut r, (None, &&node_signer));
22+
let _ = <lightning::ln::msgs::InboundOnionPayload as ReadableArgs<(
23+
Option<PublicKey>,
24+
&&test_utils::TestNodeSigner,
25+
)>>::read(&mut r, (None, &&node_signer));
2326
}
2427

2528
#[no_mangle]
2629
pub extern "C" fn onion_hop_data_run(data: *const u8, datalen: usize) {
27-
use lightning::util::ser::ReadableArgs;
2830
use bitcoin::secp256k1::PublicKey;
31+
use lightning::util::ser::ReadableArgs;
2932
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
3033
let mut r = ::std::io::Cursor::new(data);
3134
let node_signer = test_utils::TestNodeSigner::new(test_utils::privkey(42));
32-
let _ = <lightning::ln::msgs::InboundOnionPayload as ReadableArgs<(Option<PublicKey>, &&test_utils::TestNodeSigner)>>::read(&mut r, (None, &&node_signer));
35+
let _ = <lightning::ln::msgs::InboundOnionPayload as ReadableArgs<(
36+
Option<PublicKey>,
37+
&&test_utils::TestNodeSigner,
38+
)>>::read(&mut r, (None, &&node_signer));
3339
}

fuzz/src/onion_message.rs

Lines changed: 78 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
11
// Imports that need to be added manually
22
use bech32::u5;
33
use bitcoin::blockdata::script::ScriptBuf;
4-
use bitcoin::secp256k1::{PublicKey, Scalar, Secp256k1, SecretKey, self};
54
use bitcoin::secp256k1::ecdh::SharedSecret;
65
use bitcoin::secp256k1::ecdsa::RecoverableSignature;
76
use bitcoin::secp256k1::schnorr;
7+
use bitcoin::secp256k1::{self, PublicKey, Scalar, Secp256k1, SecretKey};
88

99
use lightning::blinded_path::{BlindedPath, EmptyNodeIdLookUp};
1010
use lightning::ln::features::InitFeatures;
1111
use lightning::ln::msgs::{self, DecodeError, OnionMessageHandler};
1212
use lightning::ln::script::ShutdownScript;
1313
use lightning::offers::invoice::UnsignedBolt12Invoice;
1414
use lightning::offers::invoice_request::UnsignedInvoiceRequest;
15-
use lightning::sign::{Recipient, KeyMaterial, EntropySource, NodeSigner, SignerProvider};
16-
use lightning::util::test_channel_signer::TestChannelSigner;
17-
use lightning::util::logger::Logger;
18-
use lightning::util::ser::{Readable, Writeable, Writer};
19-
use lightning::onion_message::messenger::{CustomOnionMessageHandler, Destination, MessageRouter, OnionMessagePath, OnionMessenger, PendingOnionMessage, Responder, ResponseInstruction};
15+
use lightning::onion_message::messenger::{
16+
CustomOnionMessageHandler, Destination, MessageRouter, OnionMessagePath, OnionMessenger,
17+
PendingOnionMessage, Responder, ResponseInstruction,
18+
};
2019
use lightning::onion_message::offers::{OffersMessage, OffersMessageHandler};
2120
use lightning::onion_message::packet::OnionMessageContents;
21+
use lightning::sign::{EntropySource, KeyMaterial, NodeSigner, Recipient, SignerProvider};
22+
use lightning::util::logger::Logger;
23+
use lightning::util::ser::{Readable, Writeable, Writer};
24+
use lightning::util::test_channel_signer::TestChannelSigner;
2225

2326
use crate::utils::test_logger;
2427

@@ -32,17 +35,19 @@ pub fn do_test<L: Logger>(data: &[u8], logger: &L) {
3235
let mut secret_bytes = [1; 32];
3336
secret_bytes[31] = 2;
3437
let secret = SecretKey::from_slice(&secret_bytes).unwrap();
35-
let keys_manager = KeyProvider {
36-
node_secret: secret,
37-
counter: AtomicU64::new(0),
38-
};
38+
let keys_manager = KeyProvider { node_secret: secret, counter: AtomicU64::new(0) };
3939
let node_id_lookup = EmptyNodeIdLookUp {};
4040
let message_router = TestMessageRouter {};
4141
let offers_msg_handler = TestOffersMessageHandler {};
4242
let custom_msg_handler = TestCustomMessageHandler {};
4343
let onion_messenger = OnionMessenger::new(
44-
&keys_manager, &keys_manager, logger, &node_id_lookup, &message_router,
45-
&offers_msg_handler, &custom_msg_handler
44+
&keys_manager,
45+
&keys_manager,
46+
logger,
47+
&node_id_lookup,
48+
&message_router,
49+
&offers_msg_handler,
50+
&custom_msg_handler,
4651
);
4752

4853
let peer_node_id = {
@@ -78,13 +83,9 @@ struct TestMessageRouter {}
7883

7984
impl MessageRouter for TestMessageRouter {
8085
fn find_path(
81-
&self, _sender: PublicKey, _peers: Vec<PublicKey>, destination: Destination
86+
&self, _sender: PublicKey, _peers: Vec<PublicKey>, destination: Destination,
8287
) -> Result<OnionMessagePath, ()> {
83-
Ok(OnionMessagePath {
84-
intermediate_nodes: vec![],
85-
destination,
86-
first_node_addresses: None,
87-
})
88+
Ok(OnionMessagePath { intermediate_nodes: vec![], destination, first_node_addresses: None })
8889
}
8990

9091
fn create_blinded_paths<T: secp256k1::Signing + secp256k1::Verification>(
@@ -97,7 +98,9 @@ impl MessageRouter for TestMessageRouter {
9798
struct TestOffersMessageHandler {}
9899

99100
impl OffersMessageHandler for TestOffersMessageHandler {
100-
fn handle_message(&self, _message: OffersMessage, _responder: Option<Responder>) -> ResponseInstruction<OffersMessage> {
101+
fn handle_message(
102+
&self, _message: OffersMessage, _responder: Option<Responder>,
103+
) -> ResponseInstruction<OffersMessage> {
101104
ResponseInstruction::NoResponse
102105
}
103106
}
@@ -127,16 +130,20 @@ struct TestCustomMessageHandler {}
127130

128131
impl CustomOnionMessageHandler for TestCustomMessageHandler {
129132
type CustomMessage = TestCustomMessage;
130-
fn handle_custom_message(&self, message: Self::CustomMessage, responder: Option<Responder>) -> ResponseInstruction<Self::CustomMessage> {
133+
fn handle_custom_message(
134+
&self, message: Self::CustomMessage, responder: Option<Responder>,
135+
) -> ResponseInstruction<Self::CustomMessage> {
131136
match responder {
132137
Some(responder) => responder.respond(message),
133-
None => ResponseInstruction::NoResponse
138+
None => ResponseInstruction::NoResponse,
134139
}
135140
}
136-
fn read_custom_message<R: io::Read>(&self, _message_type: u64, buffer: &mut R) -> Result<Option<Self::CustomMessage>, msgs::DecodeError> {
141+
fn read_custom_message<R: io::Read>(
142+
&self, _message_type: u64, buffer: &mut R,
143+
) -> Result<Option<Self::CustomMessage>, msgs::DecodeError> {
137144
let mut buf = Vec::new();
138145
buffer.read_to_end(&mut buf)?;
139-
return Ok(Some(TestCustomMessage {}))
146+
return Ok(Some(TestCustomMessage {}));
140147
}
141148
fn release_pending_custom_messages(&self) -> Vec<PendingOnionMessage<Self::CustomMessage>> {
142149
vec![]
@@ -158,39 +165,48 @@ struct KeyProvider {
158165
impl EntropySource for KeyProvider {
159166
fn get_secure_random_bytes(&self) -> [u8; 32] {
160167
let ctr = self.counter.fetch_add(1, Ordering::Relaxed);
161-
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
162-
(ctr >> 8*7) as u8, (ctr >> 8*6) as u8, (ctr >> 8*5) as u8, (ctr >> 8*4) as u8, (ctr >> 8*3) as u8, (ctr >> 8*2) as u8, (ctr >> 8*1) as u8, 14, (ctr >> 8*0) as u8]
168+
#[rustfmt::skip]
169+
let random_bytes = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
170+
(ctr >> 8*7) as u8, (ctr >> 8*6) as u8, (ctr >> 8*5) as u8, (ctr >> 8*4) as u8,
171+
(ctr >> 8*3) as u8, (ctr >> 8*2) as u8, (ctr >> 8*1) as u8, 14, (ctr >> 8*0) as u8];
172+
random_bytes
163173
}
164174
}
165175

166176
impl NodeSigner for KeyProvider {
167177
fn get_node_id(&self, recipient: Recipient) -> Result<PublicKey, ()> {
168178
let node_secret = match recipient {
169179
Recipient::Node => Ok(&self.node_secret),
170-
Recipient::PhantomNode => Err(())
180+
Recipient::PhantomNode => Err(()),
171181
}?;
172182
Ok(PublicKey::from_secret_key(&Secp256k1::signing_only(), node_secret))
173183
}
174184

175-
fn ecdh(&self, recipient: Recipient, other_key: &PublicKey, tweak: Option<&Scalar>) -> Result<SharedSecret, ()> {
185+
fn ecdh(
186+
&self, recipient: Recipient, other_key: &PublicKey, tweak: Option<&Scalar>,
187+
) -> Result<SharedSecret, ()> {
176188
let mut node_secret = match recipient {
177189
Recipient::Node => Ok(self.node_secret.clone()),
178-
Recipient::PhantomNode => Err(())
190+
Recipient::PhantomNode => Err(()),
179191
}?;
180192
if let Some(tweak) = tweak {
181193
node_secret = node_secret.mul_tweak(tweak).map_err(|_| ())?;
182194
}
183195
Ok(SharedSecret::new(other_key, &node_secret))
184196
}
185197

186-
fn get_inbound_payment_key_material(&self) -> KeyMaterial { unreachable!() }
198+
fn get_inbound_payment_key_material(&self) -> KeyMaterial {
199+
unreachable!()
200+
}
187201

188-
fn sign_invoice(&self, _hrp_bytes: &[u8], _invoice_data: &[u5], _recipient: Recipient) -> Result<RecoverableSignature, ()> {
202+
fn sign_invoice(
203+
&self, _hrp_bytes: &[u8], _invoice_data: &[u5], _recipient: Recipient,
204+
) -> Result<RecoverableSignature, ()> {
189205
unreachable!()
190206
}
191207

192208
fn sign_bolt12_invoice_request(
193-
&self, _invoice_request: &UnsignedInvoiceRequest
209+
&self, _invoice_request: &UnsignedInvoiceRequest,
194210
) -> Result<schnorr::Signature, ()> {
195211
unreachable!()
196212
}
@@ -201,7 +217,9 @@ impl NodeSigner for KeyProvider {
201217
unreachable!()
202218
}
203219

204-
fn sign_gossip_message(&self, _msg: lightning::ln::msgs::UnsignedGossipMessage) -> Result<bitcoin::secp256k1::ecdsa::Signature, ()> {
220+
fn sign_gossip_message(
221+
&self, _msg: lightning::ln::msgs::UnsignedGossipMessage,
222+
) -> Result<bitcoin::secp256k1::ecdsa::Signature, ()> {
205223
unreachable!()
206224
}
207225
}
@@ -211,17 +229,29 @@ impl SignerProvider for KeyProvider {
211229
#[cfg(taproot)]
212230
type TaprootSigner = TestChannelSigner;
213231

214-
fn generate_channel_keys_id(&self, _inbound: bool, _channel_value_satoshis: u64, _user_channel_id: u128) -> [u8; 32] { unreachable!() }
232+
fn generate_channel_keys_id(
233+
&self, _inbound: bool, _channel_value_satoshis: u64, _user_channel_id: u128,
234+
) -> [u8; 32] {
235+
unreachable!()
236+
}
215237

216-
fn derive_channel_signer(&self, _channel_value_satoshis: u64, _channel_keys_id: [u8; 32]) -> Self::EcdsaSigner {
238+
fn derive_channel_signer(
239+
&self, _channel_value_satoshis: u64, _channel_keys_id: [u8; 32],
240+
) -> Self::EcdsaSigner {
217241
unreachable!()
218242
}
219243

220-
fn read_chan_signer(&self, _data: &[u8]) -> Result<TestChannelSigner, DecodeError> { unreachable!() }
244+
fn read_chan_signer(&self, _data: &[u8]) -> Result<TestChannelSigner, DecodeError> {
245+
unreachable!()
246+
}
221247

222-
fn get_destination_script(&self, _channel_keys_id: [u8; 32]) -> Result<ScriptBuf, ()> { unreachable!() }
248+
fn get_destination_script(&self, _channel_keys_id: [u8; 32]) -> Result<ScriptBuf, ()> {
249+
unreachable!()
250+
}
223251

224-
fn get_shutdown_scriptpubkey(&self) -> Result<ShutdownScript, ()> { unreachable!() }
252+
fn get_shutdown_scriptpubkey(&self) -> Result<ShutdownScript, ()> {
253+
unreachable!()
254+
}
225255
}
226256

227257
#[cfg(test)]
@@ -237,8 +267,17 @@ mod tests {
237267
}
238268
impl Logger for TrackingLogger {
239269
fn log(&self, record: Record) {
240-
*self.lines.lock().unwrap().entry((record.module_path.to_string(), format!("{}", record.args))).or_insert(0) += 1;
241-
println!("{:<5} [{} : {}, {}] {}", record.level.to_string(), record.module_path, record.file, record.line, record.args);
270+
let mut lines_lock = self.lines.lock().unwrap();
271+
let key = (record.module_path.to_string(), format!("{}", record.args));
272+
*lines_lock.entry(key).or_insert(0) += 1;
273+
println!(
274+
"{:<5} [{} : {}, {}] {}",
275+
record.level.to_string(),
276+
record.module_path,
277+
record.file,
278+
record.line,
279+
record.args
280+
);
242281
}
243282
}
244283

rustfmt_excluded_files

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
./fuzz/src/chanmon_consistency.rs
33
./fuzz/src/full_stack.rs
44
./fuzz/src/offer_deser.rs
5-
./fuzz/src/onion_hop_data.rs
6-
./fuzz/src/onion_message.rs
75
./fuzz/src/peer_crypt.rs
86
./fuzz/src/process_network_graph.rs
97
./fuzz/src/refund_deser.rs

0 commit comments

Comments
 (0)