cvs: php-src /ext/soap php_http.c php_sdl.c soap.c

From: Date: Wed, 20 Jul 2005 10:21:49 +0000
Subject: cvs: php-src /ext/soap php_http.c php_sdl.c soap.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-33014@lists.php.net to get a copy of this message
dmitry Wed Jul 20 06:21:49 2005 EDT Modified files: /php-src/ext/soap php_http.c php_sdl.c soap.c Log: "_local_cert" and "_passphrase" properties moved into "_stream_context". As a result now it is possible to use certificates during access WSDL files. http://cvs.php.net/diff.php/php-src/ext/soap/php_http.c?r1=1.74&r2=1.75&ty=u Index: php-src/ext/soap/php_http.c diff -u php-src/ext/soap/php_http.c:1.74 php-src/ext/soap/php_http.c:1.75 --- php-src/ext/soap/php_http.c:1.74 Tue Jul 19 15:48:02 2005 +++ php-src/ext/soap/php_http.c Wed Jul 20 06:21:49 2005 @@ -17,7 +17,7 @@ | Dmitry Stogov <dmitry@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: php_http.c,v 1.74 2005/07/19 19:48:02 wez Exp $ */ +/* $Id: php_http.c,v 1.75 2005/07/20 10:21:49 dmitry Exp $ */ #include "php_soap.h" #include "ext/standard/base64.h" @@ -142,23 +142,10 @@ if (SUCCESS == zend_hash_find(Z_OBJPROP_P(this_ptr), "_stream_context", sizeof("_stream_context"), (void**)&tmp)) { context = php_stream_context_from_zval(*tmp, 0); - } else { - context = php_stream_context_alloc(); } namelen = spprintf(&name, 0, "%s://%s:%d", (use_ssl && !*use_proxy)? "ssl" : "tcp", host, port); - if (use_ssl) { - zval **tmp; - if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_local_cert", sizeof("_local_cert"), (void **) &tmp) == SUCCESS && - Z_TYPE_PP(tmp) == IS_STRING) { - php_stream_context_set_option(context, "ssl", "local_cert", *tmp); - if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_passphrase", sizeof("_passphrase"), (void **) &tmp) == SUCCESS && - Z_TYPE_PP(tmp) == IS_STRING) { - php_stream_context_set_option(context, "ssl", "passphrase", *tmp); - } - } - } stream = php_stream_xport_create(name, namelen, ENFORCE_SAFE_MODE | REPORT_ERRORS, STREAM_XPORT_CLIENT | STREAM_XPORT_CONNECT, http://cvs.php.net/diff.php/php-src/ext/soap/php_sdl.c?r1=1.85&r2=1.86&ty=u Index: php-src/ext/soap/php_sdl.c diff -u php-src/ext/soap/php_sdl.c:1.85 php-src/ext/soap/php_sdl.c:1.86 --- php-src/ext/soap/php_sdl.c:1.85 Fri Jul 8 05:36:28 2005 +++ php-src/ext/soap/php_sdl.c Wed Jul 20 06:21:49 2005 @@ -17,7 +17,7 @@ | Dmitry Stogov <dmitry@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: php_sdl.c,v 1.85 2005/07/08 09:36:28 dmitry Exp $ */ +/* $Id: php_sdl.c,v 1.86 2005/07/20 10:21:49 dmitry Exp $ */ #include "php_soap.h" #include "ext/libxml/php_libxml.h" @@ -2214,9 +2214,14 @@ char* old_error_code = SOAP_GLOBAL(error_code); int uri_len; php_stream_context *context=NULL; - zval **proxy_host, **proxy_port, *orig_context, *new_context; + zval **tmp, **proxy_host, **proxy_port, *orig_context, *new_context; smart_str headers = {0}; + if (SUCCESS == zend_hash_find(Z_OBJPROP_P(this_ptr), + "_stream_context", sizeof("_stream_context"), (void**)&tmp)) { + context = php_stream_context_from_zval(*tmp, 0); + } + 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 && @@ -2235,7 +2240,9 @@ ZVAL_STRING(str_proxy, proxy.c, 1); smart_str_free(&proxy); - context = php_stream_context_alloc(); + if (!context) { + context = php_stream_context_alloc(); + } php_stream_context_set_option(context, "http", "proxy", str_proxy); zval_ptr_dtor(&str_proxy); http://cvs.php.net/diff.php/php-src/ext/soap/soap.c?r1=1.154&r2=1.155&ty=u Index: php-src/ext/soap/soap.c diff -u php-src/ext/soap/soap.c:1.154 php-src/ext/soap/soap.c:1.155 --- php-src/ext/soap/soap.c:1.154 Tue Jul 19 15:48:02 2005 +++ php-src/ext/soap/soap.c Wed Jul 20 06:21:49 2005 @@ -17,7 +17,7 @@ | Dmitry Stogov <dmitry@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: soap.c,v 1.154 2005/07/19 19:48:02 wez Exp $ */ +/* $Id: soap.c,v 1.155 2005/07/20 10:21:49 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -2030,6 +2030,7 @@ zval *wsdl; zval *options = NULL; int soap_version = SOAP_1_1; + php_stream_context *context = NULL; SOAP_CLIENT_BEGIN_CODE(); @@ -2074,10 +2075,7 @@ if (zend_hash_find(ht, "stream_context", sizeof("stream_context"), (void**)&tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_RESOURCE) { - php_stream_context *context = php_stream_context_from_zval(*tmp, 1); - if (context) { - add_property_resource(this_ptr, "_stream_context", context->rsrc_id); - } + context = php_stream_context_from_zval(*tmp, 1); } if (zend_hash_find(ht, "location", sizeof("location"), (void**)&tmp) == SUCCESS && @@ -2125,10 +2123,13 @@ } if (zend_hash_find(ht, "local_cert", sizeof("local_cert"), (void**)&tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_STRING) { - add_property_stringl(this_ptr, "_local_cert", Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1); + if (!context) { + context = php_stream_context_alloc(); + } + php_stream_context_set_option(context, "ssl", "local_cert", *tmp); if (zend_hash_find(ht, "passphrase", sizeof("passphrase"), (void**)&tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_STRING) { - add_property_stringl(this_ptr, "_passphrase", Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1); + php_stream_context_set_option(context, "ssl", "passphrase", *tmp); } } if (zend_hash_find(ht, "trace", sizeof("trace"), (void**)&tmp) == SUCCESS && @@ -2181,6 +2182,11 @@ Z_TYPE_PP(tmp) == IS_LONG && Z_LVAL_PP(tmp) > 0) { add_property_long(this_ptr, "_connection_timeout", Z_LVAL_PP(tmp)); } + + if (context) { + add_property_resource(this_ptr, "_stream_context", context->rsrc_id); + } + } else if (wsdl == NULL) { php_error_docref(NULL TSRMLS_CC, E_ERROR, "'location' and 'uri' options are requred in nonWSDL mode"); return;

« previous php.cvs (#33014) next »