cvs: php-src /ext/soap php_http.c php_sdl.c soap.c
| From: | Dmitry Stogov | 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;