Commit Graph

266 Commits

Author SHA1 Message Date
Greg Beaver
b21f49c7c7 MFB fixes for tests 2007-11-22 05:47:28 +00:00
Greg Beaver
43c7e6fa3b fix faulty logic on verification of phar 2007-11-20 05:34:35 +00:00
Greg Beaver
be023d6f62 much better fix for the problem of phar://c:\path\to\blah.phar
don't use php_parse_url() at all, and always unixify paths on copied strings.
our modification was modifying the zval original string, so a user would pass in
phar://c:\path\to\blah.phar

and their string would change to phar://c:/path/to/blah.phar - bad.

Now using

include 'phar://' . __FILE__ . '/index.php';

works on both unix and windows seamlessly, as well as $a = new Phar(__FILE__)

for use in the loader stub
2007-11-19 23:10:05 +00:00
Greg Beaver
4a86b3d6ea Ensure that the same phar can be referenced in multiple logical ways:
1) full path, with \ or / path separator
2) relative path to getcwd()

This should fix the last remaining windows-related quirks as well as similar problems
on unix
2007-11-15 05:21:11 +00:00
Greg Beaver
999961f080 begin win32 fixes for Phar object - still have a problem I can't track down yet, but it's only a matter of time before it is killed too
when passing in a full path with drive letter to the Phar object, we were
then passing "phar://C:/path/to/blah.phar" to php_parse_url(), which
thinks it is getting a valid url scheme "phar", host "C" path "/path/to/blah.phar"

we now pass "phar:///C:/path/to/blah.phar" to make it fail, and then properly
parse the url inside phar
2007-11-13 05:57:14 +00:00
Greg Beaver
6d98d843af fix TSRM, a couple of compile warnings on windows, and test 2007-10-18 19:47:24 +00:00
Greg Beaver
eb67969b73 fix Bug #12124: Phar object cannot be iterated over
remove unused variables
fix jit file open sprintf calls
2007-10-04 03:33:21 +00:00
Greg Beaver
07c509935c fix phar to work with PHP 5.3 2007-10-04 02:24:49 +00:00
Greg Beaver
33347b19f2 when opening an internal file read-only, recycle the phar archive's fp. This makes phar twice as fast (2.21x according to callgrind) 2007-08-30 02:30:16 +00:00
Greg Beaver
5d8919938d fix issue with large number of open file handles killing php with large phars on creation
- close file handles that have no references for entries
- add just-in-time re-processing of file handles
- make sure file size is set in renaming
- add old_flags to phar_entry_info so we can decompress when flushing a modified entry whose fp is closed
2007-08-17 04:47:50 +00:00
Greg Beaver
d3426be1c3 fix several mis-spelled 'temporary's add missing space in comment, and change 'script end' to 'stub end' in manifest read error messages 2007-06-01 03:48:17 +00:00
Marcus Boerger
7ecc0f7fad - Fix memory issue 2007-05-31 06:55:14 +00:00
Marcus Boerger
38bb8cb5af - Fix invalid efree() call 2007-05-28 21:04:42 +00:00
Marcus Boerger
096e123f2d - Verify stub
- Automatically cut off stub after __HALT_COMPILER();
- Always write longest stub ending, so there is no issue with length field
- Add test for setStub from file
- Fix tests
2007-05-27 16:54:37 +00:00
Marcus Boerger
ac05df4759 - For errors "internal corruption of phar ... (truncated manifest)" be more
precise about reason of failure, seperating all error strings
- Fix issue with writing compressed entries
- Fix issue with uncompressing entries
2007-05-27 15:47:52 +00:00
Marcus Boerger
7e1ba8bffb - Fix the fix 2007-05-20 22:14:07 +00:00
Marcus Boerger
73ddcc1fd2 - Fix shutdown 2007-05-20 21:46:54 +00:00
Marcus Boerger
6cbfd2271f - Drop RINIT completely (as discussed @ php|tek) 2007-05-18 04:31:39 +00:00
Marcus Boerger
4313bce995 - Get rid of RINIT completely 2007-05-16 23:20:31 +00:00
Marcus Boerger
5e3af23d20 - Reduce overhead of Phar's RINIT 2007-05-16 23:16:51 +00:00
Marcus Boerger
004932e11d - Add Phar::delMetadata()
- Add Phar::hasMetadata()
- Add Phar::isValidPharFilename()
2007-05-15 20:21:19 +00:00
Marcus Boerger
1ab96f2d04 - Drop commented line 2007-05-14 19:36:44 +00:00
Marcus Boerger
16e27c5aad - Fix main metadata handling, prefix main metadata with main 2007-05-14 19:36:09 +00:00
Marcus Boerger
440691899c - Optimize flushing, don't generate metadata twice 2007-05-14 19:14:00 +00:00
Marcus Boerger
c9c5dbbd8d - Unoptimized fix for metadata writing 2007-05-14 18:59:04 +00:00
Marcus Boerger
7aa7448a32 - Fix Phar::canWrite(), had inverted logic
- Support PHP & builds
2007-05-09 18:09:41 +00:00
Marcus Boerger
ab15beebbf - Compatibility with suhosin 2007-03-27 21:28:22 +00:00
Marcus Boerger
c84b870472 - Prevent rename on extracted archieves 2007-03-26 19:51:22 +00:00
Marcus Boerger
f1684e4735 - Fix return value of unlink/rename handlers
- Add extract_list support to all wrapper handlers but rename
2007-03-26 19:20:00 +00:00
Greg Beaver
e97b1aefbf fix memleak in external dirs
update package.xml
move API to 1.1.0
update package version to 1.1.0RC1
update API test
2007-03-26 16:42:47 +00:00
Greg Beaver
a92eeb61c4 [DOC]
implement setSignatureAlgorithm() and add class constants Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, Phar::PGP
2007-03-26 00:00:56 +00:00
Greg Beaver
c3b317f44c default must be SHA1 or we get a BC break 2007-03-25 23:42:49 +00:00
Marcus Boerger
c42a870b7e - Add general SHA-2 support by optional pecl/hash dependency
# We actually need support to select the signature type somehow
2007-03-25 21:43:49 +00:00
Marcus Boerger
b983973a1d - Add ini: phar.extract_list
- Add Phar::getExtractList
- Both allow to set a mapping <phar-file> to <extract-dir>
[[DOC]]
2007-03-25 19:03:38 +00:00
Greg Beaver
e53980587f minor typo s/whetehr/whether/ 2007-03-21 17:14:46 +00:00
Marcus Boerger
94c3896f73 - Provide dedicated hex function for digests 2007-02-24 02:08:08 +00:00
Marcus Boerger
0bd3f367de - Fix issues found with solaris 2007-02-06 23:19:10 +00:00
Marcus Boerger
8f11f4875d - Avoid direct tsrm manipulating in ini setting 2007-02-06 22:41:39 +00:00
Marcus Boerger
bed7c1167d - Fix potential read issues 2007-02-06 22:12:21 +00:00
Antony Dovgal
ea40c23358 fix macros for bigendian platforms 2007-02-06 21:43:46 +00:00
Antony Dovgal
65b47ce346 add missing closing marker 2007-02-06 21:04:22 +00:00
Marcus Boerger
3f3c8fcd10 - Drop another superflous stream close 2007-02-06 20:30:33 +00:00
Marcus Boerger
2a37a1284d - Drop superflous stream close 2007-02-06 20:15:12 +00:00
Greg Beaver
bc17dcfcd1 fix several potential segfaults, add tests for chmod(), fix chmod() 2007-02-06 17:09:37 +00:00
Marcus Boerger
45d63c3973 - Check temp file creation 2007-02-05 22:11:27 +00:00
Greg Beaver
40b66a8035 copyright year updates 2007-02-05 21:38:50 +00:00
Marcus Boerger
357b931e56 - Add additional check & test 2007-02-05 20:47:20 +00:00
Marcus Boerger
250119fa38 - Fix signed/unsigned warnings
- Use safe_emalloc where usefull
2007-02-05 20:34:23 +00:00
Marcus Boerger
c2d5db56ca - Need to drop // 2007-02-04 20:35:59 +00:00
Marcus Boerger
f210205e70 - PHP_VERSION_ID exists only in newer PHPs (5.1+)
- Improve error checking
2007-02-04 20:10:03 +00:00
Marcus Boerger
1c690cb9d4 - Add path sanitizer for new paths
- Add test for a few things we check with the sanitizer
# We might want to use the sanitizer for opening as well
2007-02-04 13:21:40 +00:00
Marcus Boerger
1b5b78ce18 - Provide both version strings, api and ext 2007-02-03 13:20:12 +00:00
Greg Beaver
93b387d327 fix mem leak on error, fix cwd issue. go back to BadMethodCallException for Phar->set*CompressedAllFiles(). ALL TESTS PASS, RELEASE IS IMMINENT 2007-02-03 04:04:18 +00:00
Marcus Boerger
7ae8840c50 - Fix mem access 2007-01-29 07:59:19 +00:00
Greg Beaver
c7a5d062f5 throw exceptions from Phar object, and errors from stream wrapper
# we need to account for uncaught exceptions in shutdown, 2 tests leak because of this
2007-01-29 06:02:19 +00:00
Greg Beaver
c6dc9be489 implement Phar->getMetadata() Phar->setMetadata(), add tests, implement meta-data in the header 2007-01-29 03:59:55 +00:00
Greg Beaver
744ec410ec add rename support 2007-01-28 22:43:38 +00:00
Marcus Boerger
8cfaa44955 - Make new flushing work 2007-01-28 21:26:54 +00:00
Marcus Boerger
d13719ace8 - In Commit reset donotflush 2007-01-28 19:56:09 +00:00
Marcus Boerger
ea9796cca4 - Drop phar_destroy_phar_data() from api 2007-01-28 12:18:07 +00:00
Marcus Boerger
e1db72467c - Fix read/write mode handling 2007-01-28 10:32:45 +00:00
Greg Beaver
e8cabb46f6 fix commitWrite test, enable creation of Phars with phar object 2007-01-28 05:40:18 +00:00
Greg Beaver
2513903e40 stream context for specifying meta-data 2007-01-28 03:25:53 +00:00
Marcus Boerger
4b2eed1fc1 - Clean up on flush 2007-01-27 23:02:42 +00:00
Marcus Boerger
f86b7b96fc - Refcounting 2007-01-27 22:23:52 +00:00
Marcus Boerger
426146b340 - More on 5.2.1 support 2007-01-27 22:18:18 +00:00
Marcus Boerger
ec6c58ca94 - Add 5.2.1 support 2007-01-27 21:34:40 +00:00
Marcus Boerger
fc8754c892 - Dropped one line by accident 2007-01-27 21:24:28 +00:00
Marcus Boerger
d5bbd84d76 - Prevent memory corruption 2007-01-27 21:23:02 +00:00
Marcus Boerger
c7523db97f - Cannot change stream here 2007-01-27 19:42:37 +00:00
Greg Beaver
7b6b53b83d php_stream_truncate_set_size() is a noop with temp streams.
so, we're going to use a brand new tempfile for truncation.

ALL TESTS PASS NOW (finally)
2007-01-27 18:57:12 +00:00
Greg Beaver
1d11c2c4a7 fix memleaks and all but 1 test 2007-01-27 18:45:48 +00:00
Greg Beaver
78f1b9401b fix memleak in unlink() 2007-01-27 18:27:19 +00:00
Greg Beaver
74d7701b2b fix incorrect refcount increment on unlink() 2007-01-27 18:03:40 +00:00
Marcus Boerger
13e860e66f - Fix memory access 2007-01-27 17:27:48 +00:00
Marcus Boerger
ced8e1d9d1 - Make phar_flush() work without reloading
- Make refcounting fly
2007-01-27 15:31:24 +00:00
Marcus Boerger
9cd8d73677 - Simplify by providing delref function 2007-01-26 19:58:22 +00:00
Marcus Boerger
e52a5adc34 - Fix stream closing 2007-01-26 19:43:04 +00:00
Greg Beaver
8de7bd61bf implement phar refcounting
move setStub to commitWrite() and add beginWrite()

# many oo-based tests still fail, they need to be tweaked and fixed
2007-01-26 14:52:10 +00:00
Antony Dovgal
d6af95d1a4 fix folding and a couple of typos 2007-01-23 23:31:14 +00:00
Greg Beaver
d8c26fd461 fix tests, fix corruption issues with compression, simplify code. 3 tests still fail, memory leaks and mysterious crc error - the 16 tests are faulty 2007-01-22 03:41:41 +00:00
Marcus Boerger
03dfef9f99 -Simplify 2007-01-22 02:07:45 +00:00
Marcus Boerger
261749d402 - Generate CRC32 in case not done in original file 2007-01-22 02:04:51 +00:00
Marcus Boerger
79985976a6 - CRC is done on uncompressed data 2007-01-22 02:00:18 +00:00
Marcus Boerger
2312d0772d - Drop erroneously added numbers in error messages 2007-01-22 01:01:50 +00:00
Marcus Boerger
ed454d0fc8 - Finish get/setStub() 2007-01-22 00:59:02 +00:00
Greg Beaver
27f4a3ad30 add setUncompressed(), setCompressedGZ(), setCompressedBZ2() to PharFileInfo, and a failing test (due to bug in streams + bug in phar) 2007-01-22 00:13:20 +00:00
Greg Beaver
9c2651d210 X Phar->setStub() for specifying a new stub to the phar [Greg] 2007-01-21 23:22:57 +00:00
Marcus Boerger
d0d87d8435 - Rewrite/Finish metadata handling 2007-01-21 20:12:50 +00:00
Marcus Boerger
a02afe32c1 - Fix issues with metadata testing 2007-01-21 15:57:12 +00:00
Marcus Boerger
c440902e04 - Simplify dtor
- Zero terminate meta data
2007-01-21 15:28:56 +00:00
Marcus Boerger
3066cfb3ef - Disable most of class Phar and all of class PharFileInfo if SPL is not present 2007-01-21 15:25:50 +00:00
Greg Beaver
f21a0cdd0c fix final memory leak, fix metadata reading (simple), add basic test that it doesn't break 2007-01-21 06:54:04 +00:00
Greg Beaver
d661faefda fix 1 mem leak 2007-01-21 06:39:32 +00:00
Greg Beaver
5bbd10296c implement reading meta-data from phars. writing is not yet supported 2007-01-21 06:30:55 +00:00
Greg Beaver
773fc51457 implement ini handler for phar.readonly and phar.require_hash that allows enabling it on
PHP_INI_ALL if it is disabled in the system, but does not allow disabling it
   if it is enabled in the syste
2007-01-20 22:40:47 +00:00
Marcus Boerger
154de1819e - Fix flags and tests 2007-01-20 16:43:45 +00:00
Greg Beaver
a5dff13465 update TODO to include missing items
move permissions to the lowest bits of flags
fix warnings about signedness
fix unclear /* docs */
2007-01-20 05:28:48 +00:00
Greg Beaver
c35b9f30b6 add class constants Phar::COMPRESSED, Phar::GZ, and Phar::BZ2 for eventual compression manipulation 2007-01-18 00:13:18 +00:00
Greg Beaver
28d4b75d26 fix for deleted files when read from, generalize refcount1 test better 2007-01-16 03:41:52 +00:00