]> Sergey Matveev's repositories - btrtrc.git/commitdiff
dht: Handle bad responses to get_peers
authorMatt Joiner <anacrolix@gmail.com>
Thu, 29 Oct 2015 14:18:29 +0000 (01:18 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Thu, 29 Oct 2015 14:18:29 +0000 (01:18 +1100)
dht/dht.go

index bea3f8ddfe9f1e3fa0c0401e47068a480e51d676..d650aa8186daed60d478bfcde3a51540c97d49a5 100644 (file)
@@ -944,7 +944,9 @@ func (s *Server) getPeers(addr dHTAddr, infoHash string) (t *Transaction, err er
        }
        t, err = s.query(addr, "get_peers", map[string]interface{}{"info_hash": infoHash}, func(m Msg) {
                s.liftNodes(m)
-               s.getNode(addr, m.SenderID()).announceToken = m.R.Token
+               if m.R != nil && m.R.Token != "" {
+                       s.getNode(addr, m.SenderID()).announceToken = m.R.Token
+               }
        })
        return
 }