From: Dmitry Stogov Date: Mon, 5 Mar 2012 12:59:01 +0000 (+0000) Subject: Fixed bug #60887 (SoapClient ignores user_agent option and sends no User-Agent header) X-Git-Tag: PHP-5.4.1-RC1~80 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f05886dbcb8446c2f3da39445a97ec2278f9f8e6;p=php Fixed bug #60887 (SoapClient ignores user_agent option and sends no User-Agent header) --- diff --git a/NEWS b/NEWS index 638c4e7826..8708b1abd8 100644 --- a/NEWS +++ b/NEWS @@ -38,6 +38,10 @@ PHP NEWS - mbstring: . MFH mb_ereg_replace_callback() for security enhancements. (Rui) +- SOAP + . Fixed bug #60887 (SoapClient ignores user_agent option and sends no + User-Agent header). (carloschilazo at gmail dot com) + - Phar . Fixed bug #61184 (Phar::webPhar() generates headers with trailing NUL bytes). (Nikita Popov) diff --git a/ext/soap/php_sdl.c b/ext/soap/php_sdl.c index 961dcf29e6..eeedc510f1 100644 --- a/ext/soap/php_sdl.c +++ b/ext/soap/php_sdl.c @@ -3259,6 +3259,13 @@ sdlPtr get_sdl(zval *this_ptr, char *uri, long cache_wsdl TSRMLS_DC) context = php_stream_context_alloc(TSRMLS_C); } + if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_user_agent", sizeof("_user_agent"), (void **) &tmp) == SUCCESS && + Z_TYPE_PP(tmp) == IS_STRING && Z_STRLEN_PP(tmp) > 0) { + smart_str_appends(&headers, "User-Agent: "); + smart_str_appends(&headers, Z_STRVAL_PP(tmp)); + smart_str_appends(&headers, "\r\n"); + } + if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_proxy_host", sizeof("_proxy_host"), (void **) &proxy_host) == SUCCESS && Z_TYPE_PP(proxy_host) == IS_STRING && zend_hash_find(Z_OBJPROP_P(this_ptr), "_proxy_port", sizeof("_proxy_port"), (void **) &proxy_port) == SUCCESS &&