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;
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);
/* 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)))) {
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);