xref: /PHP-7.1/ext/phar/package.xml (revision 7f6387b5)
1<?xml version="1.0" encoding="UTF-8"?>
2<package packagerversion="1.8.2" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
3 <name>phar</name>
4 <channel>pecl.php.net</channel>
5 <summary>allows running of complete applications out of .phar files (like Java .jar files)</summary>
6 <description>This is the extension version of PEAR&apos;s PHP_Archive package. Support for
7zlib, bz2 and crc32 is achieved without any dependency other than the external
8zlib or bz2 extension.
9
10.phar files can be read using the phar stream, or with the Phar class.  If the SPL extension
11is available, a Phar object can be used as an array to iterate over a phar&apos;s contents
12or to read files directly from the phar.
13
14Phar supports tar and zip file formats as well as the native phar file format, and can also be
15used to create data-only tar and zip archives with the PharData class, even if
16write access is disabled by the phar.readonly ini variable.
17
18Executable phar archives can be created using the streams API or with the Phar class, if
19the phar.readonly ini variable is set to false.
20
21Full support for MD5 and SHA1 signatures is possible. Signatures can be required
22if the ini variable phar.require_hash is set to true. When PECL extension hash is
23available then SHA-256 and SHA-512 signatures are supported as well.
24
25Phar is APC-compatible, the latest APC will cache files within a phar archive, resulting in
26a 6x speedup measured running phpMyAdmin as a phar archive.</description>
27 <lead>
28  <name>Greg Beaver</name>
29  <user>cellog</user>
30  <email>cellog@php.net</email>
31  <active>yes</active>
32 </lead>
33 <lead>
34  <name>Marcus Boerger</name>
35  <user>helly</user>
36  <email>helly@php.net</email>
37  <active>yes</active>
38 </lead>
39 <developer>
40  <name>Steph Fox</name>
41  <user>sfox</user>
42  <email>sfox@php.net</email>
43  <active>yes</active>
44 </developer>
45 <date>2009-07-26</date>
46 <time>15:41:33</time>
47 <version>
48  <release>2.0.0</release>
49  <api>1.1.1</api>
50 </version>
51 <stability>
52  <release>stable</release>
53  <api>stable</api>
54 </stability>
55 <license uri="http://www.php.net/license">PHP License</license>
56 <notes>
57BC BREAKING RELEASE
58 BC breaks:
59 * Phar object Compression API is rewritten.  Use Phar::compress() and decompress(),
60   Phar::compressFiles()/decompressFiles() and PharFileInfo-&gt;compress()/decompress().
61 * phar.extract_list and Phar::getExtractList() are removed
62
63Major feature functionality release
64 * phar.cache_list allows web-based phar applications to run at equal or faster than
65   their on-disk equivalent [Greg]
66 * new default stub allows running of phar-based phars without phar extension [Greg/Steph]
67 * add support for tar-based and zip-based phar archives [Greg]
68 * add support for OpenSSL-based true signatures [Greg]
69 * add support for signatures to tar-based phar archives [Greg]
70 * add Phar::isFileFormat() [Greg]
71 * add Phar::convertToExecutable(), Phar::convertToData() [Greg]
72 * add Phar::compress() [Greg]
73 * rename Phar::compressAllFiles() to compressFiles(), uncompressAllFiles() to
74   decompressFiles() [Greg]
75 * conversion to compressed or to other file formats automatically copies the archive
76   to a new extension (i.e. &quot;.phar&quot; to &quot;.phar.tar&quot; or &quot;.tar&quot; to &quot;.tar.gz&quot;) [Steph]
77 * add Phar::webPhar() for running a web-based application unmodified
78   directly from a phar archive [Greg]
79 * file functions (fopen-based and stat-based) can be instructed to only look for
80   relative paths within a phar via Phar::interceptFileFuncs()
81 * add PharData class to allow manipulation/creation of non-executable tar and zip archives. [Steph]
82   non-executable tar/zip manipulation is allowed even when phar.readonly=1 [Greg]
83 * paths with . and .. work (phar://blah.phar/a/../b.php =&gt; phar://blah.phar/b.php) [Greg]
84 * add support for mkdir()/rmdir() and support for empty directories to phar file format [Greg]
85 * add option to compress the entire phar file for phar/tar file format [Greg]
86 * implement Phar::isCompressed() returning 0, Phar::GZ or Phar::BZ2 [Greg]
87 * implement Phar::copy(string $from, string $to) [Greg]
88 * implement Phar::running(), returns path or URL to currently executed phar
89 * implement Phar::buildFromIterator(Iterator $it[, string $base_directory]) [Greg]
90 * implement Phar::buildFromDirectory(string $base_directory[, string $regex]) [Steph]
91 * implement Phar::mount() for mounting external paths or files to locations inside a phar [Greg]
92 * add Phar::delete() [Greg]
93 * implement Phar::unlinkArchive() [Greg]
94
95Security addition
96 * aliases are validated so that they contain no directory separators as intended
97 * on conversion to other formats, user-supplied aliases are validated
98
99Changes since 2.0.0RC2:
100 fixed PHP Bug #49021: phar tar signature algorithm reports as Unknown (0) in
101 getSignature() call
102 fixed PHP Bug #49020: phar misinterprets ustar long filename standard
103 fixed PHP Bug #49018: phar tar stores long filenames with prefix/name reversed
104 fixed PHP Bug #48791: open office files always reported as corrupted
105 fixed PHP Bug #48783: make install will fail saying phar file exists
106 fixed PHP Bug #48740: PHAR install fails when INSTALL_ROOT is not the final install location
107 fixed PHP Bug #48681: openssl signature verification for tar archives broken
108 fixed PHP Bug #48377: error message unclear on converting phar with existing file
109 fixed isset() on sub-directories (isset(&quot;blah&quot;) if file &quot;blah/foo.php&quot; exists)
110
111 make phar work in PHP 6
112Changes since 2.0.0RC1:
113 security vulnerability in handling of long tar filenames fixed
114 fixed PECL Bug #14646: phar error message unclear with php stream wrappers
115 fixed PECL Bug #16338: php_stream_copy_to_stream{,_ex}()
116 fixed PHP Bug #48257: PharData throws an exception with non-phar tar
117 fixed PHP Bug #47085: rename() returns true even if the file in PHAR does not exist
118 fixed PHP Bug #46032: PharData::__construct() - wrong memory read
119 fixed PHP Bug #46060: Phar::addEmptyDir() breaks
120 fixed PHP Bug #45907: undefined reference to &apos;PHP_SHA512Init&apos;
121 fixed PHP Bug #45726: PHP_Archive / Archive.php missing
122Changes since 2.0.0a2: many bugfixes, removal of phar.extract_list, compression API refactored,
123 conversion API refactored
124Changes since 2.0.0b1: addition of phar.cache_list, many performance improvements and bugfixes
125 implement OpenSSL asynchronous true package signing
126 add support for package signing to tar-based archives
127 require PHP 5.2.1+
128 </notes>
129 <contents>
130  <dir baseinstalldir="/" name="/">
131   <dir name="phar">
132    <file name="clicommand.inc" role="src" />
133    <file name="directorygraphiterator.inc" role="src" />
134    <file name="directorytreeiterator.inc" role="src" />
135    <file name="invertedregexiterator.inc" role="src" />
136    <file name="phar.inc" role="src" />
137    <file name="phar.php" role="src" />
138    <file name="pharcommand.inc" role="src" />
139   </dir> <!-- /phar -->
140   <dir name="tests">
141    <dir name="cache_list">
142     <dir name="files">
143      <file name="blog.phar" role="test" />
144      <file name="blog.phar.inc" role="test" />
145      <file name="config.xml" role="test" />
146      <file name="extracted.inc" role="test" />
147      <file name="frontcontroller.phar" role="test" />
148      <file name="frontcontroller.phar.inc" role="test" />
149      <file name="frontcontroller2.phar" role="test" />
150      <file name="frontcontroller2.phar.inc" role="test" />
151      <file name="frontcontroller3.phar" role="test" />
152      <file name="frontcontroller3.phar.inc" role="test" />
153      <file name="frontcontroller4.phar" role="test" />
154      <file name="frontcontroller4.phar.inc" role="test" />
155      <file name="frontcontroller5.phar" role="test" />
156      <file name="frontcontroller5.phar.inc" role="test" />
157      <file name="frontcontroller6.phar" role="test" />
158      <file name="frontcontroller6.phar.inc" role="test" />
159      <file name="frontcontroller7.phar" role="test" />
160      <file name="frontcontroller7.phar.inc" role="test" />
161      <file name="frontcontroller8.phar" role="test" />
162      <file name="frontcontroller8.phar.inc" role="test" />
163      <file name="frontcontroller9.phar" role="test" />
164      <file name="frontcontroller9.phar.inc" role="test" />
165      <file name="frontcontroller10.phar" role="test" />
166      <file name="frontcontroller10.phar.inc" role="test" />
167      <file name="frontcontroller11.phar" role="test" />
168      <file name="frontcontroller11.phar.inc" role="test" />
169      <file name="frontcontroller12.phar" role="test" />
170      <file name="frontcontroller12.phar.inc" role="test" />
171      <file name="frontcontroller13.phar" role="test" />
172      <file name="frontcontroller13.phar.inc" role="test" />
173      <file name="frontcontroller14.phar" role="test" />
174      <file name="frontcontroller14.phar.inc" role="test" />
175      <file name="frontcontroller16.phar" role="test" />
176      <file name="frontcontroller16.phar.inc" role="test" />
177      <file name="frontcontroller17.phar" role="test" />
178      <file name="frontcontroller17.phar.inc" role="test" />
179      <file name="frontcontroller18.phar" role="test" />
180      <file name="frontcontroller18.phar.inc" role="test" />
181      <file name="frontcontroller19.phar" role="test" />
182      <file name="frontcontroller19.phar.inc" role="test" />
183      <file name="md5.phar" role="test" />
184      <file name="nophar.phar" role="test" />
185      <file name="nophar.phar.inc" role="test" />
186      <file name="openssl.phar" role="test" />
187      <file name="openssl.phar.pubkey" role="test" />
188      <file name="phar_oo_test.inc" role="test" />
189      <file name="phar_test.inc" role="test" />
190      <file name="private.pem" role="test" />
191      <file name="sha1.phar" role="test" />
192      <file name="sha256.phar" role="test" />
193      <file name="sha512.phar" role="test" />
194      <file name="write.phar" role="test" />
195      <file name="write.phar.inc" role="test" />
196      <file name="write2.phar" role="test" />
197      <file name="write2.phar.inc" role="test" />
198      <file name="write3.phar" role="test" />
199      <file name="write3.phar.inc" role="test" />
200      <file name="write4.phar" role="test" />
201      <file name="write4.phar.inc" role="test" />
202      <file name="write5.phar" role="test" />
203      <file name="write5.phar.inc" role="test" />
204      <file name="write6.phar" role="test" />
205      <file name="write6.phar.inc" role="test" />
206      <file name="write7.phar" role="test" />
207      <file name="write7.phar.inc" role="test" />
208      <file name="write8.phar" role="test" />
209      <file name="write8.phar.inc" role="test" />
210      <file name="write9.phar" role="test" />
211      <file name="write9.phar.inc" role="test" />
212      <file name="write10.phar" role="test" />
213      <file name="write10.phar.inc" role="test" />
214      <file name="write11.phar" role="test" />
215      <file name="write11.phar.inc" role="test" />
216      <file name="write12.phar" role="test" />
217      <file name="write12.phar.inc" role="test" />
218      <file name="write13.phar" role="test" />
219      <file name="write13.phar.inc" role="test" />
220      <file name="write14.phar" role="test" />
221      <file name="write14.phar.inc" role="test" />
222      <file name="write15.phar" role="test" />
223      <file name="write15.phar.inc" role="test" />
224      <file name="write16.phar" role="test" />
225      <file name="write16.phar.inc" role="test" />
226      <file name="write17.phar" role="test" />
227      <file name="write17.phar.inc" role="test" />
228      <file name="write18.phar" role="test" />
229      <file name="write18.phar.inc" role="test" />
230      <file name="write19.phar" role="test" />
231      <file name="write19.phar.inc" role="test" />
232      <file name="write20.phar" role="test" />
233      <file name="write20.phar.inc" role="test" />
234      <file name="write21.phar" role="test" />
235      <file name="write21.phar.inc" role="test" />
236      <file name="write22.phar" role="test" />
237      <file name="write22.phar.inc" role="test" />
238      <file name="write23.phar" role="test" />
239      <file name="write23.phar.inc" role="test" />
240      <file name="write24.phar" role="test" />
241      <file name="write24.phar.inc" role="test" />
242      <file name="write25.phar" role="test" />
243      <file name="write25.phar.inc" role="test" />
244      <file name="zfapp.tgz" role="test" />
245     </dir> <!-- /tests/cache_list/files -->
246     <file name="copyonwrite1.phar.phpt" role="test" />
247     <file name="copyonwrite2.phar.phpt" role="test" />
248     <file name="copyonwrite3.phar.phpt" role="test" />
249     <file name="copyonwrite4.phar.phpt" role="test" />
250     <file name="copyonwrite4a.phpt" role="test" />
251     <file name="copyonwrite5.phar.phpt" role="test" />
252     <file name="copyonwrite6.phar.phpt" role="test" />
253     <file name="copyonwrite7.phar.phpt" role="test" />
254     <file name="copyonwrite8.phar.phpt" role="test" />
255     <file name="copyonwrite9.phar.phpt" role="test" />
256     <file name="copyonwrite10.phar.phpt" role="test" />
257     <file name="copyonwrite11.phar.phpt" role="test" />
258     <file name="copyonwrite12.phar.phpt" role="test" />
259     <file name="copyonwrite13.phar.phpt" role="test" />
260     <file name="copyonwrite14.phar.phpt" role="test" />
261     <file name="copyonwrite15.phar.phpt" role="test" />
262     <file name="copyonwrite16.phar.phpt" role="test" />
263     <file name="copyonwrite17.phar.phpt" role="test" />
264     <file name="copyonwrite18.phar.phpt" role="test" />
265     <file name="copyonwrite19.phar.phpt" role="test" />
266     <file name="copyonwrite20.phar.phpt" role="test" />
267     <file name="copyonwrite21.phar.phpt" role="test" />
268     <file name="copyonwrite22.phar.phpt" role="test" />
269     <file name="copyonwrite23.phar.phpt" role="test" />
270     <file name="copyonwrite24.phar.phpt" role="test" />
271     <file name="copyonwrite25.phar.phpt" role="test" />
272     <file name="frontcontroller1.phpt" role="test" />
273     <file name="frontcontroller2.phpt" role="test" />
274     <file name="frontcontroller3.phpt" role="test" />
275     <file name="frontcontroller4.phpt" role="test" />
276     <file name="frontcontroller5.phpt" role="test" />
277     <file name="frontcontroller6.phpt" role="test" />
278     <file name="frontcontroller7.phpt" role="test" />
279     <file name="frontcontroller8.phpt" role="test" />
280     <file name="frontcontroller9.phpt" role="test" />
281     <file name="frontcontroller10.phpt" role="test" />
282     <file name="frontcontroller11.phpt" role="test" />
283     <file name="frontcontroller12.phpt" role="test" />
284     <file name="frontcontroller13.phpt" role="test" />
285     <file name="frontcontroller14.phpt" role="test" />
286     <file name="frontcontroller15.phpt" role="test" />
287     <file name="frontcontroller16.phpt" role="test" />
288     <file name="frontcontroller17.phpt" role="test" />
289     <file name="frontcontroller18.phpt" role="test" />
290     <file name="frontcontroller19.phpt" role="test" />
291     <file name="frontcontroller20.phpt" role="test" />
292     <file name="frontcontroller21.phpt" role="test" />
293     <file name="frontcontroller22.phpt" role="test" />
294     <file name="frontcontroller23.phpt" role="test" />
295     <file name="frontcontroller24.phpt" role="test" />
296     <file name="frontcontroller25.phpt" role="test" />
297     <file name="frontcontroller26.phpt" role="test" />
298     <file name="frontcontroller27.phpt" role="test" />
299     <file name="frontcontroller28.phpt" role="test" />
300     <file name="frontcontroller29.phpt" role="test" />
301     <file name="frontcontroller30.phpt" role="test" />
302     <file name="frontcontroller31.phpt" role="test" />
303     <file name="frontcontroller32.phpt" role="test" />
304     <file name="frontcontroller33.phpt" role="test" />
305     <file name="frontcontroller34.phpt" role="test" />
306    </dir> <!-- /tests/cache_list -->
307    <dir name="files">
308     <file name="blog.phar" role="test" />
309     <file name="blog.phar.inc" role="test" />
310     <file name="config.xml" role="test" />
311     <file name="extracted.inc" role="test" />
312     <file name="frontcontroller.phar" role="test" />
313     <file name="frontcontroller.phar.inc" role="test" />
314     <file name="frontcontroller2.phar" role="test" />
315     <file name="frontcontroller2.phar.inc" role="test" />
316     <file name="frontcontroller3.phar" role="test" />
317     <file name="frontcontroller3.phar.inc" role="test" />
318     <file name="frontcontroller4.phar" role="test" />
319     <file name="frontcontroller4.phar.inc" role="test" />
320     <file name="frontcontroller5.phar" role="test" />
321     <file name="frontcontroller5.phar.inc" role="test" />
322     <file name="frontcontroller6.phar" role="test" />
323     <file name="frontcontroller6.phar.inc" role="test" />
324     <file name="frontcontroller7.phar" role="test" />
325     <file name="frontcontroller7.phar.inc" role="test" />
326     <file name="frontcontroller8.phar" role="test" />
327     <file name="frontcontroller8.phar.inc" role="test" />
328     <file name="frontcontroller9.phar" role="test" />
329     <file name="frontcontroller9.phar.inc" role="test" />
330     <file name="frontcontroller10.phar" role="test" />
331     <file name="frontcontroller10.phar.inc" role="test" />
332     <file name="frontcontroller11.phar" role="test" />
333     <file name="frontcontroller11.phar.inc" role="test" />
334     <file name="frontcontroller12.phar" role="test" />
335     <file name="frontcontroller12.phar.inc" role="test" />
336     <file name="frontcontroller13.phar" role="test" />
337     <file name="frontcontroller13.phar.inc" role="test" />
338     <file name="frontcontroller14.phar" role="test" />
339     <file name="frontcontroller14.phar.inc" role="test" />
340     <file name="frontcontroller16.phar" role="test" />
341     <file name="frontcontroller16.phar.inc" role="test" />
342     <file name="frontcontroller17.phar" role="test" />
343     <file name="frontcontroller17.phar.inc" role="test" />
344     <file name="frontcontroller18.phar" role="test" />
345     <file name="frontcontroller18.phar.inc" role="test" />
346     <file name="frontcontroller19.phar" role="test" />
347     <file name="frontcontroller19.phar.inc" role="test" />
348     <file name="include_path.phar" role="test" />
349     <file name="include_path.phar.inc" role="test" />
350     <file name="include_path2.phar" role="test" />
351     <file name="md5.phar" role="test" />
352     <file name="nophar.phar" role="test" />
353     <file name="nophar.phar.inc" role="test" />
354     <file name="notbogus.zip" role="test" />
355     <file name="openssl.phar" role="test" />
356     <file name="openssl.phar.pubkey" role="test" />
357     <file name="phar_oo_test.inc" role="test" />
358     <file name="phar_test.inc" role="test" />
359     <file name="private.pem" role="test" />
360     <file name="sha1.phar" role="test" />
361     <file name="sha256.phar" role="test" />
362     <file name="sha512.phar" role="test" />
363     <file name="zfapp.tgz" role="test" />
364    </dir> <!-- /tests/files -->
365    <dir name="tar">
366     <dir name="files">
367      <file name="badalias1.phar.tar" role="test" />
368      <file name="badalias2.phar.tar" role="test" />
369      <file name="badalias3.phar.tar" role="test" />
370      <file name="badalias4.phar.tar" role="test" />
371      <file name="badalias5.phar.tar" role="test" />
372      <file name="biglink.tar" role="test" />
373      <file name="corrupt_tarmaker.php.inc" role="test" />
374      <file name="frontcontroller.phar.inc" role="test" />
375      <file name="frontcontroller.phar.tar" role="test" />
376      <file name="frontcontroller2.phar.inc" role="test" />
377      <file name="frontcontroller2.phar.tar" role="test" />
378      <file name="frontcontroller3.phar.inc" role="test" />
379      <file name="frontcontroller3.phar.tar" role="test" />
380      <file name="frontcontroller4.phar.inc" role="test" />
381      <file name="frontcontroller4.phar.tar" role="test" />
382      <file name="frontcontroller5.phar.inc" role="test" />
383      <file name="frontcontroller5.phar.tar" role="test" />
384      <file name="frontcontroller6.phar.inc" role="test" />
385      <file name="frontcontroller6.phar.tar" role="test" />
386      <file name="frontcontroller7.phar.inc" role="test" />
387      <file name="frontcontroller7.phar.tar" role="test" />
388      <file name="frontcontroller8.phar.inc" role="test" />
389      <file name="frontcontroller8.phar.tar" role="test" />
390      <file name="frontcontroller9.phar.inc" role="test" />
391      <file name="frontcontroller9.phar.tar" role="test" />
392      <file name="frontcontroller10.phar.inc" role="test" />
393      <file name="frontcontroller10.phar.tar" role="test" />
394      <file name="frontcontroller11.phar.inc" role="test" />
395      <file name="frontcontroller11.phar.tar" role="test" />
396      <file name="frontcontroller12.phar.inc" role="test" />
397      <file name="frontcontroller12.phar.tar" role="test" />
398      <file name="links.phar.tar" role="test" />
399      <file name="links.tar" role="test" />
400      <file name="make.dangerous.tar.php.inc" role="test" />
401      <file name="make_invalid_tar.php.inc" role="test" />
402      <file name="Net_URL-1.0.15.tgz" role="test" />
403      <file name="P1-1.0.0.tgz" role="test" />
404      <file name="P1-1.0.0.tgz.pubkey" role="test" />
405      <file name="subdirlink.tar" role="test" />
406      <file name="tarmaker.php.inc" role="test" />
407      <file name="tinylink.tar" role="test" />
408      <file name="trunc.tar" role="test" />
409     </dir> <!-- /tests/tar/files -->
410     <file name="033.phpt" role="test" />
411     <file name="033a.phpt" role="test" />
412     <file name="alias_acrobatics.phpt" role="test" />
413     <file name="all.phpt" role="test" />
414     <file name="allU.phpt" role="test" />
415     <file name="badalias.phpt" role="test" />
416     <file name="badchecksum.phpt" role="test" />
417     <file name="bignames.phpt" role="test" />
418     <file name="bignames_overflow.phpt" role="test" />
419     <file name="create_new_and_modify.phpt" role="test" />
420     <file name="create_new_phar_b.phpt" role="test" />
421     <file name="delete.phpt" role="test" />
422     <file name="delete_in_phar.phpt" role="test" />
423     <file name="delete_in_phar_b.phpt" role="test" />
424     <file name="delete_in_phar_confirm.phpt" role="test" />
425     <file name="dir.phpt" role="test" />
426     <file name="exists_as_phar.phpt" role="test" />
427     <file name="frontcontroller1.phar.phpt" role="test" />
428     <file name="frontcontroller2.phar.phpt" role="test" />
429     <file name="frontcontroller3.phar.phpt" role="test" />
430     <file name="frontcontroller4.phar.phpt" role="test" />
431     <file name="frontcontroller5.phar.phpt" role="test" />
432     <file name="frontcontroller6.phar.phpt" role="test" />
433     <file name="frontcontroller7.phar.phpt" role="test" />
434     <file name="frontcontroller8.phar.phpt" role="test" />
435     <file name="frontcontroller9.phar.phpt" role="test" />
436     <file name="frontcontroller10.phar.phpt" role="test" />
437     <file name="frontcontroller11.phar.phpt" role="test" />
438     <file name="frontcontroller12.phar.phpt" role="test" />
439     <file name="frontcontroller13.phar.phpt" role="test" />
440     <file name="frontcontroller14.phar.phpt" role="test" />
441     <file name="frontcontroller15.phar.phpt" role="test" />
442     <file name="frontcontroller16.phar.phpt" role="test" />
443     <file name="frontcontroller17.phar.phpt" role="test" />
444     <file name="frontcontroller18.phar.phpt" role="test" />
445     <file name="frontcontroller19.phar.phpt" role="test" />
446     <file name="frontcontroller20.phar.phpt" role="test" />
447     <file name="frontcontroller21.phar.phpt" role="test" />
448     <file name="links.phpt" role="test" />
449     <file name="links2.phpt" role="test" />
450     <file name="links3.phpt" role="test" />
451     <file name="links4.phpt" role="test" />
452     <file name="links5.phpt" role="test" />
453     <file name="links6.phpt" role="test" />
454     <file name="open_for_write_existing.phpt" role="test" />
455     <file name="open_for_write_existing_b.phpt" role="test" />
456     <file name="open_for_write_existing_b_5_2.phpt" role="test" />
457     <file name="open_for_write_existing_c.phpt" role="test" />
458     <file name="open_for_write_existing_c_5_2.phpt" role="test" />
459     <file name="open_for_write_newfile.phpt" role="test" />
460     <file name="open_for_write_newfile_b.phpt" role="test" />
461     <file name="open_for_write_newfile_b_5_2.phpt" role="test" />
462     <file name="open_for_write_newfile_c.phpt" role="test" />
463     <file name="open_for_write_newfile_c_5_2.phpt" role="test" />
464     <file name="phar_begin_setstub_commit.phpt" role="test" />
465     <file name="phar_begin_setstub_commitU.phpt" role="test" />
466     <file name="phar_buildfromiterator4.phpt" role="test" />
467     <file name="phar_buildfromiterator5.phpt" role="test" />
468     <file name="phar_buildfromiterator6.phpt" role="test" />
469     <file name="phar_buildfromiterator7.phpt" role="test" />
470     <file name="phar_buildfromiterator8.phpt" role="test" />
471     <file name="phar_buildfromiterator9.phpt" role="test" />
472     <file name="phar_commitwrite.phpt" role="test" />
473     <file name="phar_convert_phar.phpt" role="test" />
474     <file name="phar_convert_phar2.phpt" role="test" />
475     <file name="phar_convert_phar3.phpt" role="test" />
476     <file name="phar_convert_phar4.phpt" role="test" />
477     <file name="phar_copy.phpt" role="test" />
478     <file name="phar_magic.phpt" role="test" />
479     <file name="phar_setalias.phpt" role="test" />
480     <file name="phar_setalias2.phpt" role="test" />
481     <file name="phar_setdefaultstub.phpt" role="test" />
482     <file name="phar_setsignaturealgo2.phpt" role="test" />
483     <file name="phar_stub.phpt" role="test" />
484     <file name="phar_stub_error.phpt" role="test" />
485     <file name="refcount1.phpt" role="test" />
486     <file name="refcount1_5_2.phpt" role="test" />
487     <file name="rename.phpt" role="test" />
488     <file name="rename_dir.phpt" role="test" />
489     <file name="require_hash.phpt" role="test" />
490     <file name="rmdir.phpt" role="test" />
491     <file name="tar_001.phpt" role="test" />
492     <file name="tar_002.phpt" role="test" />
493     <file name="tar_003.phpt" role="test" />
494     <file name="tar_004.phpt" role="test" />
495     <file name="tar_004U.phpt" role="test" />
496     <file name="tar_bz2.phpt" role="test" />
497     <file name="tar_bz2U.phpt" role="test" />
498     <file name="tar_gzip.phpt" role="test" />
499     <file name="tar_gzipU.phpt" role="test" />
500     <file name="tar_makebz2.phpt" role="test" />
501     <file name="tar_makegz.phpt" role="test" />
502     <file name="tar_nohash.phpt" role="test" />
503     <file name="tar_nostub.phpt" role="test" />
504     <file name="tar_openssl_hash.phpt" role="test" />
505     <file name="truncated.phpt" role="test" />
506    </dir> <!-- /tests/tar -->
507    <dir name="zip">
508     <dir name="files">
509      <file name="badalias1.phar.zip" role="test" />
510      <file name="badalias2.phar.zip" role="test" />
511      <file name="badalias3.phar.zip" role="test" />
512      <file name="badalias4.phar.zip" role="test" />
513      <file name="badalias5.phar.zip" role="test" />
514      <file name="bz2_alias.phar.zip" role="test" />
515      <file name="bzip2.zip" role="test" />
516      <file name="cdir_offset.zip" role="test" />
517      <file name="compress_unsup1.zip" role="test" />
518      <file name="compress_unsup2.zip" role="test" />
519      <file name="compress_unsup3.zip" role="test" />
520      <file name="compress_unsup4.zip" role="test" />
521      <file name="compress_unsup5.zip" role="test" />
522      <file name="compress_unsup6.zip" role="test" />
523      <file name="compress_unsup7.zip" role="test" />
524      <file name="compress_unsup9.zip" role="test" />
525      <file name="compress_unsup10.zip" role="test" />
526      <file name="compress_unsup14.zip" role="test" />
527      <file name="compress_unsup18.zip" role="test" />
528      <file name="compress_unsup19.zip" role="test" />
529      <file name="compress_unsup97.zip" role="test" />
530      <file name="compress_unsup98.zip" role="test" />
531      <file name="compress_unsupunknown.zip" role="test" />
532      <file name="corrupt2.php.inc" role="test" />
533      <file name="corrupt3.php.inc" role="test" />
534      <file name="corrupt_count1.php.inc" role="test" />
535      <file name="corrupt_zipmaker.php.inc" role="test" />
536      <file name="count1.zip" role="test" />
537      <file name="count2.zip" role="test" />
538      <file name="disknumber.zip" role="test" />
539      <file name="encrypted.zip" role="test" />
540      <file name="extralen_toolong.zip" role="test" />
541      <file name="filecomment.zip" role="test" />
542      <file name="frontcontroller.phar.inc" role="test" />
543      <file name="frontcontroller.phar.zip" role="test" />
544      <file name="frontcontroller2.phar.inc" role="test" />
545      <file name="frontcontroller2.phar.zip" role="test" />
546      <file name="frontcontroller3.phar.inc" role="test" />
547      <file name="frontcontroller3.phar.zip" role="test" />
548      <file name="frontcontroller4.phar.inc" role="test" />
549      <file name="frontcontroller4.phar.zip" role="test" />
550      <file name="frontcontroller5.phar.inc" role="test" />
551      <file name="frontcontroller5.phar.zip" role="test" />
552      <file name="frontcontroller6.phar.inc" role="test" />
553      <file name="frontcontroller6.phar.zip" role="test" />
554      <file name="frontcontroller7.phar.inc" role="test" />
555      <file name="frontcontroller7.phar.zip" role="test" />
556      <file name="frontcontroller8.phar.inc" role="test" />
557      <file name="frontcontroller8.phar.zip" role="test" />
558      <file name="frontcontroller9.phar.inc" role="test" />
559      <file name="frontcontroller9.phar.zip" role="test" />
560      <file name="frontcontroller10.phar.inc" role="test" />
561      <file name="frontcontroller10.phar.zip" role="test" />
562      <file name="frontcontroller11.phar.inc" role="test" />
563      <file name="frontcontroller11.phar.zip" role="test" />
564      <file name="frontcontroller12.phar.inc" role="test" />
565      <file name="frontcontroller12.phar.zip" role="test" />
566      <file name="make_invalid_tar.php.inc" role="test" />
567      <file name="metadata.phar.inc" role="test" />
568      <file name="metadata.phar.zip" role="test" />
569      <file name="nozipend.zip" role="test" />
570      <file name="odt.odt" role="test" />
571      <file name="stdin.zip" role="test" />
572      <file name="test.odt" role="test" />
573      <file name="truncfilename.zip" role="test" />
574      <file name="zip.zip" role="test" />
575      <file name="zipmaker.php.inc" role="test" />
576      <file name="zlib_alias.phar.zip" role="test" />
577     </dir> <!-- /tests/zip/files -->
578     <file name="033.phpt" role="test" />
579     <file name="033a.phpt" role="test" />
580     <file name="alias_acrobatics.phpt" role="test" />
581     <file name="all.phpt" role="test" />
582     <file name="allU.phpt" role="test" />
583     <file name="badalias.phpt" role="test" />
584     <file name="bug48791.phpt" role="test" />
585     <file name="bzip2.phpt" role="test" />
586     <file name="corrupt_001.phpt" role="test" />
587     <file name="corrupt_002.phpt" role="test" />
588     <file name="corrupt_003.phpt" role="test" />
589     <file name="corrupt_004.phpt" role="test" />
590     <file name="corrupt_005.phpt" role="test" />
591     <file name="corrupt_006.phpt" role="test" />
592     <file name="corrupt_007.phpt" role="test" />
593     <file name="corrupt_008.phpt" role="test" />
594     <file name="corrupt_009.phpt" role="test" />
595     <file name="corrupt_010.phpt" role="test" />
596     <file name="create_new_and_modify.phpt" role="test" />
597     <file name="create_new_phar_b.phpt" role="test" />
598     <file name="delete.phpt" role="test" />
599     <file name="delete_in_phar.phpt" role="test" />
600     <file name="delete_in_phar_b.phpt" role="test" />
601     <file name="delete_in_phar_confirm.phpt" role="test" />
602     <file name="dir.phpt" role="test" />
603     <file name="exists_as_phar.phpt" role="test" />
604     <file name="frontcontroller1.phar.phpt" role="test" />
605     <file name="frontcontroller2.phar.phpt" role="test" />
606     <file name="frontcontroller3.phar.phpt" role="test" />
607     <file name="frontcontroller4.phar.phpt" role="test" />
608     <file name="frontcontroller5.phar.phpt" role="test" />
609     <file name="frontcontroller6.phar.phpt" role="test" />
610     <file name="frontcontroller7.phar.phpt" role="test" />
611     <file name="frontcontroller8.phar.phpt" role="test" />
612     <file name="frontcontroller9.phar.phpt" role="test" />
613     <file name="frontcontroller10.phar.phpt" role="test" />
614     <file name="frontcontroller11.phar.phpt" role="test" />
615     <file name="frontcontroller12.phar.phpt" role="test" />
616     <file name="frontcontroller13.phar.phpt" role="test" />
617     <file name="frontcontroller14.phar.phpt" role="test" />
618     <file name="frontcontroller15.phar.phpt" role="test" />
619     <file name="frontcontroller16.phar.phpt" role="test" />
620     <file name="frontcontroller17.phar.phpt" role="test" />
621     <file name="frontcontroller18.phar.phpt" role="test" />
622     <file name="frontcontroller19.phar.phpt" role="test" />
623     <file name="frontcontroller20.phar.phpt" role="test" />
624     <file name="frontcontroller21.phar.phpt" role="test" />
625     <file name="getalias.phpt" role="test" />
626     <file name="largezip.phpt" role="test" />
627     <file name="metadata_write_commit.phpt" role="test" />
628     <file name="metadata_write_commitU.phpt" role="test" />
629     <file name="notphar.phpt" role="test" />
630     <file name="odt.phpt" role="test" />
631     <file name="open_for_write_existing.phpt" role="test" />
632     <file name="open_for_write_existing_b.phpt" role="test" />
633     <file name="open_for_write_existing_b_5_2.phpt" role="test" />
634     <file name="open_for_write_existing_c.phpt" role="test" />
635     <file name="open_for_write_existing_c_5_2.phpt" role="test" />
636     <file name="open_for_write_newfile.phpt" role="test" />
637     <file name="open_for_write_newfile_b.phpt" role="test" />
638     <file name="open_for_write_newfile_b_5_2.phpt" role="test" />
639     <file name="open_for_write_newfile_c.phpt" role="test" />
640     <file name="open_for_write_newfile_c_5_2.phpt" role="test" />
641     <file name="phar_begin_setstub_commit.phpt" role="test" />
642     <file name="phar_begin_setstub_commitU.phpt" role="test" />
643     <file name="phar_buildfromiterator4.phpt" role="test" />
644     <file name="phar_buildfromiterator5.phpt" role="test" />
645     <file name="phar_buildfromiterator6.phpt" role="test" />
646     <file name="phar_buildfromiterator7.phpt" role="test" />
647     <file name="phar_buildfromiterator8.phpt" role="test" />
648     <file name="phar_buildfromiterator9.phpt" role="test" />
649     <file name="phar_commitwrite.phpt" role="test" />
650     <file name="phar_convert_phar.phpt" role="test" />
651     <file name="phar_copy.phpt" role="test" />
652     <file name="phar_magic.phpt" role="test" />
653     <file name="phar_magicU.phpt" role="test" />
654     <file name="phar_oo_compressallbz2.phpt" role="test" />
655     <file name="phar_oo_compressallgz.phpt" role="test" />
656     <file name="phar_setalias.phpt" role="test" />
657     <file name="phar_setalias2.phpt" role="test" />
658     <file name="phar_setdefaultstub.phpt" role="test" />
659     <file name="phar_setsignaturealgo2.phpt" role="test" />
660     <file name="phar_stub.phpt" role="test" />
661     <file name="phar_stub_error.phpt" role="test" />
662     <file name="refcount1.phpt" role="test" />
663     <file name="refcount1_5_2.phpt" role="test" />
664     <file name="rename.phpt" role="test" />
665     <file name="rename_dir.phpt" role="test" />
666     <file name="rmdir.phpt" role="test" />
667     <file name="unixzip.phpt" role="test" />
668     <file name="zlib.phpt" role="test" />
669    </dir> <!-- /tests/zip -->
670    <file name="001.phpt" role="test" />
671    <file name="002.phpt" role="test" />
672    <file name="003.phpt" role="test" />
673    <file name="003a.phpt" role="test" />
674    <file name="004.phpt" role="test" />
675    <file name="005.phpt" role="test" />
676    <file name="006.phpt" role="test" />
677    <file name="007.phpt" role="test" />
678    <file name="008.phpt" role="test" />
679    <file name="009.phpt" role="test" />
680    <file name="010.phpt" role="test" />
681    <file name="011.phpt" role="test" />
682    <file name="012.phpt" role="test" />
683    <file name="013.phpt" role="test" />
684    <file name="014.phpt" role="test" />
685    <file name="015.phpt" role="test" />
686    <file name="015b.phpt" role="test" />
687    <file name="016.phpt" role="test" />
688    <file name="016b.phpt" role="test" />
689    <file name="017.phpt" role="test" />
690    <file name="017U.phpt" role="test" />
691    <file name="018.phpt" role="test" />
692    <file name="018U.phpt" role="test" />
693    <file name="019.phpt" role="test" />
694    <file name="019b.phpt" role="test" />
695    <file name="019bU.phpt" role="test" />
696    <file name="019c.phpt" role="test" />
697    <file name="019cU.phpt" role="test" />
698    <file name="020.phpt" role="test" />
699    <file name="021.phpt" role="test" />
700    <file name="022.phpt" role="test" />
701    <file name="023.phpt" role="test" />
702    <file name="024.phpt" role="test" />
703    <file name="025.phpt" role="test" />
704    <file name="026.phpt" role="test" />
705    <file name="027.phpt" role="test" />
706    <file name="027U.phpt" role="test" />
707    <file name="028.phpt" role="test" />
708    <file name="029.phpt" role="test" />
709    <file name="030.phpt" role="test" />
710    <file name="031.phpt" role="test" />
711    <file name="032.phpt" role="test" />
712    <file name="033.phpt" role="test" />
713    <file name="033a.phpt" role="test" />
714    <file name="addfuncs.phpt" role="test" />
715    <file name="alias_acrobatics.phpt" role="test" />
716    <file name="badparameters.phpt" role="test" />
717    <file name="bug13727.phpt" role="test" />
718    <file name="bug13786.phpt" role="test" />
719    <file name="bug45218_SLOWTEST.phpt" role="test" />
720    <file name="bug45218_SLOWTESTU.phpt" role="test" />
721    <file name="bug46032.phpt" role="test" />
722    <file name="bug46060.phpt" role="test" />
723    <file name="bug46178.phpt" role="test" />
724    <file name="bug47085.phpt" role="test" />
725    <file name="bug48377.2.phpt" role="test" />
726    <file name="bug48377.phpt" role="test" />
727    <file name="cached_manifest_1.phpt" role="test" />
728    <file name="cached_manifest_1U.phpt" role="test" />
729    <file name="create_new_and_modify.phpt" role="test" />
730    <file name="create_new_phar.phpt" role="test" />
731    <file name="create_new_phar_b.phpt" role="test" />
732    <file name="create_new_phar_c.phpt" role="test" />
733    <file name="create_path_error.phpt" role="test" />
734    <file name="delete.phpt" role="test" />
735    <file name="delete_in_phar.phpt" role="test" />
736    <file name="delete_in_phar_b.phpt" role="test" />
737    <file name="delete_in_phar_confirm.phpt" role="test" />
738    <file name="dir.phpt" role="test" />
739    <file name="fgc_edgecases.phpt" role="test" />
740    <file name="file_get_contents.phpt" role="test" />
741    <file name="fopen.phpt" role="test" />
742    <file name="fopen5.2.phpt" role="test" />
743    <file name="fopen_edgecases.phpt" role="test" />
744    <file name="fopen_edgecases2.phpt" role="test" />
745    <file name="fopen_edgecases2U.phpt" role="test" />
746    <file name="front.phar.phpt" role="test" />
747    <file name="frontcontroller1.phpt" role="test" />
748    <file name="frontcontroller2.phpt" role="test" />
749    <file name="frontcontroller3.phpt" role="test" />
750    <file name="frontcontroller4.phpt" role="test" />
751    <file name="frontcontroller5.phpt" role="test" />
752    <file name="frontcontroller6.phpt" role="test" />
753    <file name="frontcontroller7.phpt" role="test" />
754    <file name="frontcontroller8.phpt" role="test" />
755    <file name="frontcontroller9.phpt" role="test" />
756    <file name="frontcontroller10.phpt" role="test" />
757    <file name="frontcontroller11.phpt" role="test" />
758    <file name="frontcontroller12.phpt" role="test" />
759    <file name="frontcontroller13.phpt" role="test" />
760    <file name="frontcontroller14.phpt" role="test" />
761    <file name="frontcontroller15.phpt" role="test" />
762    <file name="frontcontroller16.phpt" role="test" />
763    <file name="frontcontroller17.phpt" role="test" />
764    <file name="frontcontroller18.phpt" role="test" />
765    <file name="frontcontroller19.phpt" role="test" />
766    <file name="frontcontroller20.phpt" role="test" />
767    <file name="frontcontroller21.phpt" role="test" />
768    <file name="frontcontroller22.phpt" role="test" />
769    <file name="frontcontroller23.phpt" role="test" />
770    <file name="frontcontroller24.phpt" role="test" />
771    <file name="frontcontroller25.phpt" role="test" />
772    <file name="frontcontroller26.phpt" role="test" />
773    <file name="frontcontroller27.phpt" role="test" />
774    <file name="frontcontroller28.phpt" role="test" />
775    <file name="frontcontroller29.phpt" role="test" />
776    <file name="frontcontroller30.phpt" role="test" />
777    <file name="frontcontroller31.phpt" role="test" />
778    <file name="frontcontroller32.phpt" role="test" />
779    <file name="frontcontroller33.phpt" role="test" />
780    <file name="frontcontroller34.phpt" role="test" />
781    <file name="include_path.phpt" role="test" />
782    <file name="include_path_advanced.phpt" role="test" />
783    <file name="ini_set.phpt" role="test" />
784    <file name="ini_set_off.phpt" role="test" />
785    <file name="ini_set_offU.phpt" role="test" />
786    <file name="invalid_alias.phpt" role="test" />
787    <file name="invalid_setstubalias.phpt" role="test" />
788    <file name="metadata_read.phpt" role="test" />
789    <file name="metadata_readU.phpt" role="test" />
790    <file name="metadata_write.phpt" role="test" />
791    <file name="metadata_writeU.phpt" role="test" />
792    <file name="metadata_write_commit.phpt" role="test" />
793    <file name="metadata_write_commitU.phpt" role="test" />
794    <file name="mkdir.phpt" role="test" />
795    <file name="mounteddir.phpt" role="test" />
796    <file name="mounteddirU.phpt" role="test" />
797    <file name="nophar.phpt" role="test" />
798    <file name="nophar_web.phpt" role="test" />
799    <file name="opendir.phpt" role="test" />
800    <file name="opendir_edgecases.phpt" role="test" />
801    <file name="open_for_write_existing.phpt" role="test" />
802    <file name="open_for_write_existing_b.phpt" role="test" />
803    <file name="open_for_write_existing_b_5_2.phpt" role="test" />
804    <file name="open_for_write_existing_c.phpt" role="test" />
805    <file name="open_for_write_existing_c_5_2.phpt" role="test" />
806    <file name="open_for_write_newfile.phpt" role="test" />
807    <file name="open_for_write_newfile_b.phpt" role="test" />
808    <file name="open_for_write_newfile_b_5_2.phpt" role="test" />
809    <file name="open_for_write_newfile_c.phpt" role="test" />
810    <file name="open_for_write_newfile_c_5_2.phpt" role="test" />
811    <file name="pharfileinfo_chmod.phpt" role="test" />
812    <file name="pharfileinfo_compression.phpt" role="test" />
813    <file name="pharfileinfo_construct.phpt" role="test" />
814    <file name="pharfileinfo_destruct.phpt" role="test" />
815    <file name="pharfileinfo_getcrc32.phpt" role="test" />
816    <file name="pharfileinfo_setmetadata.phpt" role="test" />
817    <file name="phar_begin_setstub_commit.phpt" role="test" />
818    <file name="phar_begin_setstub_commitU.phpt" role="test" />
819    <file name="phar_buildfromdirectory1.phpt" role="test" />
820    <file name="phar_buildfromdirectory2.phpt" role="test" />
821    <file name="phar_buildfromdirectory3.phpt" role="test" />
822    <file name="phar_buildfromdirectory4.phpt" role="test" />
823    <file name="phar_buildfromdirectory5.phpt" role="test" />
824    <file name="phar_buildfromdirectory6.phpt" role="test" />
825    <file name="phar_buildfromiterator1.phpt" role="test" />
826    <file name="phar_buildfromiterator2.phpt" role="test" />
827    <file name="phar_buildfromiterator3.phpt" role="test" />
828    <file name="phar_buildfromiterator4.phpt" role="test" />
829    <file name="phar_buildfromiterator5.phpt" role="test" />
830    <file name="phar_buildfromiterator6.phpt" role="test" />
831    <file name="phar_buildfromiterator7.phpt" role="test" />
832    <file name="phar_buildfromiterator8.phpt" role="test" />
833    <file name="phar_buildfromiterator9.phpt" role="test" />
834    <file name="phar_buildfromiterator10.phpt" role="test" />
835    <file name="phar_bz2.phpt" role="test" />
836    <file name="phar_commitwrite.phpt" role="test" />
837    <file name="phar_construct_invalidurl.phpt" role="test" />
838    <file name="phar_convert_again.phpt" role="test" />
839    <file name="phar_convert_repeated.phpt" role="test" />
840    <file name="phar_convert_repeated_b.phpt" role="test" />
841    <file name="phar_convert_tar.phpt" role="test" />
842    <file name="phar_convert_tar2.phpt" role="test" />
843    <file name="phar_convert_tar3.phpt" role="test" />
844    <file name="phar_convert_zip.phpt" role="test" />
845    <file name="phar_copy.phpt" role="test" />
846    <file name="phar_createdefaultstub.phpt" role="test" />
847    <file name="phar_create_in_cwd.phpt" role="test" />
848    <file name="phar_ctx_001.phpt" role="test" />
849    <file name="phar_decompress.phpt" role="test" />
850    <file name="phar_dir_iterate.phpt" role="test" />
851    <file name="phar_dotted_path.phpt" role="test" />
852    <file name="phar_extract.phpt" role="test" />
853    <file name="phar_extract2.phpt" role="test" />
854    <file name="phar_extract3.phpt" role="test" />
855    <file name="phar_get_supportedcomp1.phpt" role="test" />
856    <file name="phar_get_supportedcomp2.phpt" role="test" />
857    <file name="phar_get_supportedcomp3.phpt" role="test" />
858    <file name="phar_get_supportedcomp4.phpt" role="test" />
859    <file name="phar_get_supported_signatures_001.phpt" role="test" />
860    <file name="phar_get_supported_signatures_001a.phpt" role="test" />
861    <file name="phar_get_supported_signatures_002.phpt" role="test" />
862    <file name="phar_get_supported_signatures_002a.phpt" role="test" />
863    <file name="phar_gobyebye.phpt" role="test" />
864    <file name="phar_gzip.phpt" role="test" />
865    <file name="phar_gzipU.phpt" role="test" />
866    <file name="phar_isvalidpharfilename.phpt" role="test" />
867    <file name="phar_magic.phpt" role="test" />
868    <file name="phar_metadata_read.phpt" role="test" />
869    <file name="phar_metadata_readU.phpt" role="test" />
870    <file name="phar_metadata_write.phpt" role="test" />
871    <file name="phar_metadata_writeU.phpt" role="test" />
872    <file name="phar_mount.phpt" role="test" />
873    <file name="phar_offset_check.phpt" role="test" />
874    <file name="phar_offset_get_error.phpt" role="test" />
875    <file name="phar_oo_001.phpt" role="test" />
876    <file name="phar_oo_001U.phpt" role="test" />
877    <file name="phar_oo_002.phpt" role="test" />
878    <file name="phar_oo_002U.phpt" role="test" />
879    <file name="phar_oo_003.phpt" role="test" />
880    <file name="phar_oo_004.phpt" role="test" />
881    <file name="phar_oo_004U.phpt" role="test" />
882    <file name="phar_oo_005.phpt" role="test" />
883    <file name="phar_oo_005U.phpt" role="test" />
884    <file name="phar_oo_005_5.2.phpt" role="test" />
885    <file name="phar_oo_006.phpt" role="test" />
886    <file name="phar_oo_007.phpt" role="test" />
887    <file name="phar_oo_008.phpt" role="test" />
888    <file name="phar_oo_009.phpt" role="test" />
889    <file name="phar_oo_010.phpt" role="test" />
890    <file name="phar_oo_011.phpt" role="test" />
891    <file name="phar_oo_011b.phpt" role="test" />
892    <file name="phar_oo_012.phpt" role="test" />
893    <file name="phar_oo_012b.phpt" role="test" />
894    <file name="phar_oo_012_confirm.phpt" role="test" />
895    <file name="phar_oo_compressallbz2.phpt" role="test" />
896    <file name="phar_oo_compressallgz.phpt" role="test" />
897    <file name="phar_oo_compressed_001.phpt" role="test" />
898    <file name="phar_oo_compressed_001b.phpt" role="test" />
899    <file name="phar_oo_compressed_002.phpt" role="test" />
900    <file name="phar_oo_compressed_002b.phpt" role="test" />
901    <file name="phar_oo_getcontents.phpt" role="test" />
902    <file name="phar_oo_getcontentsgz.phpt" role="test" />
903    <file name="phar_oo_getmodified.phpt" role="test" />
904    <file name="phar_oo_iswriteable.phpt" role="test" />
905    <file name="phar_oo_nosig.phpt" role="test" />
906    <file name="phar_oo_uncompressall.phpt" role="test" />
907    <file name="phar_running.phpt" role="test" />
908    <file name="phar_setalias.phpt" role="test" />
909    <file name="phar_setalias2.phpt" role="test" />
910    <file name="phar_setdefaultstub.phpt" role="test" />
911    <file name="phar_setsignaturealgo1.phpt" role="test" />
912    <file name="phar_setsignaturealgo2.phpt" role="test" />
913    <file name="phar_stub.phpt" role="test" />
914    <file name="phar_stub_error.phpt" role="test" />
915    <file name="phar_stub_write.phpt" role="test" />
916    <file name="phar_stub_write_file.phpt" role="test" />
917    <file name="phar_unlinkarchive.phpt" role="test" />
918    <file name="phpinfo_001.phpt" role="test" />
919    <file name="phpinfo_002.phpt" role="test" />
920    <file name="phpinfo_003.phpt" role="test" />
921    <file name="phpinfo_004.phpt" role="test" />
922    <file name="readfile.phpt" role="test" />
923    <file name="readfile_edgecases.phpt" role="test" />
924    <file name="readfile_edgecasesU.phpt" role="test" />
925    <file name="refcount1.phpt" role="test" />
926    <file name="refcount1_5_2.phpt" role="test" />
927    <file name="rename.phpt" role="test" />
928    <file name="rename_dir.phpt" role="test" />
929    <file name="rename_dir_and_mount.phpt" role="test" />
930    <file name="rmdir.phpt" role="test" />
931    <file name="security.phpt" role="test" />
932    <file name="stat.phpt" role="test" />
933    <file name="stat2.phpt" role="test" />
934    <file name="stat2_5.3.phpt" role="test" />
935    <file name="test_alias_unset.phpt" role="test" />
936    <file name="test_signaturealgos.phpt" role="test" />
937    <file name="test_unset.phpt" role="test" />
938    <file name="webphar_compilefail.phpt" role="test" />
939    <file name="withphar.phpt" role="test" />
940    <file name="withphar_web.phpt" role="test" />
941    <file name="zf_test.phpt" role="test" />
942   </dir> <!-- /tests -->
943   <file name="build_precommand.php" role="php" />
944   <file name="config.m4" role="src" />
945   <file name="config.w32" role="src" />
946   <file name="CREDITS" role="doc" />
947   <file name="dirstream.c" role="src" />
948   <file name="dirstream.h" role="src" />
949   <file name="func_interceptors.c" role="src" />
950   <file name="func_interceptors.h" role="src" />
951   <file name="gdbhelp" role="data" />
952   <file name="LICENSE" role="doc" />
953   <file name="Makefile.frag" role="src" />
954   <file name="makestub.php" role="php" />
955   <file name="phar.c" role="src" />
956   <file name="pharzip.h" role="src" />
957   <file name="phar_internal.h" role="src" />
958   <file name="phar_object.c" role="src" />
959   <file name="phar_path_check.c" role="src" />
960   <file name="phar_path_check.re" role="src" />
961   <file name="php_phar.h" role="src" />
962   <file name="shortarc.php" role="php" />
963   <file name="stream.c" role="src" />
964   <file name="stream.h" role="src" />
965   <file name="stub.h" role="src" />
966   <file name="tar.c" role="src" />
967   <file name="tar.h" role="src" />
968   <file name="TODO" role="doc" />
969   <file name="util.c" role="src" />
970   <file name="zip.c" role="src" />
971  </dir> <!-- / -->
972 </contents>
973 <dependencies>
974  <required>
975   <php>
976    <min>5.2.1</min>
977   </php>
978   <pearinstaller>
979    <min>1.4.3</min>
980   </pearinstaller>
981  </required>
982  <optional>
983   <package>
984    <name>bz2</name>
985    <channel>pecl.php.net</channel>
986    <providesextension>bz2</providesextension>
987   </package>
988   <package>
989    <name>hash</name>
990    <channel>pecl.php.net</channel>
991    <providesextension>hash</providesextension>
992   </package>
993   <extension>
994    <name>spl</name>
995   </extension>
996   <extension>
997    <name>zlib</name>
998   </extension>
999  </optional>
1000 </dependencies>
1001 <providesextension>phar</providesextension>
1002 <extsrcrelease />
1003 <changelog>
1004  <release>
1005   <version>
1006    <release>2.0.0</release>
1007    <api>1.1.1</api>
1008   </version>
1009   <stability>
1010    <release>beta</release>
1011    <api>beta</api>
1012   </stability>
1013   <date>2009-07-26</date>
1014   <license uri="http://www.php.net/license">PHP License</license>
1015   <notes>
1016BC BREAKING RELEASE
1017 BC breaks:
1018 * Phar object Compression API is rewritten.  Use Phar::compress() and decompress(),
1019   Phar::compressFiles()/decompressFiles() and PharFileInfo-&gt;compress()/decompress().
1020 * phar.extract_list and Phar::getExtractList() are removed
1021
1022Major feature functionality release
1023 * phar.cache_list allows web-based phar applications to run at equal or faster than
1024   their on-disk equivalent [Greg]
1025 * new default stub allows running of phar-based phars without phar extension [Greg/Steph]
1026 * add support for tar-based and zip-based phar archives [Greg]
1027 * add support for OpenSSL-based true signatures [Greg]
1028 * add support for signatures to tar-based phar archives [Greg]
1029 * add Phar::isFileFormat() [Greg]
1030 * add Phar::convertToExecutable(), Phar::convertToData() [Greg]
1031 * add Phar::compress() [Greg]
1032 * rename Phar::compressAllFiles() to compressFiles(), uncompressAllFiles() to
1033   decompressFiles() [Greg]
1034 * conversion to compressed or to other file formats automatically copies the archive
1035   to a new extension (i.e. &quot;.phar&quot; to &quot;.phar.tar&quot; or &quot;.tar&quot; to &quot;.tar.gz&quot;) [Steph]
1036 * add Phar::webPhar() for running a web-based application unmodified
1037   directly from a phar archive [Greg]
1038 * file functions (fopen-based and stat-based) can be instructed to only look for
1039   relative paths within a phar via Phar::interceptFileFuncs()
1040 * add PharData class to allow manipulation/creation of non-executable tar and zip archives. [Steph]
1041   non-executable tar/zip manipulation is allowed even when phar.readonly=1 [Greg]
1042 * paths with . and .. work (phar://blah.phar/a/../b.php =&gt; phar://blah.phar/b.php) [Greg]
1043 * add support for mkdir()/rmdir() and support for empty directories to phar file format [Greg]
1044 * add option to compress the entire phar file for phar/tar file format [Greg]
1045 * implement Phar::isCompressed() returning 0, Phar::GZ or Phar::BZ2 [Greg]
1046 * implement Phar::copy(string $from, string $to) [Greg]
1047 * implement Phar::running(), returns path or URL to currently executed phar
1048 * implement Phar::buildFromIterator(Iterator $it[, string $base_directory]) [Greg]
1049 * implement Phar::buildFromDirectory(string $base_directory[, string $regex]) [Steph]
1050 * implement Phar::mount() for mounting external paths or files to locations inside a phar [Greg]
1051 * add Phar::delete() [Greg]
1052 * implement Phar::unlinkArchive() [Greg]
1053
1054Security addition
1055 * aliases are validated so that they contain no directory separators as intended
1056 * on conversion to other formats, user-supplied aliases are validated
1057
1058Changes since 2.0.0RC2:
1059 fixed PHP Bug #49021: phar tar signature algorithm reports as Unknown (0) in
1060 getSignature() call
1061 fixed PHP Bug #49020: phar misinterprets ustar long filename standard
1062 fixed PHP Bug #49018: phar tar stores long filenames with prefix/name reversed
1063 fixed PHP Bug #48791: open office files always reported as corrupted
1064 fixed PHP Bug #48783: make install will fail saying phar file exists
1065 fixed PHP Bug #48740: PHAR install fails when INSTALL_ROOT is not the final install location
1066 fixed PHP Bug #48681: openssl signature verification for tar archives broken
1067 fixed PHP Bug #48377: error message unclear on converting phar with existing file
1068 fixed isset() on sub-directories (isset(&quot;blah&quot;) if file &quot;blah/foo.php&quot; exists)
1069
1070 make phar work in PHP 6
1071Changes since 2.0.0RC1:
1072 security vulnerability in handling of long tar filenames fixed
1073 fixed PECL Bug #14646: phar error message unclear with php stream wrappers
1074 fixed PECL Bug #16338: php_stream_copy_to_stream{,_ex}()
1075 fixed PHP Bug #48257: PharData throws an exception with non-phar tar
1076 fixed PHP Bug #47085: rename() returns true even if the file in PHAR does not exist
1077 fixed PHP Bug #46032: PharData::__construct() - wrong memory read
1078 fixed PHP Bug #46060: Phar::addEmptyDir() breaks
1079 fixed PHP Bug #45907: undefined reference to &apos;PHP_SHA512Init&apos;
1080 fixed PHP Bug #45726: PHP_Archive / Archive.php missing
1081Changes since 2.0.0a2: many bugfixes, removal of phar.extract_list, compression API refactored,
1082 conversion API refactored
1083Changes since 2.0.0b1: addition of phar.cache_list, many performance improvements and bugfixes
1084 implement OpenSSL asynchronous true package signing
1085 add support for package signing to tar-based archives
1086 require PHP 5.2.1+
1087   </notes>
1088  </release>
1089  <release>
1090   <version>
1091    <release>2.0.0RC2</release>
1092    <api>1.1.1</api>
1093   </version>
1094   <stability>
1095    <release>beta</release>
1096    <api>beta</api>
1097   </stability>
1098   <date>2009-06-04</date>
1099   <license uri="http://www.php.net/license">PHP License</license>
1100   <notes>
1101BC BREAKING RELEASE
1102 BC breaks:
1103 * Phar object Compression API is rewritten.  Use Phar::compress() and decompress(),
1104   Phar::compressFiles()/decompressFiles() and PharFileInfo-&gt;compress()/decompress().
1105 * phar.extract_list and Phar::getExtractList() are removed
1106
1107Major feature functionality release
1108 * phar.cache_list allows web-based phar applications to run at equal or faster than
1109   their on-disk equivalent [Greg]
1110 * new default stub allows running of phar-based phars without phar extension [Greg/Steph]
1111 * add support for tar-based and zip-based phar archives [Greg]
1112 * add support for OpenSSL-based true signatures [Greg]
1113 * add support for signatures to tar-based phar archives [Greg]
1114 * add Phar::isFileFormat() [Greg]
1115 * add Phar::convertToExecutable(), Phar::convertToData() [Greg]
1116 * add Phar::compress() [Greg]
1117 * rename Phar::compressAllFiles() to compressFiles(), uncompressAllFiles() to
1118   decompressFiles() [Greg]
1119 * conversion to compressed or to other file formats automatically copies the archive
1120   to a new extension (i.e. &quot;.phar&quot; to &quot;.phar.tar&quot; or &quot;.tar&quot; to &quot;.tar.gz&quot;) [Steph]
1121 * add Phar::webPhar() for running a web-based application unmodified
1122   directly from a phar archive [Greg]
1123 * file functions (fopen-based and stat-based) can be instructed to only look for
1124   relative paths within a phar via Phar::interceptFileFuncs()
1125 * add PharData class to allow manipulation/creation of non-executable tar and zip archives. [Steph]
1126   non-executable tar/zip manipulation is allowed even when phar.readonly=1 [Greg]
1127 * paths with . and .. work (phar://blah.phar/a/../b.php =&gt; phar://blah.phar/b.php) [Greg]
1128 * add support for mkdir()/rmdir() and support for empty directories to phar file format [Greg]
1129 * add option to compress the entire phar file for phar/tar file format [Greg]
1130 * implement Phar::isCompressed() returning 0, Phar::GZ or Phar::BZ2 [Greg]
1131 * implement Phar::copy(string $from, string $to) [Greg]
1132 * implement Phar::running(), returns path or URL to currently executed phar
1133 * implement Phar::buildFromIterator(Iterator $it[, string $base_directory]) [Greg]
1134 * implement Phar::buildFromDirectory(string $base_directory[, string $regex]) [Steph]
1135 * implement Phar::mount() for mounting external paths or files to locations inside a phar [Greg]
1136 * add Phar::delete() [Greg]
1137 * implement Phar::unlinkArchive() [Greg]
1138
1139Security addition
1140 * aliases are validated so that they contain no directory separators as intended
1141 * on conversion to other formats, user-supplied aliases are validated
1142
1143Changes since 2.0.0RC1:
1144 security vulnerability in handling of long tar filenames fixed
1145 fixed PECL Bug #14646: phar error message unclear with php stream wrappers
1146 fixed PECL Bug #16338: php_stream_copy_to_stream{,_ex}()
1147 fixed PHP Bug #48257: PharData throws an exception with non-phar tar
1148 fixed PHP Bug #47085: rename() returns true even if the file in PHAR does not exist
1149 fixed PHP Bug #46032: PharData::__construct() - wrong memory read
1150 fixed PHP Bug #46060: Phar::addEmptyDir() breaks
1151 fixed PHP Bug #45907: undefined reference to &apos;PHP_SHA512Init&apos;
1152 fixed PHP Bug #45726: PHP_Archive / Archive.php missing
1153Changes since 2.0.0a2: many bugfixes, removal of phar.extract_list, compression API refactored,
1154 conversion API refactored
1155Changes since 2.0.0b1: addition of phar.cache_list, many performance improvements and bugfixes
1156 implement OpenSSL asynchronous true package signing
1157 add support for package signing to tar-based archives
1158 require PHP 5.2.1+
1159   </notes>
1160  </release>
1161  <release>
1162   <version>
1163    <release>2.0.0RC1</release>
1164    <api>1.1.1</api>
1165   </version>
1166   <stability>
1167    <release>beta</release>
1168    <api>beta</api>
1169   </stability>
1170   <date>2008-08-31</date>
1171   <license uri="http://www.php.net/license">PHP License</license>
1172   <notes>
1173BC BREAKING RELEASE
1174 BC breaks:
1175 * Phar object Compression API is rewritten.  Use Phar::compress() and decompress(),
1176   Phar::compressFiles()/decompressFiles() and PharFileInfo-&gt;compress()/decompress().
1177 * phar.extract_list and Phar::getExtractList() are removed
1178
1179Major feature functionality release
1180 * phar.cache_list allows web-based phar applications to run at equal or faster than
1181   their on-disk equivalent [Greg]
1182 * new default stub allows running of phar-based phars without phar extension [Greg/Steph]
1183 * add support for tar-based and zip-based phar archives [Greg]
1184 * add support for OpenSSL-based true signatures [Greg]
1185 * add support for signatures to tar-based phar archives [Greg]
1186 * add Phar::isFileFormat() [Greg]
1187 * add Phar::convertToExecutable(), Phar::convertToData() [Greg]
1188 * add Phar::compress() [Greg]
1189 * rename Phar::compressAllFiles() to compressFiles(), uncompressAllFiles() to
1190   decompressFiles() [Greg]
1191 * conversion to compressed or to other file formats automatically copies the archive
1192   to a new extension (i.e. &quot;.phar&quot; to &quot;.phar.tar&quot; or &quot;.tar&quot; to &quot;.tar.gz&quot;) [Steph]
1193 * add Phar::webPhar() for running a web-based application unmodified
1194   directly from a phar archive [Greg]
1195 * file functions (fopen-based and stat-based) can be instructed to only look for
1196   relative paths within a phar via Phar::interceptFileFuncs()
1197 * add PharData class to allow manipulation/creation of non-executable tar and zip archives. [Steph]
1198   non-executable tar/zip manipulation is allowed even when phar.readonly=1 [Greg]
1199 * paths with . and .. work (phar://blah.phar/a/../b.php =&gt; phar://blah.phar/b.php) [Greg]
1200 * add support for mkdir()/rmdir() and support for empty directories to phar file format [Greg]
1201 * add option to compress the entire phar file for phar/tar file format [Greg]
1202 * implement Phar::isCompressed() returning 0, Phar::GZ or Phar::BZ2 [Greg]
1203 * implement Phar::copy(string $from, string $to) [Greg]
1204 * implement Phar::running(), returns path or URL to currently executed phar
1205 * implement Phar::buildFromIterator(Iterator $it[, string $base_directory]) [Greg]
1206 * implement Phar::buildFromDirectory(string $base_directory[, string $regex]) [Steph]
1207 * implement Phar::mount() for mounting external paths or files to locations inside a phar [Greg]
1208 * add Phar::delete() [Greg]
1209 * implement Phar::unlinkArchive() [Greg]
1210
1211Security addition
1212 * aliases are validated so that they contain no directory separators as intended
1213 * on conversion to other formats, user-supplied aliases are validated
1214
1215Changes since 2.0.0a2: many bugfixes, removal of phar.extract_list, compression API refactored,
1216 conversion API refactored
1217Changes since 2.0.0b1: addition of phar.cache_list, many performance improvements and bugfixes
1218 implement OpenSSL asynchronous true package signing
1219 add support for package signing to tar-based archives
1220 require PHP 5.2.1+
1221   </notes>
1222  </release>
1223  <release>
1224   <version>
1225    <release>2.0.0b1</release>
1226    <api>1.1.1</api>
1227   </version>
1228   <stability>
1229    <release>beta</release>
1230    <api>beta</api>
1231   </stability>
1232   <date>2008-05-12</date>
1233   <license uri="http://www.php.net/license">PHP License</license>
1234   <notes>
1235BC BREAKING RELEASE
1236 BC breaks:
1237 * Phar object Compression API is rewritten.  Use Phar::compress() and decompress(),
1238   Phar::compressFiles()/decompressFiles() and PharFileInfo-&gt;compress()/decompress().
1239 * phar.extract_list and Phar::getExtractList() are removed
1240
1241Major feature functionality release
1242 * new default stub allows running of phar-based phars without phar extension [Greg/Steph]
1243 * add support for tar-based and zip-based phar archives [Greg]
1244 * add Phar::isFileFormat() [Greg]
1245 * add Phar::convertToExecutable(), Phar::convertToData() [Greg]
1246 * add Phar::compress() [Greg]
1247 * rename Phar::compressAllFiles() to compressFiles(), uncompressAllFiles() to
1248   decompressFiles() [Greg]
1249 * conversion to compressed or to other file formats automatically copies the archive
1250   to a new extension (i.e. &quot;.phar&quot; to &quot;.phar.tar&quot; or &quot;.tar&quot; to &quot;.tar.gz&quot;) [Steph]
1251 * add Phar::webPhar() for running a web-based application unmodified
1252   directly from a phar archive [Greg]
1253 * file functions (fopen-based and stat-based) can be instructed to only look for
1254   relative paths within a phar via Phar::interceptFileFuncs()
1255 * add PharData class to allow manipulation/creation of non-executable tar and zip archives. [Steph]
1256   non-executable tar/zip manipulation is allowed even when phar.readonly=1 [Greg]
1257 * paths with . and .. work (phar://blah.phar/a/../b.php =&gt; phar://blah.phar/b.php) [Greg]
1258 * add support for mkdir()/rmdir() and support for empty directories to phar file format [Greg]
1259 * add option to compress the entire phar file for phar/tar file format [Greg]
1260 * implement Phar::isCompressed() returning 0, Phar::GZ or Phar::BZ2 [Greg]
1261 * implement Phar::copy(string $from, string $to) [Greg]
1262 * implement Phar::running(), returns path or URL to currently executed phar
1263 * implement Phar::buildFromIterator(Iterator $it[, string $base_directory]) [Greg]
1264 * implement Phar::buildFromDirectory(string $base_directory[, string $regex]) [Steph]
1265 * implement Phar::mount() for mounting external paths or files to locations inside a phar [Greg]
1266 * add Phar::delete() [Greg]
1267 * implement Phar::unlinkArchive() [Greg]
1268
1269Security addition
1270 * aliases are validated so that they contain no directory separators as intended
1271 * on conversion to other formats, user-supplied aliases are validated
1272
1273Changes since 2.0.0a2: many bugfixes, removal of phar.extract_list, compression API refactored,
1274 conversion API refactored
1275   </notes>
1276  </release>
1277  <release>
1278   <version>
1279    <release>2.0.0a2</release>
1280    <api>1.1.1</api>
1281   </version>
1282   <stability>
1283    <release>alpha</release>
1284    <api>alpha</api>
1285   </stability>
1286   <date>2008-03-27</date>
1287   <license uri="http://www.php.net/license">PHP License</license>
1288   <notes>
1289Major feature functionality release
1290 * new default stub allows running of phar-based phars without phar extension [Greg/Steph]
1291 * add support for tar-based and zip-based phar archives [Greg]
1292 * add Phar::isTar(), Phar::isZip(), and Phar::isPhar() [Greg]
1293 * add Phar::convertToTar(), Phar::convertToZip(), and Phar::convertToPhar() [Greg]
1294 * add Phar::compress() [Greg]
1295 * conversion to compressed or to other file formats automatically copies the archive
1296   to a new extension (i.e. &quot;.phar&quot; to &quot;.phar.tar&quot; or &quot;.tar&quot; to &quot;.tar.gz&quot;) [Steph]
1297 * add Phar::webPhar() for running a web-based application unmodified
1298   directly from a phar archive [Greg]
1299 * file functions (fopen-based and stat-based) can be instructed to only look for
1300   relative paths within a phar via Phar::interceptFileFuncs()
1301 * add PharData class to allow manipulation/creation of non-executable tar and zip archives. [Steph]
1302   non-executable tar/zip manipulation is allowed even when phar.readonly=1 [Greg]
1303 * paths with . and .. work (phar://blah.phar/a/../b.php =&gt; phar://blah.phar/b.php) [Greg]
1304 * add support for mkdir()/rmdir() and support for empty directories to phar file format [Greg]
1305 * add option to compress the entire phar file for phar/tar file format [Greg]
1306 * implement Phar::isCompressed() returning 0, Phar::GZ or Phar::BZ2 [Greg]
1307 * implement Phar::copy(string $from, string $to) [Greg]
1308 * implement Phar::buildFromIterator(Iterator $it[, string $base_directory]) [Greg]
1309 * implement Phar::mount() for mounting external paths or files to locations inside a phar [Greg]
1310 * add Phar::delete() [Greg]
1311
1312Changes since 2.0.0a1: fix build in PHP 5.2
1313   </notes>
1314  </release>
1315  <release>
1316   <version>
1317    <release>2.0.0a1</release>
1318    <api>1.1.1</api>
1319   </version>
1320   <stability>
1321    <release>alpha</release>
1322    <api>alpha</api>
1323   </stability>
1324   <date>2008-03-26</date>
1325   <license uri="http://www.php.net/license">PHP License</license>
1326   <notes>
1327Major feature functionality release
1328 * new default stub allows running of phar-based phars without phar extension [Greg/Steph]
1329 * add support for tar-based and zip-based phar archives [Greg]
1330 * add Phar::isTar(), Phar::isZip(), and Phar::isPhar() [Greg]
1331 * add Phar::convertToTar(), Phar::convertToZip(), and Phar::convertToPhar() [Greg]
1332 * add Phar::compress() [Greg]
1333 * conversion to compressed or to other file formats automatically copies the archive
1334   to a new extension (i.e. &quot;.phar&quot; to &quot;.phar.tar&quot; or &quot;.tar&quot; to &quot;.tar.gz&quot;) [Steph]
1335 * add Phar::webPhar() for running a web-based application unmodified
1336   directly from a phar archive [Greg]
1337 * file functions (fopen-based and stat-based) can be instructed to only look for
1338   relative paths within a phar via Phar::interceptFileFuncs()
1339 * add PharData class to allow manipulation/creation of non-executable tar and zip archives. [Steph]
1340   non-executable tar/zip manipulation is allowed even when phar.readonly=1 [Greg]
1341 * paths with . and .. work (phar://blah.phar/a/../b.php =&gt; phar://blah.phar/b.php) [Greg]
1342 * add support for mkdir()/rmdir() and support for empty directories to phar file format [Greg]
1343 * add option to compress the entire phar file for phar/tar file format [Greg]
1344 * implement Phar::isCompressed() returning 0, Phar::GZ or Phar::BZ2 [Greg]
1345 * implement Phar::copy(string $from, string $to) [Greg]
1346 * implement Phar::buildFromIterator(Iterator $it[, string $base_directory]) [Greg]
1347 * implement Phar::mount() for mounting external paths or files to locations inside a phar [Greg]
1348 * add Phar::delete() [Greg]
1349   </notes>
1350  </release>
1351  <release>
1352   <version>
1353    <release>1.2.1</release>
1354    <api>1.1.0</api>
1355   </version>
1356   <stability>
1357    <release>stable</release>
1358    <api>stable</api>
1359   </stability>
1360   <date>2007-08-24</date>
1361   <license uri="http://www.php.net/license">PHP License</license>
1362   <notes>
1363* add Phar::setAlias() [Greg]
1364* fix too many open file handles issue [Greg]
1365* fix rename [Greg]
1366* add Phar::getAlias() [Marcus]
1367* Made -a optional in pack subcommand of phar.phar [Marcus]
1368* Fix issue with apache module and extracted archives [Marcus]
1369* Send all error messages to stderr in phar.phar [Marcus]
1370* Added new subcommands add and delete to phar.phar [Marcus]
1371* Made Phar::loadPhar() and Phar::mapPhar() ignore extracted archives [Marcus]
1372* Fix issue with compressed entries and uncompressing entries [Marcus]
1373* Verify stubs before writing [Marcus]
1374* Always use longest stub end to avoid issues with length field [Marcus]
1375   </notes>
1376  </release>
1377  <release>
1378   <version>
1379    <release>1.2.0</release>
1380    <api>1.1.0</api>
1381   </version>
1382   <stability>
1383    <release>stable</release>
1384    <api>stable</api>
1385   </stability>
1386   <date>2007-05-18</date>
1387   <license uri="http://www.php.net/license">PHP License</license>
1388   <notes>
1389* add PharFileInfo::hasMetadata(), PharFileInfo::delMetadata() [Marcus]
1390* add Phar::hasMetadata(), Phar::delMetadata() [Marcus]
1391* fix Phar::CanWrite() [Marcus]
1392* add preliminary phar command (phar.php) [Marcus]
1393* add phar command (phar.phar) [Marcus]
1394* list all available compression methods using Phar::getSupportedCompression() [Marcus]
1395* remove RINIT [Marcus]
1396   </notes>
1397  </release>
1398  <release>
1399   <version>
1400    <release>1.1.0</release>
1401    <api>1.1.0</api>
1402   </version>
1403   <stability>
1404    <release>stable</release>
1405    <api>stable</api>
1406   </stability>
1407   <date>2007-04-12</date>
1408   <license uri="http://www.php.net/license">PHP License</license>
1409   <notes>
1410* implement ability connect a phar file &apos;phar://whatever&apos; to a directory. That way all
1411  access to that phar archive are directed to the extracted directory. This
1412  allows to have the installed files and the archive keep the same includes.
1413  [Marcus]
1414* implement SHA-2 (256, 512) support [Marcus]
1415* implement setSignatureAlgorithm() and Phar::MD5 Phar::SHA1 Phar::SHA256 Phar::SHA512 Phar::PGP to
1416  choose the kind of signature to use (PGP falls back to SHA1) [Greg]
1417   </notes>
1418  </release>
1419  <release>
1420   <version>
1421    <release>1.0.1</release>
1422    <api>1.0.1</api>
1423   </version>
1424   <stability>
1425    <release>stable</release>
1426    <api>stable</api>
1427   </stability>
1428   <date>2007-03-28</date>
1429   <license uri="http://www.php.net/license">PHP License</license>
1430   <notes>
1431* Fix return value of unlink() and rename() when used for phar archievs. [Marcus]
1432   </notes>
1433  </release>
1434  <release>
1435   <version>
1436    <release>1.0.0</release>
1437    <api>1.0.0</api>
1438   </version>
1439   <stability>
1440    <release>stable</release>
1441    <api>stable</api>
1442   </stability>
1443   <date>2007-03-26</date>
1444   <license uri="http://www.php.net/license">PHP License</license>
1445   <notes>
1446*BACKWARDS COMPATIBILITY BREAK*
1447Rename Phar-&gt;begin/isFlushingToPhar/commit to startBuffering/isBuffering/stopBuffering
1448Note that isBuffering() returns the opposite value to isFlushingToPhar()
1449   </notes>
1450  </release>
1451 </changelog>
1452</package>
1453