dmitry Mon Aug 1 07:38:02 2005 EDT
Modified files:
/php-src/ext/soap php_http.c php_xml.c
Log:
Allow SOAP work when allow_url_fopen is turned off.
http://cvs.php.net/diff.php/php-src/ext/soap/php_http.c?r1=1.75&r2=1.76&ty=u
Index: php-src/ext/soap/php_http.c
diff -u php-src/ext/soap/php_http.c:1.75 php-src/ext/soap/php_http.c:1.76
--- php-src/ext/soap/php_http.c:1.75 Wed Jul 20 06:21:49 2005
+++ php-src/ext/soap/php_http.c Mon Aug 1 07:38:01 2005
@@ -17,7 +17,7 @@
| Dmitry Stogov <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_http.c,v 1.75 2005/07/20 10:21:49 dmitry Exp $ */
+/* $Id: php_http.c,v 1.76 2005/08/01 11:38:01 dmitry Exp $ */
#include "php_soap.h"
#include "ext/standard/base64.h"
@@ -234,6 +234,7 @@
int http_status;
int content_type_xml = 0;
char *content_encoding;
+ zend_bool old_allow_url_fopen;
if (this_ptr == NULL || Z_TYPE_P(this_ptr) != IS_OBJECT) {
return FALSE;
@@ -315,10 +316,14 @@
add_soap_fault(this_ptr, "HTTP", "Unknown protocol. Only http
and https are allowed.", NULL, NULL TSRMLS_CC);
return FALSE;
}
+
+ old_allow_url_fopen = PG(allow_url_fopen);
+ PG(allow_url_fopen) = 1;
if (use_ssl && php_stream_locate_url_wrapper("https://", NULL,
STREAM_LOCATE_WRAPPERS_ONLY TSRMLS_CC) == NULL) {
php_url_free(phpurl);
if (request != buf) {efree(request);}
- add_soap_fault(this_ptr, "HTTP", "SSL support not available in
this build", NULL, NULL TSRMLS_CC);
+ add_soap_fault(this_ptr, "HTTP", "SSL support is not available
in this build", NULL, NULL TSRMLS_CC);
+ PG(allow_url_fopen) = old_allow_url_fopen;
return FALSE;
}
@@ -367,9 +372,11 @@
php_url_free(phpurl);
if (request != buf) {efree(request);}
add_soap_fault(this_ptr, "HTTP", "Could not connect to
host", NULL, NULL TSRMLS_CC);
+ PG(allow_url_fopen) = old_allow_url_fopen;
return FALSE;
}
}
+ PG(allow_url_fopen) = old_allow_url_fopen;
if (stream) {
zval **cookies, **login, **password;
http://cvs.php.net/diff.php/php-src/ext/soap/php_xml.c?r1=1.22&r2=1.23&ty=u
Index: php-src/ext/soap/php_xml.c
diff -u php-src/ext/soap/php_xml.c:1.22 php-src/ext/soap/php_xml.c:1.23
--- php-src/ext/soap/php_xml.c:1.22 Fri Feb 13 10:19:09 2004
+++ php-src/ext/soap/php_xml.c Mon Aug 1 07:38:02 2005
@@ -17,7 +17,7 @@
| Dmitry Stogov <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_xml.c,v 1.22 2004/02/13 15:19:09 dmitry Exp $ */
+/* $Id: php_xml.c,v 1.23 2005/08/01 11:38:02 dmitry Exp $ */
#include "php_soap.h"
#include "libxml/parser.h"
@@ -80,11 +80,16 @@
{
xmlParserCtxtPtr ctxt = NULL;
xmlDocPtr ret;
+ zend_bool old_allow_url_fopen;
/*
xmlInitParser();
*/
+
+ old_allow_url_fopen = PG(allow_url_fopen);
+ PG(allow_url_fopen) = 1;
ctxt = xmlCreateFileParserCtxt(filename);
+ PG(allow_url_fopen) = old_allow_url_fopen;
if (ctxt) {
ctxt->keepBlanks = 0;
ctxt->sax->ignorableWhitespace = soap_ignorableWhitespace;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php