From: Daniel Stenberg Date: Tue, 25 Jul 2000 07:31:35 +0000 (+0000) Subject: Added CURLOPT_PROXYPORT support X-Git-Tag: upstream/7.37.1~17734 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bb3fa8855c80bec0c6c72abf2772c0188dfe86d1;p=platform%2Fupstream%2Fcurl.git Added CURLOPT_PROXYPORT support Added a missing free() in curl_disconnect() Made (https) connect errors abort better and earlier --- diff --git a/lib/url.c b/lib/url.c index 4af9746..5194da0 100644 --- a/lib/url.c +++ b/lib/url.c @@ -431,11 +431,9 @@ CURLcode curl_setopt(CURL *curl, CURLoption option, ...) data->proxy = va_arg(param, char *); data->bits.httpproxy = data->proxy?1:0; break; -#if 0 - case CURLOPT_FLAGS: - conf_to_internal(data, va_arg(param, long)); + case CURLOPT_PROXYPORT: + data->proxyport = va_arg(param, long); break; -#endif case CURLOPT_TIMEOUT: data->timeout = va_arg(param, long); break; @@ -607,6 +605,8 @@ CURLcode curl_disconnect(CURLconnect *c_connect) struct UrlData *data = conn->data; + free(conn); /* free the connection oriented data */ + /* clean up the sockets and SSL stuff from the previous "round" */ urlfree(data, FALSE); @@ -1104,6 +1104,11 @@ CURLcode curl_connect(CURL *curl, CURLconnect **in_connect) /* now set the local port number */ data->port = atoi(prox_portno); } + else if(data->proxyport) { + /* None given in the proxy string, then get the default one if it is + given */ + data->port = data->proxyport; + } /* connect to proxy */ if(!(conn->hp = GetHost(data, proxyptr, hostent_buf, sizeof(hostent_buf)))) { @@ -1163,6 +1168,8 @@ CURLcode curl_connect(CURL *curl, CURLconnect **in_connect) if(conn->curl_connect) { /* is there a post-connect() procedure? */ result = conn->curl_connect(conn); + if(result != CURLE_OK) + return result; /* pass back errors */ } pgrsTime(data, TIMER_CONNECT);