[Pkg-php-commits] [php/debian-sid] remove 10 obsolete gentoo patches now incorporated upstream

Sean Finney seanius at debian.org
Tue Jun 23 22:07:59 UTC 2009


the following patches have been removed
 * debian/patches/gentoo/012_ext-xmlrpc-bad-callback-crash.patch
 * debian/patches/gentoo/016_ext-curl-open_basedir-bypass.patch
 * debian/patches/gentoo/003_ext-zip-memory-corruptions.patch
 * debian/patches/gentoo/005_ext-gd-imagepng-empty-image-crash.patch
 * debian/patches/gentoo/007_ext-sysvshm-mem-alignment-fix.patch
 * debian/patches/gentoo/008_ext-mbstring-mem-alignment-fix.patch
 * debian/patches/gentoo/010_ext-openssl-utf8-conversion-crash.patch
 * debian/patches/gentoo/011_strnlen-compile-warning-fix.patch
 * debian/patches/gentoo/013_ext-session-bad-save_path-crash.patch
 * debian/patches/gentoo/015_zend-double-efree-fix.patch
---
 .../gentoo/003_ext-zip-memory-corruptions.patch    |   49 -----
 .../005_ext-gd-imagepng-empty-image-crash.patch    |   47 -----
 .../gentoo/007_ext-sysvshm-mem-alignment-fix.patch |   17 --
 .../008_ext-mbstring-mem-alignment-fix.patch       |   17 --
 .../010_ext-openssl-utf8-conversion-crash.patch    |   30 ---
 .../gentoo/011_strnlen-compile-warning-fix.patch   |   17 --
 .../gentoo/012_ext-xmlrpc-bad-callback-crash.patch |   64 -------
 .../013_ext-session-bad-save_path-crash.patch      |   17 --
 .../patches/gentoo/015_zend-double-efree-fix.patch |   16 --
 .../gentoo/016_ext-curl-open_basedir-bypass.patch  |  192 --------------------
 debian/patches/series                              |   10 -
 11 files changed, 0 insertions(+), 476 deletions(-)
 delete mode 100644 debian/patches/gentoo/003_ext-zip-memory-corruptions.patch
 delete mode 100644 debian/patches/gentoo/005_ext-gd-imagepng-empty-image-crash.patch
 delete mode 100644 debian/patches/gentoo/007_ext-sysvshm-mem-alignment-fix.patch
 delete mode 100644 debian/patches/gentoo/008_ext-mbstring-mem-alignment-fix.patch
 delete mode 100644 debian/patches/gentoo/010_ext-openssl-utf8-conversion-crash.patch
 delete mode 100644 debian/patches/gentoo/011_strnlen-compile-warning-fix.patch
 delete mode 100644 debian/patches/gentoo/012_ext-xmlrpc-bad-callback-crash.patch
 delete mode 100644 debian/patches/gentoo/013_ext-session-bad-save_path-crash.patch
 delete mode 100644 debian/patches/gentoo/015_zend-double-efree-fix.patch
 delete mode 100644 debian/patches/gentoo/016_ext-curl-open_basedir-bypass.patch

diff --git a/debian/patches/gentoo/003_ext-zip-memory-corruptions.patch b/debian/patches/gentoo/003_ext-zip-memory-corruptions.patch
deleted file mode 100644
index 857a7ae..0000000
--- a/debian/patches/gentoo/003_ext-zip-memory-corruptions.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-003_ext-zip-memory-corruptions.patch
-PHP_5_2
-http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.49&r2=1.1.2.50&diff_format=u
-Fixed 2 memory corruptions in zip extension idenfied by oo_properties.phpt
-test
-diff -r 71e7fbe93f72 -r 3bd0acdff49e ext/zip/php_zip.c
---- a/ext/zip/php_zip.c	Thu Apr 09 13:53:48 2009 +0200
-+++ b/ext/zip/php_zip.c	Thu Apr 09 14:15:51 2009 +0200
-@@ -806,6 +806,7 @@
- 			} else {
- 				if (hnd->read_const_char_from_obj_func) {
- 					retchar = hnd->read_const_char_from_obj_func(obj TSRMLS_CC);
-+					len = strlen(retchar);
- 				}
- 			}
- 		}
-@@ -818,7 +819,7 @@
- 	switch (hnd->type) {
- 		case IS_STRING:
- 			if (retchar) {
--				ZVAL_STRING(*retval, (char *) retchar, 1);
-+				ZVAL_STRINGL(*retval, (char *) retchar, len, 1);
- 			} else {
- 				ZVAL_EMPTY_STRING(*retval);
- 			}
-@@ -941,10 +942,11 @@
- 
- 	if (ret == SUCCESS) {
- 		zval *tmp;
-+		ALLOC_INIT_ZVAL(tmp);
- 
- 		if (type == 2) {
- 			retval = 1;
--		} else if (php_zip_property_reader(obj, hnd, &tmp, 1 TSRMLS_CC) == SUCCESS) {
-+		} else if (php_zip_property_reader(obj, hnd, &tmp, 0 TSRMLS_CC) == SUCCESS) {
- 			Z_SET_REFCOUNT_P(tmp, 1);
- 			Z_UNSET_ISREF_P(tmp);
- 			if (type == 1) {
-@@ -952,8 +954,9 @@
- 			} else if (type == 0) {
- 				retval = (Z_TYPE_P(tmp) != IS_NULL);
- 			}
--			zval_ptr_dtor(&tmp);
- 		}
-+
-+		zval_ptr_dtor(&tmp);
- 	} else {
- 		std_hnd = zend_get_std_object_handlers();
- 		retval = std_hnd->has_property(object, member, type TSRMLS_CC);
diff --git a/debian/patches/gentoo/005_ext-gd-imagepng-empty-image-crash.patch b/debian/patches/gentoo/005_ext-gd-imagepng-empty-image-crash.patch
deleted file mode 100644
index 2bb7a48..0000000
--- a/debian/patches/gentoo/005_ext-gd-imagepng-empty-image-crash.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-005_ext-gd-imagepng-empty-image-crash.patch
-PHP_5_2
-http://cvs.php.net/viewvc.cgi/php-src/ext/gd/libgd/gd_png.c?r1=1.17.4.2.2.6&r2=1.17.4.2.2.7&diff_format=u
-http://cvs.php.net/viewvc.cgi/php-src/ext/gd/tests/bug45799.phpt?view=markup&revision=1.1
-http://bugs.php.net/bug.php?id=45799
-Fixed bug #45799 (imagepng() crashes on empty image)
-diff -r de141004e0e2 -r 9db107056020 ext/gd/libgd/gd_png.c
---- a/ext/gd/libgd/gd_png.c	Fri Apr 10 11:22:20 2009 +0200
-+++ b/ext/gd/libgd/gd_png.c	Fri Apr 10 11:25:01 2009 +0200
-@@ -535,6 +535,10 @@
- 				++colors;
- 			}
- 		}
-+		if (colors == 0) {
-+			php_gd_error("gd-png error: no colors in palette");
-+			goto bail;
-+		}
- 		if (colors < im->colorsTotal) {
- 			remap = TRUE;
- 		}
-@@ -732,6 +736,7 @@
- 		}
- 	}
- 	/* 1.6.3: maybe we should give that memory BACK! TBB */
-+ bail:
- 	png_destroy_write_struct(&png_ptr, &info_ptr);
- }
- 
-diff -r de141004e0e2 -r 9db107056020 ext/gd/tests/bug45799.phpt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/ext/gd/tests/bug45799.phpt	Fri Apr 10 11:25:01 2009 +0200
-@@ -0,0 +1,15 @@
-+--TEST--
-+Bug #45799 (imagepng() crashes on empty image).
-+--SKIPIF--
-+<?php
-+	if (!extension_loaded('gd')) die("skip gd extension not available\n");
-+?>
-+--FILE--
-+<?php
-+$img = imagecreate(500,500);
-+imagepng($img);
-+imagedestroy($img);
-+?>
-+--EXPECTF--
-+
-+Warning: imagepng(): gd-png error: no colors in palette in %s on line %d
diff --git a/debian/patches/gentoo/007_ext-sysvshm-mem-alignment-fix.patch b/debian/patches/gentoo/007_ext-sysvshm-mem-alignment-fix.patch
deleted file mode 100644
index e71c810..0000000
--- a/debian/patches/gentoo/007_ext-sysvshm-mem-alignment-fix.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-007_ext-sysvshm-mem-alignment-fix.patch
-PHP_5_2
-http://cvs.php.net/viewvc.cgi/php-src/ext/sysvshm/sysvshm.c?r1=1.70.2.2.2.7&r2=1.70.2.2.2.8&diff_format=u
-http://bugs.php.net/bug.php?id=47721
-Fixed bug #47721 (Aligment issues in mbstring and sysvshm extension)
-diff -r 85ef4c1844f0 -r c6515e04bd26 ext/sysvshm/sysvshm.c
---- a/ext/sysvshm/sysvshm.c	Fri Apr 10 11:29:41 2009 +0200
-+++ b/ext/sysvshm/sysvshm.c	Fri Apr 10 11:34:09 2009 +0200
-@@ -375,7 +375,7 @@
- 	long total_size;
- 	long shm_varpos;
- 
--	total_size = ((long) (len + sizeof(sysvshm_chunk) - 1) / 4) * 4 + 4; /* 4-byte alligment */
-+	total_size = ((long) (len + sizeof(sysvshm_chunk) - 1) / sizeof(long)) * sizeof(long) + sizeof(long); /* long alligment */
- 
- 	if ((shm_varpos = php_check_shm_data(ptr, key)) > 0) {
- 		php_remove_shm_data(ptr, shm_varpos);
diff --git a/debian/patches/gentoo/008_ext-mbstring-mem-alignment-fix.patch b/debian/patches/gentoo/008_ext-mbstring-mem-alignment-fix.patch
deleted file mode 100644
index a41cefd..0000000
--- a/debian/patches/gentoo/008_ext-mbstring-mem-alignment-fix.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-008_ext-mbstring-mem-alignment-fix.patch
-PHP_5_2
-http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/oniguruma/regint.h?r1=1.5.4.7&r2=1.5.4.8&diff_format=u
-http://bugs.php.net/bug.php?id=47721
-Fixed bug #47721 (Aligment issues in mbstring and sysvshm extension)
-diff -r c6515e04bd26 -r f5a102df944d ext/mbstring/oniguruma/regint.h
---- a/ext/mbstring/oniguruma/regint.h	Fri Apr 10 11:34:09 2009 +0200
-+++ b/ext/mbstring/oniguruma/regint.h	Fri Apr 10 11:35:06 2009 +0200
-@@ -256,7 +256,7 @@
- #define NULL_UCHARP                   ((UChar* )0)
- 
- #ifndef PLATFORM_UNALIGNED_WORD_ACCESS
--#define WORD_ALIGNMENT_SIZE       SIZEOF_INT
-+#define WORD_ALIGNMENT_SIZE       SIZEOF_LONG
- 
- #define GET_ALIGNMENT_PAD_SIZE(addr,pad_size) do {\
-   (pad_size) = WORD_ALIGNMENT_SIZE \
diff --git a/debian/patches/gentoo/010_ext-openssl-utf8-conversion-crash.patch b/debian/patches/gentoo/010_ext-openssl-utf8-conversion-crash.patch
deleted file mode 100644
index e6cdd35..0000000
--- a/debian/patches/gentoo/010_ext-openssl-utf8-conversion-crash.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-010_ext-openssl-utf8-conversion-crash.patch
-PHP_5_2
-http://cvs.php.net/viewvc.cgi/php-src/ext/openssl/openssl.c?r1=1.98.2.5.2.51&r2=1.98.2.5.2.52&diff_format=u
-http://bugs.php.net/bug.php?id=47828
-Fix bug #47828 - Converting to UTF-8 can sometimes fail, check error codes and
-avoid segfault.
-
-diff -r e2602e8d2936 -r d409743914d7 ext/openssl/openssl.c
---- a/ext/openssl/openssl.c	Fri Apr 10 11:37:31 2009 +0200
-+++ b/ext/openssl/openssl.c	Fri Apr 10 11:39:27 2009 +0200
-@@ -301,7 +301,9 @@
- 				str = X509_NAME_ENTRY_get_data(ne);
- 				if (ASN1_STRING_type(str) != V_ASN1_UTF8STRING) {
- 					to_add_len = ASN1_STRING_to_UTF8(&to_add, str);
--					add_next_index_stringl(subentries, (char *)to_add, to_add_len, 1);
-+					if (to_add_len != -1) {
-+						add_next_index_stringl(subentries, (char *)to_add, to_add_len, 1);
-+					}
- 				} else {
- 					to_add = ASN1_STRING_data(str);
- 					to_add_len = ASN1_STRING_length(str);
-@@ -317,7 +319,7 @@
- 		} else {
- 			zval_dtor(subentries);
- 			FREE_ZVAL(subentries);
--			if (obj_cnt && str) {
-+			if (obj_cnt && str && to_add_len > -1) {
- 				add_assoc_stringl(subitem, sname, (char *)to_add, to_add_len, 1);
- 			}
- 		}
diff --git a/debian/patches/gentoo/011_strnlen-compile-warning-fix.patch b/debian/patches/gentoo/011_strnlen-compile-warning-fix.patch
deleted file mode 100644
index f07f484..0000000
--- a/debian/patches/gentoo/011_strnlen-compile-warning-fix.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-011_strnlen-compile-warning-fix.patch
-PHP_5_2
-http://cvs.php.net/viewvc.cgi/php-src/main/spprintf.c?r1=1.25.2.2.2.15&r2=1.25.2.2.2.16&diff_format=u
-http://bugs.php.net/bug.php?id=47831
-Fixed bug #47831 (Compile warning for strnlen() in main/spprintf.c)
-
-diff -r d409743914d7 -r a5eccb8408e8 main/spprintf.c
---- a/main/spprintf.c	Fri Apr 10 11:39:27 2009 +0200
-+++ b/main/spprintf.c	Fri Apr 10 11:41:21 2009 +0200
-@@ -76,6 +76,7 @@
-  * SIO stdio-replacement strx_* functions by Panos Tsirigotis
-  * <panos at alumni.cs.colorado.edu> for xinetd.
-  */
-+#define _GNU_SOURCE
- #include "php.h"
- 
- #include <stddef.h>
diff --git a/debian/patches/gentoo/012_ext-xmlrpc-bad-callback-crash.patch b/debian/patches/gentoo/012_ext-xmlrpc-bad-callback-crash.patch
deleted file mode 100644
index 51902ca..0000000
--- a/debian/patches/gentoo/012_ext-xmlrpc-bad-callback-crash.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-012_ext-xmlrpc-bad-callback-crash.patch
-PHP_5_2
-http://cvs.php.net/viewvc.cgi/php-src/ext/xmlrpc/xmlrpc-epi-php.c?r1=1.39.2.5.2.13&r2=1.39.2.5.2.14&diff_format=u
-http://cvs.php.net/viewvc.cgi/php-src/ext/xmlrpc/tests/bug47818.phpt?view=markup&revision=1.1
-http://bugs.php.net/bug.php?id=47818
-Fixed bug #47818 (Segfault due to bound callback param)
-
-diff -r a5eccb8408e8 -r f582e5464d52 ext/xmlrpc/tests/bug47818.phpt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/ext/xmlrpc/tests/bug47818.phpt	Fri Apr 10 11:42:59 2009 +0200
-@@ -0,0 +1,39 @@
-+--TEST--
-+Bug #47818 (Segfault due to bound callback param)
-+--FILE--
-+<?php
-+
-+class MyXmlRpc {
-+    private $s;
-+    private $method;
-+
-+    function impl($method_name, $params, $user_data){
-+        $this->method = $method_name;
-+        print "Inside impl(): {$this->method}\n";
-+        return array_sum($params);
-+    }
-+
-+    function __construct() {
-+        $this->s = xmlrpc_server_create();
-+        xmlrpc_server_register_method($this->s, 'add', array($this, 'impl'));
-+    }
-+
-+    function call($req) {
-+        return xmlrpc_server_call_method($this->s, $req, null);
-+    }
-+
-+    function getMethod() {return $this->method;}
-+
-+}
-+
-+$x = new MyXmlRpc;
-+$resp = $x->call(xmlrpc_encode_request('add', array(1, 2, 3)));
-+
-+$method = $x->getMethod();
-+
-+print "Global scope: $method\n";
-+
-+?>
-+--EXPECTF--
-+Inside impl(): add
-+Global scope: add
-diff -r a5eccb8408e8 -r f582e5464d52 ext/xmlrpc/xmlrpc-epi-php.c
---- a/ext/xmlrpc/xmlrpc-epi-php.c	Fri Apr 10 11:41:21 2009 +0200
-+++ b/ext/xmlrpc/xmlrpc-epi-php.c	Fri Apr 10 11:42:59 2009 +0200
-@@ -1113,8 +1113,8 @@
- 			}
- 
- 			/* cleanup after ourselves.  what a sty! */
--			zval_dtor(data.xmlrpc_method);
--			FREE_ZVAL(data.xmlrpc_method);
-+			zval_ptr_dtor(&data.xmlrpc_method);
-+
- 			zval_dtor(data.return_data);
- 			FREE_ZVAL(data.return_data);
- 
diff --git a/debian/patches/gentoo/013_ext-session-bad-save_path-crash.patch b/debian/patches/gentoo/013_ext-session-bad-save_path-crash.patch
deleted file mode 100644
index 3392e03..0000000
--- a/debian/patches/gentoo/013_ext-session-bad-save_path-crash.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-013_ext-session-bad-save_path-crash.patch
-PHP_5_2
-http://cvs.php.net/viewvc.cgi/php-src/ext/session/mod_files.c?r1=1.100.2.3.2.12&r2=1.100.2.3.2.13&diff_format=u
-Fixed segfault on invalid session.save_path
-
-diff -r f582e5464d52 -r a2fba1cfd647 ext/session/mod_files.c
---- a/ext/session/mod_files.c	Fri Apr 10 11:42:59 2009 +0200
-+++ b/ext/session/mod_files.c	Fri Apr 10 11:44:25 2009 +0200
-@@ -295,7 +295,7 @@
- 		argv[argc++] = last;
- 		last = ++p;
- 		p = strchr(p, ';');
--		if (argc > 2) break;
-+		if (argc > 1) break;
- 	}
- 	argv[argc++] = last;
- 
diff --git a/debian/patches/gentoo/015_zend-double-efree-fix.patch b/debian/patches/gentoo/015_zend-double-efree-fix.patch
deleted file mode 100644
index 1cc2450..0000000
--- a/debian/patches/gentoo/015_zend-double-efree-fix.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-015_zend-double-efree-fix.patch
-PHP_5_2
-http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_API.c?r1=1.296.2.27.2.41&r2=1.296.2.27.2.42&diff_format=u
-Fixed double efree()
-
-diff -r 9f16d9bf044a -r fc79c5cbba99 Zend/zend_API.c
---- a/Zend/zend_API.c	Sat Apr 11 12:51:18 2009 +0200
-+++ b/Zend/zend_API.c	Sat Apr 11 12:53:26 2009 +0200
-@@ -1782,7 +1782,6 @@
- 			fname_len = strlen(ptr->fname);
- 			lowercase_name = zend_str_tolower_dup(ptr->fname, fname_len);
- 			if (zend_hash_exists(target_function_table, lowercase_name, fname_len+1)) {
--				efree(lowercase_name);
- 				zend_error(error_type, "Function registration failed - duplicate name - %s%s%s", scope ? scope->name : "", scope ? "::" : "", ptr->fname);
- 			}
- 			efree(lowercase_name);
diff --git a/debian/patches/gentoo/016_ext-curl-open_basedir-bypass.patch b/debian/patches/gentoo/016_ext-curl-open_basedir-bypass.patch
deleted file mode 100644
index dca84a8..0000000
--- a/debian/patches/gentoo/016_ext-curl-open_basedir-bypass.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-016_ext-curl-open_basedir-bypass.patch
-PHP_5_2
-http://securityreason.com/securityalert/5564
-http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.62.2.14.2.43&r2=1.62.2.14.2.44&diff_format=u
-http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.62.2.14.2.44&r2=1.62.2.14.2.45
-http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.62.2.14.2.45&r2=1.62.2.14.2.46&diff_format=u
-"disable file:// when safe_mode or open_basedir are enabled"
-("improve file:// deactivation in curl_init and do not allow to enable it again
-manually", "fix zts build")
-
-diff -r fc79c5cbba99 -r a3454e7da0bc ext/curl/interface.c
---- a/ext/curl/interface.c	Sat Apr 11 12:53:26 2009 +0200
-+++ b/ext/curl/interface.c	Thu Apr 16 19:21:07 2009 +0200
-@@ -147,6 +147,7 @@
- #endif
- /* }}} */
- 
-+static void _php_curl_close_ex(php_curl *ch TSRMLS_DC);
- static void _php_curl_close(zend_rsrc_list_entry *rsrc TSRMLS_DC);
- 
- #define SAVE_CURL_ERROR(__handle, __err) (__handle)->err.no = (int) __err;
-@@ -162,31 +163,44 @@
-  #define php_curl_ret(__ret) RETVAL_FALSE; return;
- #endif
- 
--#define PHP_CURL_CHECK_OPEN_BASEDIR(str, len, __ret)													\
--	if (((PG(open_basedir) && *PG(open_basedir)) || PG(safe_mode)) &&                                                \
--	    strncasecmp(str, "file:", sizeof("file:") - 1) == 0)								\
--	{ 																							\
--		php_url *tmp_url; 																		\
--															\
--		if (!(tmp_url = php_url_parse_ex(str, len))) {											\
--			php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid URL '%s'", str);				\
--			php_curl_ret(__ret);											\
--		} 													\
--															\
--		if (tmp_url->host || !php_memnstr(str, tmp_url->path, strlen(tmp_url->path), str + len)) {				\
--			php_error_docref(NULL TSRMLS_CC, E_WARNING, "URL '%s' contains unencoded control characters", str);	\
--			php_url_free(tmp_url); 																\
--			php_curl_ret(__ret);											\
--		}													\
--																								\
--		if (tmp_url->query || tmp_url->fragment || php_check_open_basedir(tmp_url->path TSRMLS_CC) || 									\
--			(PG(safe_mode) && !php_checkuid(tmp_url->path, "rb+", CHECKUID_CHECK_MODE_PARAM))	\
--		) { 																					\
--			php_url_free(tmp_url); 																\
--			php_curl_ret(__ret);											\
--		} 																						\
--		php_url_free(tmp_url); 																	\
-+static int php_curl_option_url(php_curl *ch, const char *url, const int len) {
-+	CURLcode     error=CURLE_OK;
-+#if LIBCURL_VERSION_NUM < 0x071100
-+	char *copystr = NULL;
-+#endif
-+	TSRMLS_FETCH();
-+
-+	/* Disable file:// if open_basedir or safe_mode are used */
-+	if ((PG(open_basedir) && *PG(open_basedir)) || PG(safe_mode)) {
-+#if LIBCURL_VERSION_NUM >= 0x071304
-+		error = curl_easy_setopt(ch->cp, CURLOPT_PROTOCOLS, CURLPROTO_ALL & ~CURLPROTO_FILE);
-+#else
-+		php_url *uri;
-+
-+		if (!(uri = php_url_parse_ex(url, len))) {
-+			php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid URL '%s'", url);
-+			return 0;
-+		}
-+
-+		if (!strncasecmp("file", uri->scheme, sizeof("file"))) {
-+			php_error_docref(NULL TSRMLS_CC, E_WARNING, "Protocol 'file' disabled in cURL");
-+			php_url_free(uri);
-+			return 0;
-+		}
-+		php_url_free(uri);
-+#endif
- 	}
-+	/* Strings passed to libcurl as 'char *' arguments, are copied by the library... NOTE: before 7.17.0 strings were not copied. */
-+#if LIBCURL_VERSION_NUM >= 0x071100
-+	error = curl_easy_setopt(ch->cp, CURLOPT_URL, url);
-+#else
-+	copystr = estrndup(url, len);
-+	error = curl_easy_setopt(ch->cp, CURLOPT_URL, copystr);
-+	zend_llist_add_element(&ch->to_free.str, &copystr);
-+#endif
-+
-+	return (error == CURLE_OK ? 1 : 0);
-+}
- 
- /* {{{ arginfo */
- static
-@@ -1102,7 +1116,6 @@
- 
- 	if (argc > 0) {
- 		convert_to_string_ex(url);
--		PHP_CURL_CHECK_OPEN_BASEDIR(Z_STRVAL_PP(url), Z_STRLEN_PP(url), (void) NULL);
- 	}
- 
- 	cp = curl_easy_init();
-@@ -1140,15 +1153,10 @@
- #endif
- 
- 	if (argc > 0) {
--#if LIBCURL_VERSION_NUM >= 0x071100
--		curl_easy_setopt(ch->cp, CURLOPT_URL, Z_STRVAL_PP(url));
--#else
--		char *urlcopy;
--
--		urlcopy = estrndup(Z_STRVAL_PP(url), Z_STRLEN_PP(url));
--		curl_easy_setopt(ch->cp, CURLOPT_URL, urlcopy);
--		zend_llist_add_element(&ch->to_free.str, &urlcopy);
--#endif
-+		if (!php_curl_option_url(ch, Z_STRVAL_PP(url), Z_STRLEN_PP(url))) {
-+			_php_curl_close_ex(ch TSRMLS_CC);
-+			RETURN_FALSE;
-+		}
- 	}
- 
- 	ZEND_REGISTER_RESOURCE(return_value, ch, le_curl);
-@@ -1304,6 +1312,13 @@
- 		case CURLOPT_TCP_NODELAY:
- #endif
- 			convert_to_long_ex(zvalue);
-+#if LIBCURL_VERSION_NUM >= 0x71304
-+			if (((PG(open_basedir) && *PG(open_basedir)) || PG(safe_mode)) && (Z_LVAL_PP(zvalue) & CURLPROTO_FILE)) {
-+					php_error_docref(NULL TSRMLS_CC, E_WARNING, "CURLPROTO_FILE cannot be activated when in safe_mode or an open_basedir is set");
-+					RETVAL_FALSE;
-+					return 1;
-+			}
-+#endif
- 			error = curl_easy_setopt(ch->cp, option, Z_LVAL_PP(zvalue));
- 			break;
- 		case CURLOPT_FOLLOWLOCATION:
-@@ -1348,18 +1363,20 @@
- 			convert_to_string_ex(zvalue);
- 
- 			if (option == CURLOPT_URL) {
--				PHP_CURL_CHECK_OPEN_BASEDIR(Z_STRVAL_PP(zvalue), Z_STRLEN_PP(zvalue), 1);
-+				if (!php_curl_option_url(ch, Z_STRVAL_PP(zvalue), Z_STRLEN_PP(zvalue))) {
-+					RETVAL_FALSE;
-+					return 1;
-+				}
-+			} else {
-+#if LIBCURL_VERSION_NUM >= 0x071100
-+				/* Strings passed to libcurl as ’char *’ arguments, are copied by the library... NOTE: before 7.17.0 strings were not copied. */
-+				error = curl_easy_setopt(ch->cp, option, Z_STRVAL_PP(zvalue));
-+#else
-+				copystr = estrndup(Z_STRVAL_PP(zvalue), Z_STRLEN_PP(zvalue));
-+				error = curl_easy_setopt(ch->cp, option, copystr);
-+				zend_llist_add_element(&ch->to_free.str, &copystr);
-+#endif
- 			}
--
--#if LIBCURL_VERSION_NUM >= 0x071100
--			/* Strings passed to libcurl as ’char *’ arguments, are copied by the library... NOTE: before 7.17.0 strings were not copied. */
--			error = curl_easy_setopt(ch->cp, option, Z_STRVAL_PP(zvalue));
--#else
--			copystr = estrndup(Z_STRVAL_PP(zvalue), Z_STRLEN_PP(zvalue));
--			error = curl_easy_setopt(ch->cp, option, copystr);
--			zend_llist_add_element(&ch->to_free.str, &copystr);
--#endif
--
- 			break;
- 		}
- 		case CURLOPT_FILE:
-@@ -1982,10 +1999,8 @@
- 
- /* {{{ _php_curl_close()
-    List destructor for curl handles */
--static void _php_curl_close(zend_rsrc_list_entry *rsrc TSRMLS_DC)
-+static void _php_curl_close_ex(php_curl *ch TSRMLS_DC)
- {
--	php_curl *ch = (php_curl *) rsrc->ptr;
--
- #if PHP_CURL_DEBUG
- 	fprintf(stderr, "DTOR CALLED, ch = %x\n", ch);
- #endif
-@@ -2024,6 +2039,15 @@
- }	
- /* }}} */
- 
-+/* {{{ _php_curl_close()
-+   List destructor for curl handles */
-+static void _php_curl_close(zend_rsrc_list_entry *rsrc TSRMLS_DC)
-+{
-+	php_curl *ch = (php_curl *) rsrc->ptr;
-+	_php_curl_close_ex(ch TSRMLS_CC);
-+}	
-+/* }}} */
-+
- #endif /* HAVE_CURL */
- 
- /*
diff --git a/debian/patches/series b/debian/patches/series
index 0d0a0ca..fc39313 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -34,15 +34,5 @@ force_libmysqlclient_r.patch
 libedit_is_editline.patch
 bad_whatis_entries.patch
 curl_streams_sleep.patch
-gentoo/003_ext-zip-memory-corruptions.patch
-gentoo/005_ext-gd-imagepng-empty-image-crash.patch
 gentoo/006_ext-curl-set_opt-crash.patch
-gentoo/007_ext-sysvshm-mem-alignment-fix.patch
-gentoo/008_ext-mbstring-mem-alignment-fix.patch
 gentoo/009_ob-memory-leaks.patch
-gentoo/010_ext-openssl-utf8-conversion-crash.patch
-gentoo/011_strnlen-compile-warning-fix.patch
-gentoo/013_ext-session-bad-save_path-crash.patch
-gentoo/015_zend-double-efree-fix.patch
-gentoo/016_ext-curl-open_basedir-bypass.patch
-gentoo/012_ext-xmlrpc-bad-callback-crash.patch
-- 
1.5.6.5





More information about the Pkg-php-commits mailing list