tracker/server.go | 5 +++++ diff --git a/tracker/server.go b/tracker/server.go index 6ef4ec4eec3266190ef85bb55e31a5d77a149faf..22f54da512734356a196c09c30d6d3bbce075f88 100644 --- a/tracker/server.go +++ b/tracker/server.go @@ -3,6 +3,7 @@ import ( "context" "encoding/hex" + "fmt" "net/netip" "sync" "time" @@ -123,8 +124,12 @@ span.SetStatus(codes.Error, ret.Err.Error()) } }() + 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