]> Sergey Matveev's repositories - btrtrc.git/blobdiff - torrent.go
chore: unnecessary use of fmt.Sprintf
[btrtrc.git] / torrent.go
index a2b85a4d474c044addfb827e0624b7ae9e68add8..5f6ddf394e5684282bf4a520f7e9c5583aba6256 100644 (file)
@@ -1718,10 +1718,9 @@ func (t *Torrent) startScrapingTracker(_url string) {
        }
        u, err := url.Parse(_url)
        if err != nil {
-               // URLs with a leading '*' appear to be a uTorrent convention to
-               // disable trackers.
+               // URLs with a leading '*' appear to be a uTorrent convention to disable trackers.
                if _url[0] != '*' {
-                       log.Str("error parsing tracker url").AddValues("url", _url).Log(t.logger)
+                       t.logger.Levelf(log.Warning, "error parsing tracker url: %v", err)
                }
                return
        }
@@ -2189,7 +2188,7 @@ func (t *Torrent) pieceHashed(piece pieceIndex, passed bool, hashIoErr error) {
                        if len(bannableTouchers) >= 1 {
                                c := bannableTouchers[0]
                                if len(bannableTouchers) != 1 {
-                                       t.logger.Levelf(log.Warning, "would have banned %v for touching piece %v after failed piece check", c.remoteIp(), piece)
+                                       t.logger.Levelf(log.Debug, "would have banned %v for touching piece %v after failed piece check", c.remoteIp(), piece)
                                } else {
                                        // Turns out it's still useful to ban peers like this because if there's only a
                                        // single peer for a piece, and we never progress that piece to completion, we
@@ -2825,7 +2824,14 @@ func (t *Torrent) handleReceivedUtHolepunchMsg(msg utHolepunch.Msg, sender *Peer
                }
                return nil
        case utHolepunch.Connect:
-               t.logger.Printf("got holepunch connect request for %v from %p", msg.AddrPort, sender)
+               holepunchAddr := msg.AddrPort
+               t.logger.Printf("got holepunch connect request for %v from %p", holepunchAddr, sender)
+               if g.MapContains(t.cl.undialableWithoutHolepunch, holepunchAddr) {
+                       setAdd(&t.cl.undialableWithoutHolepunchDialedAfterHolepunchConnect, holepunchAddr)
+                       if g.MapContains(t.cl.accepted, holepunchAddr) {
+                               setAdd(&t.cl.probablyOnlyConnectedDueToHolepunch, holepunchAddr)
+                       }
+               }
                opts := outgoingConnOpts{
                        peerInfo: PeerInfo{
                                Addr:         msg.AddrPort,