multi: add ability to read warning messages and log on link level

Warning messages are intended to add "softer" failure modes for peers,
so to start with we simply log the warnings sent to us. While we "may"
disconnect from the peer according to the spec, we start with the least
extreme option (which is also not a change in behavior because
previously we'd just log that we received an unknown odd message).
This commit is contained in:
Carla Kirk-Cohen
2022-05-16 12:19:07 -04:00
parent f5ef4992e0
commit 99828b8ebb
2 changed files with 14 additions and 0 deletions

View File

@ -1996,6 +1996,13 @@ func (l *channelLink) handleUpstreamMsg(msg lnwire.Message) {
// Update the mailbox's feerate as well.
l.mailBox.SetFeeRate(fee)
// In the case where we receive a warning message from our peer, just
// log it and move on. We choose not to disconnect from our peer,
// although we "MAY" do so according to the specification.
case *lnwire.Warning:
l.log.Warnf("received warning message from peer: %v",
msg.Error.Error())
case *lnwire.Error:
// Error received from remote, MUST fail channel, but should
// only print the contents of the error message if all