Commit b820e40f authored by Marc Hoersken's avatar Marc Hoersken
Browse files

socks.c: display the hostname returned by the SOCKS5 proxy server

Instead of displaying the requested hostname the one returned
by the SOCKS5 proxy server is used in case of connection error.
The requested hostname is displayed earlier in the connection sequence.

The upper-value of the port is moved to a temporary variable and
replaced with a 0-byte to make sure the hostname is 0-terminated.
parent 670802bd
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -734,12 +734,15 @@ CURLcode Curl_SOCKS5(const char *proxy_name,
            (unsigned char)socksreq[1]);
    }
    else if(socksreq[3] == 3) {
      unsigned char port_upper = (unsigned char)socksreq[len - 2];
      socksreq[len - 2] = 0;
      failf(data,
            "Can't complete SOCKS5 connection to %s:%d. (%d)",
            hostname,
            (((unsigned char)socksreq[len - 2] << 8) |
            (char *)&socksreq[5],
            ((port_upper << 8) |
             (unsigned char)socksreq[len - 1]),
            (unsigned char)socksreq[1]);
      socksreq[len - 2] = port_upper;
    }
    else if(socksreq[3] == 4) {
      failf(data,