From 979192cbfd1f7b422c3c5c46cc68fd7461f0bb2f Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Sun, 14 Sep 2014 03:59:31 +1000 Subject: [PATCH] Treat PORT messages with port of 0 to mean on the remote port --- client.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/client.go b/client.go index 66667e2b..406f5dde 100644 --- a/client.go +++ b/client.go @@ -964,7 +964,12 @@ func (me *Client) connectionLoop(t *torrent, c *connection) error { _, err = me.dHT.Ping(&net.UDPAddr{ IP: addr.IP, Zone: addr.Zone, - Port: int(msg.Port), + Port: func() int { + if msg.Port == 0 { + return addr.Port + } + return int(msg.Port) + }(), }) default: err = fmt.Errorf("received unknown message type: %#v", msg.Type) -- 2.48.1