@@ -48,7 +48,7 @@ use lightning::onion_message::messenger::{Destination, MessageRouter, OnionMessa
48
48
use lightning:: routing:: gossip:: { P2PGossipSync , NetworkGraph } ;
49
49
use lightning:: routing:: utxo:: UtxoLookup ;
50
50
use lightning:: routing:: router:: { InFlightHtlcs , PaymentParameters , Route , RouteParameters , Router } ;
51
- use lightning:: util:: config:: UserConfig ;
51
+ use lightning:: util:: config:: { ChannelConfig , UserConfig } ;
52
52
use lightning:: util:: errors:: APIError ;
53
53
use lightning:: util:: test_channel_signer:: { TestChannelSigner , EnforcementState } ;
54
54
use lightning:: util:: logger:: Logger ;
@@ -104,6 +104,16 @@ impl InputData {
104
104
Some ( & self . data [ old_pos..old_pos + len] )
105
105
}
106
106
}
107
+ impl std:: io:: Read for & InputData {
108
+ fn read ( & mut self , buf : & mut [ u8 ] ) -> std:: io:: Result < usize > {
109
+ if let Some ( sl) = self . get_slice ( buf. len ( ) ) {
110
+ buf. copy_from_slice ( sl) ;
111
+ Ok ( buf. len ( ) )
112
+ } else {
113
+ Ok ( 0 )
114
+ }
115
+ }
116
+ }
107
117
108
118
struct FuzzEstimator {
109
119
input : Arc < InputData > ,
@@ -758,6 +768,16 @@ pub fn do_test(mut data: &[u8], logger: &Arc<dyn Logger>) {
758
768
}
759
769
}
760
770
}
771
+ 35 => {
772
+ let config: ChannelConfig =
773
+ if let Ok ( c) = Readable :: read ( & mut & * input) { c } else { return ; } ;
774
+ let chans = channelmanager. list_channels ( ) ;
775
+ if let Some ( chan) = chans. get ( 0 ) {
776
+ let _ = channelmanager. update_channel_config (
777
+ & chan. counterparty . node_id , & [ chan. channel_id ] , & config
778
+ ) ;
779
+ }
780
+ }
761
781
_ => return ,
762
782
}
763
783
loss_detector. handler . process_events ( ) ;
0 commit comments