From b68739f7f9c9838bed94dae6ef614059c1302ecf Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Wed, 5 Mar 2003 14:23:56 +0000 Subject: - Remove legacy non-streams code (as discussed with Brad). - Make get_http_header_value() work using case-insensitive compares for the header names, as per relevant RFC's. - General performance boost for get_http_headers(). - Fix a crash bug when a malformed URL is passed to the soap client. - Implement https:// support in the the soap client. (does not verify the remote server certificate; it provides an encrypted link only). - Provide a hook for libxml to parse files using any registered PHP wrapper, including https://, ftps:// and any user-space streams. --- ext/soap/php_xml.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'ext/soap/php_xml.c') diff --git a/ext/soap/php_xml.c b/ext/soap/php_xml.c index 7995356198..786ebc97a5 100644 --- a/ext/soap/php_xml.c +++ b/ext/soap/php_xml.c @@ -1,5 +1,33 @@ #include "php_soap.h" +/* Channel libxml file io layer through the PHP streams subsystem. + * This allows use of ftps:// and https:// urls */ + +int php_stream_xmlIO_match_wrapper(const char *filename) +{ + TSRMLS_FETCH(); + return php_stream_locate_url_wrapper(filename, NULL, STREAM_LOCATE_WRAPPERS_ONLY TSRMLS_CC) ? 1 : 0; + +} + +void *php_stream_xmlIO_open_wrapper(const char *filename) +{ + TSRMLS_FETCH(); + return php_stream_open_wrapper(filename, "rb", ENFORCE_SAFE_MODE|REPORT_ERRORS, NULL); +} + +int php_stream_xmlIO_read(void *context, char *buffer, int len) +{ + TSRMLS_FETCH(); + return php_stream_read((php_stream*)context, buffer, len); +} + +int php_stream_xmlIO_close(void *context) +{ + TSRMLS_FETCH(); + return php_stream_close((php_stream*)context); +} + xmlNsPtr attr_find_ns(xmlAttrPtr node) { if(node->ns) -- cgit v1.2.1