diff options
| author | Sara Golemon <pollita@php.net> | 2007-01-24 21:43:47 +0000 |
|---|---|---|
| committer | Sara Golemon <pollita@php.net> | 2007-01-24 21:43:47 +0000 |
| commit | cc1b19cf0e57b8b288788c592214d7aa6cc2e495 (patch) | |
| tree | 6f66777cfb92109e2d140b5c4a0a3a35a1adf7d3 /ext/soap/php_http.c | |
| parent | ffcf9f5de4446b74dd4ab23c3068271369dd2953 (diff) | |
| download | php-git-cc1b19cf0e57b8b288788c592214d7aa6cc2e495.tar.gz | |
Expand allow_url_fopen/allow_url_include functionality
Diffstat (limited to 'ext/soap/php_http.c')
| -rw-r--r-- | ext/soap/php_http.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/ext/soap/php_http.c b/ext/soap/php_http.c index 0f33c2c767..c505894ee8 100644 --- a/ext/soap/php_http.c +++ b/ext/soap/php_http.c @@ -232,7 +232,7 @@ int make_http_soap_request(zval *this_ptr, int content_type_xml = 0; char *content_encoding; char *http_msg = NULL; - zend_bool old_allow_url_fopen; + char *old_allow_url_fopen_list; soap_client_object *client; if (this_ptr == NULL || Z_TYPE_P(this_ptr) != IS_OBJECT) { @@ -317,13 +317,16 @@ try_again: return FALSE; } - old_allow_url_fopen = PG(allow_url_fopen); - zend_alter_ini_entry("allow_url_fopen", sizeof("allow_url_fopen"), "1", 1, PHP_INI_SYSTEM, PHP_INI_STAGE_RUNTIME); + old_allow_url_fopen_list = PG(allow_url_fopen_list); + if (!old_allow_url_fopen_list) { + old_allow_url_fopen_list = ""; + } + zend_alter_ini_entry("allow_url_fopen", sizeof("allow_url_fopen"), "*", 1, PHP_INI_SYSTEM, PHP_INI_STAGE_RUNTIME); 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 is not available in this build", NULL, NULL TSRMLS_CC); - zend_alter_ini_entry("allow_url_fopen", sizeof("allow_url_fopen"), old_allow_url_fopen ? "1" : "0", 1, PHP_INI_SYSTEM, PHP_INI_STAGE_RUNTIME); + zend_alter_ini_entry("allow_url_fopen", sizeof("allow_url_fopen"), old_allow_url_fopen_list, strlen(old_allow_url_fopen_list), PHP_INI_SYSTEM, PHP_INI_STAGE_RUNTIME); return FALSE; } @@ -376,11 +379,11 @@ try_again: php_url_free(phpurl); if (request != buf) {efree(request);} add_soap_fault(this_ptr, "HTTP", "Could not connect to host", NULL, NULL TSRMLS_CC); - zend_alter_ini_entry("allow_url_fopen", sizeof("allow_url_fopen"), old_allow_url_fopen ? "1" : "0", 1, PHP_INI_SYSTEM, PHP_INI_STAGE_RUNTIME); + zend_alter_ini_entry("allow_url_fopen", sizeof("allow_url_fopen"), old_allow_url_fopen_list, strlen(old_allow_url_fopen_list), PHP_INI_SYSTEM, PHP_INI_STAGE_RUNTIME); return FALSE; } } - zend_alter_ini_entry("allow_url_fopen", sizeof("allow_url_fopen"), old_allow_url_fopen ? "1" : "0", 1, PHP_INI_SYSTEM, PHP_INI_STAGE_RUNTIME); + zend_alter_ini_entry("allow_url_fopen", sizeof("allow_url_fopen"), old_allow_url_fopen_list, strlen(old_allow_url_fopen_list), PHP_INI_SYSTEM, PHP_INI_STAGE_RUNTIME); if (stream) { if (client->url) { |
