Greg Beaver
63adb98f78
split out zip functions
2008-01-08 19:40:23 +00:00
Greg Beaver
b93b48663d
complete set of new tests for zip-based phars (need to test compression for zip-based phars)
...
fix a whole bunch of zip-related bugs
tar tests need some naming
add phar information to error messages, fix existing tests to reflect this
2008-01-08 07:08:46 +00:00
Greg Beaver
36efc2a907
eliminate potential double-free of alias
...
major improvement of zip/tar-based phar stub execution, now __FILE__ says it is the phar, and not phar/.phar/stub.php,
so that the same stub can be used for phar or tar/zip-based phars
ridiculous speedup of rename() within a phar (something like 1000%)
last of the tar-based phar fixes
new tests for tar-based phars, fix existing tests to use new format of __FILE__
2008-01-07 22:21:10 +00:00
Greg Beaver
3dca799fbb
fix extension detection for aliases with no extension
2008-01-07 17:18:41 +00:00
Greg Beaver
8a46146f37
fix stat of directory in tar/zip
...
improve phar recognition of tar/zip-based phars in phar_compile_file
fix segfault in Phar::webPhar() with invalid redirect
add Phar->isTar()/isZip()/isPhar() to determine internal file format
fix creation of tar-based phars from filename in some circumstances
fix read of corrupted file contents from a tar if the tar had been opened readonly and then modified
ensure directories are marked with is_dir in tar file format entries
copy fp_refcount logic into phar_tar_flush() from phar_flush()
fix segfault when flushing a tar with a new stub/alias
2008-01-07 05:41:09 +00:00
Greg Beaver
826e98be83
eliminated memleak, now to make it recognize "dir" as a directory
2008-01-06 05:28:27 +00:00
Greg Beaver
99922cb729
fix typo in phar.c if bz2 is disabled
2008-01-06 05:16:20 +00:00
Greg Beaver
632a633154
fix segfault, add separate tar test for readonly=0 on corrupted tar
2008-01-05 23:02:23 +00:00
Greg Beaver
2fa568b7b0
do not attempt to create a new phar if a file exists and is corrupted or is not a phar archive,
...
i.e. require a clean slate - a non-existent file or a valid phar archive - to muck around with phar contents
add the first tar-based phar test
2008-01-05 22:46:54 +00:00
Greg Beaver
653dc9e8ce
fix front controller tests (requires patch to run-tests.php posted to internals a little while ago)
...
allow phars to have extension .php as last resort
fix phar-based phars for MIME_OTHER type
2008-01-05 03:41:43 +00:00
Greg Beaver
67688371f7
use zip_free() instead of zip_close(), and don't add a stub if it already exists in phar_zip_flush(), update TODO
2008-01-04 17:04:41 +00:00
Marcus Boerger
95a9f1faf6
- Fix module info for bz2
...
- Differentiate enabled, disabled and unavailable
2008-01-04 16:10:49 +00:00
Greg Beaver
e8a5b20514
replace crappy $_SERVER munging with explicit munging via
...
Phar::mungServer(). This static method takes an array with one of these 4 indices (case-sensitive):
'PHP_SELF', 'SCRIPT_NAME', 'SCRIPT_FILENAME', 'REQUEST_URI'
and removes any reference to the actual path on the server. This allows older apps to function unmodified inside a phar.
the variables are re-registered as PHAR_PHP_SELF and company to allow access from clever script files
[DOC]
2008-01-04 04:57:11 +00:00
Greg Beaver
8e18f1cae1
Phar::webPhar() and various problems relating to shutdown in an apache process fixed
2008-01-04 01:45:37 +00:00
Greg Beaver
f589855093
fix tar-based phars creation and loading
2008-01-03 18:13:27 +00:00
Greg Beaver
8ee4266b3f
initial tar support - a few kinks to work on in phar creation, but read works
2008-01-03 04:45:00 +00:00
Greg Beaver
652d39c330
add zip-based phar support. not quite working is webPhar(), not sure why yet
2007-12-31 22:42:40 +00:00
Greg Beaver
e861913e39
fix windows build
...
# there HAS to be a better way to do this...
2007-12-24 21:40:54 +00:00
Greg Beaver
5200481aaf
fix mem leak
2007-12-24 20:30:44 +00:00
Greg Beaver
02c7ff1343
complete re-factoring of front controller. Now it is done with
...
Phar->webPhar():
<?php
Phar::webPhar();
__HALT_COMPILER();
With the above stub, the default front controller will kick in. An array of mime type overrides, and another
array mapping phar file entry -> redirected entry can be used to further customize
[DOC]
2007-12-23 21:12:42 +00:00
Greg Beaver
8e4cc4b3dd
first attempt at major new feature: default front controller for web
...
Currently, an entire phar entry is leaked for no obvious reason, otherwise it works. Sample code:
The phar has to be created using Phar->useFrontController(); and the stub performs actual resolution of which file to load:
<?php
Phar::mapPhar();
include 'phar://' . __FILE__ . '/' . substr($_SERVER['REQUEST_URI'], strlen(basename(__FILE__)));
__HALT_COMPILER();
?>
Phar automatically determines mime type from the file extension and either parses or displays the file. Modification of REQUEST_URI
and other variables should happen in the stub
[DOC]
2007-12-22 07:46:53 +00:00
Greg Beaver
185a4a8309
on second thought, hooking into getcwd() is a bad idea, who uses this for code loading, anyways?
2007-12-21 04:49:25 +00:00
Greg Beaver
0d830a27ea
implement cleaning of crap paths - major functionality boost
2007-12-20 23:12:40 +00:00
Greg Beaver
0bfc046eac
remove minor (and unnecessary I might add) windows compile warnings
2007-12-20 04:12:23 +00:00
Greg Beaver
d4eccb4471
holy cow - include/fopen/cwd magic fully working on unix now for windows testing
2007-12-19 04:37:25 +00:00
Greg Beaver
2222da9493
making progress (include magic works)
2007-12-19 03:17:05 +00:00
Greg Beaver
0c51d58138
[unfinished] magically handle getcwd() and fopen() with include_path inside phar
...
this work is incomplete, but compiles and existing tests pass
2007-12-18 17:01:24 +00:00
Greg Beaver
47cef85c22
fix alias overloading detection on windows
2007-12-14 18:42:57 +00:00
Greg Beaver
4fb3122b16
fix terrible logic discovered in windows testing (not sure how it ever worked on unix)
2007-12-14 18:34:12 +00:00
Greg Beaver
708569029c
windows fixes #2 (thanks Steph you rule)
2007-12-14 05:45:48 +00:00
Greg Beaver
c6fe26af37
windows fixes (thanks Steph you rule)
2007-12-14 05:39:20 +00:00
Greg Beaver
38bf150e4d
remove stupid*$(# debug code
2007-12-14 05:00:59 +00:00
Greg Beaver
8a614e30db
use thread-safe global var to store zend_compile_file, and restore the current zend_compile_file, not the one we
...
found in MINIT
2007-12-11 19:28:35 +00:00
Greg Beaver
47d859ced2
use stream_copy_to_stream again, figured out how to make the stupid filters work
2007-12-11 19:21:01 +00:00
Greg Beaver
688aef57f8
add the ability to automatically resolve includes inside a phar to files within that phar, so
...
no code modification is needed to include/require
2007-12-09 21:57:44 +00:00
Greg Beaver
4bcb68a4e8
fix errors found in delMetaData(), add get/delMetaData() to MetaData read test
2007-11-25 05:04:40 +00:00
Greg Beaver
e34be4f8bc
preliminary work on using gnupg to verify/create signatures - no implementation, just phpinfo() output and build rules
2007-11-24 04:30:08 +00:00
Greg Beaver
a72251be6e
experimental support for optional bz2 extension - should make windows users a whole lot happier
2007-11-24 04:06:44 +00:00
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
Greg Beaver
05f0989797
tweak docs for canCompress
2007-01-16 00:00:26 +00:00
Marcus Boerger
433a932aad
- Improve flag handling
...
- Fixes to file open mode
- First step towards permission handling
2007-01-14 00:32:38 +00:00
Marcus Boerger
c13d272acc
- Drop useless comment
...
- Move global macro def to .c
- Cleanup by using bit fields for internal flags
2007-01-13 17:10:18 +00:00
Marcus Boerger
1b98a49f8b
- Change version validation to minimum api version required
2007-01-13 16:44:54 +00:00
Marcus Boerger
c6c23145f4
- Change to new layout wich has some more flags that will be used for perms
...
- Update/simplify tests
2007-01-13 16:17:04 +00:00
Marcus Boerger
1834516f7a
- Reorder includes
2007-01-11 22:57:42 +00:00
Marcus Boerger
7303202be1
- Fix a few things
...
- Cleanup
2007-01-11 01:04:47 +00:00
Marcus Boerger
0295f8bbdc
- Fix shutdown issue (keep the speed)
2007-01-10 00:38:17 +00:00
Marcus Boerger
813d4a2451
- Simplify/Add comment
2007-01-10 00:07:45 +00:00
Marcus Boerger
a3020cee1f
- Simplify
2007-01-09 23:57:03 +00:00
Marcus Boerger
a7d57a4814
- Fix write support & simplify
2007-01-09 23:23:12 +00:00
Marcus Boerger
af6a28ba0d
- Simplify
2007-01-09 22:30:56 +00:00
Marcus Boerger
469a0c68dd
- Cleanup
2007-01-09 18:54:37 +00:00
Marcus Boerger
887a45e3e8
- Fix fname and alias hash table handling
2007-01-09 02:27:12 +00:00
Marcus Boerger
8e8697b1f7
- Add Phar::getSignature()
...
- Add Phar::getModified()
- Fix internal hash storage size
- Fix minor memory issues
- Drop boguscode lines (copy'n'paste left over)
- Increase api version to 0.9.0
2007-01-09 00:27:13 +00:00
Marcus Boerger
7093d72b5e
- Add initial hash support write/read/verify md5/sha1(default)
2007-01-08 23:03:41 +00:00
Marcus Boerger
f6da0a4df6
- Better handler names (group by prefixing)
2007-01-08 19:30:52 +00:00
Greg Beaver
e34af34365
fix unlink
2007-01-07 19:57:26 +00:00
Greg Beaver
1ef69b7f08
another attempt to fix unlink()/unset()
2007-01-07 19:45:31 +00:00
Greg Beaver
71c7c383b4
fix unlink - make sure it actually erases the file
2007-01-07 19:05:12 +00:00
Marcus Boerger
e947f62b01
- Fix memory issues
2007-01-07 18:35:48 +00:00
Marcus Boerger
0d8ec844d6
- Fix a memleak
...
- Fix uninitialized mem access
- Fix/improve error handling
- Add INI entry phar.readonly
- Add tests
2007-01-07 16:01:35 +00:00
Edin Kadribasic
b23813044d
Var declarations first (fixes windows build)
2007-01-06 18:58:34 +00:00
Greg Beaver
94d1d69569
add unset support and test
...
make sure isset() does not return deleted files
do not store implicit aliases for the phar
2007-01-05 04:45:52 +00:00
Greg Beaver
8b94a6a254
add support for creating new files via array access
2007-01-05 04:27:49 +00:00
Greg Beaver
ef4749b8cf
fix creation of phar from scratch, add test case
2007-01-05 03:04:56 +00:00
Greg Beaver
c7c42d9d47
add test for delete in phar, we needed to check the deleted flag in case the new phar has not been flushed to disk
2007-01-05 02:04:07 +00:00
Greg Beaver
00f516cc99
fix creation of new files within an existing phar, add test
2007-01-05 01:50:26 +00:00
Greg Beaver
10d45c7668
fixed crc - write test works
2007-01-05 01:13:13 +00:00
Greg Beaver
fc2d773388
major reworking of how the phar is re-worked in memory when written to, fix written phar
...
CRC32 check fails on newly added files in phar, I can't figure out why
2007-01-04 05:32:45 +00:00
Greg Beaver
801f8aaf01
add unlink support
2007-01-03 15:53:29 +00:00
Greg Beaver
d1cc13c9b2
fix all but one of the double-destroyed hashes, and all but one of the unclosed streams
2007-01-03 15:43:07 +00:00
Greg Beaver
3842b6712d
correctly generate version string for new phar
2007-01-02 22:57:47 +00:00
Greg Beaver
c88a692b31
add some error handling to phar creation
2007-01-02 21:21:18 +00:00
Greg Beaver
5321858746
add some error handling to phar creation
2007-01-02 21:01:44 +00:00
Marcus Boerger
d013240a01
- Change write macros to inline funcs
2007-01-02 20:25:04 +00:00
Greg Beaver
0bbbb73910
fix a number of bugs found in testing new (uncommitted) unit test
2007-01-02 19:59:38 +00:00
Marcus Boerger
63bc59ae0a
- TSRM fix
2007-01-02 19:54:09 +00:00
Greg Beaver
1ffb4ba7eb
initial support for writeable phars
...
# we need to refcount everything, I suspect, or we can get segfaults, have not verified this though
# all the write stuff is untested, and Phar::__construct() does not allow creation of a new phar, only appending to and existing one
2007-01-02 18:15:17 +00:00
Greg Beaver
373fb2f82f
add doc comments to help sort out what's what
2007-01-02 00:04:30 +00:00
Marcus Boerger
a289a0d435
- Fix memleaks
2006-11-12 17:37:51 +00:00
Marcus Boerger
45b6a1cb24
- Set clone handler even though right now some spl code snippet is missing
2006-03-10 23:53:41 +00:00
Marcus Boerger
d85294d0f4
- Fix issue with parser error in included phar:// entries
2006-03-10 23:52:57 +00:00
Marcus Boerger
b883386ff0
- safe_mode is nuked in head
...
- spl_filesystem_object now allows controlling of clone too
2006-03-08 20:31:23 +00:00
Marcus Boerger
e324e11452
- Initial refcounting
2006-03-08 20:07:25 +00:00
Marcus Boerger
96fc81d615
- WS/CS
2006-03-08 00:56:31 +00:00
Marcus Boerger
c818d09f6d
- Add initial array-access support based on Greg's patch
2006-03-04 22:48:05 +00:00
Greg Beaver
0d12c29530
s/archieve/archive
2006-03-04 02:12:22 +00:00
Marcus Boerger
c9f49d277b
- Store min/max timestamp of entries while building manifest and use max
...
value for a/c/m-time of dirirectory stats.
2006-03-02 22:44:39 +00:00
Marcus Boerger
40a610887d
- Need to set eof flag when inner stream has eof condition
2006-02-28 14:44:23 +00:00
Marcus Boerger
946219de15
- Fix reflection info
2006-02-28 01:57:00 +00:00
Marcus Boerger
ce2b0345fb
- This dtor is actually always needed
2006-02-28 01:45:28 +00:00
Marcus Boerger
a3fcdf4f08
- Add OO interface to handling phar archieves and entries
...
- Add support for HEAD
- Cleanup
2006-02-28 01:36:30 +00:00
Greg Beaver
d536cb4139
update copyright year, and add credits for Davey Shafik/info on where Phar came from
2006-01-23 19:30:14 +00:00
Marcus Boerger
42e3644d5b
- Add bzip2 decompression support
2006-01-12 21:16:29 +00:00
Marcus Boerger
566f8b136a
- Use consumed filter to check number of compressed bytes read
...
# This fixes all tests again
2006-01-12 02:33:28 +00:00
Marcus Boerger
8166072ea3
- Change to use streams filters which simplifies decompression a lot and
...
easily allows to use other compression algos too
2006-01-11 23:55:57 +00:00
Marcus Boerger
b4e19230f9
- Split fname/phar-data mapping and alias/phar-data mapping
...
- Add test
2006-01-11 21:19:46 +00:00
Marcus Boerger
9222435376
- WS
2006-01-11 20:32:56 +00:00
Marcus Boerger
5b62ceebb2
- Fix more errors (by the way the phars are found)
...
- Cleanup code
2006-01-11 01:51:47 +00:00
Marcus Boerger
23d81c4630
- Fix a few error checks
2006-01-11 00:50:07 +00:00
Greg Beaver
2ca31fa63c
tests need updating, but this works with a valid 0.8.0 phar now. Additions include alias/apiversion/per-file flags in the manifest
2006-01-10 06:46:17 +00:00
Marcus Boerger
57c39d214d
- WS
2006-01-06 20:43:19 +00:00
Marcus Boerger
cc242b6afa
- Fix potential crash (const' type is not initialized in case of error)
2006-01-06 20:34:31 +00:00
Marcus Boerger
27dbc1d969
- Prevent overloading aliases
...
- Detect already loaded files and reuse them instead of reloading them
- Add a test for the above
2006-01-06 19:20:21 +00:00
Marcus Boerger
2490f087b4
- Fix typo and change to sizeof usage
2006-01-06 17:32:34 +00:00
Marcus Boerger
685fa28235
- Rewind stream when transferring ownership
...
- Add Phar::loadPhar + test
2006-01-06 17:23:42 +00:00
Marcus Boerger
fbdb432847
- Typo
2006-01-06 15:31:42 +00:00
Marcus Boerger
abd2aeb1cd
- Use temp streams internally instead of memory to reduce memory usage
...
# Internally we try to use only one temp stream if possible by stoing
# the temp stream in the manifest entry and transferring ownership upon
# usage/close. If a particular file gets opened twice in parallel we open
# a second temp stream nonetheless.
2006-01-05 22:24:41 +00:00
Marcus Boerger
f3275b2080
- Made HashTable manifest a direct member rather than a pointer
...
- Need to find a working detection for compressed phars
2006-01-05 11:32:05 +00:00
Marcus Boerger
f65ab3c1e0
- If no compression was specified and we detect compression than simply set
...
compression mode.
2006-01-05 00:55:55 +00:00
Marcus Boerger
9b3ea9bb59
- Allow simple .phar too (in that case we guess no compression)
2006-01-05 00:53:41 +00:00
Marcus Boerger
d4a400726d
- Cleanup/simplify/let configure determine whetehr we are big/little-endian
2006-01-05 00:39:31 +00:00
Marcus Boerger
7ed3be8240
- Fix TSRM builds
2006-01-04 16:18:31 +00:00
Marcus Boerger
b72e1143d2
- More clean up (no need to export enything because one may either access
...
the stream handler tables through the streams api or use the streams
which is prefered anyway).
2006-01-04 15:50:45 +00:00
Marcus Boerger
5a45646d8b
- Clearify names
...
- Fix several memleaks
- Cache files
2006-01-04 15:27:18 +00:00
Marcus Boerger
cb9f1be8aa
- Add myself as author
2006-01-04 13:18:31 +00:00
Sebastian Bergmann
42736d6d70
ZTS fixes.
2006-01-04 09:26:32 +00:00
Marcus Boerger
be1177259e
- Imlement normal stream handling, use .phar.php anf .phar.gz to detect
...
where the filename part ends and whether it is compressed or not
# This already allows: php ext/spl/examples/directorytree.php phar:///...
2006-01-04 02:26:15 +00:00
Marcus Boerger
cc860105fe
- Fix two crashes in case of error
2006-01-03 16:22:23 +00:00
Marcus Boerger
e829ba3a9d
- Provide parameter info
...
- Add missing editor blocks
2006-01-03 15:59:07 +00:00
Marcus Boerger
d01c016cbd
- Change to new extension layout (drops unneccessary foward decls)
...
- Privide proto's
2006-01-03 15:50:46 +00:00
Greg Beaver
33925b3627
PHP_Archive -> Phar to match coding standards and pecl traditions
2006-01-01 22:49:10 +00:00
Greg Beaver
98e7933f8b
fix 018/019.phpt - we need to compare the whole key, not just all but 1 char, otherwise 1-byte files/dirs are not compared
2006-01-01 22:20:26 +00:00
Marcus Boerger
f21708f0a4
- Small tweaks/cleanup/left-overs
2006-01-01 22:19:51 +00:00
Greg Beaver
4b70d45fc9
remove a host of small problems found by testing 016.phpt
2006-01-01 22:11:03 +00:00
Marcus Boerger
77232928a5
- No revert the automatically inserted /*..*/ where wrong
2006-01-01 20:40:43 +00:00
Marcus Boerger
570e38fde8
- Fix comments
2006-01-01 20:34:22 +00:00
Greg Beaver
edb6e4c9d5
add sorting to opendir() so that it matches PHP_Archive exactly
2006-01-01 20:16:09 +00:00
Greg Beaver
75bac89418
fix eof, fix segfault in stat, add unique dev/inode to allow caching via opcode caches like APC, comply with API 0.7.1, add todo items to EXPERIMENTAL
2006-01-01 07:40:36 +00:00
Greg Beaver
4479bebb13
streamline, add more phpinfo output
...
switch parameter order for PHP_Archive::mapPhar, will be better in the long run
2005-12-14 03:42:43 +00:00
Greg Beaver
b4cc79277a
complete unit tests (woohoo!)
...
add stream seek (mistakenly never enabled)
2005-12-12 06:17:16 +00:00
Greg Beaver
e0b54bcdd3
slightly clearer error message
2005-12-11 21:44:44 +00:00
Edin Kadribasic
48f4c97b8c
Use php5 built-in zlib. Unfortunatelly we don't export zError() there
...
so I habe generic "compression error" will suffice.
2005-12-11 21:23:35 +00:00
Greg Beaver
dd8e3dd4df
fix opendir, add test for subdirectory, revert stupid addition to 018.phpt
2005-12-11 08:14:44 +00:00
Greg Beaver
7187bdc0d3
add opendir/readdir test for root dir, fix dir stat
2005-12-11 07:25:30 +00:00
Greg Beaver
ca86d4fa92
switch to php_stream_wrapper_log_error from php_error_docref (should be documented somewhere...), add test for failing stream open
2005-12-11 00:00:31 +00:00
Greg Beaver
285b5a934e
fix minor leak on zlib error, new test for gzipped internal file
2005-12-10 23:19:32 +00:00
Greg Beaver
fb5cff819d
add crc checked flag, for slight speedup on multiple access to the same file
2005-12-10 00:00:00 +00:00
Greg Beaver
e1d98926ba
new test, better naming of tests
2005-12-09 23:55:52 +00:00
Greg Beaver
0285ef3952
fix leaks, mem corruption, and add test for successful phar
2005-12-09 23:37:03 +00:00
Greg Beaver
48050ca09d
add constraint check for number of manifest entries, and test
2005-12-09 19:55:29 +00:00
Greg Beaver
755e9c3172
improve error messages to state overrun when it exists. Also, catch overrun before we attempt to write beyond the buffer's end
2005-12-08 07:59:18 +00:00
Greg Beaver
68a5fdea12
CS // -> /* */
2005-12-08 07:38:44 +00:00
Greg Beaver
eb3c055e21
rework errors slightly. Add buffer overflow check for manifest, so we don't create a memory monster by accident
2005-12-08 07:34:16 +00:00
Greg Beaver
919b0736c5
add next truncation test, tweak error messages
2005-12-08 07:08:49 +00:00
Greg Beaver
16bd8c6ac7
add error if seeking fails on self, add test 1 for truncated phar
2005-12-08 06:46:02 +00:00
Greg Beaver
6ff5c1f974
add error if __HALT_COMPILER(); is not declared and new test
2005-12-08 06:38:26 +00:00
Greg Beaver
eea900316b
add PHP_Archive::canCompress() which determines whether zlib decompression is available
...
clean up code slightly
add lots of error notification
add .cvsignore for tests/
update 002 to handle new testing behavior
2005-12-07 06:39:03 +00:00
Frank M. Kromann
b6f3fc1acf
Fix ZTS and Win32 builds
2005-12-07 01:18:54 +00:00
Greg Beaver
f9e209f048
fix segfault in opendir/readdir. fix possible duplicate dirs. is_dir() doesn't yet work, so url_stat is not working fully
2005-12-05 08:31:05 +00:00
Greg Beaver
7944a489fd
switch to streams, respect safe_mode, open_basedir
2005-12-05 04:47:29 +00:00
Greg Beaver
92846c03d4
kill memory leaks
2005-12-05 04:21:36 +00:00
Greg Beaver
852eec498f
add ability to detect zlib library when zlib ext is disabled
2005-12-05 01:07:02 +00:00
Greg Beaver
6e0c451133
update header, use PHP 3.01 license
2005-12-04 22:50:54 +00:00
Greg Beaver
9d4036ea7c
initial import
...
# file handling needs to use streams, handle safe_mode/open_basedir
2005-12-04 20:35:38 +00:00