commit c84e1a2e034bb3e2e454389cf9e8fd71d2d8d040 Author: David Fifield david@bamsoftware.com Date: Tue Oct 17 21:41:24 2017 -0700
Add a dummy port number to USERADDR.
Current versions of tor accept USERADDR with or without a port number, but future versions may become more strict and require the port number. https://bugs.torproject.org/23080 --- server/server.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/server/server.go b/server/server.go index 29e8137..3c97e06 100644 --- a/server/server.go +++ b/server/server.go @@ -130,12 +130,16 @@ func proxy(local *net.TCPConn, conn *webSocketConn) {
// Return an address string suitable to pass into pt.DialOr. func clientAddr(clientIPParam string) string { + if clientIPParam == "" { + return "" + } // Check if client addr is a valid IP clientIP := net.ParseIP(clientIPParam) if clientIP == nil { return "" } - return clientIPParam + // Add a dummy port number. USERADDR requires a port number. + return (&net.TCPAddr{IP: clientIP, Port: 1, Zone: ""}).String() }
func webSocketHandler(ws *websocket.WebSocket) {