From 1fd47d6748161c5c915c24fd7528e9d4add24319 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Tue, 27 Feb 2024 23:31:43 +1100 Subject: [PATCH] Warn on unhandled v2 protocol messages --- peer_protocol/protocol.go | 5 +++++ peerconn.go | 2 ++ 2 files changed, 7 insertions(+) diff --git a/peer_protocol/protocol.go b/peer_protocol/protocol.go index bfeb6a04..2f92ab32 100644 --- a/peer_protocol/protocol.go +++ b/peer_protocol/protocol.go @@ -41,6 +41,11 @@ const ( // BEP 10 Extended MessageType = 20 + + // BEP 52 + HashRequest = 21 + Hashes = 22 + HashReject = 23 ) const ( diff --git a/peerconn.go b/peerconn.go index a1e98b12..ded9b483 100644 --- a/peerconn.go +++ b/peerconn.go @@ -862,6 +862,8 @@ func (c *PeerConn) mainReadLoop() (err error) { c.updateRequests("PeerConn.mainReadLoop allowed fast") case pp.Extended: err = c.onReadExtendedMsg(msg.ExtendedID, msg.ExtendedPayload) + case pp.HashRequest, pp.Hashes, pp.HashReject: + err = log.WithLevel(log.Warning, fmt.Errorf("received unimplemented BitTorrent v2 message: %v", msg.Type)) default: err = fmt.Errorf("received unknown message type: %#v", msg.Type) } -- 2.44.0