cvs: php-src /ext/phar phar.c /ext/phar/tests phar_dotted_path.phpt

From: Date: Tue, 13 May 2008 18:43:18 +0000
Subject: cvs: php-src /ext/phar phar.c /ext/phar/tests phar_dotted_path.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-49953@lists.php.net to get a copy of this message
sfox Tue May 13 18:43:18 2008 UTC Modified files: /php-src/ext/phar phar.c /php-src/ext/phar/tests phar_dotted_path.phpt Log: - MF53 dotted.path support http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar.c?r1=1.371&r2=1.372&diff_format=u Index: php-src/ext/phar/phar.c diff -u php-src/ext/phar/phar.c:1.371 php-src/ext/phar/phar.c:1.372 --- php-src/ext/phar/phar.c:1.371 Tue May 13 18:35:25 2008 +++ php-src/ext/phar/phar.c Tue May 13 18:43:18 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: phar.c,v 1.371 2008/05/13 18:35:25 sfox Exp $ */ +/* $Id: phar.c,v 1.372 2008/05/13 18:43:18 sfox Exp $ */ #define PHAR_MAIN 1 #include "phar_internal.h" @@ -1606,7 +1606,7 @@ zend_hash_move_forward(&(PHAR_GLOBALS->phar_fname_map)); continue; } - if (!memcmp(filename, key.s, keylen) && (filename_len == keylen + if (!memcmp(filename, key.s, keylen) && ((uint)filename_len == keylen || filename[keylen] == '/' || filename[keylen] == '\0')) { if (FAILURE == zend_hash_get_current_data(&(PHAR_GLOBALS->phar_fname_map), (void **) &pphar)) { break; @@ -1653,9 +1653,6 @@ return SUCCESS; case FAILURE : /* look for more extensions */ - if (is_complete) { - return FAILURE; - } pos = strchr(pos + 1, '.'); if (pos) { *ext_str = NULL; @@ -3026,7 +3023,7 @@ php_info_print_table_header(2, "Phar: PHP Archive support", "enabled"); php_info_print_table_row(2, "Phar EXT version", PHP_PHAR_VERSION); php_info_print_table_row(2, "Phar API version", PHP_PHAR_API_VERSION); - php_info_print_table_row(2, "CVS revision", "$Revision: 1.371 $"); + php_info_print_table_row(2, "CVS revision", "$Revision: 1.372 $"); php_info_print_table_row(2, "Phar-based phar archives", "enabled"); php_info_print_table_row(2, "Tar-based phar archives", "enabled"); php_info_print_table_row(2, "ZIP-based phar archives", "enabled"); http://cvs.php.net/viewvc.cgi/php-src/ext/phar/tests/phar_dotted_path.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/phar/tests/phar_dotted_path.phpt diff -u /dev/null php-src/ext/phar/tests/phar_dotted_path.phpt:1.2 --- /dev/null Tue May 13 18:43:18 2008 +++ php-src/ext/phar/tests/phar_dotted_path.phpt Tue May 13 18:43:18 2008 @@ -0,0 +1,40 @@ +--TEST-- +Phar: create new Phar with broken.dirname in path +--SKIPIF-- +<?php if (!extension_loaded("phar")) die("skip"); ?> +--INI-- +phar.readonly=0 +phar.require_hash=0 +--FILE-- +<?php + +$dir = dirname(__FILE__) . '/broken.dirname'; +mkdir($dir, 0777); + +$fname = $dir . '/dotted_path.phar'; +$stub = Phar::createDefaultStub(); +$file = $stub; + +$files = array(); +$files['a'] = 'this is a'; +$files['b'] = 'this is b'; + +include 'files/phar_test.inc'; + +$phar = new Phar($fname); + +foreach ($phar as $entry) { + echo file_get_contents($entry)."\n"; +} + +?> +===DONE=== +--CLEAN-- +<?php +unlink(dirname(__FILE__) . '/broken.dirname/dotted_path.phar'); +rmdir(dirname(__FILE__) . '/broken.dirname'); +?> +--EXPECT-- +this is a +this is b +===DONE===

« previous php.cvs (#49953) next »