|
|
@@ -539,9 +539,9 @@ static CURLproxycode do_SOCKS5(struct Curl_cfilter *cf,
|
|
|
|
|
|
/* RFC1928 chapter 5 specifies max 255 chars for domain name in packet */
|
|
|
if(!socks5_resolve_local && hostname_len > 255) {
|
|
|
- infof(data, "SOCKS5: server resolving disabled for hostnames of "
|
|
|
- "length > 255 [actual len=%zu]", hostname_len);
|
|
|
- socks5_resolve_local = TRUE;
|
|
|
+ failf(data, "SOCKS5: the destination hostname is too long to be "
|
|
|
+ "resolved remotely by the proxy.");
|
|
|
+ return CURLPX_LONG_HOSTNAME;
|
|
|
}
|
|
|
|
|
|
if(auth & ~(CURLAUTH_BASIC | CURLAUTH_GSSAPI))
|
|
|
@@ -882,7 +882,7 @@ static CURLproxycode do_SOCKS5(struct Curl_cfilter *cf,
|
|
|
}
|
|
|
else {
|
|
|
socksreq[len++] = 3;
|
|
|
- socksreq[len++] = (char) hostname_len; /* one byte address length */
|
|
|
+ socksreq[len++] = (unsigned char) hostname_len; /* one byte length */
|
|
|
memcpy(&socksreq[len], sx->hostname, hostname_len); /* w/o NULL */
|
|
|
len += hostname_len;
|
|
|
}
|