[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, ©str);
-+#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, ©str);
-+#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, ©str);
--#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