components/php-5_2/php-sapi/patches/14_php_16658678.patch
author Craig Mohrman <craig.mohrman@oracle.com>
Thu, 30 Jan 2014 09:23:07 -0800
branchs11-update
changeset 2923 d19580922ffe
permissions -rw-r--r--
16658678 problem in UTILITY/PHP 16004918 problem in UTILITY/PHP 16098069 /etc/apache2/2.2/conf.d/php/php.conf missing on upgrade to s11.1 17026033 problem in UTILITY/PHP 17157091 problem in UTILITY/PHP 18156529 upgrade php 5.3 to 5.3.27
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2923
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     1
From
d19580922ffe 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
d19580922ffe 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
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     4
d19580922ffe 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
d19580922ffe 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
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     7
@@ -416,10 +416,44 @@
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     8
 	return SUCCESS;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     9
 }
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    10
 
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    11
+static PHP_INI_MH(OnUpdateCacheDir)
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    12
+{
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    13
+	/* Only do the safemode/open_basedir check at runtime */
d19580922ffe 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) {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    15
+		char *p;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    16
+
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    17
+		if (memchr(new_value, '\0', new_value_length) != NULL) {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    18
+			return FAILURE;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    19
+		}
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    20
+
d19580922ffe 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 */
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    22
+		if ((p = strchr(new_value, ';'))) {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    23
+			char *p2;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    24
+			p++;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    25
+			if ((p2 = strchr(p, ';'))) {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    26
+				p = p2 + 1;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    27
+			}
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    28
+		} else {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    29
+			p = new_value;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    30
+		}
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    31
+
d19580922ffe 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))) {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    33
+			return FAILURE;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    34
+		}
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    35
+
d19580922ffe 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)) {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    37
+			return FAILURE;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    38
+		}
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    39
+	}
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    40
+
d19580922ffe 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);
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    42
+	return SUCCESS;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    43
+}
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    44
+
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    45
 PHP_INI_BEGIN()
d19580922ffe 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,
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    47
                   cache_enabled, zend_soap_globals, soap_globals)
d19580922ffe 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,
d19580922ffe 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,
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    50
                   cache_dir, zend_soap_globals, soap_globals)
d19580922ffe 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,
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    52
                   cache_ttl, zend_soap_globals, soap_globals)
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    53
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    54
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    55
From
d19580922ffe 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
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    57
Fixed external entity loading
d19580922ffe 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
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    59
Fix TSRM (after afc1debb)
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    60
d19580922ffe 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
d19580922ffe 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
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    63
@@ -267,6 +267,7 @@
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    64
 	libxml_globals->stream_context = NULL;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    65
 	libxml_globals->error_buffer.c = NULL;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    66
 	libxml_globals->error_list = NULL;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    67
+	libxml_globals->entity_loader_disabled = 0;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    68
 }
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    69
 
d19580922ffe 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.
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    71
@@ -356,16 +357,15 @@
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    72
 }
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    73
 
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    74
 static xmlParserInputBufferPtr
d19580922ffe 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)
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    76
-{
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    77
-	return NULL;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    78
-}
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    79
-
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    80
-static xmlParserInputBufferPtr
d19580922ffe 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)
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    82
 {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    83
 	xmlParserInputBufferPtr ret;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    84
 	void *context = NULL;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    85
+	TSRMLS_FETCH();
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    86
+
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    87
+	if (LIBXML(entity_loader_disabled)) {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    88
+		return NULL;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    89
+	}
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    90
 
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    91
 	if (URI == NULL)
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    92
 		return(NULL);
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    93
@@ -839,28 +839,25 @@
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    94
 }
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    95
 /* }}} */
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    96
 
d19580922ffe 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)
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    98
+{
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    99
+	zend_bool old = LIBXML(entity_loader_disabled);
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   100
+
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   101
+	LIBXML(entity_loader_disabled) = disable;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   102
+	return old;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   103
+}
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   104
+
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   105
 /* {{{ proto bool libxml_disable_entity_loader([boolean disable]) 
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   106
    Disable/Enable ability to load external entities */
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   107
 static PHP_FUNCTION(libxml_disable_entity_loader)
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   108
 {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   109
 	zend_bool disable = 1;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   110
-	xmlParserInputBufferCreateFilenameFunc old;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   111
 
d19580922ffe 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) {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   113
 		return;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   114
 	}
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   115
 
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   116
-	if (disable == 0) {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   117
-		old = xmlParserInputBufferCreateFilenameDefault(php_libxml_input_buffer_create_filename);
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   118
-	} else {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   119
-		old = xmlParserInputBufferCreateFilenameDefault(php_libxml_input_buffer_noload);
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   120
-	}
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   121
-
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   122
-	if (old == php_libxml_input_buffer_noload) {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   123
-		RETURN_TRUE;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   124
-	}
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   125
-
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   126
-	RETURN_FALSE;
d19580922ffe 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));
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   128
 }
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   129
 /* }}} */
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   130
 
d19580922ffe 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
d19580922ffe 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
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   133
@@ -41,6 +41,7 @@
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   134
 	zval *stream_context;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   135
 	smart_str error_buffer;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   136
 	zend_llist *error_list;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   137
+	zend_bool entity_loader_disabled;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   138
 ZEND_END_MODULE_GLOBALS(libxml)
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   139
 
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   140
 typedef struct _libxml_doc_props {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   141
@@ -91,6 +92,7 @@
d19580922ffe 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);
d19580922ffe 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);
d19580922ffe 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);
d19580922ffe 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);
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   146
 
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   147
 /* Init/shutdown functions*/
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   148
 PHP_LIBXML_API void php_libxml_initialize(void);
d19580922ffe 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
d19580922ffe 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
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   151
@@ -20,6 +20,7 @@
d19580922ffe 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 $ */
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   153
 
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   154
 #include "php_soap.h"
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   155
+#include "ext/libxml/php_libxml.h"
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   156
 #include "libxml/parser.h"
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   157
 #include "libxml/parserInternals.h"
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   158
 
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   159
@@ -91,13 +92,17 @@
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   160
 	ctxt = xmlCreateFileParserCtxt(filename);
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   161
 	PG(allow_url_fopen) = old_allow_url_fopen;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   162
 	if (ctxt) {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   163
+		zend_bool old;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   164
+
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   165
 		ctxt->keepBlanks = 0;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   166
 		ctxt->sax->ignorableWhitespace = soap_ignorableWhitespace;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   167
 		ctxt->sax->comment = soap_Comment;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   168
 		ctxt->sax->warning = NULL;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   169
 		ctxt->sax->error = NULL;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   170
 		/*ctxt->sax->fatalError = NULL;*/
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   171
+		old = php_libxml_disable_entity_loader(1 TSRMLS_CC);
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   172
 		xmlParseDocument(ctxt);
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   173
+		php_libxml_disable_entity_loader(old TSRMLS_CC);
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   174
 		if (ctxt->wellFormed) {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   175
 			ret = ctxt->myDoc;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   176
 			if (ret->URL == NULL && ctxt->directory != NULL) {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   177
@@ -128,11 +133,14 @@
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   178
 	xmlParserCtxtPtr ctxt = NULL;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   179
 	xmlDocPtr ret;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   180
 
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   181
+	TSRMLS_FETCH();
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   182
 /*
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   183
 	xmlInitParser();
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   184
 */
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   185
 	ctxt = xmlCreateMemoryParserCtxt(buf, buf_size);
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   186
 	if (ctxt) {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   187
+		zend_bool old;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   188
+
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   189
 		ctxt->sax->ignorableWhitespace = soap_ignorableWhitespace;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   190
 		ctxt->sax->comment = soap_Comment;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   191
 		ctxt->sax->warning = NULL;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   192
@@ -141,7 +149,9 @@
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   193
 #if LIBXML_VERSION >= 20703
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   194
 		ctxt->options |= XML_PARSE_HUGE;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   195
 #endif
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   196
+		old = php_libxml_disable_entity_loader(1 TSRMLS_CC);
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   197
 		xmlParseDocument(ctxt);
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   198
+		php_libxml_disable_entity_loader(old TSRMLS_CC);
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   199
 		if (ctxt->wellFormed) {
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   200
 			ret = ctxt->myDoc;
d19580922ffe 16658678 problem in UTILITY/PHP
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   201
 			if (ret->URL == NULL && ctxt->directory != NULL) {