http->sendit = Curl_getFormData(data->httppost, &http->postsize);
}
- if(!checkheaders(data, "Host:") &&
- !conn->allocptr.host) {
- /* if ptr_host is already set, it is OK since we only re-use connections
- to the very same host and port */
+ if(!checkheaders(data, "Host:")) {
+ /* if ptr_host is already set, it is almost OK since we only re-use
+ connections to the very same host and port, but when we use a HTTP
+ proxy we have a persistant connect and yet we must change the Host:
+ header! */
+
+ if(conn->allocptr.host)
+ free(conn->allocptr.host);
if(((conn->protocol&PROT_HTTPS) && (conn->remote_port == PORT_HTTPS)) ||
(!(conn->protocol&PROT_HTTPS) && (conn->remote_port == PORT_HTTP)) )