fail channel when BADONION is not set.

This commit is contained in:
Yuntai Kyong 2018-11-05 21:10:17 +09:00
parent 0e098d4bab
commit 05b580e10b

View file

@ -2194,8 +2194,8 @@ impl ChannelManager {
//TODO: here and below MsgHandleErrInternal, #153 case //TODO: here and below MsgHandleErrInternal, #153 case
return Err(MsgHandleErrInternal::send_err_msg_no_close("Got a message for a channel from the wrong node!", msg.channel_id)); return Err(MsgHandleErrInternal::send_err_msg_no_close("Got a message for a channel from the wrong node!", msg.channel_id));
} }
if (msg.failure_code & 0x8000) != 0 { if (msg.failure_code & 0x8000) == 0 {
return Err(MsgHandleErrInternal::send_err_msg_close_chan("Got update_fail_malformed_htlc with BADONION set", msg.channel_id)); return Err(MsgHandleErrInternal::send_err_msg_close_chan("Got update_fail_malformed_htlc with BADONION not set", msg.channel_id));
} }
chan.update_fail_malformed_htlc(&msg, HTLCFailReason::Reason { failure_code: msg.failure_code, data: Vec::new() }) chan.update_fail_malformed_htlc(&msg, HTLCFailReason::Reason { failure_code: msg.failure_code, data: Vec::new() })
.map_err(|e| MsgHandleErrInternal::from_chan_maybe_close(e, msg.channel_id))?; .map_err(|e| MsgHandleErrInternal::from_chan_maybe_close(e, msg.channel_id))?;