dht/dht.go | 11 +++++++++-- diff --git a/dht/dht.go b/dht/dht.go index cd8f9e358c4e83fe7f79b21b0b4fe9637800cd89..6024bab360fddcbf27b54b97caf976ab434dc5b7 100644 --- a/dht/dht.go +++ b/dht/dht.go @@ -3,6 +3,7 @@ import ( "bitbucket.org/anacrolix/go.torrent/tracker" "bitbucket.org/anacrolix/go.torrent/util" + "bytes" "crypto" _ "crypto/sha1" "encoding/binary" @@ -140,7 +141,10 @@ } var d Msg err = bencode.Unmarshal(b[:n], &d) if err != nil { - log.Printf("%s: received bad krpc message: %s: %q", s, err, b[:n]) + // TODO: What are these messages? + if !bytes.HasPrefix(b[:], []byte("A\x00")) { + log.Printf("%s: received bad krpc message: %s: %q", s, err, b[:n]) + } continue } s.mu.Lock() @@ -230,7 +234,10 @@ s.reply(source, m["t"].(string), map[string]interface{}{ "nodes": string(nodesBytes), }) case "announce_peer": - log.Print(m) + // TODO(anacrolix): Implement this lolz. + // log.Print(m) + case "vote": + // TODO(anacrolix): Or reject, I don't think I want this. default: log.Printf("%s: not handling received query: q=%s", s, m["q"]) return