From: Matt Joiner Date: Mon, 13 Aug 2018 10:27:42 +0000 (+1000) Subject: cmd/tracker-announce: Add a port flag X-Git-Tag: v1.0.0~44 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=3ae66f3693667fa2306706ef22ab43ed61e86f59;p=btrtrc.git cmd/tracker-announce: Add a port flag --- diff --git a/cmd/tracker-announce/main.go b/cmd/tracker-announce/main.go index a0085de7..f6bede88 100644 --- a/cmd/tracker-announce/main.go +++ b/cmd/tracker-announce/main.go @@ -30,13 +30,17 @@ func argSpec(arg string) (ts *torrent.TorrentSpec, err error) { func main() { flags := struct { + Port uint16 tagflag.StartPos Torrents []string `arity:"+"` - }{} + }{ + Port: 50007, + } tagflag.Parse(&flags) ar := tracker.AnnounceRequest{ NumWant: -1, Left: math.MaxUint64, + Port: flags.Port, } var wg sync.WaitGroup for _, arg := range flags.Torrents { diff --git a/tracker/http.go b/tracker/http.go index fbe17b69..2d580179 100644 --- a/tracker/http.go +++ b/tracker/http.go @@ -69,6 +69,7 @@ func setAnnounceParams(_url *url.URL, ar *AnnounceRequest, opts Announce) { q.Set("info_hash", string(ar.InfoHash[:])) q.Set("peer_id", string(ar.PeerId[:])) + // AFAICT, port is mandatory, and there's no implied port key. q.Set("port", fmt.Sprintf("%d", ar.Port)) q.Set("uploaded", strconv.FormatInt(ar.Uploaded, 10)) q.Set("downloaded", strconv.FormatInt(ar.Downloaded, 10))