summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsbd <sbd>2011-03-22 06:55:44 +0000
committersbd <sbd>2011-03-22 06:55:44 +0000
commit4048d14fce574fe1800946cd2be586499e591daa (patch)
treeda5c46f189a06afa65beba3729e118f3ab9912d8
parentd6095b4f79a1dd0823d576f1bde3d943f4ae0757 (diff)
downloadpkgsrc-4048d14fce574fe1800946cd2be586499e591daa.tar.gz
Pullup ticket #3395 - requested by taca
security fix for lang/php53 Revisions pulled up: - lang/php53/Makefile 1.8 - lang/php53/Makefile.common 1.5 - lang/php53/distinfo 1.13 - lang/php53/patches/patch-aa 1.2 - lang/php53/patches/patch-ab 1.4 - lang/php53/patches/patch-af 1.2 - lang/php53/patches/patch-ar Removed - lang/php53/patches/patch-ext_exif_exif.c Removed - lang/php53/patches/patch-ext_zip_lib_zip__name__locate.c Removed - lang/php53/patches/patch-ext_zip_php__zip.c Removed --- Module Name: pkgsrc Committed By: taca Date: Sat Mar 19 07:01:19 UTC 2011 Modified Files: pkgsrc/lang/php53: Makefile Makefile.common distinfo pkgsrc/lang/php53/patches: patch-aa patch-ab patch-af Removed Files: pkgsrc/lang/php53/patches: patch-ar patch-ext_exif_exif.c patch-ext_zip_lib_zip__name__locate.c patch-ext_zip_php__zip.c Log Message: Update lang/php53 package to PHP 5.3. PHP 5.3.6 Released! [17-Mar-2011] The PHP development team would like to announce the immediate availability of PHP 5.3.6. This release focuses on improving the stability of the PHP 5.3.x branch with over 60 bug fixes, some of which are security related. Security Enhancements and Fixes in PHP 5.3.6: * Enforce security in the fastcgi protocol parsing with fpm SAPI. * Fixed bug #54247 (format-string vulnerability on Phar). (CVE-2011-1153) * Fixed bug #54193 (Integer overflow in shmop_read()). (CVE-2011-1092) * Fixed bug #54055 (buffer overrun with high values for precision ini setting). * Fixed bug #54002 (crash on crafted tag in exif). (CVE-2011-0708) * Fixed bug #53885 (ZipArchive segfault with FL_UNCHANGED on empty archive). (CVE-2011-0421) Key enhancements in PHP 5.3.6 include: * Upgraded bundled Sqlite3 to version 3.7.4. * Upgraded bundled PCRE to version 8.11. * Added ability to connect to HTTPS sites through proxy with basic authentication using stream_context/http/header/Proxy-Authorization. * Added options to debug backtrace functions. * Changed default value of ini directive serialize_precision from 100 to 17. * Fixed Bug #53971 (isset() and empty() produce apparently spurious runtime error). * Fixed Bug #53958 (Closures can't 'use' shared variables by value and by reference). * Fixed bug #53577 (Regression introduced in 5.3.4 in open_basedir with a trailing forward slash). * Over 60 other bug fixes.
-rw-r--r--lang/php53/Makefile3
-rw-r--r--lang/php53/Makefile.common4
-rw-r--r--lang/php53/distinfo24
-rw-r--r--lang/php53/patches/patch-aa6
-rw-r--r--lang/php53/patches/patch-ab8
-rw-r--r--lang/php53/patches/patch-af6
-rw-r--r--lang/php53/patches/patch-ar14
-rw-r--r--lang/php53/patches/patch-ext_exif_exif.c63
-rw-r--r--lang/php53/patches/patch-ext_zip_lib_zip__name__locate.c17
-rw-r--r--lang/php53/patches/patch-ext_zip_php__zip.c267
10 files changed, 23 insertions, 389 deletions
diff --git a/lang/php53/Makefile b/lang/php53/Makefile
index 54391fef375..481ee39a073 100644
--- a/lang/php53/Makefile
+++ b/lang/php53/Makefile
@@ -1,10 +1,9 @@
-# $NetBSD: Makefile,v 1.6.2.1 2011/02/23 19:12:54 tron Exp $
+# $NetBSD: Makefile,v 1.6.2.2 2011/03/22 06:55:44 sbd Exp $
#
# We can't omit PKGNAME here to handle PKG_OPTIONS.
#
PKGNAME= php-${PHP_BASE_VERS}
-PKGREVISION= 1
CATEGORIES= lang
HOMEPAGE= http://www.php.net/
COMMENT= PHP Hypertext Preprocessor version 5
diff --git a/lang/php53/Makefile.common b/lang/php53/Makefile.common
index ad1c992f261..45a0e6a6e86 100644
--- a/lang/php53/Makefile.common
+++ b/lang/php53/Makefile.common
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.common,v 1.4 2011/01/07 09:20:16 taca Exp $
+# $NetBSD: Makefile.common,v 1.4.2.1 2011/03/22 06:55:44 sbd Exp $
# used by lang/php53/Makefile.php
# used by lang/php/ext.mk
# used by meta-pkgs/php53-extensions/Makefile
@@ -39,7 +39,7 @@ EXTRACT_SUFX?= .tar.bz2
MAINTAINER?= pkgsrc-users@NetBSD.org
HOMEPAGE?= http://www.php.net/
-PHP_BASE_VERS= 5.3.5
+PHP_BASE_VERS= 5.3.6
PHP_EXTENSION_DIR= lib/php/20090630
PLIST_SUBST+= PHP_EXTENSION_DIR=${PHP_EXTENSION_DIR:Q}
diff --git a/lang/php53/distinfo b/lang/php53/distinfo
index cbb60ed07da..793e51a278d 100644
--- a/lang/php53/distinfo
+++ b/lang/php53/distinfo
@@ -1,23 +1,19 @@
-$NetBSD: distinfo,v 1.9.2.2 2011/02/23 19:12:54 tron Exp $
+$NetBSD: distinfo,v 1.9.2.3 2011/03/22 06:55:44 sbd Exp $
-SHA1 (php-5.3.5/php-5.3.5.tar.bz2) = 355701b723fcb497581c368be4d6e572c150a5ea
-RMD160 (php-5.3.5/php-5.3.5.tar.bz2) = 831018429b87c46da7571397e0d463b81ded11eb
-Size (php-5.3.5/php-5.3.5.tar.bz2) = 10806092 bytes
-SHA1 (php-5.3.5/suhosin-patch-5.3.4-0.9.10.patch.gz) = a2ab4bd03a329ec56a1f8b99e12e59f1838e0da6
-RMD160 (php-5.3.5/suhosin-patch-5.3.4-0.9.10.patch.gz) = e5105397a9e41997ad11d2a0be01c7e3c9d06c6e
-Size (php-5.3.5/suhosin-patch-5.3.4-0.9.10.patch.gz) = 41092 bytes
-SHA1 (patch-aa) = f51491af7c577f36979fc07d52b5857368392e09
-SHA1 (patch-ab) = 7aeb5148056e7f0b150388c4cf60a139f6aeec44
+SHA1 (php-5.3.6/php-5.3.6.tar.bz2) = 0e0b9b4d9117f22080e2204afa9383469eb0dbbd
+RMD160 (php-5.3.6/php-5.3.6.tar.bz2) = 619bf96cf24bf6aa0988494186f8914fde94d44d
+Size (php-5.3.6/php-5.3.6.tar.bz2) = 10952171 bytes
+SHA1 (php-5.3.6/suhosin-patch-5.3.4-0.9.10.patch.gz) = a2ab4bd03a329ec56a1f8b99e12e59f1838e0da6
+RMD160 (php-5.3.6/suhosin-patch-5.3.4-0.9.10.patch.gz) = e5105397a9e41997ad11d2a0be01c7e3c9d06c6e
+Size (php-5.3.6/suhosin-patch-5.3.4-0.9.10.patch.gz) = 41092 bytes
+SHA1 (patch-aa) = b0dc6cd0b2103d5858280202506b33322a98496e
+SHA1 (patch-ab) = d08bb50cf074a6065ef0d1d67a713b7573cb2f5b
SHA1 (patch-ac) = a896371d3343c07a5cf46c79d9ca9e1b2164797a
SHA1 (patch-ad) = 1608c58860a43b4e31df8646b5ded253ec9aa881
SHA1 (patch-ae) = e590db60a60f4e5ef2da4e5edb786335a67a3d56
-SHA1 (patch-af) = 6e903ea7ff501226601fa73ce74c272d44d7346b
+SHA1 (patch-af) = 64a9e8bf83df23179b221e03af6061fc7ee2584e
SHA1 (patch-ag) = c49cdff097d1e54ebe93b5afb550e89b0cc2468e
SHA1 (patch-ah) = b20c29c64b3099f77855a5ec28960dc1c4f65c83
SHA1 (patch-ai) = d4766893a2c47a4e4a744248dda265b0a9a66a1f
SHA1 (patch-aj) = d611d13fcc28c5d2b9e9586832ce4b8ae5707b48
SHA1 (patch-al) = fbbee5502e0cd1c47c6e7c15e0d54746414ec32e
-SHA1 (patch-ar) = edad3e866106cec502ccd93bacf722a771a6c1c0
-SHA1 (patch-ext_exif_exif.c) = 98884afa0a6122e2730e1626d63337e6e82c0c09
-SHA1 (patch-ext_zip_lib_zip__name__locate.c) = ffe336a383bd6a4c7328d4a3a5f2ef2038763b7a
-SHA1 (patch-ext_zip_php__zip.c) = fbff5185b1d8493409554bea8611cb4e9363e5f7
diff --git a/lang/php53/patches/patch-aa b/lang/php53/patches/patch-aa
index 937a2c6de37..7c90648bc6e 100644
--- a/lang/php53/patches/patch-aa
+++ b/lang/php53/patches/patch-aa
@@ -1,8 +1,8 @@
-$NetBSD: patch-aa,v 1.1.1.1 2010/03/16 15:31:58 taca Exp $
+$NetBSD: patch-aa,v 1.1.1.1.8.1 2011/03/22 06:55:44 sbd Exp $
---- acinclude.m4.orig 2009-11-29 06:13:22.000000000 +0000
+--- acinclude.m4.orig 2011-02-15 08:28:22.000000000 +0000
+++ acinclude.m4
-@@ -2335,7 +2335,7 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[
+@@ -2341,7 +2341,7 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[
if test "$found_openssl" = "no"; then
if test "$PHP_OPENSSL_DIR" = "yes"; then
diff --git a/lang/php53/patches/patch-ab b/lang/php53/patches/patch-ab
index 58353b4b858..4c54543ca9a 100644
--- a/lang/php53/patches/patch-ab
+++ b/lang/php53/patches/patch-ab
@@ -1,6 +1,6 @@
-$NetBSD: patch-ab,v 1.3 2010/12/13 13:16:37 taca Exp $
+$NetBSD: patch-ab,v 1.3.2.1 2011/03/22 06:55:44 sbd Exp $
---- configure.orig 2010-12-08 21:46:58.000000000 +0000
+--- configure.orig 2011-03-17 07:55:56.000000000 +0000
+++ configure
@@ -13699,7 +13699,7 @@ EOF
PHP_VAR_SUBST="$PHP_VAR_SUBST SAPI_CGI_PATH"
@@ -47,7 +47,7 @@ $NetBSD: patch-ab,v 1.3 2010/12/13 13:16:37 taca Exp $
fi
for i in $PHP_OPENSSL_DIR; do
-@@ -83900,7 +83900,7 @@ fi
+@@ -83901,7 +83901,7 @@ fi
if test "$found_openssl" = "no"; then
if test "$PHP_OPENSSL_DIR" = "yes"; then
@@ -56,7 +56,7 @@ $NetBSD: patch-ab,v 1.3 2010/12/13 13:16:37 taca Exp $
fi
for i in $PHP_OPENSSL_DIR; do
-@@ -107040,12 +107040,7 @@ old_CC=$CC
+@@ -107041,12 +107041,7 @@ old_CC=$CC
if test "$PHP_THREAD_SAFETY" = "yes" && test -n "$ac_cv_pthreads_cflags"; then
CXXFLAGS="$CXXFLAGS $ac_cv_pthreads_cflags"
INLINE_CFLAGS="$INLINE_CFLAGS $ac_cv_pthreads_cflags"
diff --git a/lang/php53/patches/patch-af b/lang/php53/patches/patch-af
index 71c6710c9c0..840723bd3fd 100644
--- a/lang/php53/patches/patch-af
+++ b/lang/php53/patches/patch-af
@@ -1,8 +1,8 @@
-$NetBSD: patch-af,v 1.1.1.1 2010/03/16 15:31:58 taca Exp $
+$NetBSD: patch-af,v 1.1.1.1.8.1 2011/03/22 06:55:44 sbd Exp $
---- ext/phar/Makefile.frag.orig 2009-07-23 15:48:04.000000000 +0000
+--- ext/phar/Makefile.frag.orig 2011-02-25 09:32:17.000000000 +0000
+++ ext/phar/Makefile.frag
-@@ -44,4 +44,4 @@ install-pharcmd: pharcmd
+@@ -39,4 +39,4 @@ install-pharcmd: pharcmd
-@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
$(INSTALL) $(builddir)/phar.phar $(INSTALL_ROOT)$(bindir)
-@rm -f $(INSTALL_ROOT)$(bindir)/phar
diff --git a/lang/php53/patches/patch-ar b/lang/php53/patches/patch-ar
deleted file mode 100644
index 1d132342a85..00000000000
--- a/lang/php53/patches/patch-ar
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-ar,v 1.1 2011/01/07 09:20:16 taca Exp $
-
-Fix for VAX floating point handling (Bug #53682), r307192 from PHP's repositry.
-
---- Zend/zend_strtod.c.orig 2011-01-05 13:32:26.000000000 +0000
-+++ Zend/zend_strtod.c
-@@ -164,6 +164,7 @@ typedef unsigned long int uint32_t;
-
- #ifdef __vax__
- #define VAX
-+#undef IEEE_LITTLE_ENDIAN
- #endif
-
- #if defined(_MSC_VER)
diff --git a/lang/php53/patches/patch-ext_exif_exif.c b/lang/php53/patches/patch-ext_exif_exif.c
deleted file mode 100644
index d9a03aabb22..00000000000
--- a/lang/php53/patches/patch-ext_exif_exif.c
+++ /dev/null
@@ -1,63 +0,0 @@
-$NetBSD: patch-ext_exif_exif.c,v 1.1.2.2 2011/02/23 19:12:54 tron Exp $
-
-Catch up to r308362 from PHP's repogitry for SA43328.
-
---- ext/exif/exif.c.orig 2010-01-03 09:23:27.000000000 +0000
-+++ ext/exif/exif.c
-@@ -40,6 +40,16 @@
- #include "php.h"
- #include "ext/standard/file.h"
-
-+#ifdef HAVE_STDINT_H
-+# include <stdint.h>
-+#endif
-+#ifdef HAVE_INTTYPES_H
-+# include <inttypes.h>
-+#endif
-+#ifdef PHP_WIN32
-+# include "win32/php_stdint.h"
-+#endif
-+
- #if HAVE_EXIF
-
- /* When EXIF_DEBUG is defined the module generates a lot of debug messages
-@@ -2821,6 +2831,7 @@ static int exif_process_IFD_TAG(image_in
- int tag, format, components;
- char *value_ptr, tagname[64], cbuf[32], *outside=NULL;
- size_t byte_count, offset_val, fpos, fgot;
-+ int64_t byte_count_signed;
- xp_field_type *tmp_xp;
- #ifdef EXIF_DEBUG
- char *dump_data;
-@@ -2845,13 +2856,20 @@ static int exif_process_IFD_TAG(image_in
- /*return TRUE;*/
- }
-
-- byte_count = components * php_tiff_bytes_per_format[format];
-+ if (components < 0) {
-+ exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "Process tag(x%04X=%s): Illegal components(%ld)", tag, exif_get_tagname(tag, tagname, -12, tag_table TSRMLS_CC), components);
-+ return FALSE;
-+ }
-+
-+ byte_count_signed = (int64_t)components * php_tiff_bytes_per_format[format];
-
-- if ((ssize_t)byte_count < 0) {
-- exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "Process tag(x%04X=%s): Illegal byte_count(%ld)", tag, exif_get_tagname(tag, tagname, -12, tag_table TSRMLS_CC), byte_count);
-+ if (byte_count_signed < 0 || (byte_count_signed > INT32_MAX)) {
-+ exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "Process tag(x%04X=%s): Illegal byte_count", tag, exif_get_tagname(tag, tagname, -12, tag_table TSRMLS_CC));
- return FALSE;
- }
-
-+ byte_count = (size_t)byte_count_signed;
-+
- if (byte_count > 4) {
- offset_val = php_ifd_get32u(dir_entry+8, ImageInfo->motorola_intel);
- /* If its bigger than 4 bytes, the dir entry contains an offset. */
-@@ -2916,6 +2934,7 @@ static int exif_process_IFD_TAG(image_in
- efree(dump_data);
- }
- #endif
-+
- if (section_index==SECTION_THUMBNAIL) {
- if (!ImageInfo->Thumbnail.data) {
- switch(tag) {
diff --git a/lang/php53/patches/patch-ext_zip_lib_zip__name__locate.c b/lang/php53/patches/patch-ext_zip_lib_zip__name__locate.c
deleted file mode 100644
index caddcfafbe8..00000000000
--- a/lang/php53/patches/patch-ext_zip_lib_zip__name__locate.c
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD: patch-ext_zip_lib_zip__name__locate.c,v 1.1.2.2 2011/02/23 19:12:54 tron Exp $
-
-Catch up to r307867 from PHP's repogitry for SA43328.
-
---- ext/zip/lib/zip_name_locate.c.orig 2008-05-21 09:27:41.000000000 +0000
-+++ ext/zip/lib/zip_name_locate.c
-@@ -60,6 +60,10 @@ _zip_name_locate(struct zip *za, const c
- return -1;
- }
-
-+ if((flags & ZIP_FL_UNCHANGED) && !za->cdir) {
-+ return -1;
-+ }
-+
- cmp = (flags & ZIP_FL_NOCASE) ? strcmpi : strcmp;
-
- n = (flags & ZIP_FL_UNCHANGED) ? za->cdir->nentry : za->nentry;
diff --git a/lang/php53/patches/patch-ext_zip_php__zip.c b/lang/php53/patches/patch-ext_zip_php__zip.c
deleted file mode 100644
index 47a01af0553..00000000000
--- a/lang/php53/patches/patch-ext_zip_php__zip.c
+++ /dev/null
@@ -1,267 +0,0 @@
-$NetBSD: patch-ext_zip_php__zip.c,v 1.1.2.2 2011/02/23 19:12:54 tron Exp $
-
-Catch up to r308107 from PHP's repository.
-
---- ext/zip/php_zip.c.orig 2010-11-30 11:04:06.000000000 +0000
-+++ ext/zip/php_zip.c
-@@ -196,7 +196,7 @@ static int php_zip_extract_file(struct z
- }
-
- /* let see if the path already exists */
-- if (php_stream_stat_path(file_dirname_fullpath, &ssb) < 0) {
-+ if (php_stream_stat_path_ex(file_dirname_fullpath, PHP_STREAM_URL_STAT_QUIET, &ssb, NULL) < 0) {
-
- #if defined(PHP_WIN32) && (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION == 1)
- char *e;
-@@ -232,9 +232,14 @@ static int php_zip_extract_file(struct z
- efree(file_dirname_fullpath);
- efree(file_basename);
- free(new_state.cwd);
-+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot build full extract path");
- return 0;
- } else if (len > MAXPATHLEN) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Full extraction path exceed MAXPATHLEN (%i)", MAXPATHLEN);
-+ efree(file_dirname_fullpath);
-+ efree(file_basename);
-+ free(new_state.cwd);
-+ return 0;
- }
-
- /* check again the full path, not sure if it
-@@ -249,27 +254,42 @@ static int php_zip_extract_file(struct z
- return 0;
- }
-
-+#if PHP_API_VERSION < 20100412
-+ stream = php_stream_open_wrapper(fullpath, "w+b", REPORT_ERRORS|ENFORCE_SAFE_MODE, NULL);
-+#else
-+ stream = php_stream_open_wrapper(fullpath, "w+b", REPORT_ERRORS, NULL);
-+#endif
-+
-+ if (stream == NULL) {
-+ n = -1;
-+ goto done;
-+ }
-+
- zf = zip_fopen(za, file, 0);
- if (zf == NULL) {
-+ n = -1;
-+ php_stream_close(stream);
-+ goto done;
-+ }
-+
-+ n = 0;
-+ if (stream == NULL) {
-+ int ret = zip_fclose(zf);
- efree(fullpath);
-- efree(file_dirname_fullpath);
- efree(file_basename);
-+ efree(file_dirname_fullpath);
- free(new_state.cwd);
- return 0;
- }
-
--#if PHP_API_VERSION < 20100412
-- stream = php_stream_open_wrapper(fullpath, "w+b", REPORT_ERRORS|ENFORCE_SAFE_MODE, NULL);
--#else
-- stream = php_stream_open_wrapper(fullpath, "w+b", REPORT_ERRORS, NULL);
--#endif
-- n = 0;
-- if (stream) {
-- while ((n=zip_fread(zf, b, sizeof(b))) > 0) php_stream_write(stream, b, n);
-- php_stream_close(stream);
-+ while ((n=zip_fread(zf, b, sizeof(b))) > 0) {
-+ php_stream_write(stream, b, n);
- }
-+
-+ php_stream_close(stream);
- n = zip_fclose(zf);
-
-+done:
- efree(fullpath);
- efree(file_basename);
- efree(file_dirname_fullpath);
-@@ -473,10 +493,12 @@ static char * php_zipobj_get_zip_comment
- #define GLOB_FLAGMASK (~GLOB_ONLYDIR)
- #else
- #define GLOB_FLAGMASK (~0)
-+#endif
- #endif /* }}} */
-
- int php_zip_glob(char *pattern, int pattern_len, long flags, zval *return_value TSRMLS_DC) /* {{{ */
- {
-+#ifdef HAVE_GLOB
- char cwd[MAXPATHLEN];
- int cwd_skip = 0;
- #ifdef ZTS
-@@ -563,6 +585,10 @@ int php_zip_glob(char *pattern, int patt
-
- globfree(&globbuf);
- return globbuf.gl_pathc;
-+#else
-+ php_error_docref(NULL TSRMLS_CC, E_ERROR, "Glob support is not available");
-+ return 0;
-+#endif /* HAVE_GLOB */
- }
- /* }}} */
-
-@@ -664,7 +690,6 @@ int php_zip_pcre(char *regexp, int regex
- return files_cnt;
- }
- /* }}} */
--#endif
-
- #endif
-
-@@ -1688,7 +1713,7 @@ static void php_zip_add_from_pattern(INT
- }
- /* }}} */
-
--/* {{{ proto bool addGlob(string pattern[,int flags [, array options]])
-+/* {{{ proto bool ZipArchive::addGlob(string pattern[,int flags [, array options]])
- Add files matching the glob pattern. See php's glob for the pattern syntax. */
- static ZIPARCHIVE_METHOD(addGlob)
- {
-@@ -1696,7 +1721,7 @@ static ZIPARCHIVE_METHOD(addGlob)
- }
- /* }}} */
-
--/* {{{ proto bool addPattern(string pattern[, string path [, array options]])
-+/* {{{ proto bool ZipArchive::addPattern(string pattern[, string path [, array options]])
- Add files matching the pcre pattern. See php's pcre for the pattern syntax. */
- static ZIPARCHIVE_METHOD(addPattern)
- {
-@@ -1925,7 +1950,7 @@ static ZIPARCHIVE_METHOD(getNameIndex)
- }
- /* }}} */
-
--/* {{{ proto bool ZipArchive::setArchiveComment(string name, string comment)
-+/* {{{ proto bool ZipArchive::setArchiveComment(string comment)
- Set or remove (NULL/'') the comment of the archive */
- static ZIPARCHIVE_METHOD(setArchiveComment)
- {
-@@ -1951,7 +1976,7 @@ static ZIPARCHIVE_METHOD(setArchiveComme
- }
- /* }}} */
-
--/* {{{ proto string ZipArchive::getArchiveComment()
-+/* {{{ proto string ZipArchive::getArchiveComment([int flags])
- Returns the comment of an entry using its index */
- static ZIPARCHIVE_METHOD(getArchiveComment)
- {
-@@ -2039,7 +2064,7 @@ static ZIPARCHIVE_METHOD(setCommentIndex
- }
- /* }}} */
-
--/* {{{ proto string ZipArchive::getCommentName(string name)
-+/* {{{ proto string ZipArchive::getCommentName(string name[, int flags])
- Returns the comment of an entry using its name */
- static ZIPARCHIVE_METHOD(getCommentName)
- {
-@@ -2076,7 +2101,7 @@ static ZIPARCHIVE_METHOD(getCommentName)
- }
- /* }}} */
-
--/* {{{ proto string ZipArchive::getCommentIndex(int index)
-+/* {{{ proto string ZipArchive::getCommentIndex(int index[, int flags])
- Returns the comment of an entry using its index */
- static ZIPARCHIVE_METHOD(getCommentIndex)
- {
-@@ -2378,7 +2403,7 @@ static ZIPARCHIVE_METHOD(extractTo)
- RETURN_FALSE;
- }
-
-- if (php_stream_stat_path(pathto, &ssb) < 0) {
-+ if (php_stream_stat_path_ex(pathto, PHP_STREAM_URL_STAT_QUIET, &ssb, NULL) < 0) {
- ret = php_stream_mkdir(pathto, 0777, PHP_STREAM_MKDIR_RECURSIVE, NULL);
- if (!ret) {
- RETURN_FALSE;
-@@ -2559,7 +2584,7 @@ static ZIPARCHIVE_METHOD(getStream)
-
- /* {{{ arginfo */
- ZEND_BEGIN_ARG_INFO_EX(arginfo_ziparchive_open, 0, 0, 1)
-- ZEND_ARG_INFO(0, source)
-+ ZEND_ARG_INFO(0, filename)
- ZEND_ARG_INFO(0, flags)
- ZEND_END_ARG_INFO()
-
-@@ -2604,8 +2629,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_ziparchiv
- ZEND_ARG_INFO(0, flags)
- ZEND_END_ARG_INFO()
-
--ZEND_BEGIN_ARG_INFO_EX(arginfo_ziparchive_setarchivecomment, 0, 0, 2)
-- ZEND_ARG_INFO(0, name)
-+ZEND_BEGIN_ARG_INFO_EX(arginfo_ziparchive_setarchivecomment, 0, 0, 1)
- ZEND_ARG_INFO(0, comment)
- ZEND_END_ARG_INFO()
-
-@@ -2616,10 +2640,12 @@ ZEND_END_ARG_INFO()
-
- ZEND_BEGIN_ARG_INFO_EX(arginfo_ziparchive_getcommentname, 0, 0, 1)
- ZEND_ARG_INFO(0, name)
-+ ZEND_ARG_INFO(0, flags)
- ZEND_END_ARG_INFO()
-
- ZEND_BEGIN_ARG_INFO_EX(arginfo_ziparchive_getcommentindex, 0, 0, 1)
- ZEND_ARG_INFO(0, index)
-+ ZEND_ARG_INFO(0, flags)
- ZEND_END_ARG_INFO()
-
- ZEND_BEGIN_ARG_INFO_EX(arginfo_ziparchive_renameindex, 0, 0, 2)
-@@ -2657,6 +2683,15 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_ziparchiv
- ZEND_ARG_INFO(0, flags)
- ZEND_END_ARG_INFO()
-
-+ZEND_BEGIN_ARG_INFO_EX(arginfo_ziparchive_getarchivecomment, 0, 0, 0)
-+ ZEND_ARG_INFO(0, flags)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_INFO_EX(arginfo_ziparchive_setcommentname, 0, 0, 2)
-+ ZEND_ARG_INFO(0, name)
-+ ZEND_ARG_INFO(0, comment)
-+ZEND_END_ARG_INFO()
-+
- ZEND_BEGIN_ARG_INFO_EX(arginfo_ziparchive_getstream, 0, 0, 1)
- ZEND_ARG_INFO(0, entryname)
- ZEND_END_ARG_INFO()
-@@ -2675,21 +2710,21 @@ static const zend_function_entry zip_cla
- ZIPARCHIVE_ME(renameIndex, arginfo_ziparchive_renameindex, ZEND_ACC_PUBLIC)
- ZIPARCHIVE_ME(renameName, arginfo_ziparchive_renamename, ZEND_ACC_PUBLIC)
- ZIPARCHIVE_ME(setArchiveComment, arginfo_ziparchive_setarchivecomment, ZEND_ACC_PUBLIC)
-- ZIPARCHIVE_ME(getArchiveComment, arginfo_ziparchive__void, ZEND_ACC_PUBLIC)
-+ ZIPARCHIVE_ME(getArchiveComment, arginfo_ziparchive_getarchivecomment, ZEND_ACC_PUBLIC)
- ZIPARCHIVE_ME(setCommentIndex, arginfo_ziparchive_setcommentindex, ZEND_ACC_PUBLIC)
-- ZIPARCHIVE_ME(setCommentName, arginfo_ziparchive_setarchivecomment, ZEND_ACC_PUBLIC)
-+ ZIPARCHIVE_ME(setCommentName, arginfo_ziparchive_setcommentname, ZEND_ACC_PUBLIC)
- ZIPARCHIVE_ME(getCommentIndex, arginfo_ziparchive_getcommentindex, ZEND_ACC_PUBLIC)
- ZIPARCHIVE_ME(getCommentName, arginfo_ziparchive_getcommentname, ZEND_ACC_PUBLIC)
-- ZIPARCHIVE_ME(deleteIndex, arginfo_ziparchive_getcommentindex, ZEND_ACC_PUBLIC)
-- ZIPARCHIVE_ME(deleteName, arginfo_ziparchive_getcommentname, ZEND_ACC_PUBLIC)
-+ ZIPARCHIVE_ME(deleteIndex, arginfo_ziparchive_unchangeindex, ZEND_ACC_PUBLIC)
-+ ZIPARCHIVE_ME(deleteName, arginfo_ziparchive_unchangename, ZEND_ACC_PUBLIC)
- ZIPARCHIVE_ME(statName, arginfo_ziparchive_statname, ZEND_ACC_PUBLIC)
- ZIPARCHIVE_ME(statIndex, arginfo_ziparchive_statindex, ZEND_ACC_PUBLIC)
- ZIPARCHIVE_ME(locateName, arginfo_ziparchive_statname, ZEND_ACC_PUBLIC)
- ZIPARCHIVE_ME(getNameIndex, arginfo_ziparchive_statindex, ZEND_ACC_PUBLIC)
- ZIPARCHIVE_ME(unchangeArchive, arginfo_ziparchive__void, ZEND_ACC_PUBLIC)
- ZIPARCHIVE_ME(unchangeAll, arginfo_ziparchive__void, ZEND_ACC_PUBLIC)
-- ZIPARCHIVE_ME(unchangeIndex, arginfo_ziparchive_getcommentindex, ZEND_ACC_PUBLIC)
-- ZIPARCHIVE_ME(unchangeName, arginfo_ziparchive_getcommentname, ZEND_ACC_PUBLIC)
-+ ZIPARCHIVE_ME(unchangeIndex, arginfo_ziparchive_unchangeindex, ZEND_ACC_PUBLIC)
-+ ZIPARCHIVE_ME(unchangeName, arginfo_ziparchive_unchangename, ZEND_ACC_PUBLIC)
- ZIPARCHIVE_ME(extractTo, arginfo_ziparchive_extractto, ZEND_ACC_PUBLIC)
- ZIPARCHIVE_ME(getFromName, arginfo_ziparchive_getfromname, ZEND_ACC_PUBLIC)
- ZIPARCHIVE_ME(getFromIndex, arginfo_ziparchive_getfromindex, ZEND_ACC_PUBLIC)
-@@ -2744,6 +2779,12 @@ static PHP_MINIT_FUNCTION(zip)
- REGISTER_ZIP_CLASS_CONST_LONG("CM_DEFLATE", ZIP_CM_DEFLATE);
- REGISTER_ZIP_CLASS_CONST_LONG("CM_DEFLATE64", ZIP_CM_DEFLATE64);
- REGISTER_ZIP_CLASS_CONST_LONG("CM_PKWARE_IMPLODE", ZIP_CM_PKWARE_IMPLODE);
-+ REGISTER_ZIP_CLASS_CONST_LONG("CM_BZIP2", ZIP_CM_BZIP2);
-+ REGISTER_ZIP_CLASS_CONST_LONG("CM_LZMA", ZIP_CM_LZMA);
-+ REGISTER_ZIP_CLASS_CONST_LONG("CM_TERSE", ZIP_CM_TERSE);
-+ REGISTER_ZIP_CLASS_CONST_LONG("CM_LZ77", ZIP_CM_LZ77);
-+ REGISTER_ZIP_CLASS_CONST_LONG("CM_WAVPACK", ZIP_CM_WAVPACK);
-+ REGISTER_ZIP_CLASS_CONST_LONG("CM_PPMD", ZIP_CM_PPMD);
-
- /* Error code */
- REGISTER_ZIP_CLASS_CONST_LONG("ER_OK", ZIP_ER_OK); /* N No error */