From: Dmitry Stogov <dmitry@php.net>
Date: Tue, 5 Oct 2010 11:43:59 +0000 (+0000)
Subject: Fixed bug #44248 (RFC2616 transgression while HTTPS request through proxy with SoapCl... 
X-Git-Tag: php-5.4.0alpha1~191^2~828
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8dd1e05d6e0dbccea6e295a2e29fe09c7fcef571;p=php

Fixed bug #44248 (RFC2616 transgression while HTTPS request through proxy with SoapClient object).
---

diff --git a/ext/soap/php_http.c b/ext/soap/php_http.c
index f01a4541d0..e20b7b67f8 100644
--- a/ext/soap/php_http.c
+++ b/ext/soap/php_http.c
@@ -137,6 +137,13 @@ static php_stream* http_connect(zval* this_ptr, php_url *phpurl, int use_ssl, ph
 		smart_str_appendc(&soap_headers, ':');
 		smart_str_append_unsigned(&soap_headers, phpurl->port);
 		smart_str_append_const(&soap_headers, " HTTP/1.1\r\n");
+		smart_str_append_const(&soap_headers, "Host: ");
+		smart_str_appends(&soap_headers, phpurl->host);
+		if (phpurl->port != 80) {
+			smart_str_appendc(&soap_headers, ':');
+			smart_str_append_unsigned(&soap_headers, phpurl->port);
+		}
+		smart_str_append_const(&soap_headers, "\r\n");
 		proxy_authentication(this_ptr, &soap_headers TSRMLS_CC);
 		smart_str_append_const(&soap_headers, "\r\n");
 		if (php_stream_write(stream, soap_headers.c, soap_headers.len) != soap_headers.len) {