Loading lib/socks.c +15 −16 Original line number Diff line number Diff line Loading @@ -370,8 +370,7 @@ CURLcode Curl_SOCKS5(const char *proxy_name, long timeout; bool socks5_resolve_local = (conn->proxytype == CURLPROXY_SOCKS5)?TRUE:FALSE; const size_t hostname_len = strlen(hostname); ssize_t packetsize = 0; int len; ssize_t len = 0, packetsize = 0; /* RFC1928 chapter 5 specifies max 255 chars for domain name in packet */ if(!socks5_resolve_local && hostname_len > 255) { Loading Loading @@ -474,14 +473,14 @@ CURLcode Curl_SOCKS5(const char *proxy_name, #endif else if(socksreq[1] == 2) { /* Needs user name and password */ size_t userlen, pwlen; size_t proxy_name_len, proxy_password_len; if(proxy_name && proxy_password) { userlen = strlen(proxy_name); pwlen = strlen(proxy_password); proxy_name_len = strlen(proxy_name); proxy_password_len = strlen(proxy_password); } else { userlen = 0; pwlen = 0; proxy_name_len = 0; proxy_password_len = 0; } /* username/password request looks like Loading @@ -493,14 +492,14 @@ CURLcode Curl_SOCKS5(const char *proxy_name, */ len = 0; socksreq[len++] = 1; /* username/pw subnegotiation version */ socksreq[len++] = (unsigned char) userlen; if(proxy_name && userlen) memcpy(socksreq + len, proxy_name, userlen); len += (int)userlen; socksreq[len++] = (unsigned char) pwlen; if(proxy_password && pwlen) memcpy(socksreq + len, proxy_password, pwlen); len += (int)pwlen; socksreq[len++] = (unsigned char) proxy_name_len; if(proxy_name && proxy_name_len) memcpy(socksreq + len, proxy_name, proxy_name_len); len += proxy_name_len; socksreq[len++] = (unsigned char) proxy_password_len; if(proxy_password && proxy_password_len) memcpy(socksreq + len, proxy_password, proxy_password_len); len += proxy_password_len; code = Curl_write_plain(conn, sock, (char *)socksreq, len, &written); if((code != CURLE_OK) || (len != written)) { Loading Loading @@ -563,7 +562,7 @@ CURLcode Curl_SOCKS5(const char *proxy_name, socksreq[len++] = 3; /* ATYP: domain name = 3 */ socksreq[len++] = (char) hostname_len; /* address length */ memcpy(&socksreq[len], hostname, hostname_len); /* address str w/o NULL */ len += (int)hostname_len; len += hostname_len; } else { struct Curl_dns_entry *dns; Loading Loading
lib/socks.c +15 −16 Original line number Diff line number Diff line Loading @@ -370,8 +370,7 @@ CURLcode Curl_SOCKS5(const char *proxy_name, long timeout; bool socks5_resolve_local = (conn->proxytype == CURLPROXY_SOCKS5)?TRUE:FALSE; const size_t hostname_len = strlen(hostname); ssize_t packetsize = 0; int len; ssize_t len = 0, packetsize = 0; /* RFC1928 chapter 5 specifies max 255 chars for domain name in packet */ if(!socks5_resolve_local && hostname_len > 255) { Loading Loading @@ -474,14 +473,14 @@ CURLcode Curl_SOCKS5(const char *proxy_name, #endif else if(socksreq[1] == 2) { /* Needs user name and password */ size_t userlen, pwlen; size_t proxy_name_len, proxy_password_len; if(proxy_name && proxy_password) { userlen = strlen(proxy_name); pwlen = strlen(proxy_password); proxy_name_len = strlen(proxy_name); proxy_password_len = strlen(proxy_password); } else { userlen = 0; pwlen = 0; proxy_name_len = 0; proxy_password_len = 0; } /* username/password request looks like Loading @@ -493,14 +492,14 @@ CURLcode Curl_SOCKS5(const char *proxy_name, */ len = 0; socksreq[len++] = 1; /* username/pw subnegotiation version */ socksreq[len++] = (unsigned char) userlen; if(proxy_name && userlen) memcpy(socksreq + len, proxy_name, userlen); len += (int)userlen; socksreq[len++] = (unsigned char) pwlen; if(proxy_password && pwlen) memcpy(socksreq + len, proxy_password, pwlen); len += (int)pwlen; socksreq[len++] = (unsigned char) proxy_name_len; if(proxy_name && proxy_name_len) memcpy(socksreq + len, proxy_name, proxy_name_len); len += proxy_name_len; socksreq[len++] = (unsigned char) proxy_password_len; if(proxy_password && proxy_password_len) memcpy(socksreq + len, proxy_password, proxy_password_len); len += proxy_password_len; code = Curl_write_plain(conn, sock, (char *)socksreq, len, &written); if((code != CURLE_OK) || (len != written)) { Loading Loading @@ -563,7 +562,7 @@ CURLcode Curl_SOCKS5(const char *proxy_name, socksreq[len++] = 3; /* ATYP: domain name = 3 */ socksreq[len++] = (char) hostname_len; /* address length */ memcpy(&socksreq[len], hostname, hostname_len); /* address str w/o NULL */ len += (int)hostname_len; len += hostname_len; } else { struct Curl_dns_entry *dns; Loading