summaryrefslogtreecommitdiff
path: root/ext/soap/php_http.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2010-10-05 11:43:59 +0000
committerDmitry Stogov <dmitry@php.net>2010-10-05 11:43:59 +0000
commit1b60eb8813d9c5bc3a5e742a5242d93901315492 (patch)
tree2fb0946645db16ee7f6511049c6a7c4d81662d55 /ext/soap/php_http.c
parent455db21e064e1fc43d1150a81a4d3dc96556f846 (diff)
downloadphp-git-1b60eb8813d9c5bc3a5e742a5242d93901315492.tar.gz
Fixed bug #44248 (RFC2616 transgression while HTTPS request through proxy with SoapClient object).
Diffstat (limited to 'ext/soap/php_http.c')
-rw-r--r--ext/soap/php_http.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ext/soap/php_http.c b/ext/soap/php_http.c
index d7dc4decfb..9bde91cbf0 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) {