diff options
author | Joe Watkins <krakjoe@php.net> | 2016-10-20 05:25:03 +0100 |
---|---|---|
committer | Joe Watkins <krakjoe@php.net> | 2016-10-20 05:25:03 +0100 |
commit | 0d768f74b604adb7d6f577c017d9422ff6c7691e (patch) | |
tree | 42ba9d3bdc50c97d678b958456332874aebc3a9d /ext/soap/php_http.c | |
parent | 03cd0f6b06f218fb60aba3898f9c29ab63a1680c (diff) | |
parent | 3b9ba6195db2c17147b0fed4af3398320967002f (diff) | |
download | php-git-0d768f74b604adb7d6f577c017d9422ff6c7691e.tar.gz |
Merge branch 'pull-request/2152'
Diffstat (limited to 'ext/soap/php_http.c')
-rw-r--r-- | ext/soap/php_http.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/soap/php_http.c b/ext/soap/php_http.c index dd87ec1214..7a6562c2e2 100644 --- a/ext/soap/php_http.c +++ b/ext/soap/php_http.c @@ -161,7 +161,7 @@ void http_context_headers(php_stream_context* context, static php_stream* http_connect(zval* this_ptr, php_url *phpurl, int use_ssl, php_stream_context *context, int *use_proxy) { php_stream *stream; - zval *proxy_host, *proxy_port, *tmp; + zval *proxy_host, *proxy_port, *tmp, ssl_proxy_peer_name; char *host; char *name; char *protocol; @@ -241,6 +241,13 @@ static php_stream* http_connect(zval* this_ptr, php_url *phpurl, int use_ssl, ph if (stream && *use_proxy && use_ssl) { smart_str soap_headers = {0}; + /* Set peer_name or name verification will try to use the proxy server name */ + if (!context || (tmp = php_stream_context_get_option(context, "ssl", "peer_name")) == NULL) { + ZVAL_STRING(&ssl_proxy_peer_name, phpurl->host); + php_stream_context_set_option(PHP_STREAM_CONTEXT(stream), "ssl", "peer_name", &ssl_proxy_peer_name); + zval_ptr_dtor(&ssl_proxy_peer_name); + } + smart_str_append_const(&soap_headers, "CONNECT "); smart_str_appends(&soap_headers, phpurl->host); smart_str_appendc(&soap_headers, ':'); |