Commit Graph

534 Commits

Author SHA1 Message Date
Gwynne Raskind
e5c6e53f8c fix ZTS build 2009-07-26 15:52:50 +00:00
Greg Beaver
1d50248937 make cache_list tests pass in php 6 2009-07-26 03:07:23 +00:00
Greg Beaver
e7e232cd2b make cache_list tests pass in php 6 2009-07-26 03:07:23 +00:00
Greg Beaver
e8d80c8bfd fix buildFromIterator with filesystem iterator in php 6 2009-07-26 02:43:14 +00:00
Greg Beaver
d46a947d23 fix buildFromIterator with filesystem iterator in php 6 2009-07-26 02:43:14 +00:00
Greg Beaver
96dd763df4 fix generation of phar.phar in php 6, fix remaining tests broken by PHP 6 (and not by spl/other stuff in php6) 2009-07-26 02:18:50 +00:00
Greg Beaver
23f7807148 fix generation of phar.phar in php 6, fix remaining tests broken by PHP 6 (and not by spl/other stuff in php6) 2009-07-26 02:18:50 +00:00
Greg Beaver
732f4af082 re-organize slightly, fix more php6-only compile warnings in php_stream_copy_to_mem 2009-07-26 01:03:47 +00:00
Greg Beaver
9a677532db re-organize slightly, fix more php6-only compile warnings in php_stream_copy_to_mem 2009-07-26 01:03:47 +00:00
Greg Beaver
cfbd6d852f more php6 fixes for phar, fix more tests 2009-07-25 23:45:45 +00:00
Greg Beaver
fba6dd1cbf more php6 fixes for phar, fix more tests 2009-07-25 23:45:45 +00:00
Greg Beaver
d39fda5ff7 begin work on making phar php6-ready 2009-07-24 23:53:24 +00:00
Greg Beaver
e8756a3c3c begin work on making phar php6-ready 2009-07-24 23:53:24 +00:00
Greg Beaver
96740db9ab fix PHAR_ARG_INFO #define to work with PHP major versions > 5 2009-07-24 21:27:51 +00:00
Greg Beaver
54b20e7d01 fix PHAR_ARG_INFO #define to work with PHP major versions > 5 2009-07-24 21:27:51 +00:00
Greg Beaver
c92396a82c merge unmerged changes between branches, remove unnecessary test for zip signature failure in badparameters.phpt 2009-07-24 17:07:05 +00:00
Greg Beaver
d68cc96ebd merge unmerged changes between branches, remove unnecessary test for zip signature failure in badparameters.phpt 2009-07-24 17:07:05 +00:00
Greg Beaver
2a0668d57b fix signature generation/validation for zip archives by phar extension, fix a few edge cases where memory was leaked on error conditions by missing efree() 2009-07-24 15:42:17 +00:00
Greg Beaver
42e0e5dfb7 fix signature generation/validation for zip archives by phar extension, fix a few edge cases where memory was leaked on error conditions by missing efree() 2009-07-24 15:42:17 +00:00
Greg Beaver
09072ae3df fix PHP Bug #48377: error message unclear on converting phar with existing file 2009-07-23 17:04:24 +00:00
Greg Beaver
115e370d6e fix PHP Bug #48377: error message unclear on converting phar with existing file 2009-07-23 17:04:24 +00:00
Greg Beaver
fb86c3f7a2 MFH: fixed isset() on sub-directories (isset("blah") if file "blah/foo.php" exists) 2009-06-05 04:46:49 +00:00
Greg Beaver
9948c520ca fixed isset() on sub-directories (isset('blah') if file 'blah/foo.php' exists) 2009-06-05 04:44:55 +00:00
Greg Beaver
1c30b43e50 MFH: fix potential segfault when converting phars with metadata to other formats, add test 2009-05-24 18:50:58 +00:00
Greg Beaver
ce8cc1c99d fix potential segfault when converting phars with metadata to other formats, add test 2009-05-24 18:50:37 +00:00
Greg Beaver
a7e1d6e5c5 MFB: remove precautionary #ifdef - the problem was fixed by moving the efree inside the zend_try block 2009-05-05 01:42:06 +00:00
Greg Beaver
6f101e7c06 remove precautionary #ifdef - the problem was fixed by moving the efree inside the zend_try block 2009-05-05 01:41:51 +00:00
Greg Beaver
60ed684852 MFB: disable mysterious segfault on PHP 5.3 (5.2 not affected) 2009-05-04 04:30:50 +00:00
Greg Beaver
6eb6df3a20 disable cause of mysterious segfault in PHP 5.3 only (5.2 is fine) 2009-05-04 04:29:25 +00:00
Greg Beaver
f21744809e MFPECL: fix PECL bug #16338, php_stream_copy_to_stream{,_ex}() 2009-04-29 03:24:27 +00:00
Greg Beaver
31f3c2ad47 MFPECL: fix PECL bug #16338, php_stream_copy_to_stream{,_ex}() 2009-04-29 03:24:09 +00:00
Greg Beaver
401bb9ed44 MFB: cosmetics: remove two unreachable return statements, removes warning in sun cc 2009-02-21 02:37:33 +00:00
Greg Beaver
bd74089a4e cosmetics: remove two unreachable return statements, removes warning in sun cc 2009-02-21 02:37:18 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Sebastian Bergmann
7f4dc8702a Bump copyright year, 3 of 3. 2008-12-31 11:12:40 +00:00
Felipe Pena
fc2fb50d09 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-11-17 11:28:01 +00:00
Felipe Pena
43791516db - Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro (again!) 2008-11-17 11:26:25 +00:00
Felipe Pena
7a37fa2d6b - Revert ZEND_BEGIN_ARG_INFO change 2008-11-02 21:19:39 +00:00
Felipe Pena
e006a89e71 - Revert ZEND_BEGIN_ARG_INFO change 2008-11-02 21:10:13 +00:00
Greg Beaver
329229071f MFB: fix several errors found by valgrind
1 - entry metadata not properly processed or retrieved from cached phars
2 - copy on write was using a void return value instead of int, a dangerous oversight in phar_update_cached_entry
3 - metadata creation in entries for cached phars was causing an invalid read
2008-10-26 05:49:24 +00:00
Greg Beaver
86f8d0a8e9 fix several errors found by valgrind
1 - entry metadata not properly processed or retrieved from cached phars
2 - copy on write was using a void return value instead of int, a dangerous oversight in phar_update_cached_entry
3 - metadata creation in entries for cached phars was causing an invalid read
2008-10-26 05:49:09 +00:00
Felipe Pena
df10005563 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-10-24 14:35:40 +00:00
Felipe Pena
7eb2715464 - Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-10-24 14:34:17 +00:00
Greg Beaver
15fc837b99 MFB: fix incorrect key for Phar destructor 2008-10-12 19:45:12 +00:00
Greg Beaver
114861e330 fix incorrect key for Phar destructor 2008-10-12 19:45:01 +00:00
Greg Beaver
c448cb165c MFB: add tests for copy-on-write support
- fix metadata handling with cached phars
 - fix virtual_dirs with rmdir
 - ensure that after copy-on-write, all existing Phar objects link to the newly copied phar data
2008-10-12 19:40:30 +00:00
Greg Beaver
e16636f069 add tests for copy-on-write support
- fix metadata handling with cached phars
 - fix virtual_dirs with rmdir
 - ensure that after copy-on-write, all existing Phar objects link to the newly copied phar data
2008-10-12 19:40:11 +00:00
Greg Beaver
10d023be20 MFB: add new test for copy-on-write, fix copy-on-write for Phar/PharFileInfo methods 2008-10-12 06:53:52 +00:00
Greg Beaver
261d300a0f add new test for copy-on-write, fix copy-on-write for Phar/PharFileInfo methods 2008-10-12 06:53:32 +00:00
Greg Beaver
a4f39f7fa4 MFB: fix bug #45907: undefined reference to PHP_SHA512Init 2008-10-09 00:51:27 +00:00
Greg Beaver
fffdf661c9 fix bug #45907: undefined reference to PHP_SHA512Init 2008-10-09 00:50:47 +00:00
Greg Beaver
8db86ad19e MFB: fix minor issues found by ICC (unused variables and the like) 2008-09-13 22:31:18 +00:00
Greg Beaver
9eb83b6ae9 fix minor issues found by ICC (unused variables and the like) 2008-09-13 22:30:55 +00:00
Greg Beaver
6391270b85 MFPHP5: fix Bug #46032: PharData::__construct wrong memory read 2008-09-11 03:29:42 +00:00
Greg Beaver
e7b6fe1b45 fix Bug #46032: PharData::__construct wrong memory read 2008-09-11 03:29:15 +00:00
Steph Fox
318d5f98ff - unnecessary ;
We are now 100% synched - let's keep it that way!
2008-08-31 21:02:55 +00:00
Steph Fox
cd011d1e9a - MFB 2008-08-31 20:54:28 +00:00
Greg Beaver
b2efb50cfd remove unnecessary ; 2008-08-31 19:38:40 +00:00
Greg Beaver
513cec31d3 fix compile warning in PHP < 6.0 2008-08-31 06:58:04 +00:00
Greg Beaver
e30bf5af3b remove superfluous return statements, merge from pecl/phar 2008-08-31 06:42:46 +00:00
Greg Beaver
1c66670ee8 merge minor optimization removing strlen from pecl/phar 2008-08-31 06:38:09 +00:00
Greg Beaver
6dcdb77f7b remove unused variables, merge from pecl/phar 2008-08-31 06:31:53 +00:00
Greg Beaver
27cf27568d use %u instead of %d, merge from pecl/phar 2008-08-31 06:26:19 +00:00
Steph Fox
4e5280a7a2 - ws/cs, macros, code that only affects other branches
- some unsynced changes need valgrind testing before they can go into this branch, see PECL/HEAD
2008-08-01 13:48:45 +00:00
Steph Fox
c6aa379d74 - This is as good as it gets in HEAD at present (~30% tests fail here) 2008-08-01 13:45:06 +00:00
Antony Dovgal
b53da9cd80 fix folding 2008-07-29 10:52:08 +00:00
Steph Fox
6895773aff - Utilize new UNIX_PATHS flag in SPL
- Fix tests

@Jani: hold back on the bunny-killing, HEAD will be in sync later today
2008-07-24 09:22:35 +00:00
Dmitry Stogov
c48c63f5e6 Improved webPhar speed (frontcontroller11.phar.phpt is disabled, should be removed) 2008-07-22 07:03:00 +00:00
Dmitry Stogov
44557cf981 Improved support for opcode caches. Now some open() syscalls might be eliminated by caches. 2008-07-16 15:09:39 +00:00
Dmitry Stogov
1cfd92fc43 Fixed efree(NULL) 2008-07-09 08:47:05 +00:00
Steph Fox
2c9df0990d - We forgot to check that the phar exists before trying to extract files from it :) 2008-07-07 01:11:07 +00:00
Greg Beaver
8bf72978b3 fix several issues:
1) segfault in phar_buildfromdirectoryiterator8.phpt
2) tests failing because SKIPDOTS is default on 64 bit, not on 32
3) Marcus, you really need to add SKIPDOTS as a class constant, so we don't have to use 0x00001000
2008-06-24 01:11:27 +00:00
Greg Beaver
10f6d9a556 true fix for potential segfault in phar_build 2008-06-23 04:00:23 +00:00
Steph Fox
c68a82ac7d - Revert the two blocks of code that implement the phar_build optimization, causes segfaults under *nix
- Leave the new structure in place to make re-implementation trivial
2008-06-22 16:35:26 +00:00
Steph Fox
332a185e08 - ws, typo fix 2008-06-22 13:10:03 +00:00
Steph Fox
b964ec6e5d - ws 2008-06-21 18:57:53 +00:00
Greg Beaver
baee4e6028 close stream on failure 2008-06-21 06:55:56 +00:00
Greg Beaver
529aa19cc7 82x(./profile2) speedup for buildFrom*() 2008-06-21 06:53:10 +00:00
Johannes Schlüter
62726c967c - Fix ZTS build (not required on HEAD, patch by Uwe Pries) 2008-06-20 09:17:53 +00:00
Greg Beaver
7cc6b9f3f5 making progress - up to 42/phar vs. 48/disk with these optimizations 2008-06-20 05:42:58 +00:00
Greg Beaver
cbe23b9f20 fix windows build and more performance jumps (these are minor)
implement real copy-on-write
use virtual_dirs for wrapper stat
2008-06-18 06:38:47 +00:00
Greg Beaver
4104786072 another optimization - move inode hash to initial manifest parsing, improves runtime perf of stat slightly 2008-06-15 21:42:20 +00:00
Greg Beaver
d8ed660a02 minor optimization 2008-06-15 21:15:29 +00:00
Greg Beaver
04e257a8e1 HUGE speed improvement, from 19 req/sec to 27 req/sec for phpMyAdmin - now speed with apc+phar.cache_list = on-disk speedcvs diff -u |less This is by generating a list of virtual directories and using those in stat calls instead of scanning the whole manifest hash table. on-disk phpMyAdmin = 28 req/sec 2008-06-15 18:15:48 +00:00
Greg Beaver
4f9daeed11 [DOC] implement full signature support for tar-based archives. By default, data archives do
not have a signature, but can have one set via setSignatureAlgorithm()
2008-06-13 22:07:44 +00:00
Greg Beaver
5ff4deaa53 full refactor of signatures complete - now to implement them for tar as a starting point 2008-06-13 20:15:19 +00:00
Greg Beaver
8b8a64a3e8 fix PHP Bug #45218: PHAR archive built from directory limited by max open file handles 2008-06-10 19:20:33 +00:00
Marcus Boerger
159561e9da - Need to use a proper inheritance check 2008-06-02 15:49:03 +00:00
Marcus Boerger
aaf6b216ed - Fix docu 2008-06-01 17:14:48 +00:00
Greg Beaver
5fbeb235d2 add openssl signing support. This adds an extra parameter
for the contents of the exported private key to Phar->setSignatureAlgorithm, and expects the public key to be in
a file named blah.phar.pubkey in the same directory as the phar blah.phar.  This works with openssl static or
shared and fails gracefully if openssl is not present without adding a dependency. config.w32 needs updating to match config.m4 [DOC]
2008-06-01 04:21:26 +00:00
Greg Beaver
ca6d36efb8 MFB: refactor function names for clarity. No functionality change 2008-05-30 22:39:33 +00:00
Greg Beaver
8b600a72dc refactor function names for clarity. No functionality change 2008-05-30 22:38:46 +00:00
Steph Fox
76a9ec377b - MFB major fixes
* found felipe's segfault in util.c and fixed the segfault (3 tests fail due to odd behavior of . and .. on this machine)
   * fixed serious flaws in the setting/resetting of is_data - now it works properly.  Assume
     all new PharData are tar-based, and allow passing Phar::ZIP to PharData constructor to override this
   * fix broken earlier commit, introduced segfault that broke 20 tests here
2008-05-24 14:18:31 +00:00
Steph Fox
bdca5a12b0 - MFB fix offset detection in tar files 2008-05-24 13:59:56 +00:00
Steph Fox
51967b91d5 "We shouldn't need a full path to the mount"
- Fixed under Windows, cleaned up test
2008-05-24 13:13:47 +00:00
Greg Beaver
4b035dae5f major fixes
* found felipe's segfault in util.c and fixed the segfault (3 tests fail due to odd behavior of . and .. on this machine)
 * fixed serious flaws in the setting/resetting of is_data - now it works properly.  Assume
   all new PharData are tar-based, and allow passing Phar::ZIP to PharData constructor to override this
 * fix broken earlier commit, introduced segfault that broke 20 tests here
2008-05-22 06:33:09 +00:00
Felipe Pena
e1bfc452d3 - Fix build (ZTS) 2008-05-21 22:52:30 +00:00
Greg Beaver
1f661c81c4 fix offset detection in tar files 2008-05-21 22:00:43 +00:00
Greg Beaver
8589859191 MFB fix convertTo\*() for same-named archives with no files 2008-05-21 20:39:33 +00:00
Greg Beaver
79ae1c7273 fix convertTo\*() for same-named archives with no files 2008-05-21 20:24:40 +00:00
Greg Beaver
a08acfb080 s/zend_hash_exists/zend_hash_find/ 2008-05-20 05:01:08 +00:00
Greg Beaver
ccf430ca93 MFB relax rename requirements 2008-05-20 04:09:41 +00:00
Greg Beaver
07d6758c86 relax conversion, so that if a phar has no files, we can convert it to another format without changing the extension 2008-05-20 03:56:35 +00:00
Steph Fox
f08aea109b - IS_UNICODE checks and conversions
- stub and creation file updates
- far too many test updates to think about
2008-05-19 19:05:42 +00:00
Greg Beaver
eb99aa475e MFH fix mem leak, add test for previous segfault fix 2008-05-18 23:41:17 +00:00
Greg Beaver
0800b3b159 fix memleak, add test for previous segfault fix 2008-05-18 23:41:08 +00:00
Greg Beaver
3d953abaf3 MFB fix segfault 2008-05-18 23:12:47 +00:00
Greg Beaver
b149e8c0fa fix segfault, test coming shortly 2008-05-18 23:11:24 +00:00
Greg Beaver
11fb7561f0 enable by default statically instead of shared
this is done by removing zlib/bz2 explicit dependencies because they are unnecessary
we only ever use the stream filter, and the check for existence has
been moved to runtime where it is after startup
2008-05-17 20:07:38 +00:00
Greg Beaver
4aa4f1fabb enable by default statically instead of shared
this is done by removing zlib/bz2 explicit dependencies because they are unnecessary
we only ever use the stream filter, and the check for existence has
been moved to runtime where it is after startup
2008-05-17 20:07:22 +00:00
Greg Beaver
25b8e6cc3f MFB: add full metadata support for tar-based archives and test 2008-05-15 23:46:54 +00:00
Greg Beaver
719beb79d4 add full metadata support for tar-based archives and test 2008-05-15 23:46:29 +00:00
Greg Beaver
144e472967 MFB: plug security hole of unfettered creation access to .phar magic directory 2008-05-15 16:09:21 +00:00
Greg Beaver
de5aaaa74c fix potentially major security hole: modification/creation of files in .phar directory enabled in many locations
which then allows easy creation of tar/zip-based phar archives with a simple rename even when phar.readonly=1.  Plug the hole very tightly, allowing read access to
files, and also excluding them from opendir() output
2008-05-15 16:09:01 +00:00
Steph Fox
6a0682d986 - MFH
- Make internal code forward-compatible. This included a binary cast in the default stub, hence test updates.
2008-05-14 21:29:51 +00:00
Steph Fox
c1ae13b985 - Make internal code back-compatible. This included a binary cast in the default stub, hence many test updates.
- Just over a third of tests pass. Test manifests are broken currently.
2008-05-14 21:27:31 +00:00
Steph Fox
247d91e780 - 'It builds on my box'.
- Don't expect any tests to pass.
2008-05-13 18:35:25 +00:00
SVN Migration
16b4d8e0e1 This commit was manufactured by cvs2svn to create branch 'PHP_5_3'. 2008-05-12 21:03:49 +00:00
Greg Beaver
82dc03941a fix weird alias issues, add tests to check for new-found problems 2008-05-12 20:42:07 +00:00
Greg Beaver
ad1be25d8c don't copy contents of linked/mounted files when converting an archive, and be sure to dupe mounted value 2008-05-11 22:45:03 +00:00
Greg Beaver
7149523766 add safety check to prevent unlinkArchive() from being called by a file within the archive 2008-05-11 21:15:47 +00:00
Greg Beaver
38d5943ee6 increase code coverage of funcinterceptors to 90%+, fix many bugs, fix errant wrong test condition in fgc_edgecases 2008-05-11 19:17:51 +00:00
Greg Beaver
53e02373d0 fix handling of mounted entries when flushing in all phars, and of deleted entries with open references in tar-based phars, do not extract mounted entries, add to test 2008-05-08 02:58:45 +00:00
Greg Beaver
f134a909c3 optimize phar filename extension detection to first search through known phars. This eliminates several stat/realpath calls for archives with lots of files 2008-05-07 17:24:22 +00:00
Greg Beaver
eda25ddb34 validate user-supplied aliases when converting archives to other formats 2008-05-07 06:36:24 +00:00
Greg Beaver
549bf83bd1 [DOC]
remove phar.extract_list
remove Phar::getExtractList()
2008-05-07 05:38:31 +00:00
Greg Beaver
196f0ef42b fix segfault in buildfromdirectory2 test and potential segfault 2008-05-06 21:23:48 +00:00
Greg Beaver
5ba8ca70a4 fix alias overloading handling for archives that are not in use 2008-05-06 21:14:53 +00:00
Steph Fox
c322c1a94a - Kill Windows warning when int meets short
- All tests still pass
2008-05-03 21:09:56 +00:00
Greg Beaver
a180fcc9bc add Phar::unlinkArchive() to allow complete removal of a parsed phar archive from memory and disk 2008-05-03 02:04:24 +00:00
Greg Beaver
bfbe53eeb2 refactor isTar/isZip/isPhar into isFileFormat(int format) where format is one of Phar::TAR,, Phar::ZIP, Phar::PHAR
[DOC]
2008-05-02 05:05:56 +00:00
Greg Beaver
e0bc2b2be1 update TODO, re-order methods to be alphabetical, tweak extractTo to set permissions and handle NULL for files
# this also matches the docs I just committed :)
2008-05-02 04:44:39 +00:00
Greg Beaver
0a3fc4faba fix unix-only valgrind issue by initializing arch 2008-04-30 23:44:30 +00:00
Greg Beaver
483018e170 remove unneeded exception handling (webPhar is always within an outer zend_execute block which handles exceptions for us, this is unnecessary) 2008-04-30 02:20:48 +00:00
Steph Fox
8559a2dbde - Prevent phars with empty manifests flushing to disk
- This would've fixed that test... removing clean section

@Greg: I commented out the call that breaks the Windows build, pending a decision about its future.
2008-04-29 12:06:54 +00:00
Greg Beaver
984ea1f437 fix segfault (now all tests pass here) 2008-04-28 23:00:46 +00:00
Greg Beaver
7220c19556 fix tar generation - we were subtly corrupting the header with \0 because of use of strcpy 2008-04-28 16:44:53 +00:00
Greg Beaver
5da6c48f7d add open_basedir/safe_mode checks for files in Phar::addFile() 2008-04-27 23:59:41 +00:00
Steph Fox
bcd2ddd018 - Kill another one from the gcov site's parameter parsing report 2008-04-27 16:42:03 +00:00
Steph Fox
2ea698eae7 - Make it possible to extract all *and* overwrite 2008-04-27 11:26:15 +00:00
Steph Fox
77dcb8cffd - Kill a few uninitialized vars (thanks gcov) 2008-04-27 10:14:00 +00:00
Greg Beaver
79a45a9666 fix buildfromiterator base to exclude directory separator on unix or windows, fix 10 test to have new tests 2008-04-26 17:09:58 +00:00
Steph Fox
cf7f50e42c - Added a RecursiveIterator/buildFromIterator test
- Fixed up bug13727.phpt to take < 15 minutes :\\ and clean up after itself
- Cleaned up protos/reflection data
- Added myself to package.xml credits
2008-04-26 13:22:38 +00:00
Greg Beaver
0c2f3b760a add Phar::extractTo(dest_directory[, mixed files[, bool overwrite]])
this is very similar to ext/zip's extractTo and is based on that code, with the addition of the third parameter, which
is used to allow overwriting existing files (disallowed by default, unlike ext/zip's implementation)
[DOC]
2008-04-26 05:31:00 +00:00
Steph Fox
dbb4618bd5 - cs 2008-04-26 02:04:09 +00:00
Steph Fox
f040cb6492 - fixed those pesky memleaks 2008-04-26 01:52:22 +00:00
Steph Fox
9bf8d7429e - implemented Phar::buildFromDirectory
@Greg: There are two (identical) recurring memleaks I can't seem to kill, both marked FIXME. Would you please take a look?

[DOC] $phar->buildFromDirectory(dirname[, regex]). Return value is an array pairing each file in the archive index with the original path on the filesystem.
2008-04-25 21:37:41 +00:00
Greg Beaver
8657ab7e5a add test for bug #13727, fix bug #13727 2008-04-25 16:50:22 +00:00
Greg Beaver
84004bf248 new test with code coverage for PharFileInfo::setMetadata/delMetadata, improve error messages 2008-04-25 16:05:05 +00:00
Greg Beaver
13dc477de2 new code coverage test, improve clarity of error message when chmod is used on a temp directory 2008-04-25 15:53:02 +00:00
Greg Beaver
efe519c194 fix access fault on windows, fix memleak on all platforms when accessing a temp directory via offsetGet 2008-04-25 04:34:03 +00:00
Greg Beaver
0db641af3e rework PharFileInfo->decompress and add failing test 2008-04-24 19:57:22 +00:00
Greg Beaver
91e67a4fbd test PharFileInfo::__construct, fix potential segfault, and bad logic in phar detection 2008-04-24 05:18:50 +00:00
Greg Beaver
8f0c9caac5 remove redundant unreachable code in Phar::copy, augment test, and add failing condition that needs to be fixed 2008-04-24 04:14:05 +00:00
Greg Beaver
696dafa370 new test for Phar::decompress() 2008-04-24 04:05:20 +00:00
Greg Beaver
3190bd0884 increase code coverage, fix minor memleak 2008-04-23 18:54:09 +00:00
Greg Beaver
ab1d8adb96 fix default format conversion, increase code coverage 2008-04-23 18:44:43 +00:00
Greg Beaver
3b8fc7309f new test increases code coverage, fix memleak found by test 2008-04-23 18:30:53 +00:00
Greg Beaver
c034683550 new test for Phar::isValidPharFilename. Fix Phar::isValidPharFilename. Fix extension detection for all cases 2008-04-23 18:11:20 +00:00
Greg Beaver
19088c1930 remove/move unreachable code 2008-04-23 17:23:32 +00:00
Greg Beaver
1dc190e680 improve rewrite callback support, add test for callback that does not return string/false 2008-04-23 17:18:28 +00:00
Greg Beaver
ce5732112e new test for invalid rewrite callback 2008-04-23 16:47:12 +00:00
Greg Beaver
76b8f30659 new test for webPhar with phar.extract_list 2008-04-23 16:00:06 +00:00
Greg Beaver
5224d341b6 ensure freeing of cwd/name happens in all cases 2008-04-22 17:34:00 +00:00
Greg Beaver
0338b28939 re-enable disabled cwd code 2008-04-22 17:19:06 +00:00
Greg Beaver
d8b4c2795e remove unreachable code, add test for large non-php file 2008-04-22 17:17:29 +00:00
Greg Beaver
379bcf1f14 remove unreachable code 2008-04-22 17:13:07 +00:00
Greg Beaver
cb8f158cd5 fix PATH_INFO munging, add to test case 2008-04-22 17:11:30 +00:00
Greg Beaver
5ac9c1f23e remove unreachable code, add test for no file extension and unknown file extension with Phar::webPhar 2008-04-22 17:03:10 +00:00
Greg Beaver
4388a65aa8 fix Phar::mount() to also allow running externally with full phar:// path, add test 2008-04-21 18:21:54 +00:00
Greg Beaver
e0873a380d fix Phar::running() 2008-04-21 18:06:20 +00:00
Greg Beaver
25cdc7de2b fix discovery of files hidden in a URL - makes using any regular front controller possible 2008-04-21 17:59:28 +00:00
Greg Beaver
2f56c7f343 new test for custom 404 handler, fix segfault found by test 2008-04-21 17:46:24 +00:00
Greg Beaver
779fec2278 implement opendir for mounted directories - much simpler to do than I initially thought 2008-04-21 16:29:09 +00:00
Greg Beaver
3d858f4aa9 implement symbolic link support within a tar-based phar archive
this also resulted in a major fix for mounted directories, which were recycling the 'link' field which
could cause stupid conflicts with actual links, so move that to new 'tmp' field.
2008-04-21 06:17:51 +00:00
Greg Beaver
f870b8ae74 fix ZTS build and Phar::isValidPharFilename 2008-04-19 17:24:26 +00:00
Greg Beaver
c4f502fae0 COMPLETELY rework filename extension detection. Now the only requirements are:
1 - executable phars must contain '.phar' in the filename
2 - non-executable phars must not contain '.phar' and must have an extension of at least 1 character

In addition, phar filenames must exist if opened for read, and the directory containing the phar must exist if opened for creation
if opened for creation, the file must not already exist
[DOC]
2008-04-18 04:13:13 +00:00
Steph Fox
31596d1b45 - Fix ZTS build 2008-04-14 17:14:54 +00:00
Greg Beaver
0814b2df09 fix build if SPL is disabled 2008-04-12 21:43:39 +00:00
Greg Beaver
b0f281b159 restore Phar->compress/decompress() to simplify $phar->convertToExecutable(NULL, Phar::GZ) to $phar->compress(Phar::GZ)
[DOC]
2008-04-11 13:41:59 +00:00
Greg Beaver
8f28d19d4e cosmetics, extra space 2008-04-11 13:26:36 +00:00
Greg Beaver
3493fb6561 combine PharFileInfo->setCompressedGZ/setCompressedBZIP2 into compress() with parameter Phar::GZ or Phar::BZ2
use ZEND_ACC_PUBLIC in PharFileInfo definitions, to be consistent
[DOC]
2008-04-11 13:26:03 +00:00
Greg Beaver
ab34fcac05 merge PharFileInfo->isCompressed/isCompressedGZ/isCompressedBZIP2 by adding an
optional parameter to isCompressed for testing specific compression algorithm
[DOC]
2008-04-11 13:07:14 +00:00
Greg Beaver
c07a07ea68 change PharFileInfo->setUncompressed to decompress
[DOC]
2008-04-11 12:56:53 +00:00
Greg Beaver
c0d82e966f refactor compress/convertToTar/convertToPhar/convertToZip/convertToExecutable/convertToData
into 2 methods:
convertToExecutable/convertToData.  Both methods accept 3 optional parameters
1 archive type, Phar::PHAR, Phar::TAR, or Phar::ZIP
2 compression Phar::NONE, Phar::GZ, or Phar::BZ2
3 file extension.  Default is <format>.<compression> where .phar.tar is executable .tar
convertToExecutable always returns a Phar object
convertToData always returns a PharData object
also added Phar::PHAR, Phar::TAR, and Phar::ZIP class constants
[DOC]
2008-04-11 04:20:15 +00:00
Greg Beaver
f0ff6fb109 s/getContents/getContent/ 2008-04-10 13:41:29 +00:00
Greg Beaver
61b5fc48e3 re-factor all-file compression. Remove compressAllFilesGZ/compressAllFilesBZ2 in favor of
unifying compressFiles which accepts Phar::GZ or Phar::BZ2 as argument.  rename uncompressAllFiles to decompressFiles
2008-04-10 13:40:26 +00:00
Greg Beaver
06df9bff83 add Phar->isWritable() for detecting whether a phar archive can be written to based on phar.readonly combined with actual file permissions
[DOC]
2008-04-10 03:32:10 +00:00
Greg Beaver
abfc228f36 add addFile/addFromString/addEmptyDir. API is identical to ext/zip
[DOC]
2008-04-09 19:23:31 +00:00
Greg Beaver
e56beeeefd add PharFileInfo->getContents() to retrieve file contents
[DOC]
2008-04-09 18:12:41 +00:00
Greg Beaver
2e9fca4f0b fix read/write for PharData object, update tests to current API 2008-03-24 03:01:31 +00:00
Greg Beaver
b4b890cb8f check for invalid aliases, add tests for this and direct setting of stub/alias 2008-03-24 01:33:30 +00:00
Greg Beaver
cea3169ca6 prevent direct setting of stub or alias in tar/zip 2008-03-24 01:18:50 +00:00
Greg Beaver
95eeee9156 not all tests have been converted over to the new API, but it works
conversion is now split into 3 separate methods
1\) convertToZip\(\) convertToTar\(\) and convertToPhar\(\) exclusively change file format
2\) compress\(\) sets compression, accepting Phar::GZ, Phar::BZ2, or Phar::NONE
3\) convertToExecutable\(\) allows stub creation in tar/zip, convertToData\(\) prevents it

all methods return either Phar or PharData objects, allowing fluent interface.

only 1 test has been converted to the new format, but the API works
2008-03-23 22:42:45 +00:00
Greg Beaver
cac70206f2 add Phar->getPath() for retrieving the full path to the phar archive.
this is useful for renaming and also always returns the realpath()
2008-03-23 19:03:15 +00:00
Greg Beaver
ca92928b48 fix param parsing for Phar::running() to be optional
# this is the last bug for ZF app - it now works!
2008-03-23 17:36:57 +00:00
Greg Beaver
39c4f38c27 rename Phar::getRunningPhar\(\) to Phar::running\(\) and by default return the full
phar url, if optional parameter is false, return the path to the phar on disk.  Fix a double free on failed mount
2008-03-23 06:00:31 +00:00
Greg Beaver
15f8facded fix Bug #13110: using rewrite parameter to webPhar causes memory error 2008-03-22 22:56:04 +00:00
Greg Beaver
6cef8da201 move all blah++ to ++blah where possible for those with crapass compilers 2008-03-22 22:11:49 +00:00
Greg Beaver
1b05ce68d7 fix all frontcontroller tests - cgi sapi was not being detected, only fastcgi 2008-03-22 22:04:21 +00:00