author | Craig Mohrman <craig.mohrman@oracle.com> |
Mon, 22 Jul 2013 12:36:47 -0700 | |
changeset 1402 | f225f89a0538 |
permissions | -rw-r--r-- |
1402
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
1 |
From |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
2 |
http://git.php.net/?p=php-src.git;a=commitdiff;h=cc4c318b0c71e1a9c9cf803b5ee5d437344d64db |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
3 |
Check if soap.wsdl_cache_dir confirms to open_basedir |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
4 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
5 |
--- php-5.2.17/ext/soap/soap.c_orig 2010-06-09 08:48:22.000000000 -0700 |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
6 |
+++ php-5.2.17/ext/soap/soap.c 2013-06-05 14:11:41.182400088 -0700 |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
7 |
@@ -416,10 +416,44 @@ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
8 |
return SUCCESS; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
9 |
} |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
10 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
11 |
+static PHP_INI_MH(OnUpdateCacheDir) |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
12 |
+{ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
13 |
+ /* Only do the safemode/open_basedir check at runtime */ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
14 |
+ if (stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS) { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
15 |
+ char *p; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
16 |
+ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
17 |
+ if (memchr(new_value, '\0', new_value_length) != NULL) { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
18 |
+ return FAILURE; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
19 |
+ } |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
20 |
+ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
21 |
+ /* we do not use zend_memrchr() since path can contain ; itself */ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
22 |
+ if ((p = strchr(new_value, ';'))) { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
23 |
+ char *p2; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
24 |
+ p++; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
25 |
+ if ((p2 = strchr(p, ';'))) { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
26 |
+ p = p2 + 1; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
27 |
+ } |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
28 |
+ } else { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
29 |
+ p = new_value; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
30 |
+ } |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
31 |
+ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
32 |
+ if (PG(safe_mode) && *p && (!php_checkuid(p, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
33 |
+ return FAILURE; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
34 |
+ } |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
35 |
+ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
36 |
+ if (PG(open_basedir) && *p && php_check_open_basedir(p TSRMLS_CC)) { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
37 |
+ return FAILURE; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
38 |
+ } |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
39 |
+ } |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
40 |
+ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
41 |
+ OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
42 |
+ return SUCCESS; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
43 |
+} |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
44 |
+ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
45 |
PHP_INI_BEGIN() |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
46 |
STD_PHP_INI_ENTRY("soap.wsdl_cache_enabled", "1", PHP_INI_ALL, OnUpdateCacheEnabled, |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
47 |
cache_enabled, zend_soap_globals, soap_globals) |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
48 |
-STD_PHP_INI_ENTRY("soap.wsdl_cache_dir", "/tmp", PHP_INI_ALL, OnUpdateString, |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
49 |
+STD_PHP_INI_ENTRY("soap.wsdl_cache_dir", "/tmp", PHP_INI_ALL, OnUpdateCacheDir, |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
50 |
cache_dir, zend_soap_globals, soap_globals) |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
51 |
STD_PHP_INI_ENTRY("soap.wsdl_cache_ttl", "86400", PHP_INI_ALL, OnUpdateLong, |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
52 |
cache_ttl, zend_soap_globals, soap_globals) |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
53 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
54 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
55 |
From |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
56 |
http://git.php.net/?p=php-src.git;a=commitdiff;h=8e76d0404b7f664ee6719fd98f0483f0ac4669d6 |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
57 |
Fixed external entity loading |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
58 |
http://git.php.net/?p=php-src.git;a=commitdiff;h=fcd4b5335a6df4e0676ee32e2267ca71d70fe623 |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
59 |
Fix TSRM (after afc1debb) |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
60 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
61 |
--- php-5.2.17/ext/libxml/libxml.c_orig 2010-01-03 01:23:27.000000000 -0800 |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
62 |
+++ php-5.2.17/ext/libxml/libxml.c 2013-06-05 14:18:21.153940829 -0700 |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
63 |
@@ -267,6 +267,7 @@ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
64 |
libxml_globals->stream_context = NULL; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
65 |
libxml_globals->error_buffer.c = NULL; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
66 |
libxml_globals->error_list = NULL; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
67 |
+ libxml_globals->entity_loader_disabled = 0; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
68 |
} |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
69 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
70 |
/* Channel libxml file io layer through the PHP streams subsystem. |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
71 |
@@ -356,16 +357,15 @@ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
72 |
} |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
73 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
74 |
static xmlParserInputBufferPtr |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
75 |
-php_libxml_input_buffer_noload(const char *URI, xmlCharEncoding enc) |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
76 |
-{ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
77 |
- return NULL; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
78 |
-} |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
79 |
- |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
80 |
-static xmlParserInputBufferPtr |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
81 |
php_libxml_input_buffer_create_filename(const char *URI, xmlCharEncoding enc) |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
82 |
{ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
83 |
xmlParserInputBufferPtr ret; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
84 |
void *context = NULL; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
85 |
+ TSRMLS_FETCH(); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
86 |
+ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
87 |
+ if (LIBXML(entity_loader_disabled)) { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
88 |
+ return NULL; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
89 |
+ } |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
90 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
91 |
if (URI == NULL) |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
92 |
return(NULL); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
93 |
@@ -839,28 +839,25 @@ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
94 |
} |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
95 |
/* }}} */ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
96 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
97 |
+PHP_LIBXML_API zend_bool php_libxml_disable_entity_loader(zend_bool disable TSRMLS_DC) |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
98 |
+{ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
99 |
+ zend_bool old = LIBXML(entity_loader_disabled); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
100 |
+ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
101 |
+ LIBXML(entity_loader_disabled) = disable; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
102 |
+ return old; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
103 |
+} |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
104 |
+ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
105 |
/* {{{ proto bool libxml_disable_entity_loader([boolean disable]) |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
106 |
Disable/Enable ability to load external entities */ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
107 |
static PHP_FUNCTION(libxml_disable_entity_loader) |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
108 |
{ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
109 |
zend_bool disable = 1; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
110 |
- xmlParserInputBufferCreateFilenameFunc old; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
111 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
112 |
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &disable) == FAILURE) { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
113 |
return; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
114 |
} |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
115 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
116 |
- if (disable == 0) { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
117 |
- old = xmlParserInputBufferCreateFilenameDefault(php_libxml_input_buffer_create_filename); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
118 |
- } else { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
119 |
- old = xmlParserInputBufferCreateFilenameDefault(php_libxml_input_buffer_noload); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
120 |
- } |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
121 |
- |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
122 |
- if (old == php_libxml_input_buffer_noload) { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
123 |
- RETURN_TRUE; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
124 |
- } |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
125 |
- |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
126 |
- RETURN_FALSE; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
127 |
+ RETURN_BOOL(php_libxml_disable_entity_loader(disable TSRMLS_CC)); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
128 |
} |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
129 |
/* }}} */ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
130 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
131 |
--- php-5.2.17/ext/libxml/php_libxml.h_orig 2010-01-03 01:23:27.000000000 -0800 |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
132 |
+++ php-5.2.17/ext/libxml/php_libxml.h 2013-06-05 14:20:23.311490825 -0700 |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
133 |
@@ -41,6 +41,7 @@ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
134 |
zval *stream_context; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
135 |
smart_str error_buffer; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
136 |
zend_llist *error_list; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
137 |
+ zend_bool entity_loader_disabled; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
138 |
ZEND_END_MODULE_GLOBALS(libxml) |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
139 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
140 |
typedef struct _libxml_doc_props { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
141 |
@@ -91,6 +92,7 @@ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
142 |
PHP_LIBXML_API int php_libxml_xmlCheckUTF8(const unsigned char *s); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
143 |
PHP_LIBXML_API zval *php_libxml_switch_context(zval *context TSRMLS_DC); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
144 |
PHP_LIBXML_API void php_libxml_issue_error(int level, const char *msg TSRMLS_DC); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
145 |
+PHP_LIBXML_API zend_bool php_libxml_disable_entity_loader(zend_bool disable TSRMLS_DC); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
146 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
147 |
/* Init/shutdown functions*/ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
148 |
PHP_LIBXML_API void php_libxml_initialize(void); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
149 |
--- php-5.2.17/ext/soap/php_xml.c_orig 2010-01-03 01:23:27.000000000 -0800 |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
150 |
+++ php-5.2.17/ext/soap/php_xml.c 2013-06-05 14:28:21.292038266 -0700 |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
151 |
@@ -20,6 +20,7 @@ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
152 |
/* $Id: php_xml.c 293036 2010-01-03 09:23:27Z sebastian $ */ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
153 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
154 |
#include "php_soap.h" |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
155 |
+#include "ext/libxml/php_libxml.h" |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
156 |
#include "libxml/parser.h" |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
157 |
#include "libxml/parserInternals.h" |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
158 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
159 |
@@ -91,13 +92,17 @@ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
160 |
ctxt = xmlCreateFileParserCtxt(filename); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
161 |
PG(allow_url_fopen) = old_allow_url_fopen; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
162 |
if (ctxt) { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
163 |
+ zend_bool old; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
164 |
+ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
165 |
ctxt->keepBlanks = 0; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
166 |
ctxt->sax->ignorableWhitespace = soap_ignorableWhitespace; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
167 |
ctxt->sax->comment = soap_Comment; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
168 |
ctxt->sax->warning = NULL; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
169 |
ctxt->sax->error = NULL; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
170 |
/*ctxt->sax->fatalError = NULL;*/ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
171 |
+ old = php_libxml_disable_entity_loader(1 TSRMLS_CC); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
172 |
xmlParseDocument(ctxt); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
173 |
+ php_libxml_disable_entity_loader(old TSRMLS_CC); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
174 |
if (ctxt->wellFormed) { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
175 |
ret = ctxt->myDoc; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
176 |
if (ret->URL == NULL && ctxt->directory != NULL) { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
177 |
@@ -128,11 +133,14 @@ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
178 |
xmlParserCtxtPtr ctxt = NULL; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
179 |
xmlDocPtr ret; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
180 |
|
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
181 |
+ TSRMLS_FETCH(); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
182 |
/* |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
183 |
xmlInitParser(); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
184 |
*/ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
185 |
ctxt = xmlCreateMemoryParserCtxt(buf, buf_size); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
186 |
if (ctxt) { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
187 |
+ zend_bool old; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
188 |
+ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
189 |
ctxt->sax->ignorableWhitespace = soap_ignorableWhitespace; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
190 |
ctxt->sax->comment = soap_Comment; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
191 |
ctxt->sax->warning = NULL; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
192 |
@@ -141,7 +149,9 @@ |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
193 |
#if LIBXML_VERSION >= 20703 |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
194 |
ctxt->options |= XML_PARSE_HUGE; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
195 |
#endif |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
196 |
+ old = php_libxml_disable_entity_loader(1 TSRMLS_CC); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
197 |
xmlParseDocument(ctxt); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
198 |
+ php_libxml_disable_entity_loader(old TSRMLS_CC); |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
199 |
if (ctxt->wellFormed) { |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
200 |
ret = ctxt->myDoc; |
f225f89a0538
16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
201 |
if (ret->URL == NULL && ctxt->directory != NULL) { |