From: Matt Joiner Date: Fri, 16 Dec 2022 04:39:02 +0000 (+1100) Subject: Use port from announce request, not packet source X-Git-Tag: v1.49.0~7^2~13 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=3371522119dc054841c5ad783fafbdf0c69ad28d;p=btrtrc.git Use port from announce request, not packet source --- diff --git a/tracker/server.go b/tracker/server.go index 6ef4ec4e..22f54da5 100644 --- a/tracker/server.go +++ b/tracker/server.go @@ -3,6 +3,7 @@ package tracker import ( "context" "encoding/hex" + "fmt" "net/netip" "sync" "time" @@ -123,8 +124,12 @@ func (me *AnnounceHandler) Serve( } }() + if req.Port != 0 { + addr = netip.AddrPortFrom(addr.Addr(), req.Port) + } ret.Err = me.AnnounceTracker.TrackAnnounce(ctx, req, addr) if ret.Err != nil { + ret.Err = fmt.Errorf("tracking announce: %w", ret.Err) return } infoHash := req.InfoHash