[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c
iliaa Tue Feb 24 23:55:14 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c Log: Adjust previous fix http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.28r2=1.1.2.38.2.29diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.28 php-src/ext/zip/php_zip.c:1.1.2.38.2.29 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.28 Sun Feb 22 17:54:50 2009 +++ php-src/ext/zip/php_zip.c Tue Feb 24 23:55:14 2009 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.28 2009/02/22 17:54:50 iliaa Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.29 2009/02/24 23:55:14 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -780,6 +780,7 @@ } else { if (hnd-read_const_char_from_obj_func) { retchar = hnd-read_const_char_from_obj_func(obj TSRMLS_CC); + len = strlen(retchar); } } } @@ -2673,7 +2674,7 @@ php_info_print_table_start(); php_info_print_table_row(2, Zip, enabled); - php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.28 2009/02/22 17:54:50 iliaa Exp $); + php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.29 2009/02/24 23:55:14 iliaa Exp $); php_info_print_table_row(2, Zip version, PHP_ZIP_VERSION_STRING); php_info_print_table_row(2, Libzip version, 0.9.0); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c
On 22.02.2009 20:54, Ilia Alshanetsky wrote: iliaa Sun Feb 22 17:54:50 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zip php_zip.c Log: Fixed 2 memory corruptions in zip extension idenfied by oo_properties.phpt test 3 failed tests in ext/zip after this patch (filename property is empty): ext/zip/tests/bug11216.diff ext/zip/tests/bug38944.diff ext/zip/tests/oo_properties.diff -- Wbr, Antony Dovgal -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c
Hmm, I'll take a looks seems unusual that something would break in this case. On 23-Feb-09, at 2:06 PM, Antony Dovgal wrote: On 22.02.2009 20:54, Ilia Alshanetsky wrote: iliaa Sun Feb 22 17:54:50 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zip php_zip.c Log: Fixed 2 memory corruptions in zip extension idenfied by oo_properties.phpt test 3 failed tests in ext/zip after this patch (filename property is empty): ext/zip/tests/bug11216.diff ext/zip/tests/bug38944.diff ext/zip/tests/oo_properties.diff -- Wbr, Antony Dovgal Ilia Alshanetsky -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c
iliaa Sun Feb 22 17:54:50 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c Log: Fixed 2 memory corruptions in zip extension idenfied by oo_properties.phpt test http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.27r2=1.1.2.38.2.28diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.27 php-src/ext/zip/php_zip.c:1.1.2.38.2.28 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.27 Fri Jan 2 00:35:02 2009 +++ php-src/ext/zip/php_zip.c Sun Feb 22 17:54:50 2009 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.27 2009/01/02 00:35:02 pajoye Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.28 2009/02/22 17:54:50 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -792,7 +792,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); } @@ -915,10 +915,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) { @@ -926,8 +927,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); @@ -2671,7 +2673,7 @@ php_info_print_table_start(); php_info_print_table_row(2, Zip, enabled); - php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.27 2009/01/02 00:35:02 pajoye Exp $); + php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.28 2009/02/22 17:54:50 iliaa Exp $); php_info_print_table_row(2, Zip version, PHP_ZIP_VERSION_STRING); php_info_print_table_row(2, Libzip version, 0.9.0); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c
pajoye Fri Jan 2 00:10:21 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c Log: - fix filename property read http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.25r2=1.1.2.38.2.26diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.25 php-src/ext/zip/php_zip.c:1.1.2.38.2.26 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.25 Mon Nov 17 11:28:01 2008 +++ php-src/ext/zip/php_zip.c Fri Jan 2 00:10:20 2009 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.25 2008/11/17 11:28:01 felipe Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.26 2009/01/02 00:10:20 pajoye Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -442,6 +442,7 @@ static char * php_zipobj_get_filename(ze_zip_object *obj TSRMLS_DC) /* {{{ */ { + if (!obj) { return NULL; } @@ -791,7 +792,7 @@ switch (hnd-type) { case IS_STRING: if (retchar) { - ZVAL_STRINGL(*retval, (char *) retchar, len, 1); + ZVAL_STRING(*retval, (char *) retchar, 1); } else { ZVAL_EMPTY_STRING(*retval); } @@ -2670,7 +2671,7 @@ php_info_print_table_start(); php_info_print_table_row(2, Zip, enabled); - php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.25 2008/11/17 11:28:01 felipe Exp $); + php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.26 2009/01/02 00:10:20 pajoye Exp $); php_info_print_table_row(2, Zip version, PHP_ZIP_VERSION_STRING); php_info_print_table_row(2, Libzip version, 0.9.0); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c
pajoye Fri Jan 2 00:35:03 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c Log: - year++ http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.26r2=1.1.2.38.2.27diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.26 php-src/ext/zip/php_zip.c:1.1.2.38.2.27 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.26 Fri Jan 2 00:10:20 2009 +++ php-src/ext/zip/php_zip.c Fri Jan 2 00:35:02 2009 @@ -2,7 +2,7 @@ +--+ | PHP Version 5| +--+ - | Copyright (c) 1997-2007 The PHP Group| + | Copyright (c) 1997-2009 The PHP Group| +--+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is| @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.26 2009/01/02 00:10:20 pajoye Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.27 2009/01/02 00:35:02 pajoye Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -2671,7 +2671,7 @@ php_info_print_table_start(); php_info_print_table_row(2, Zip, enabled); - php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.26 2009/01/02 00:10:20 pajoye Exp $); + php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.27 2009/01/02 00:35:02 pajoye Exp $); php_info_print_table_row(2, Zip version, PHP_ZIP_VERSION_STRING); php_info_print_table_row(2, Libzip version, 0.9.0); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c
felipe Wed Nov 12 17:26:37 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c Log: - MFH: Removed unused variables http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.23r2=1.1.2.38.2.24diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.23 php-src/ext/zip/php_zip.c:1.1.2.38.2.24 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.23 Wed Nov 12 11:41:21 2008 +++ php-src/ext/zip/php_zip.c Wed Nov 12 17:26:36 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.23 2008/11/12 11:41:21 pajoye Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.24 2008/11/12 17:26:36 felipe Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -99,9 +99,6 @@ static char * php_zip_make_relative_path(char *path, int path_len) /* {{{ */ { char *path_begin = path; - int prev_is_slash = 0; - char *e = path + path_len - 1; - size_t pos = path_len - 1; size_t i; if (IS_SLASH(path[0])) { @@ -2683,7 +2680,7 @@ php_info_print_table_start(); php_info_print_table_row(2, Zip, enabled); - php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.23 2008/11/12 11:41:21 pajoye Exp $); + php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.24 2008/11/12 17:26:36 felipe Exp $); php_info_print_table_row(2, Zip version, PHP_ZIP_VERSION_STRING); php_info_print_table_row(2, Libzip version, 0.9.0); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c php_zip.h
pajoye Thu Oct 23 16:12:56 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c php_zip.h Log: - flatten path and make them relative before extraction - remove unnecessary export http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.19r2=1.1.2.38.2.20diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.19 php-src/ext/zip/php_zip.c:1.1.2.38.2.20 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.19 Tue Oct 21 23:39:15 2008 +++ php-src/ext/zip/php_zip.c Thu Oct 23 16:12:55 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.19 2008/10/21 23:39:15 lbarnaud Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.20 2008/10/23 16:12:55 pajoye Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -95,51 +95,102 @@ # define add_ascii_assoc_long add_assoc_long #endif +/* Flatten a path by making a relative path (to .)*/ +static char * php_zip_make_relative_path(char *path, int path_len) /* {{{ */ +{ + char *path_begin = path; + int prev_is_slash = 0; + char *e = path + path_len - 1; + size_t pos = path_len - 1; + size_t i; + + if (IS_SLASH(path[0])) { + return path + 1; + } + + if (path_len 1 || path == NULL) { + return NULL; + } + + i = path_len; + + while (1) { + while (i 0 !IS_SLASH(path[i])) { + i--; + } + + if (!i) { + return path; + } + + if (i = 2 (path[i -1] == '.' || path[i -1] == ':')) { + /* i is the position of . or :, add 1 for / */ + path_begin = path + i + 1; + break; + } + i--; + } + + return path_begin; +} +/* }}} */ + #ifdef ZEND_ENGINE_2_1 /* {{{ php_zip_extract_file */ -/* TODO: Simplify it */ static int php_zip_extract_file(struct zip * za, char *dest, char *file, int file_len TSRMLS_DC) { php_stream_statbuf ssb; struct zip_file *zf; struct zip_stat sb; char b[8192]; - int n, len, ret; - php_stream *stream; - char *fullpath; char *file_dirname_fullpath; char file_dirname[MAXPATHLEN]; size_t dir_len; - char *file_basename; size_t file_basename_len; int is_dir_only = 0; + char *path_cleaned; + size_t path_cleaned_len; + cwd_state new_state; + + new_state.cwd = (char*)malloc(1); + new_state.cwd[0] = '\0'; + new_state.cwd_length = 0; + + /* Clean/normlize the path and then transform any path (absolute or relative) +to a path relative to cwd (../../mydir/foo.txt mydir/foo.txt) +*/ + virtual_file_ex(new_state, file, NULL, CWD_EXPAND); + path_cleaned = php_zip_make_relative_path(new_state.cwd, new_state.cwd_length); + path_cleaned_len = strlen(path_cleaned); - if (file_len = MAXPATHLEN || zip_stat(za, file, 0, sb) != 0) { + if (path_cleaned_len = MAXPATHLEN || zip_stat(za, file, 0, sb) != 0) { return 0; } + /* it is a directory only, see #40228 */ - if (file_len 1 file[file_len - 1] == '/') { + if (path_cleaned_len 1 IS_SLASH(path_cleaned[path_cleaned_len - 1])) { len = spprintf(file_dirname_fullpath, 0, %s/%s, dest, file); is_dir_only = 1; } else { - memcpy(file_dirname, file, file_len); - dir_len = php_dirname(file_dirname, file_len); + memcpy(file_dirname, path_cleaned, path_cleaned_len); + dir_len = php_dirname(file_dirname, path_cleaned_len); - if (dir_len 0) { - len = spprintf(file_dirname_fullpath, 0, %s/%s, dest, file_dirname); - } else { + if (dir_len = 0 || (dir_len == 1 file_dirname[0] == '.')) { len = spprintf(file_dirname_fullpath, 0, %s, dest); + } else { + len = spprintf(file_dirname_fullpath, 0, %s/%s, dest, file_dirname); } - php_basename(file, file_len, NULL, 0, file_basename, (unsigned int *)file_basename_len TSRMLS_CC); + php_basename(path_cleaned, path_cleaned_len, NULL, 0, file_basename, (unsigned int *)file_basename_len TSRMLS_CC); if (OPENBASEDIR_CHECKPATH(file_dirname_fullpath)) { efree(file_dirname_fullpath); efree(file_basename); + free(new_state.cwd); return 0; } } @@ -158,28 +209,32 @@ } #endif - ret = php_stream_mkdir(file_dirname_fullpath, 0777, PHP_STREAM_MKDIR_RECURSIVE, NULL); +
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c
tony2001Fri Aug 8 10:12:27 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c Log: move unused vars into their ifdef http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.12r2=1.1.2.38.2.13diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.12 php-src/ext/zip/php_zip.c:1.1.2.38.2.13 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.12 Fri Jul 4 14:43:53 2008 +++ php-src/ext/zip/php_zip.c Fri Aug 8 10:12:27 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.12 2008/07/04 14:43:53 felipe Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.13 2008/08/08 10:12:27 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -515,9 +515,9 @@ int php_zip_pcre(char *regexp, int regexp_len, char *path, int path_len, zval *return_value TSRMLS_DC) /* {{{ */ { +#ifdef ZTS char cwd[MAXPATHLEN]; int cwd_skip = 0; -#ifdef ZTS char work_path[MAXPATHLEN]; char *result; #endif @@ -2618,7 +2618,7 @@ php_info_print_table_start(); php_info_print_table_row(2, Zip, enabled); - php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.12 2008/07/04 14:43:53 felipe Exp $); + php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.13 2008/08/08 10:12:27 tony2001 Exp $); php_info_print_table_row(2, Zip version, @PACKAGE_VERSION@); php_info_print_table_row(2, Libzip version, 0.7.1); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c
pajoye Fri Aug 8 15:37:38 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c Log: - use OPENBASEDIR_CHECKPATH instead of SAFEMODE_CHECKFILE, easier to keep code synced with HEAD http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.13r2=1.1.2.38.2.14diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.13 php-src/ext/zip/php_zip.c:1.1.2.38.2.14 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.13 Fri Aug 8 10:12:27 2008 +++ php-src/ext/zip/php_zip.c Fri Aug 8 15:37:37 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.13 2008/08/08 10:12:27 tony2001 Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.14 2008/08/08 15:37:37 pajoye Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -59,15 +59,6 @@ #define le_zip_entry_name Zip Entry /* }}} */ -/* {{{ SAFEMODE_CHECKFILE(filename) */ -#if (PHP_MAJOR_VERSION 6) -#define SAFEMODE_CHECKFILE(filename) \ - (PG(safe_mode) (!php_checkuid(filename, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || php_check_open_basedir(filename TSRMLS_CC) -#else -#define SAFEMODE_CHECKFILE(filename) (0) -#endif -/* }}} */ - /* {{{ PHP_ZIP_STAT_INDEX(za, index, flags, sb) */ #define PHP_ZIP_STAT_INDEX(za, index, flags, sb) \ if (zip_stat_index(za, index, flags, sb) != 0) { \ @@ -142,7 +133,7 @@ php_basename(file, file_len, NULL, 0, file_basename, (unsigned int *)file_basename_len TSRMLS_CC); - if (SAFEMODE_CHECKFILE(file_dirname_fullpath)) { + if (OPENBASEDIR_CHECKPATH(file_dirname_fullpath)) { efree(file_dirname_fullpath); efree(file_basename); return 0; @@ -191,7 +182,7 @@ * is required, does a file can have a different * safemode status as its parent folder? */ - if (SAFEMODE_CHECKFILE(fullpath)) { + if (OPENBASEDIR_CHECKPATH(fullpath)) { efree(file_dirname_fullpath); efree(file_basename); return 0; @@ -236,7 +227,7 @@ char resolved_path[MAXPATHLEN]; - if (SAFEMODE_CHECKFILE(filename)) { + if (OPENBASEDIR_CHECKPATH(filename)) { return -1; } @@ -1103,7 +1094,7 @@ return; } - if (SAFEMODE_CHECKFILE(filename)) { + if (OPENBASEDIR_CHECKPATH(filename)) { RETURN_FALSE; } @@ -2618,7 +2609,7 @@ php_info_print_table_start(); php_info_print_table_row(2, Zip, enabled); - php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.13 2008/08/08 10:12:27 tony2001 Exp $); + php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.14 2008/08/08 15:37:37 pajoye Exp $); php_info_print_table_row(2, Zip version, @PACKAGE_VERSION@); php_info_print_table_row(2, Libzip version, 0.7.1); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c
pajoye Fri Aug 8 15:41:25 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c Log: - MFH: fix leak in zif_zip_entry_read and ::ExtractTo on Error http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.14r2=1.1.2.38.2.15diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.14 php-src/ext/zip/php_zip.c:1.1.2.38.2.15 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.14 Fri Aug 8 15:37:37 2008 +++ php-src/ext/zip/php_zip.c Fri Aug 8 15:41:25 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.14 2008/08/08 15:37:37 pajoye Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.15 2008/08/08 15:41:25 pajoye Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -1155,7 +1155,7 @@ if (ret != 0) { efree(zr_rsrc); - RETURN_LONG((long)ret); + RETURN_FALSE; } zr_rsrc-zf = zip_fopen_index(rsrc_int-za, rsrc_int-index_current, 0); @@ -1163,6 +1163,7 @@ rsrc_int-index_current++; ZEND_REGISTER_RESOURCE(return_value, zr_rsrc, le_zip_entry); } else { + efree(zr_rsrc); RETURN_FALSE; } @@ -1244,6 +1245,7 @@ buffer[n] = 0; RETURN_STRINGL(buffer, n, 0); } else { + efree(buffer); RETURN_EMPTY_STRING() } } else { @@ -2609,7 +2611,7 @@ php_info_print_table_start(); php_info_print_table_row(2, Zip, enabled); - php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.14 2008/08/08 15:37:37 pajoye Exp $); + php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.15 2008/08/08 15:41:25 pajoye Exp $); php_info_print_table_row(2, Zip version, @PACKAGE_VERSION@); php_info_print_table_row(2, Libzip version, 0.7.1); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c php_zip.h
pajoye Fri Aug 8 15:52:53 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c php_zip.h Log: - MFH: use PHP_ZIP_VERSION_STRING and add add_ascii_assoc_string macro (easy sync) http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.15r2=1.1.2.38.2.16diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.15 php-src/ext/zip/php_zip.c:1.1.2.38.2.16 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.15 Fri Aug 8 15:41:25 2008 +++ php-src/ext/zip/php_zip.c Fri Aug 8 15:52:53 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.15 2008/08/08 15:41:25 pajoye Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.16 2008/08/08 15:52:53 pajoye Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -88,9 +88,13 @@ RETURN_FALSE; \ } \ RETURN_TRUE; - /* }}} */ +#if (PHP_MAJOR_VERSION 6) +# define add_ascii_assoc_string add_assoc_string +# define add_ascii_assoc_long add_assoc_long +#endif + #ifdef ZEND_ENGINE_2_1 /* {{{ php_zip_extract_file */ /* TODO: Simplify it */ @@ -345,13 +349,13 @@ #define RETURN_SB(sb) \ { \ array_init(return_value); \ - add_assoc_string(return_value, name, (char *)(sb)-name, 1); \ - add_assoc_long(return_value, index, (long) (sb)-index); \ - add_assoc_long(return_value, crc, (long) (sb)-crc); \ - add_assoc_long(return_value, size, (long) (sb)-size); \ - add_assoc_long(return_value, mtime, (long) (sb)-mtime); \ - add_assoc_long(return_value, comp_size, (long) (sb)-comp_size); \ - add_assoc_long(return_value, comp_method, (long) (sb)-comp_method); \ + add_ascii_assoc_string(return_value, name, (char *)(sb)-name, 1); \ + add_ascii_assoc_long(return_value, index, (long) (sb)-index); \ + add_ascii_assoc_long(return_value, crc, (long) (sb)-crc); \ + add_ascii_assoc_long(return_value, size, (long) (sb)-size); \ + add_ascii_assoc_long(return_value, mtime, (long) (sb)-mtime); \ + add_ascii_assoc_long(return_value, comp_size, (long) (sb)-comp_size); \ + add_ascii_assoc_long(return_value, comp_method, (long) (sb)-comp_method); \ } /* }}} */ @@ -1071,7 +1075,7 @@ NULL, NULL, PHP_MINFO(zip), - @PACKAGE_VERSION@, + PHP_ZIP_VERSION_STRING, STANDARD_MODULE_PROPERTIES }; /* }}} */ @@ -2611,8 +2615,8 @@ php_info_print_table_start(); php_info_print_table_row(2, Zip, enabled); - php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.15 2008/08/08 15:41:25 pajoye Exp $); - php_info_print_table_row(2, Zip version, @PACKAGE_VERSION@); + php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.16 2008/08/08 15:52:53 pajoye Exp $); + php_info_print_table_row(2, Zip version, PHP_ZIP_VERSION_STRING); php_info_print_table_row(2, Libzip version, 0.7.1); php_info_print_table_end(); http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.h?r1=1.10.2.3.2.5r2=1.10.2.3.2.6diff_format=u Index: php-src/ext/zip/php_zip.h diff -u php-src/ext/zip/php_zip.h:1.10.2.3.2.5 php-src/ext/zip/php_zip.h:1.10.2.3.2.6 --- php-src/ext/zip/php_zip.h:1.10.2.3.2.5 Fri Jul 4 14:50:07 2008 +++ php-src/ext/zip/php_zip.h Fri Aug 8 15:52:53 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.h,v 1.10.2.3.2.5 2008/07/04 14:50:07 felipe Exp $ */ +/* $Id: php_zip.h,v 1.10.2.3.2.6 2008/08/08 15:52:53 pajoye Exp $ */ #ifndef PHP_ZIP_H #define PHP_ZIP_H @@ -36,6 +36,8 @@ #include lib/zip.h +#define PHP_ZIP_VERSION_STRING 1.8.11 + #ifndef ZEND_ENGINE_2_1 # if (PHP_MAJOR_VERSION == 5 PHP_MINOR_VERSION 0) || PHP_MAJOR_VERSION == 6 # define ZEND_ENGINE_2_1 @@ -53,7 +55,7 @@ #if (PHP_MAJOR_VERSION 6) #define OPENBASEDIR_CHECKPATH(filename) \ (PG(safe_mode) (!php_checkuid(filename, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || php_check_open_basedir(filename TSRMLS_CC) -#else +#else #define OPENBASEDIR_CHECKPATH(filename) \ php_check_open_basedir(filename TSRMLS_CC) #endif -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c
pajoye Fri Aug 8 15:56:44 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c Log: - MFH: missing openbasedir check http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.16r2=1.1.2.38.2.17diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.16 php-src/ext/zip/php_zip.c:1.1.2.38.2.17 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.16 Fri Aug 8 15:52:53 2008 +++ php-src/ext/zip/php_zip.c Fri Aug 8 15:56:44 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.16 2008/08/08 15:52:53 pajoye Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.17 2008/08/08 15:56:44 pajoye Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -1383,6 +1383,10 @@ RETURN_FALSE; } + if (OPENBASEDIR_CHECKPATH(filename)) { + RETURN_FALSE; + } + if (!expand_filepath(filename, resolved_path TSRMLS_CC)) { RETURN_FALSE; } @@ -2615,7 +2619,7 @@ php_info_print_table_start(); php_info_print_table_row(2, Zip, enabled); - php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.16 2008/08/08 15:52:53 pajoye Exp $); + php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.17 2008/08/08 15:56:44 pajoye Exp $); php_info_print_table_row(2, Zip version, PHP_ZIP_VERSION_STRING); php_info_print_table_row(2, Libzip version, 0.7.1); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c
pajoye Fri Aug 8 16:05:38 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c Log: - MFH: constify zend_function_entry and update phpinfo http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.17r2=1.1.2.38.2.18diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.17 php-src/ext/zip/php_zip.c:1.1.2.38.2.18 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.17 Fri Aug 8 15:56:44 2008 +++ php-src/ext/zip/php_zip.c Fri Aug 8 16:05:38 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.17 2008/08/08 15:56:44 pajoye Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.18 2008/08/08 16:05:38 pajoye Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -2482,7 +2482,7 @@ /* }}} */ /* {{{ ze_zip_object_class_functions */ -static zend_function_entry zip_class_functions[] = { +static const zend_function_entry zip_class_functions[] = { ZIPARCHIVE_ME(open, NULL, ZEND_ACC_PUBLIC) ZIPARCHIVE_ME(close,NULL, ZEND_ACC_PUBLIC) ZIPARCHIVE_ME(getStatusString, NULL, ZEND_ACC_PUBLIC) @@ -2619,9 +2619,9 @@ php_info_print_table_start(); php_info_print_table_row(2, Zip, enabled); - php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.17 2008/08/08 15:56:44 pajoye Exp $); + php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.18 2008/08/08 16:05:38 pajoye Exp $); php_info_print_table_row(2, Zip version, PHP_ZIP_VERSION_STRING); - php_info_print_table_row(2, Libzip version, 0.7.1); + php_info_print_table_row(2, Libzip version, 0.9.0); php_info_print_table_end(); } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c
felipe Fri Jul 4 14:43:53 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c Log: - Reverted previous commit - Moved protos to .c (sync with HEAD) http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.11r2=1.1.2.38.2.12diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.11 php-src/ext/zip/php_zip.c:1.1.2.38.2.12 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.11 Thu Jul 3 12:53:12 2008 +++ php-src/ext/zip/php_zip.c Fri Jul 4 14:43:53 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.11 2008/07/03 12:53:12 felipe Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.12 2008/07/04 14:43:53 felipe Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -32,6 +32,18 @@ #include lib/zip.h #include lib/zipint.h +/* zip_open is a macro for renaming libzip zipopen, so we need to use PHP_NAMED_FUNCTION */ +static PHP_NAMED_FUNCTION(zif_zip_open); +static PHP_NAMED_FUNCTION(zif_zip_read); +static PHP_NAMED_FUNCTION(zif_zip_close); +static PHP_NAMED_FUNCTION(zif_zip_entry_read); +static PHP_NAMED_FUNCTION(zif_zip_entry_filesize); +static PHP_NAMED_FUNCTION(zif_zip_entry_name); +static PHP_NAMED_FUNCTION(zif_zip_entry_compressedsize); +static PHP_NAMED_FUNCTION(zif_zip_entry_compressionmethod); +static PHP_NAMED_FUNCTION(zif_zip_entry_open); +static PHP_NAMED_FUNCTION(zif_zip_entry_close); + #ifdef HAVE_GLOB #ifndef PHP_WIN32 #include glob.h @@ -1080,7 +1092,7 @@ /* {{{ proto resource zip_open(string filename) Create new zip using source uri for output */ -PHP_NAMED_FUNCTION(zif_zip_open) +static PHP_NAMED_FUNCTION(zif_zip_open) { char *filename; int filename_len; @@ -1112,7 +1124,7 @@ /* {{{ proto void zip_close(resource zip) Close a Zip archive */ -PHP_NAMED_FUNCTION(zif_zip_close) +static PHP_NAMED_FUNCTION(zif_zip_close) { zval * zip; zip_rsrc *z_rsrc = NULL; @@ -1129,7 +1141,7 @@ /* {{{ proto resource zip_read(resource zip) Returns the next file in the archive */ -PHP_NAMED_FUNCTION(zif_zip_read) +static PHP_NAMED_FUNCTION(zif_zip_read) { zval *zip_dp; zip_read_rsrc *zr_rsrc; @@ -1172,7 +1184,7 @@ /* {{{ proto bool zip_entry_open(resource zip_dp, resource zip_entry [, string mode]) Open a Zip File, pointed by the resource entry */ /* Dummy function to follow the old API */ -PHP_NAMED_FUNCTION(zif_zip_entry_open) +static PHP_NAMED_FUNCTION(zif_zip_entry_open) { zval * zip; zval * zip_entry; @@ -1199,7 +1211,7 @@ /* {{{ proto void zip_entry_close(resource zip_ent) Close a zip entry */ /* another dummy function to fit in the old api*/ -PHP_NAMED_FUNCTION(zif_zip_entry_close) +static PHP_NAMED_FUNCTION(zif_zip_entry_close) { zval * zip_entry; zip_read_rsrc * zr_rsrc; @@ -1216,7 +1228,7 @@ /* {{{ proto mixed zip_entry_read(resource zip_entry [, int len]) Read from an open directory entry */ -PHP_NAMED_FUNCTION(zif_zip_entry_read) +static PHP_NAMED_FUNCTION(zif_zip_entry_read) { zval * zip_entry; long len = 0; @@ -1315,7 +1327,7 @@ /* {{{ proto string zip_entry_name(resource zip_entry) Return the name given a ZZip entry */ -PHP_NAMED_FUNCTION(zif_zip_entry_name) +static PHP_NAMED_FUNCTION(zif_zip_entry_name) { php_zip_entry_get_info(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0); } @@ -1323,7 +1335,7 @@ /* {{{ proto int zip_entry_compressedsize(resource zip_entry) Return the compressed size of a ZZip entry */ -PHP_NAMED_FUNCTION(zif_zip_entry_compressedsize) +static PHP_NAMED_FUNCTION(zif_zip_entry_compressedsize) { php_zip_entry_get_info(INTERNAL_FUNCTION_PARAM_PASSTHRU, 1); } @@ -1331,7 +1343,7 @@ /* {{{ proto int zip_entry_filesize(resource zip_entry) Return the actual filesize of a ZZip entry */ -PHP_NAMED_FUNCTION(zif_zip_entry_filesize) +static PHP_NAMED_FUNCTION(zif_zip_entry_filesize) { php_zip_entry_get_info(INTERNAL_FUNCTION_PARAM_PASSTHRU, 2); } @@ -1339,7 +1351,7 @@ /* {{{ proto string zip_entry_compressionmethod(resource zip_entry) Return a string containing the compression method used on a particular entry */ -PHP_NAMED_FUNCTION(zif_zip_entry_compressionmethod) +static PHP_NAMED_FUNCTION(zif_zip_entry_compressionmethod) { php_zip_entry_get_info(INTERNAL_FUNCTION_PARAM_PASSTHRU, 3); } @@ -2606,7 +2618,7 @@ php_info_print_table_start(); php_info_print_table_row(2, Zip, enabled); - php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.11 2008/07/03 12:53:12 felipe Exp $); + php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.12 2008/07/04 14:43:53 felipe Exp $); php_info_print_table_row(2, Zip version, @PACKAGE_VERSION@); php_info_print_table_row(2, Libzip version, 0.7.1); -- PHP CVS Mailing List
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c php_zip.h
felipe Thu Jul 3 12:53:12 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c php_zip.h Log: - Fixed compile warnings http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.10r2=1.1.2.38.2.11diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.10 php-src/ext/zip/php_zip.c:1.1.2.38.2.11 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.10 Thu Jul 3 01:55:48 2008 +++ php-src/ext/zip/php_zip.c Thu Jul 3 12:53:12 2008 @@ -12,11 +12,11 @@ | obtain it through the world-wide-web, please send a note to | | [EMAIL PROTECTED] so we can mail you a copy immediately. | +--+ - | Author: Piere-Alain Joye [EMAIL PROTECTED] | + | Author: Piere-Alain Joye [EMAIL PROTECTED]| +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.10 2008/07/03 01:55:48 felipe Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.11 2008/07/03 12:53:12 felipe Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -1080,7 +1080,7 @@ /* {{{ proto resource zip_open(string filename) Create new zip using source uri for output */ -static PHP_NAMED_FUNCTION(zif_zip_open) +PHP_NAMED_FUNCTION(zif_zip_open) { char *filename; int filename_len; @@ -1112,7 +1112,7 @@ /* {{{ proto void zip_close(resource zip) Close a Zip archive */ -static PHP_NAMED_FUNCTION(zif_zip_close) +PHP_NAMED_FUNCTION(zif_zip_close) { zval * zip; zip_rsrc *z_rsrc = NULL; @@ -1129,7 +1129,7 @@ /* {{{ proto resource zip_read(resource zip) Returns the next file in the archive */ -static PHP_NAMED_FUNCTION(zif_zip_read) +PHP_NAMED_FUNCTION(zif_zip_read) { zval *zip_dp; zip_read_rsrc *zr_rsrc; @@ -1172,7 +1172,7 @@ /* {{{ proto bool zip_entry_open(resource zip_dp, resource zip_entry [, string mode]) Open a Zip File, pointed by the resource entry */ /* Dummy function to follow the old API */ -static PHP_NAMED_FUNCTION(zif_zip_entry_open) +PHP_NAMED_FUNCTION(zif_zip_entry_open) { zval * zip; zval * zip_entry; @@ -1199,7 +1199,7 @@ /* {{{ proto void zip_entry_close(resource zip_ent) Close a zip entry */ /* another dummy function to fit in the old api*/ -static PHP_NAMED_FUNCTION(zif_zip_entry_close) +PHP_NAMED_FUNCTION(zif_zip_entry_close) { zval * zip_entry; zip_read_rsrc * zr_rsrc; @@ -1216,7 +1216,7 @@ /* {{{ proto mixed zip_entry_read(resource zip_entry [, int len]) Read from an open directory entry */ -static PHP_NAMED_FUNCTION(zif_zip_entry_read) +PHP_NAMED_FUNCTION(zif_zip_entry_read) { zval * zip_entry; long len = 0; @@ -1315,7 +1315,7 @@ /* {{{ proto string zip_entry_name(resource zip_entry) Return the name given a ZZip entry */ -static PHP_NAMED_FUNCTION(zif_zip_entry_name) +PHP_NAMED_FUNCTION(zif_zip_entry_name) { php_zip_entry_get_info(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0); } @@ -1323,7 +1323,7 @@ /* {{{ proto int zip_entry_compressedsize(resource zip_entry) Return the compressed size of a ZZip entry */ -static PHP_NAMED_FUNCTION(zif_zip_entry_compressedsize) +PHP_NAMED_FUNCTION(zif_zip_entry_compressedsize) { php_zip_entry_get_info(INTERNAL_FUNCTION_PARAM_PASSTHRU, 1); } @@ -1331,7 +1331,7 @@ /* {{{ proto int zip_entry_filesize(resource zip_entry) Return the actual filesize of a ZZip entry */ -static PHP_NAMED_FUNCTION(zif_zip_entry_filesize) +PHP_NAMED_FUNCTION(zif_zip_entry_filesize) { php_zip_entry_get_info(INTERNAL_FUNCTION_PARAM_PASSTHRU, 2); } @@ -1339,7 +1339,7 @@ /* {{{ proto string zip_entry_compressionmethod(resource zip_entry) Return a string containing the compression method used on a particular entry */ -static PHP_NAMED_FUNCTION(zif_zip_entry_compressionmethod) +PHP_NAMED_FUNCTION(zif_zip_entry_compressionmethod) { php_zip_entry_get_info(INTERNAL_FUNCTION_PARAM_PASSTHRU, 3); } @@ -2606,7 +2606,7 @@ php_info_print_table_start(); php_info_print_table_row(2, Zip, enabled); - php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.10 2008/07/03 01:55:48 felipe Exp $); + php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.11 2008/07/03 12:53:12 felipe Exp $); php_info_print_table_row(2, Zip version, @PACKAGE_VERSION@); php_info_print_table_row(2, Libzip version, 0.7.1); http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.h?r1=1.10.2.3.2.3r2=1.10.2.3.2.4diff_format=u Index: php-src/ext/zip/php_zip.h diff -u php-src/ext/zip/php_zip.h:1.10.2.3.2.3 php-src/ext/zip/php_zip.h:1.10.2.3.2.4 --- php-src/ext/zip/php_zip.h:1.10.2.3.2.3 Wed May 21 09:27:41 2008 +++ php-src/ext/zip/php_zip.h Thu Jul 3 12:53:12 2008 @@ -16,7 +16,7 @@
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c php_zip.h
pajoye Fri Jan 18 01:11:27 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c php_zip.h Log: - MFB: reflect the correct version http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.7r2=1.1.2.38.2.8diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.7 php-src/ext/zip/php_zip.c:1.1.2.38.2.8 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.7 Fri Jan 18 00:20:56 2008 +++ php-src/ext/zip/php_zip.c Fri Jan 18 01:11:26 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.7 2008/01/18 00:20:56 cellog Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.8 2008/01/18 01:11:26 pajoye Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -2111,9 +2111,9 @@ php_info_print_table_start(); php_info_print_table_row(2, Zip, enabled); - php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.7 2008/01/18 00:20:56 cellog Exp $); - php_info_print_table_row(2, Zip version, 2.0.0); - php_info_print_table_row(2, Libzip version, 0.7.1); + php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.8 2008/01/18 01:11:26 pajoye Exp $); + php_info_print_table_row(2, Zip version, PHP_ZIP_VERSION_STRING); + php_info_print_table_row(2, Libzip version, 0.8.0); php_info_print_table_end(); } http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.h?r1=1.10.2.3.2.1r2=1.10.2.3.2.2diff_format=u Index: php-src/ext/zip/php_zip.h diff -u php-src/ext/zip/php_zip.h:1.10.2.3.2.1 php-src/ext/zip/php_zip.h:1.10.2.3.2.2 --- php-src/ext/zip/php_zip.h:1.10.2.3.2.1 Mon Dec 31 07:17:16 2007 +++ php-src/ext/zip/php_zip.h Fri Jan 18 01:11:26 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.h,v 1.10.2.3.2.1 2007/12/31 07:17:16 sebastian Exp $ */ +/* $Id: php_zip.h,v 1.10.2.3.2.2 2008/01/18 01:11:26 pajoye Exp $ */ #ifndef PHP_ZIP_H #define PHP_ZIP_H @@ -30,6 +30,8 @@ #include lib/zip.h +#define PHP_ZIP_VERSION_STRING 1.8.11 + /* {{{ OPENBASEDIR_CHECKPATH(filename) */ #if (PHP_MAJOR_VERSION 6) #define OPENBASEDIR_CHECKPATH(filename) \ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c /ext/zip/lib zip.h zip_alias.h zipint.h zipint_alias.h
cellog Sun Jan 13 06:02:30 2008 UTC Added files: (Branch: PHP_5_3) /php-src/ext/zip/libzip_alias.h zipint_alias.h Modified files: /php-src/ext/zipphp_zip.c /php-src/ext/zip/libzip.h zipint.h Log: MFH: alias all zip identifiers to avoid potential name conflicts with other apache libs that may export zip symbols http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.4r2=1.1.2.38.2.5diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.4 php-src/ext/zip/php_zip.c:1.1.2.38.2.5 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.4 Mon Dec 31 07:17:16 2007 +++ php-src/ext/zip/php_zip.c Sun Jan 13 06:02:30 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.4 2007/12/31 07:17:16 sebastian Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.5 2008/01/13 06:02:30 cellog Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -31,16 +31,17 @@ #include lib/zip.h #include lib/zipint.h -static PHP_FUNCTION(zip_open); -static PHP_FUNCTION(zip_read); -static PHP_FUNCTION(zip_close); -static PHP_FUNCTION(zip_entry_read); -static PHP_FUNCTION(zip_entry_filesize); -static PHP_FUNCTION(zip_entry_name); -static PHP_FUNCTION(zip_entry_compressedsize); -static PHP_FUNCTION(zip_entry_compressionmethod); -static PHP_FUNCTION(zip_entry_open); -static PHP_FUNCTION(zip_entry_close); +/* zip_open is a macro for renaming libzip zipopen, so we need to use PHP_NAMED_FUNCTION */ +static PHP_NAMED_FUNCTION(zif_zip_open); +static PHP_NAMED_FUNCTION(zif_zip_read); +static PHP_NAMED_FUNCTION(zif_zip_close); +static PHP_NAMED_FUNCTION(zif_zip_entry_read); +static PHP_NAMED_FUNCTION(zif_zip_entry_filesize); +static PHP_NAMED_FUNCTION(zif_zip_entry_name); +static PHP_NAMED_FUNCTION(zif_zip_entry_compressedsize); +static PHP_NAMED_FUNCTION(zif_zip_entry_compressionmethod); +static PHP_NAMED_FUNCTION(zif_zip_entry_open); +static PHP_NAMED_FUNCTION(zif_zip_entry_close); /* {{{ Resource le */ static int le_zip_dir; @@ -273,9 +274,9 @@ /* {{{ zend_function_entry */ static const zend_function_entry zip_functions[] = { - PHP_FE(zip_open,NULL) - PHP_FE(zip_close, NULL) - PHP_FE(zip_read,NULL) + PHP_RAW_NAMED_FE(zip_open, zif_zip_open, NULL) + PHP_RAW_NAMED_FE(zip_close, zif_zip_close, NULL) + PHP_RAW_NAMED_FE(zip_read, zif_zip_read, NULL) PHP_FE(zip_entry_open, NULL) PHP_FE(zip_entry_close, NULL) PHP_FE(zip_entry_read, NULL) @@ -634,6 +635,8 @@ /* }}}*/ +/* reset macro */ +#undef zip /* {{{ function prototypes */ static PHP_MINIT_FUNCTION(zip); static PHP_MSHUTDOWN_FUNCTION(zip); @@ -659,10 +662,12 @@ #ifdef COMPILE_DL_ZIP ZEND_GET_MODULE(zip) #endif +/* set macro */ +#define zip php_ziplib__zip /* {{{ proto resource zip_open(string filename) Create new zip using source uri for output */ -static PHP_FUNCTION(zip_open) +static PHP_NAMED_FUNCTION(zif_zip_open) { char *filename; int filename_len; @@ -704,7 +709,7 @@ /* {{{ proto void zip_close(resource zip) Close a Zip archive */ -static PHP_FUNCTION(zip_close) +static PHP_NAMED_FUNCTION(zif_zip_close) { zval * zip; zip_rsrc *z_rsrc = NULL; @@ -721,7 +726,7 @@ /* {{{ proto resource zip_read(resource zip) Returns the next file in the archive */ -static PHP_FUNCTION(zip_read) +static PHP_NAMED_FUNCTION(zif_zip_read) { zval *zip_dp; zip_read_rsrc *zr_rsrc; @@ -765,7 +770,7 @@ /* {{{ proto bool zip_entry_open(resource zip_dp, resource zip_entry [, string mode]) Open a Zip File, pointed by the resource entry */ /* Dummy function to follow the old API */ -static PHP_FUNCTION(zip_entry_open) +static PHP_NAMED_FUNCTION(zif_zip_entry_open) { zval * zip; zval * zip_entry; @@ -792,7 +797,7 @@ /* {{{ proto void zip_entry_close(resource zip_ent) Close a zip entry */ /* another dummy function to fit in the old api*/ -static PHP_FUNCTION(zip_entry_close) +static PHP_NAMED_FUNCTION(zif_zip_entry_close) { zval * zip_entry; zip_read_rsrc * zr_rsrc; @@ -809,7 +814,7 @@ /* {{{ proto mixed zip_entry_read(resource zip_entry [, int len]) Read from an open directory entry */ -static PHP_FUNCTION(zip_entry_read) +static PHP_NAMED_FUNCTION(zif_zip_entry_read) { zval * zip_entry; long len = 0; @@ -909,7 +914,7 @@ /* {{{ proto string zip_entry_name(resource zip_entry) Return the name given a ZZip entry */ -static PHP_FUNCTION(zip_entry_name) +static PHP_NAMED_FUNCTION(zif_zip_entry_name) { php_zip_entry_get_info(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0); } @@ -917,7 +922,7 @@ /* {{{ proto int zip_entry_compressedsize(resource zip_entry) Return the compressed size of a ZZip entry */
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/zip php_zip.c /ext/zip/lib zipint_alias.h
cellog Sun Jan 13 06:22:27 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/zipphp_zip.c /php-src/ext/zip/libzipint_alias.h Log: a few fixes: overwrite all my careful work in zipint_alias.h with zipint.h, so had to restore that. PHP_RAW_NAMED_FE() won't work, have to use ZEND_RAW_FENTRY http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.38.2.5r2=1.1.2.38.2.6diff_format=u Index: php-src/ext/zip/php_zip.c diff -u php-src/ext/zip/php_zip.c:1.1.2.38.2.5 php-src/ext/zip/php_zip.c:1.1.2.38.2.6 --- php-src/ext/zip/php_zip.c:1.1.2.38.2.5 Sun Jan 13 06:02:30 2008 +++ php-src/ext/zip/php_zip.c Sun Jan 13 06:22:27 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_zip.c,v 1.1.2.38.2.5 2008/01/13 06:02:30 cellog Exp $ */ +/* $Id: php_zip.c,v 1.1.2.38.2.6 2008/01/13 06:22:27 cellog Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -274,9 +274,9 @@ /* {{{ zend_function_entry */ static const zend_function_entry zip_functions[] = { - PHP_RAW_NAMED_FE(zip_open, zif_zip_open, NULL) - PHP_RAW_NAMED_FE(zip_close, zif_zip_close, NULL) - PHP_RAW_NAMED_FE(zip_read, zif_zip_read, NULL) + ZEND_RAW_FENTRY(zip_open, zif_zip_open, NULL, 0) + ZEND_RAW_FENTRY(zip_close, zif_zip_close, NULL, 0) + ZEND_RAW_FENTRY(zip_read, zif_zip_read, NULL, 0) PHP_FE(zip_entry_open, NULL) PHP_FE(zip_entry_close, NULL) PHP_FE(zip_entry_read, NULL) @@ -2111,7 +2111,7 @@ php_info_print_table_start(); php_info_print_table_row(2, Zip, enabled); - php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.5 2008/01/13 06:02:30 cellog Exp $); + php_info_print_table_row(2, Extension Version,$Id: php_zip.c,v 1.1.2.38.2.6 2008/01/13 06:22:27 cellog Exp $); php_info_print_table_row(2, Zip version, 2.0.0); php_info_print_table_row(2, Libzip version, 0.7.1); http://cvs.php.net/viewvc.cgi/php-src/ext/zip/lib/zipint_alias.h?r1=1.1.2.2r2=1.1.2.3diff_format=u Index: php-src/ext/zip/lib/zipint_alias.h diff -u php-src/ext/zip/lib/zipint_alias.h:1.1.2.2 php-src/ext/zip/lib/zipint_alias.h:1.1.2.3 --- php-src/ext/zip/lib/zipint_alias.h:1.1.2.2 Sun Jan 13 06:02:30 2008 +++ php-src/ext/zip/lib/zipint_alias.h Sun Jan 13 06:22:27 2008 @@ -1,45 +1,49 @@ -#define zip_source_cmd php_ziplib__zip_source_cmd -#define zip_source_callback php_ziplib__zip_source_callback -#define zip_stat php_ziplib__zip_stat -#define zip php_ziplib__zip -#define zip_file php_ziplib__zip_file +/* state of change of a file in zip archive */ +#define zip_state php_ziplib__zip_state +#define zip_error php_ziplib__zip_error +#define zip_dirent php_ziplib__zip_dirent +#define zip_cdir php_ziplib__zip_cdir #define zip_source php_ziplib__zip_source -#define zip_add php_ziplib__zip_add -#define zip_add_dir php_ziplib__zip_add_dir -#define zip_close php_ziplib__zip_close -#define zip_delete php_ziplib__zip_delete -#define zip_error_clear php_ziplib__zip_error_clear -#define zip_error_get php_ziplib__zip_error_get -#define zip_error_get_sys_type php_ziplib__zip_error_get_sys_type -#define zip_error_to_str php_ziplib__zip_error_to_str -#define zip_fclose php_ziplib__zip_fclose -#define zip_file_error_clear php_ziplib__zip_fille_error_clear -#define zip_file_error_get php_ziplib__zip_file_error_get -#define zip_file_strerror php_ziplib__zip_file_strerror -#define zip_fopen php_ziplib__zip_fopen -#define zip_fopen_index php_ziplib__zip_fopen_index -#define zip_fread php_ziplib__zip_fread -#define zip_get_archive_comment php_ziplib__zip_get_archive_comment -#define zip_get_file_comment php_ziplib__zip_get_file_comment -#define zip_get_name php_ziplib__zip_get_name -#define zip_get_num_files php_ziplib__zip_get_num_files -#define zip_name_locate php_ziplib__zip_name_locate -#define zip_open php_ziplib__zip_open -#define zip_rename php_ziplib__zip_rename -#define zip_replace php_ziplib__zip_replace -#define zip_set_archive_comment php_ziplib__zip_set_archive_comment -#define zip_set_file_comment php_ziplib__zip_set_file_comment -#define zip_source_buffer php_ziplib__zip_source_buffer -#define zip_source_file php_ziplib__zip_source_file -#define zip_source_filep php_ziplib__zip_source_filep -#define zip_source_free php_ziplib__zip_source_free -#define zip_source_function php_ziplib__zip_source_function -#define zip_source_zip php_ziplib__zip_source_zip -#define zip_stat php_ziplib__zip_stat -#define zip_stat_index php_ziplib__zip_stat_index -#define zip_stat_init php_ziplib__zip_stat_init -#define zip_strerror php_ziplib__zip_strerror -#define zip_unchange php_ziplib__zip_unchange -#define zip_unchange_all php_ziplib__zip_unchange_all -#define zip_unchange_archive php_ziplib__zip_unchange_archive +#define zip_entry php_ziplib__zip_entry + +#define _zip_err_str php_ziplib___zip_err_str +#define