peer_protocol/protocol.go | 5 +++++ peerconn.go | 2 ++ diff --git a/peer_protocol/protocol.go b/peer_protocol/protocol.go index bfeb6a0448873da8b3fdc96dd133520da0c8d360..2f92ab324d2315abd7b8d483767a9b0c1080ab70 100644 --- a/peer_protocol/protocol.go +++ b/peer_protocol/protocol.go @@ -41,6 +41,11 @@ AllowedFast MessageType = 0x11 // 17 // BEP 10 Extended MessageType = 20 + + // BEP 52 + HashRequest = 21 + Hashes = 22 + HashReject = 23 ) const ( diff --git a/peerconn.go b/peerconn.go index a1e98b1282ac040780c8df05aadaf3bb42226ccc..ded9b483e5f5eaccdc0e24e5480788c93cf55443 100644 --- a/peerconn.go +++ b/peerconn.go @@ -862,6 +862,8 @@ log.Fmsg("peer allowed fast: %d", msg.Index).AddValues(c).LogLevel(log.Debug, c.t.logger) 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) }