@@ -366,7 +366,9 @@ impl Channel {
366
366
if msg. push_msat > ( msg. funding_satoshis - msg. channel_reserve_satoshis ) * 1000 {
367
367
return Err ( HandleError { err : "push_msat more than highest possible value" , msg : None } ) ;
368
368
}
369
- //TODO Check if dust_limit is sane?
369
+ if msg. dust_limit_satoshis > 21000000 * 100000000 {
370
+ return Err ( HandleError { err : "Peer never wants payout outputs?" , msg : None } ) ;
371
+ }
370
372
if msg. max_htlc_value_in_flight_msat > msg. funding_satoshis * 1000 {
371
373
return Err ( HandleError { err : "Bogus max_htlc_value_in_flight_satoshis" , msg : None } ) ;
372
374
}
@@ -826,13 +828,15 @@ impl Channel {
826
828
827
829
pub fn accept_channel ( & mut self , msg : & msgs:: AcceptChannel ) -> Result < ( ) , HandleError > {
828
830
// Check sanity of message fields:
829
- //TODO Check if dust_limit is sane?
830
831
if !self . channel_outbound {
831
832
return Err ( HandleError { err : "Got an accept_channel message from an inbound peer" , msg : None } ) ;
832
833
}
833
834
if self . channel_state != ChannelState :: OurInitSent as u32 {
834
835
return Err ( HandleError { err : "Got an accept_channel message at a strange time" , msg : None } ) ;
835
836
}
837
+ if msg. dust_limit_satoshis > 21000000 * 100000000 {
838
+ return Err ( HandleError { err : "Peer never wants payout outputs?" , msg : None } ) ;
839
+ }
836
840
if msg. max_htlc_value_in_flight_msat > self . channel_value_satoshis * 1000 {
837
841
return Err ( HandleError { err : "Bogus max_htlc_value_in_flight_satoshis" , msg : None } ) ;
838
842
}
0 commit comments