cvs: php-src(PHP_5_0) /ext/soap php_http.c soap.c

From: Date: Thu, 20 Jan 2005 06:13:54 +0000
Subject: cvs: php-src(PHP_5_0) /ext/soap php_http.c soap.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-30017@lists.php.net to get a copy of this message
dmitry Thu Jan 20 01:13:54 2005 EDT Modified files: (Branch: PHP_5_0) /php-src/ext/soap php_http.c soap.c Log: Support for HTTPS with digital certificates. http://cvs.php.net/diff.php/php-src/ext/soap/php_http.c?r1=1.55.2.5&r2=1.55.2.6&ty=u Index: php-src/ext/soap/php_http.c diff -u php-src/ext/soap/php_http.c:1.55.2.5 php-src/ext/soap/php_http.c:1.55.2.6 --- php-src/ext/soap/php_http.c:1.55.2.5 Wed Dec 1 13:22:24 2004 +++ php-src/ext/soap/php_http.c Thu Jan 20 01:13:53 2005 @@ -17,7 +17,7 @@ | Dmitry Stogov <dmitry@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: php_http.c,v 1.55.2.5 2004/12/01 18:22:24 dmitry Exp $ */ +/* $Id: php_http.c,v 1.55.2.6 2005/01/20 06:13:53 dmitry Exp $ */ #include "php_soap.h" #include "ext/standard/base64.h" @@ -84,6 +84,7 @@ zval **proxy_host, **proxy_port; char *host; #ifdef ZEND_ENGINE_2 + php_stream_context *context = NULL; char *name; long namelen; #endif @@ -107,12 +108,26 @@ #ifdef ZEND_ENGINE_2 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) { + context = php_stream_context_alloc(); + 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, NULL /*persistent_id*/, NULL /*timeout*/, - NULL, NULL, NULL); + context, + NULL, NULL); efree(name); #else stream = php_stream_sock_open_host(host, port, SOCK_STREAM, NULL, NULL); http://cvs.php.net/diff.php/php-src/ext/soap/soap.c?r1=1.110.2.14&r2=1.110.2.15&ty=u Index: php-src/ext/soap/soap.c diff -u php-src/ext/soap/soap.c:1.110.2.14 php-src/ext/soap/soap.c:1.110.2.15 --- php-src/ext/soap/soap.c:1.110.2.14 Tue Dec 14 08:58:18 2004 +++ php-src/ext/soap/soap.c Thu Jan 20 01:13:53 2005 @@ -17,7 +17,7 @@ | Dmitry Stogov <dmitry@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: soap.c,v 1.110.2.14 2004/12/14 13:58:18 dmitry Exp $ */ +/* $Id: soap.c,v 1.110.2.15 2005/01/20 06:13:53 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -1967,6 +1967,14 @@ } } } + 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 (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); + } + } if (zend_hash_find(ht, "trace", sizeof("trace"), (void**)&tmp) == SUCCESS && (Z_TYPE_PP(tmp) == IS_BOOL || Z_TYPE_PP(tmp) == IS_LONG) && Z_LVAL_PP(tmp) == 1) {

« previous php.cvs (#30017) next »