Skip to content

Commit 2358ca7

Browse files
committed
fuzz: Add upgrade/downgrade simulation to chanmon_consistency and fix chacha20 build
1 parent cb951b4 commit 2358ca7

2 files changed

Lines changed: 17 additions & 1 deletion

File tree

fuzz/src/chanmon_consistency.rs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -953,6 +953,15 @@ pub fn do_test<Out: Output + MaybeSend + MaybeSync>(
953953
}};
954954
}
955955

956+
let append_dummy_tlv = |ser: Vec<u8>, dummy_type: u64| -> Vec<u8> {
957+
use lightning::util::ser::BigSize;
958+
let mut writer = VecWriter(ser);
959+
BigSize(dummy_type).write(&mut writer).unwrap();
960+
BigSize(4).write(&mut writer).unwrap();
961+
writer.0.extend_from_slice(&[0xde, 0xad, 0xbe, 0xef]);
962+
writer.0
963+
};
964+
956965
let reload_node = |ser: &Vec<u8>,
957966
node_id: u8,
958967
old_monitors: &TestChainMonitor,
@@ -1034,8 +1043,13 @@ pub fn do_test<Out: Output + MaybeSend + MaybeSync>(
10341043
channel_monitors: monitor_refs,
10351044
};
10361045

1046+
let mut modified_ser = ser.clone();
1047+
if use_old_mons % 2 == 0 {
1048+
modified_ser = append_dummy_tlv(modified_ser, 0xBADF00D1);
1049+
}
1050+
10371051
let manager =
1038-
<(BlockHash, ChanMan)>::read(&mut &ser[..], read_args).expect("Failed to read manager");
1052+
<(BlockHash, ChanMan)>::read(&mut &modified_ser[..], read_args).expect("Failed to read manager");
10391053
let res = (manager.1, chain_monitor.clone());
10401054
for (channel_id, mon) in monitors.drain() {
10411055
assert_eq!(

lightning/src/crypto/chacha20.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,8 @@ mod fuzzy_chacha {
334334
}
335335

336336
pub fn process_in_place(&mut self, _input_output: &mut [u8]) {}
337+
338+
pub fn seek_to_block(&mut self, _block_offset: u32) {}
337339
}
338340
}
339341
#[cfg(fuzzing)]

0 commit comments

Comments
 (0)