Skip to content

Commit f65bce8

Browse files
committed
f update fuzz with new messages allowed
1 parent 0fed0c4 commit f65bce8

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

fuzz/src/chanmon_consistency.rs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,12 @@ pub fn do_test<Out: test_logger::Output>(data: &[u8], out: Out) {
571571
events::MessageSendEvent::SendFundingLocked { .. } => continue,
572572
events::MessageSendEvent::SendAnnouncementSignatures { .. } => continue,
573573
events::MessageSendEvent::PaymentFailureNetworkUpdate { .. } => continue,
574-
_ => panic!("Unhandled message event"),
574+
events::MessageSendEvent::SendChannelUpdate { ref node_id, ref msg } => {
575+
assert_eq!(msg.contents.flags & 2, 0); // The disable bit must never be set!
576+
if Some(*node_id) == expect_drop_id { panic!("peer_disconnected should drop msgs bound for the disconnected peer"); }
577+
*node_id == a_id
578+
},
579+
_ => panic!("Unhandled message event {:?}", event),
575580
};
576581
if push_a { ba_events.push(event); } else { bc_events.push(event); }
577582
}
@@ -692,7 +697,16 @@ pub fn do_test<Out: test_logger::Output>(data: &[u8], out: Out) {
692697
// Can be generated due to a payment forward being rejected due to a
693698
// channel having previously failed a monitor update
694699
},
695-
_ => panic!("Unhandled message event"),
700+
events::MessageSendEvent::SendChannelUpdate { ref msg, .. } => {
701+
// When we reconnect we will resend a channel_update to make sure our
702+
// counterparty has the latest parameters for receiving payments
703+
// through us. We do, however, check that the message does not include
704+
// the "disabled" bit, as we should never ever have a channel which is
705+
// disabled when we send such an update (or it may indicate channel
706+
// force-close which we should detect as an error).
707+
assert_eq!(msg.contents.flags & 2, 0);
708+
},
709+
_ => panic!("Unhandled message event {:?}", event),
696710
}
697711
if $limit_events != ProcessMessages::AllMessages {
698712
break;
@@ -722,6 +736,9 @@ pub fn do_test<Out: test_logger::Output>(data: &[u8], out: Out) {
722736
events::MessageSendEvent::SendFundingLocked { .. } => {},
723737
events::MessageSendEvent::SendAnnouncementSignatures { .. } => {},
724738
events::MessageSendEvent::PaymentFailureNetworkUpdate { .. } => {},
739+
events::MessageSendEvent::SendChannelUpdate { ref msg, .. } => {
740+
assert_eq!(msg.contents.flags & 2, 0); // The disable bit must never be set!
741+
},
725742
_ => panic!("Unhandled message event"),
726743
}
727744
}
@@ -737,6 +754,9 @@ pub fn do_test<Out: test_logger::Output>(data: &[u8], out: Out) {
737754
events::MessageSendEvent::SendFundingLocked { .. } => {},
738755
events::MessageSendEvent::SendAnnouncementSignatures { .. } => {},
739756
events::MessageSendEvent::PaymentFailureNetworkUpdate { .. } => {},
757+
events::MessageSendEvent::SendChannelUpdate { ref msg, .. } => {
758+
assert_eq!(msg.contents.flags & 2, 0); // The disable bit must never be set!
759+
},
740760
_ => panic!("Unhandled message event"),
741761
}
742762
}

0 commit comments

Comments
 (0)