helly Sat May 31 15:53:16 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar phar.phar /php-src/ext/phar/phar pharcommand.inc Log: - MFH Fix function names after they have been refactored
http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar.phar?r1=1.7&r2=1.7.2.1&diff_format=u Index: php-src/ext/phar/phar.phar diff -u php-src/ext/phar/phar.phar:1.7 php-src/ext/phar/phar.phar:1.7.2.1 --- php-src/ext/phar/phar.phar:1.7 Sat Mar 22 01:52:11 2008 +++ php-src/ext/phar/phar.phar Sat May 31 15:53:16 2008 @@ -21,7 +21,7 @@ * @author Davey Shafik <[EMAIL PROTECTED]> * @author Greg Beaver <[EMAIL PROTECTED]> * @link http://www.synapticmedia.net Synaptic Media - * @version $Id: Archive.php,v 1.52 2007/09/01 20:28:14 cellog Exp $ + * @version $Id: Archive.php,v 1.38 2007/02/06 04:31:45 cellog Exp $ * @package PHP_Archive * @category PHP */ @@ -119,254 +119,24 @@ */ private $_basename; - - /** - * Default MIME types used for the web front controller - * - * @var array - */ - public static $defaultmimes = array( - 'aif' => 'audio/x-aiff', - 'aiff' => 'audio/x-aiff', - 'arc' => 'application/octet-stream', - 'arj' => 'application/octet-stream', - 'art' => 'image/x-jg', - 'asf' => 'video/x-ms-asf', - 'asx' => 'video/x-ms-asf', - 'avi' => 'video/avi', - 'bin' => 'application/octet-stream', - 'bm' => 'image/bmp', - 'bmp' => 'image/bmp', - 'bz2' => 'application/x-bzip2', - 'css' => 'text/css', - 'doc' => 'application/msword', - 'dot' => 'application/msword', - 'dv' => 'video/x-dv', - 'dvi' => 'application/x-dvi', - 'eps' => 'application/postscript', - 'exe' => 'application/octet-stream', - 'gif' => 'image/gif', - 'gz' => 'application/x-gzip', - 'gzip' => 'application/x-gzip', - 'htm' => 'text/html', - 'html' => 'text/html', - 'ico' => 'image/x-icon', - 'jpe' => 'image/jpeg', - 'jpg' => 'image/jpeg', - 'jpeg' => 'image/jpeg', - 'js' => 'application/x-javascript', - 'log' => 'text/plain', - 'mid' => 'audio/x-midi', - 'mov' => 'video/quicktime', - 'mp2' => 'audio/mpeg', - 'mp3' => 'audio/mpeg3', - 'mpg' => 'audio/mpeg', - 'pdf' => 'aplication/pdf', - 'png' => 'image/png', - 'rtf' => 'application/rtf', - 'tif' => 'image/tiff', - 'tiff' => 'image/tiff', - 'txt' => 'text/plain', - 'xml' => 'text/xml', - ); - - public static $defaultphp = array( - 'php' => true - ); - - public static $defaultphps = array( - 'phps' => true - ); - - public static $deny = array('/.+\.inc$/'); - - public static function viewSource($archive, $file) - { - // security, idea borrowed from PHK - if (!file_exists($archive . '.introspect')) { - header("HTTP/1.0 404 Not Found"); - return false; - } - if (self::_fileExists($archive, $_GET['viewsource'])) { - $source = highlight_file('phar://@ALIAS@/' . - $_GET['viewsource'], true); - header('Content-Type: text/html'); - header('Content-Length: ' . strlen($source)); - echo '<html><head><title>Source of ', - htmlspecialchars($_GET['viewsource']), '</title></head>'; - echo '<body><h1>Source of ', - htmlspecialchars($_GET['viewsource']), '</h1>'; - if (isset($_GET['introspect'])) { - echo '<a href="', htmlspecialchars($_SERVER['PHP_SELF']), - '?introspect=', urlencode(htmlspecialchars($_GET['introspect'])), - '">Return to ', htmlspecialchars($_GET['introspect']), '</a><br />'; - } - echo $source; - return false; - } else { - header("HTTP/1.0 404 Not Found"); - return false; - } - - } - - public static function introspect($archive, $dir) - { - // security, idea borrowed from PHK - if (!file_exists($archive . '.introspect')) { - header("HTTP/1.0 404 Not Found"); - return false; - } - if (!$dir) { - $dir = '/'; - } - $dir = self::processFile($dir); - if ($dir[0] != '/') { - $dir = '/' . $dir; - } - try { - $self = htmlspecialchars($_SERVER['PHP_SELF']); - $iterate = new DirectoryIterator('phar://@ALIAS@' . $dir); - echo '<html><head><title>Introspect ', htmlspecialchars($dir), - '</title></head><body><h1>Introspect ', htmlspecialchars($dir), - '</h1><ul>'; - if ($dir != '/') { - echo '<li><a href="', $self, '?introspect=', - htmlspecialchars(dirname($dir)), '">..</a></li>'; - } - foreach ($iterate as $entry) { - if ($entry->isDot()) continue; - $name = self::processFile($entry->getPathname()); - $name = str_replace('phar://@ALIAS@/', '', $name); - if ($entry->isDir()) { - echo '<li><a href="', $self, '?introspect=', - urlencode(htmlspecialchars($name)), - '">', - htmlspecialchars($entry->getFilename()), '/</a> [directory]</li>'; - } else { - echo '<li><a href="', $self, '?introspect=', - urlencode(htmlspecialchars($dir)), '&viewsource=', - urlencode(htmlspecialchars($name)), - '">', - htmlspecialchars($entry->getFilename()), '</a></li>'; - } - } - return false; - } catch (Exception $e) { - echo '<html><head><title>Directory not found: ', - htmlspecialchars($dir), '</title></head>', - '<body><h1>Directory not found: ', htmlspecialchars($dir), '</h1>', - '<p>Try <a href="', htmlspecialchars($_SERVER['PHP_SELF']), '?introspect=/">', - 'This link</a></p></body></html>'; - return false; - } - } - - public static function webFrontController($initfile) - { - if (isset($_SERVER) && isset($_SERVER['REQUEST_URI'])) { - $uri = parse_url($_SERVER['REQUEST_URI']); - $archive = realpath($_SERVER['SCRIPT_FILENAME']); - $subpath = str_replace('/' . basename($archive), '', $uri['path']); - if (!$subpath || $subpath == '/') { - if (isset($_GET['viewsource'])) { - return self::viewSource($archive, $_GET['viewsource']); - } - if (isset($_GET['introspect'])) { - return self::introspect($archive, $_GET['introspect']); - } - $subpath = '/' . $initfile; - } - if (!self::_fileExists($archive, substr($subpath, 1))) { - header("HTTP/1.0 404 Not Found"); - return false; - } - foreach (self::$deny as $pattern) { - if (preg_match($pattern, $subpath)) { - header("HTTP/1.0 404 Not Found"); - return false; - } - } - $inf = pathinfo(basename($subpath)); - if (!isset($inf['extension'])) { - header('Content-Type: text/plain'); - header('Content-Length: ' . - self::_filesize($archive, substr($subpath, 1))); - readfile('phar://@ALIAS@' . $subpath); - return false; - } - if (isset(self::$defaultphp[$inf['extension']])) { - include 'phar://@ALIAS@' . $subpath; - return false; - } - if (isset(self::$defaultmimes[$inf['extension']])) { - header('Content-Type: ' . self::$defaultmimes[$inf['extension']]); - header('Content-Length: ' . - self::_filesize($archive, substr($subpath, 1))); - readfile('phar://@ALIAS@' . $subpath); - return false; - } - if (isset(self::$defaultphps[$inf['extension']])) { - header('Content-Type: text/html'); - $c = highlight_file('phar://@ALIAS@' . $subpath, true); - header('Content-Length: ' . strlen($c)); - echo $c; - return false; - } - header('Content-Type: text/plain'); - header('Content-Length: ' . - self::_filesize($archive, substr($subpath, 1))); - readfile('phar://@ALIAS@' . $subpath); - } - } - - /** - * Detect end of stub - * - * @param string $buffer stub past '__HALT_'.'COMPILER();' - * @return end of stub, prior to length of manifest. - */ - private static final function _endOfStubLength($buffer) - { - $pos = 0; - if (!strlen($buffer)) { - return $pos; - } - if (($buffer[0] == ' ' || $buffer[0] == "\n") && @substr($buffer, 1, 2) == '?>') - { - $pos += 3; - if ($buffer[$pos] == "\r" && $buffer[$pos+1] == "\n") { - $pos += 2; - } - else if ($buffer[$pos] == "\n") { - $pos += 1; - } - } - return $pos; - } - /** * Allows loading an external Phar archive without include()ing it * - * @param string $file phar package to load - * @param string $alias alias to use + * @param string $file * @throws Exception */ - public static final function loadPhar($file, $alias = NULL) + public static final function loadPhar($file) { $file = realpath($file); if ($file) { $fp = fopen($file, 'rb'); $buffer = ''; - while (!feof($fp)) { + while (!$found && !feof($fp)) { $buffer .= fread($fp, 8192); // don't break phars if ($pos = strpos($buffer, '__HALT_COMPI' . 'LER();')) { - $buffer .= fread($fp, 5); fclose($fp); - $pos += 18; - $pos += self::_endOfStubLength(substr($buffer, $pos)); - return self::_mapPhar($file, $pos, $alias); + return self::_mapPhar($file, $pos); } } fclose($fp); @@ -379,28 +149,21 @@ * This function can only be called from the initialization of the .phar itself. * Any attempt to call from outside the .phar or to re-alias the .phar will fail * as a security measure. - * @param string $alias + * @param string $file full realpath() filepath, like /path/to/go-pear.phar + * @param string $alias alias used in opening a file within the phar + * like phar://go-pear.phar/file + * @param bool $compressed determines whether to attempt zlib uncompression + * on accessing internal files * @param int $dataoffset the value of __COMPILER_HALT_OFFSET__ */ - public static final function mapPhar($alias = NULL, $dataoffset = NULL) + public static final function mapPhar($file, $dataoffset) { try { - $trace = debug_backtrace(); - $file = $trace[0]['file']; // this ensures that this is safe if (!in_array($file, get_included_files())) { die('SECURITY ERROR: PHP_Archive::mapPhar can only be called from within ' . 'the phar that initiates it'); } - $file = realpath($file); - if (!isset($dataoffset)) { - $dataoffset = constant('__COMPILER_HALT_OFFSET'.'__'); - $fp = fopen($file, 'rb'); - fseek($fp, $dataoffset, SEEK_SET); - $dataoffset = $dataoffset + self::_endOfStubLength(fread($fp, 5)); - fclose($fp); - } - self::_mapPhar($file, $dataoffset); } catch (Exception $e) { die($e->getMessage()); @@ -413,7 +176,7 @@ * @param unknown_type $file * @param unknown_type $dataoffset */ - private static function _mapPhar($file, $dataoffset, $alias = NULL) + private static function _mapPhar($file, $dataoffset) { $file = realpath($file); if (isset(self::$_manifest[$file])) { @@ -446,9 +209,7 @@ $alias = $info['alias']; $explicit = true; } else { - if (!isset($alias)) { - $alias = $file; - } + $alias = $file; $explicit = false; } self::$_manifest[$file] = $info['manifest']; @@ -490,15 +251,15 @@ $apiver = bin2hex($apiver); $apiver_dots = hexdec($apiver[0]) . '.' . hexdec($apiver[1]) . '.' . hexdec($apiver[2]); $majorcompat = hexdec($apiver[0]); - $calcapi = explode('.', self::APIVersion()); + $calcapi = explode('.', '1.0.0'); if ($calcapi[0] != $majorcompat) { throw new Exception('Phar is incompatible API version ' . $apiver_dots . ', but ' . - 'PHP_Archive is API version '.self::APIVersion()); + 'PHP_Archive is API version 1.0.0'); } if ($calcapi[0] === '0') { - if (self::APIVersion() != $apiver_dots) { + if ('1.0.0' != $apiver_dots) { throw new Exception('Phar is API version ' . $apiver_dots . - ', but PHP_Archive is API version '.self::APIVersion(), E_USER_ERROR); + ', but PHP_Archive is API version 1.0.0', E_USER_ERROR); } } $flags = unpack('V', substr($manifest, 6, 4)); @@ -537,8 +298,7 @@ // 4 = flags // 5 = metadata length $ret['manifest'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($manifest, $start, 24))); - $ret['manifest'][$savepath][3] = sprintf('%u', $ret['manifest'][$savepath][3] - & 0xffffffff); + $ret['manifest'][$savepath][3] = sprintf('%u', $ret['manifest'][$savepath][3]); if ($ret['manifest'][$savepath][5]) { $ret['manifest'][$savepath][6] = unserialize(substr($manifest, $start + 24, $ret['manifest'][$savepath][5])); @@ -615,17 +375,6 @@ } } - private static function _fileExists($archive, $path) - { - return isset(self::$_manifest[$archive]) && - isset(self::$_manifest[$archive][$path]); - } - - private static function _filesize($archive, $path) - { - return self::$_manifest[$archive][$path][0]; - } - /** * Seek to a file within the master archive, and extract its contents * @param string @@ -661,7 +410,7 @@ return array("Not valid internal .phar file (size error {$size} != " . $this->currentStat[7] . ")"); } - if (self::$_manifest[$this->_archiveName][$path][3] != sprintf("%u", crc32($data) & 0xffffffff)) { + if (self::$_manifest[$this->_archiveName][$path][3] != sprintf("%u", crc32($data))) { return array("Not valid internal .phar file (checksum error)"); } self::$_manifest[$this->_archiveName][$path]['ok'] = true; @@ -724,7 +473,6 @@ */ public function initializeStream($file) { - $file = self::processFile($file); $info = @parse_url($file); if (!$info) { $info = self::parseUrl($file); @@ -858,7 +606,6 @@ return false; } $this->position = $pos + $this->currentStat[7]; - break; default: return false; } @@ -898,22 +645,6 @@ $this->_setCurrentFile($file); $isdir = false; } else { - do { - $isdir = false; - if ($file == '/') { - break; - } - foreach (self::$_manifest[$this->_archiveName] as $path => $info) { - if (strpos($path, $file) === 0) { - if (strlen($path) > strlen($file) && - $path[strlen($file)] == '/') { - break 2; - } - } - } - // no files exist and no directories match this string - return false; - } while (false); $isdir = true; } } else { @@ -991,19 +722,16 @@ } elseif (strpos($file, $path) === 0) { $fname = substr($file, strlen($path) + 1); if (strpos($fname, '/')) { - // this is a directory $a = explode('/', $fname); $this->_dirFiles[array_shift($a)] = true; - } elseif ($file[strlen($path)] == '/') { - // this is a file + } elseif (strlen($file) != strlen($path)) { + // if the two match exactly, the path searched for was + // not a directory, but was a file. $this->_dirFiles[$fname] = true; } } } @fclose($this->fp); - if (!count($this->_dirFiles)) { - return false; - } @uksort($this->_dirFiles, 'strnatcmp'); return true; } @@ -1029,6 +757,7 @@ public function dir_closedir() { $this->_dirFiles = array(); + reset($this->_dirFiles); return true; } @@ -1038,7 +767,7 @@ */ public function dir_rewinddir() { - @reset($this->_dirFiles); + reset($this->_dirFiles); return true; } @@ -1046,7 +775,7 @@ * API version of this class * @return string */ - public static final function APIVersion() + public final function APIVersion() { return '1.0.0'; } @@ -1096,19 +825,6 @@ } return self::$_manifest[$phar][$file][6]; } - - /** - * @return list of supported signature algorithmns. - */ - public static function getsupportedsignatures() - { - $ret = array('MD5', 'SHA-1'); - if (extension_loaded('hash')) { - $ret[] = 'SHA-256'; - $ret[] = 'SHA-512'; - } - return $ret; - } } ?><?php } @@ -1174,8 +890,8 @@ new PharCommand($argc, $argv); __HALT_COMPILER(); ?> -N-+6+ $m¤A ©¥ÄEê¤íÀõïÌ>È]î{Æ ¼#"ø'¯ÉåHc_b;e,cþଲõ6¾£é;~%ÃGäxy±z";¾¤'B"Ó8Ïiákò,¹¨ËÙjµôXz«Q'ýßÒ¯ivVLxðlõä=¡B'5è´¦ÈÝ lvHPÛÍI².sÊÖèG¾p-2&ÝhoL¬1 5í=8»° §¹z¿Ã(ãÁÖ׬êÞp·Æ+P#Ï7ñ\ [EMAIL PROTECTED]@V&nZ.ÙbÞ.þ2üê½Ôl,1~"#{ZP^ Y¤ùüt×5_N/´Äo(á.H¼ªDú R§ë(DêàÁ¹òDúXsG]WÊ^OªQ©LiìÙ @@ -1195,35 +911,36 @@ yZVMjzm ªJnÛhà÷gÍß¶)L6-0êCÏ7w<43C ¾D CÎMXqDtñ¼Æ{@&hí¾ßa Á]'Ámý£Ó¼Ñm·æe7ö®*Ãç9ÎÚ³Bª:ê¨Á9vê Õª!-ШOf¦£? ?.Nþ f`J-$Üe(V¸Ã¢ô:ï÷/àÔK`8t+T'D$0Ì!`Ï{MCî-$ë.åFíìõî]R»uR'Í{I§×·u²^J$)RKRÝnþ÷|-ô31¬+ÍÖÙ¤J ×Ha".D#èaå*åKU1颸^Ь½èùû\$¹«õ8M&o cr1çÕÅÙëÔ¬åù`'=²¸_$Ùl Øø4Z+«â¢à+WEÐ<=d÷Ùøïßá¿ÿÚ}D>)>}úÔ»?fÈø÷5{&ì¯zÄôïWq/äDþNSXÁ,[EMAIL PROTECTED]>ýë¤jú`[ÒÊÏ8øÔAèùÍ 42ó _ºd&¦ käÑRýªþ%Q¬g'YÉb2%Zþü«¤ûqLøèú d(ë¼äÙ([EMAIL PROTECTED] -®³Ë,[EMAIL PROTECTED]:¬GvlG·eG0"¾ègøÅ;:ö=¡§-qH:0áõnÍzMM«ªm&YìLhUéwiåaL³çE¿å ºÊK¾Ôô(å(^Ьõh9ýFÀ|ùÃ7Ñ0*ñ¡ø~öãÉaÔÎ~I¿ù|ί¶.A86W(ïa¾Naø#ÔûI¶ZW´neÇj]~dSûz\N,[EMAIL PROTECTED]@rrSVb¯AR*uLdùeò£H¿ìçbq&î#HÔ_ ø¿_övé¥U¿ ¤y ¬æ @³ù6Q¸"¯|}q"]±I"ÚÀ{.À(«=â|³;!ëoý9_³ ¸O°sá-&/0ðx²±P©;é%¿¦Àd6oà³ÆsAçVùõíúì:k_ð¿ÔÓÔtQ²Ëî±ØîtT;eOÇÔíhõD¢×Ãþýï5(w0çÓ}ÔÚè<R°êz$»×§;ÍO2fDÀ6²N³iùxVníL³ð1ÓÏHÛ/°ÁØzq°Cä¡Å`¿ñI(hmM Êñ5à4¹d2@"¾ øè-ÅALø:r¶L®0ë+>IU&z×`?³ùPZØà:ÃóÀ%3³5ų XÕÀê3è<Ðsª «4¼Ù~¾§<¨~» XU~Ùlá1ÞÁ]°BSîú¨x'06ÁµxðóiB«/¢(C)!÷ÜU´M [EMAIL PROTECTED]/ârÛ¬7,áTÐäЪúî*PâäWØ ¡lí¶°%"µûéåòio\I=?×Ëz#FñCðv¿åe& hdu1_µä2UïÅϰ%Î¥,hábÕ¿}>%<³eÞ[ÊX5Ðr¢9=S5¢ýF UO(`Ò³"Câ¦U2xã§ëµ0üÅcñÀåkáÍ硯áÕ`P° ìÓ« áïÞ*§uCØR¥pÁ55Ðyø°-ߺHÛe8Zí¥ÉeCì,8ìI*ÃÇCÿGñVA±7I½¤)lðsf´Q°h£ #î8§WÕÇo1y¬ýa©n#ªNB\ìÛ£f{¤[zf.4ª¼! onS(A$bÍTVÛ¨9 -Éí[3õ¶§°ÞHúêmÂ'$E#`¦Ä Ey;î²ÖüÄ[mâN¸^MâæãÿÁH(xâXUKƨ7Þ¬H¯l¬à$6 -Á&$ßý¬ -åÃÐ(uj×'§BÐSÐ4ßpAiÝhé>"û%êBú¯9õê\t CöïÒqµ²e|=æòpC«ä.Æ,Í<Ép=n×yÕ'íôöal$y"ØÙâ½ïSû=²Æ&è*Y.{GG£#0Ayv&Ò½¶V7wßÅØmÞ»þ rW¸8B;a)b>½Ö¾Y_Le¶ä\¨ØhÃݰêzàëØøÅ +ÜÒîb²b9æÅJÅHéx^3[Õ1Ô-âfvcÍ-ͪ¸Û&E9òu³Iõ´T¸¨L7%U°òõ)[EMAIL PROTECTED]<»îá¡:´)¿ ûø V!®C¨°%±rÉ(¹£r=ñ*É"ĵ²«(ܬ¢²JB]Õ ®Q<<G`U^áÞ^Æ."²©r)¾WÊã®Z±ûS#J -«VfV:oÎSÊëôï'xº`ÇÌS)E]²3bÏgl/[EMAIL PROTECTED]|eVX(*D©µú -A>YÆYjÀÝ`¯~zkt2ëúo ú§ìçW(íä~¸|}Æëº ÝR~¬±ð(ÕÞÁß1)H1{Û]ª¿øb÷28-½¬CÞ;û¬q»dÔYX~Ùxìk¬vÓnãY2ó ±ð5¦]OãÄ×Sx§ÞÆBg5¯|IWz ¾ÆIöA í4¾ò7ÆÝc²Ñ¶nL<-u,_QXà]·)<éøx=q YbfzlßÆÊ«ëÍ[þºômÄäÛ(c,Ðz-cITâu-»Û1BÎ+>꣱õÒÞ$¸ë¬3ѼãõÎs½êçdå-Z>[EMAIL PROTECTED]|½¡â,û±«~¢8Dõß([EMAIL PROTECTED]>[EMAIL PROTECTED]"¤â%}ÔµGi<áhã?ø?ñÜ`VªX÷öØ1;@C- ¹ÊÊáÓ/±³}+ÛoýHßKÊHÀ\à -ºzïWÕõUý¾³Þë ÊË©.¨kgfd+.ÀûÊ+ZÓfEAèÚ²¸ÓÕ®Nm|¢zT{Ð^píCmº·¯álÙS5e´§xY.Ê^Ä~É(k6|-Ìç pC»ªQòÞZbcÿÇ<Ò8»fó̯VÏHîU±æ®úKÓ Ø¸V¹bRLÅþ .ÞÈ®í*^Ãz+WJ±Z]I²ªQ°íþãåx·Õ+p¦á L0t¹Ê´-*°º&k[[&^×\¥u£î«¶)7ê«&º°j]¤QG¨-ÇÒ5ã7ëÌ;YÌõ¡Ì¦vïáñN:Ö.CQÕfãmÁµzkÞ+HTìåRïQI`mÝ˺nÀf¨Äâ`Ü!_ìj/2bf(Cm$qYûw³QD¼G54Ú-Id´DvÓêD f±ß¼`¢·d->£v-rN ¥wÑè]´kÖ1oWºÜ¦j7ÀøÈ^Ka)ªxGÞGd±¿ Õ4H'öL*¹é_åÖ$_gxòÃÎóÏ?e)[EMAIL PROTECTED]|:òÖåÉ9Á?çÎÅ!¾jbÐBô)`c|éH¥kcØS9ó̼à -;©+¢îvÄG»ÍU$Q4=òêqÊ3®ÂÆVáG£ÙBÂî®QDÁQ 9¢+ò µÑÜÐ?rr ó´Öq3å[«ñF¶[+q÷riÔÌÙP)å-©ûBÇCT×)_ÁÒë&äõ¼X&/ÅO1Þ*NyèÆ:êx0£u®À8ëjä9!aîÉ<F~2FÚ÷®µ8q W·RÏ\ÎÔÏÂ,QUÐLYE¨6¢3°#êÐrÖMªXSiÞŧª>[EMAIL PROTECTED]/Dï'ù -$×Pôú¯l4Ñ´l·Õ§±ëùåNn/9åH0Wö _éJ¨Ð¸>>ç÷mqW§tû·§{Iä,Ì̽rtsÇÖOÊùo«¼÷úþ!p8©ñº¿§jjyµ²|WûRnµFMoõÔuVoâÆµ0 ÝH¯çilVÁ×öT´)<o}BÕmîvØ´ÐõÝ>Ê:Z-¹'È,Ï×ÅÈͤYý°bí&²ë©S-2&rªL*«\1lYÏÆuÆ©0¯·cRh{õò&vV»Ôm¶¥º=YÎ;oÒé1ß$Âçu'OÔ»%ì·Ä¿ÿ? ûyèqÓý¬¥pZÍ/µ56±¢ÒCWÙ¨þbnõçeSU~àè´Oû©º>rä¥*ïés¾ G¢Óh+jRûh-éÿÌ5øNå?¶î>L-ö§[)²1/ -ªÝéÊq¸}eD~Ìúª&^ÁÚõ(§ 3OÞÙSBýóæ ܲÜP¨çäÒÄé¼²õP_í¯Kì2¡É ë"°vfku¯Â {QÕD¤¿I?]-µ>M$®[=Üß'âEÛ«{[Ãhh¼¡f;lÝíE9sø&å6:[EMAIL PROTECTED] æÍµÆ++¥C£«e:ôSìó¯M⪹újÞ¢¯ué«Â}j? ÚÛUY-$ï£²Ìø% -ÊÂ_ÑÒ&f¤þ4¤nü¬¦(3É^OðzN§ùRÝkeQ/ ª®4W)Öúb3}«àöÎLØ9úM·¤ð&sÍÐHj¾ QNYÛ -aúùÙμÈÕh§ËÕ=èV:iIW÷×Djà &RØãÉ©úD!½µVìõc¡n ¤Ê6ªdÒMÔbîÕ¯LÉæÝ[tѧ©>ðÛÜõa.ÿÄêFïçÍ}Ó½F¬8¼ -hãýö+79UÜyGc=ÍMOÜÊüÇnB0°>TJØb¢?kµÆ§7e¿ÃÖ=/ã¼×Ì[EMAIL PROTECTED]&O¾cÈz4Oùû¯-E=t8&æ¬^KoO ¯1vU2¡´x±¼]÷r¤·ÚÆ"ACÓÈ0ÿ^ÝpNaã3·ã¢T«·Ö3õ<D.C©ÑºSº#pO® V6È"ÕéÀµ¼IJ «^"ªgDøPJh³Y -$ë{%+_¡Çá Yíø ¥é"¨øþ/²Hé5+bqòGQäPL³zî#VZEwÈV°ºØ²ðu«ê.9kªk~ùò6öcbÝû}$D `éMtúKÉX~-oÕßÀi(%èÜÑ|¦ÍÙêlêðõ£¦ï}!C?§ÖåÇI±!Ý<nKÒ<å7Bú|Õlszêá7sI gÐ%uý{%!7+J/R×öì¼ 2þÞ¨¨B>2©xÙÜkXÁÇïˬnÇPûâ 3² )Tÿ<èÒ⦺ >«¡îe¨hJcP»Aö5èi}ÄùW0ȽôÿÆVÿz*`iÚ¡F7` ï«|*î¤:[EMAIL PROTECTED]"±ìc³ã[g'h3Źì;PHo#2/Ì x5pÃö\ÐÎ,ÿ»üÿ+¾ñBߨ/A{Þк/lä¹j³Ñ»+yÈP+mFÆnÓ£õs<_×Ia¿WyY&òXeL6Ie(aûî%®Sáô¼ó¥M³nµÿ.¼ªMÃ~+v½-~º#?|w|[EMAIL PROTECTED]/4ÖÚ4ö)°qYÈì.jÿÝjj iË ÌûÞ¼}K¸×ET<(Àc¦A] OµMzEÛ«PÃZÄ^ز¦ÎíE¾¨` OqN;¢'çf6» «þ%zºmXVe69VqmÛþËúôdS×oN -ÝÐ_×÷Ön:Öv^]ÖJ²½®ì©Ú±\Og}·ã¥öá^) ²ÛÐ'F_±jUtÇBN~£s>0]\ªHXÄ$ £;}«CÿÂhtçx>´M¤A£Ós"¤:Ë-Æ2ÞékL¶ò9ÆôݲÐ&¸3ï9°ÓVäQ~&ò}o|[EMAIL PROTECTED] No newline at end of file +$ë.åVíìõî]R»uR'Í{I§×·q²^J$)RKRÝnþ÷|+ô31¬+ÍÖÙ¤J ×Ha".D#èaå*åKU1颸^Ь½èùû\$¹«õ8M&o cr1çÕÅÙ«ûÔ¬åù`'=²¸_$Ùl Øø4Z+«â¢à+WEÐ<=dß°ûðß¿Ãÿµû:|R(}úô©vÍ5ðïkö8MØS^1õé'?¬â"^"&È+y"N;[EMAIL PROTECTED] +³îIí³<ãÑíÁÜå¢ý |Z¢Ðþ¸f=B=æªî¶®ï· oíX À2¼Dñ5DßÅÃËu J-¤kÇW?¼/ÀUÀKl0ã:t&3`ÂëÝõVUÛL5²ØÐªÒïÒÊÃfÎ~Ë!t|©é1;#PÊQ½ Y)ë'ÑrúùâÇo£aT.âCñýì§Ã¨ý~ó-ø_m5]pl®P ÞÃ|Âñ+-G¨÷lµ®hÝÊÕºü2Z?ɦ÷õ¸ )XF?Z5lÅ5í+\®¢¢¯c0èlÜr>Eo¤\ä䦬Ä^¤U<êÈòËä#F~ÿ2ØÏÅãLÜG©¿%/ð~¿ì+5ìÒK«~Hó6Y[ÍA8fÏó m¢pE^ýôêâDºbD´÷\7QV{Äùf;wBÖß(ús¾fp`ç.Âx Dï¢Cø+lJÔM°¼+êYXí6~jþ²ìàD¶\"2èÂÕBâЪõØ +\}iöºÓÑz\cÕD^±þÌ3 » =2D¿¥É8ÚÝ5ösøWïéÎÁ®\ø4ÿ-zMXôô-èzÓé}ØH²B0í@>u!?þíþF¸cû÷÷G0ìý!?äNûôÂ.âqB/[EMAIL PROTECTED]&/0ðx²±P©;é%¿¦Àd6oà³ÆsAçVùõíúì:k_ð¿ÔÓÔtQ²Ëî±ØîtT;eOÇÔíhõD¢×Ãþýï5(w0çÓ}ØÚè<R°êz$»×§;ÍO2fDÀ6²N³iù+xVníL³ð1ÓÏHÛ¯°ÁØzq°Cä¡Å`¿ñI(hmM Êñ5à4¹d2@"¾ øèÅALø:r¶L®0ë+>IU&z×`?³ùPZØà:ÃóÀ%3³5ų XÕÀê3è<Ðsª «4¼Ù~¾§<¨~» XU~Ùlá1ÞÁ]°BSîú¨x'06ÁµxðóiB«/¢(C)!÷ÜU´M [EMAIL PROTECTED]<+Ñ,Éê890c¾jÉe«ÞaKKY&ÐÂŪ7~1ú4<73}Jxg˼",¶5±j åDsz¦j*Dû$A«6QÀ¤g#E8$Ä'M«"dñÆOÖka, ù%Ç"ãË)Ö6Â1#ÏC[_ëÁ ¡`2اW.Âß;¼UNë°¥J9ákj ó+´ÚKËØ=^pØTþãbozI%SØàçÌh¢`ÑFAFÝqN¯¨ßa,óXûÃRÝFT-%¸Ø'¶GÍöP·ôÌ\hTyßݦ&PIÄ©¬¶QsÛ7fêmOa½ô)ÔÛOIFÀ8Mòv*Ýe)¬ù-¶ÚÄp)¼.ÄÍÇÿP4ðıª Qo¼Y^ÙXÁIlMH¾ûYÊ/¡Q(ëÔ®ON)[EMAIL PROTECTED],+ã½ö Xu¤Ú¹$½g¤÷J&R ÄÍì<!&<ǵִ«½U#q·?Mräëþ&gëi©pQnJ(«`å«S±Äíªa¿Ê loex9vÝ7ÂCu$hS~A9÷ñB\4Pa5JbåQrGåz,ãU! Ekÿd#VQ¸5XEeºª]£x<yÀª¼Â½½]D>e%R+åR|¯Æ?]µb÷§FV(3Ì<tÞ[§9Ö#éßO2ðtÁ5¦RºdgÄÍØ^ljâ_>ÿ³Ñâ²´cùʬ°PTRk+ô}²³Ô+õO[Ù%Ï%¯.PÚ/Èýpùú×uº¥üXbáQª½¿cRbö2¶-3»T,~ñÅîep4£òèH±{¬·Gb${b*4²!»O)èw½a_j/sÐÜß:2f<[M.hAi + lôÃ=aãz '6Ì+ÛáIýÔÇ£ñ½wHµéx$vÒÆ·ÿfâϦ¦^̽ïð`²Ù*£©ò'ßeß{P(#¯<ËC=ÄÀ^jÈÚ +Ö 2ò-êÔY«&«>[EMAIL PROTECTED]>£'Ï^\¢}U;Ý·èûc_/¡ +h>[EMAIL PROTECTED] &^n¼5¤ÚLA[ó9[¥IAÿ_[f'Ù¡ÖMÚZM}¼nõ¬¥ ÖÝv¶Ëªb¼]Ä}¥8ÕÕ·Â:P½ZÓt>§SÅ8Hçú;r(fÔ'ú +>"¥ÏÔ»rЮîèdåë¬k'ñª~äQnFAYÙݽCö,9g§W¢Àu_s5®ä~ääNóÌÙsøNn³hì9DMoZà¦×Íx£|[EMAIL PROTECTED]:ÁTªpª±«¢Ãz +ôv°yïXì³b,ÄíQgaùQf㱯±ÚM»g!ÈÌÆÂ×*v=_c:LáizÕh¼ò5&]é\ú'Ù¶ÓøÊßwMÈFÛº1ñ´Ô±|[EMAIL PROTECTED];ÿÍ ôª',yHÅìÑ_)B =}ëñ=UY>n}ãzï~ôö~¿§|¯Ój#à/~yºû°¼SÒMâà-ÒN¢ªå>QiÙïªÜæ+KlÕspÁ«ÁÁåO¾àÉtZy̦[âóÐ¦ÇÆqSº¶ hE¾ëúc<ÑOç2Ì£M²(Wª$èQÔµ1É%>êH¾º u»õÒªzozmµQ·4à7 î%,áWÏhúyÑ1º´äYöcÍ¿ÕßÙ¹ Ôág:.óι4õÕr|ÅúSÞXq êÌ1ÎóÇ+¢ÚNæ¹xòÞØ"ýX£¦6ÚXÝÖöBaA®²rGøôéÛÁgß`~ôöÙ«û=Gn2¼$}¯+#1+/íÒ(§F³ xty%,íþ +E"Ô)C¥BÔá|g¸-4JJÕ¦Q6áVYÓ1!º¶±/±+¶[Ý»S¦ÁJmC9Ý´>[ÞÚ +KÅÙöcu]W4 ÛæÝT_Ý¥ª·tC )|È]8%ÞE£wÑ®YѼ]s6 +0ªÝ+wÆ)Ï\º[% ýfK + »»F1dFæ®ÈÔFsCÿÈÊÎÓZoÄÍoÆÙnpÄÉBÜcÊ-¦Q=gC¥·<x¤niQ]§|H/=ðbP8¾?Åx¿L:å¡»#ê¨_àÁ~Ö¹ãÔ«t'¹·&óùÉ8$ioÜ»ÖbàÄ%\MDÜJ$<Sre:S?;´J´D V-4 [EMAIL PROTECTED] ¦y+ªúX$&κ{àµê32y¥ªJ¿M}wB߬/ËKLW7hYq\ ɽM~ä+T\CÒ뿲ÑhDÓ²ÝVÆ®;ä8¹m¾ä#Á\Ùÿ~¥«X(¡B ãú sò·Å n^¢Òíß +Bîm$³03÷ÊÑÍ[?5(ç¾òÞëÀá¤.ÆGüª© äqÔÊò]íëºýÕv5½ÕS×Y½×Â,to ½¨§±YK"^àSѦH66ò¼õYU_¶¹ÛaÐBWvû(*ëhµä {°XT>_g#7fõöµÈ®§N¶`ÈÈ©2©¬®DrŰEf=ק¼Þ"UJ¡í)Ö#È;ÙY}<ZîR·Ùêöd9Cì¼S§[Æ|Ü<IRï°ßNÿþÿ¨îç9ªk,ÆM÷³Âie4G¾ÔFÖØÄJ]e£ZúmºÕMUù£Ó&>í§êvúhÊMª¼§ÏIN£¨Ií{ µ¸ÿ3Wã;uÿØ +ü02µ Øn¥È:ļh(¨l¦+OÆ1÷ù1ë«Z,xGjSÖO LÌ<odO 9ôÏ{rËrCµ¢ïJ¯b P¤óÊ +ÔC}ɾ8±Ë(&F¬ÀÚ5.PÖ½pîEUþ&uüdU¶Ôú\¸Hnõ`m¯îm¢¡ðví\2b\²qv·åÌáÛè+ö©ý4nhoWeµ¼Ê2ãsvH^-(D?Jm&ú'Ò`ºIð³¢Ì${M>Áë9OæKuÃIF½*RªºÒ\¥XëÍô!®?8Ú;3aëlê7Ý Îu6C#©!TúzF9em+éçÇf;óJW£.W÷ Zé¤%]Ý_©Ha'§+]ú,>\ʦ:Vtâes¯Y>`9z¼/³ºCígÇÌÈJ¦P%þýó KzêVø¬ºC:¡þ±)[EMAIL PROTECTED] ÷Òÿ[müë©iR¦i6Ý~¨ò©¸6èÀØtA#aävwü¤Òo~ã'yIJÍli eBÌ`ç²ïA!=h¼È¼03àÕlÀÛsA;l°ü'îòÿ3.ü,øÆ }c¿íyCë>·}gªÍFou¬ä!CU¬´A»µHL/DÖÏñxt]'Iý^åeÈKb1eØ$¡m컸N Ó³Î×6ͺIÖþ»ð6ª6ûØõ. M÷q.P´k»m´wØçþVW¾ ÄÔb:'[EMAIL PROTECTED]|ÿESÁþç=¦zÔFà®ð®ÿ^ ñ'x¶GgܨÊß`·ú£ºÞ®4Êyÿ¿?>ör;mÍË'[EMAIL PROTECTED]::Æ!=z{?©õ¹i47_Ñh|óM>bh½w +&ïñ£AÒo+ à®í7[ðÝíç¿)¤æiíïÝ-:¦k]ä:µ£aÚ1Ú£l ^®À7ªfè«Ñæ_} 7á¾øVZðØ×ìðà`í«'è{sÅ{ó4Ó±faf zuÀ2°>X5oÌ]º §Y]ïÛ£wu-ÔhÝ.òÿmÍK Î|ñ]¯d»ò"fij·o+},¥¶0N¢¡GÕþqLt.àÙPòØ_1©5¾$!mxÓÄlEà]1òâxW!G¦xßÛc62øÞ)[EMAIL PROTECTED]/4ÖÚ4ö)°qYÈì.jÿÝjj iË ÌûÞ¼}K¸×ET<(Àc¦A] OµMzEÛ«PÃZÄ^ز¦ÎíE¾¨` OqN;¢'çf6» «þ%zºmXVe69VqmÛþËúôdS×oN +ÝÐ_×÷Ön:Öv^]ÖJ²½®ì©Ú±\Og}·ã¥öá^) ²ÛÐ'F_±jUtÇBN~£s>0]\ªHXÄ$ £;}«CÿÂhtçx>´M¤A£Ós"¤:Ë-Æ2ÞékL¶ò9ÆôݲÐ&¸3ï9°ÓVäQ~&ò}o|[EMAIL PROTECTED]|Ö5Ë,ï]É®&h\ No newline at end of file http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar/pharcommand.inc?r1=1.49&r2=1.49.2.1&diff_format=u Index: php-src/ext/phar/phar/pharcommand.inc diff -u php-src/ext/phar/phar/pharcommand.inc:1.49 php-src/ext/phar/phar/pharcommand.inc:1.49.2.1 --- php-src/ext/phar/phar/pharcommand.inc:1.49 Sat Mar 22 01:48:44 2008 +++ php-src/ext/phar/phar/pharcommand.inc Sat May 31 15:53:16 2008 @@ -501,14 +501,14 @@ switch($this->args['c']['val']) { case 'gz': case 'gzip': - $phar->compressAllFilesGZ(); + $phar->compressFiles(Phar::GZ); break; case 'bz2': case 'bzip2': - $phar->compressAllFilesBZIP2(); + $phar->compressFiles(Phar::BZ2); break; default: - $phar->uncompressAllFiles(); + $phar->compressFiles(Phar::NONE);; break; }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php