Commit Graph

175 Commits

Author SHA1 Message Date
Xinchen Hui
cc42ac9d9b Initialize variable with fixed value for avoiding compile warnings 2011-08-07 11:13:27 +00:00
Felipe Pena
12d2104277 - Year++ 2011-01-01 02:48:19 +00:00
Felipe Pena
d90a33d51c - Year++ 2011-01-01 02:46:03 +00:00
Kalle Sommer Nielsen
1fed0e5a84 Kill some more constness warnings in com_dotnet/phar/standard 2010-11-19 16:03:00 +00:00
Kalle Sommer Nielsen
cb30330800 Merge safe_mode changes into extensions that are in sync in both branches 2010-04-26 23:55:03 +00:00
Kalle Sommer Nielsen
dd8e59da8f Removed safe_mode
* Removed ini options, safe_mode*
 * Removed --enable-safe-mode --with-exec-dir configure options on Unix
 * Updated extensions, SAPI's and core
 * php_get_current_user() is now declared in main.c, thrus no need to include safe_mode.h anymore
2010-04-26 23:53:30 +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
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
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
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
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
Marcus Boerger
e2ab5164ce - MFH Fix dependency from Phar to hash 2008-11-04 01:27:52 +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
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
44cb95a53d MFB: fix reading links from streams (works with PharFileInfo->getContent()) 2008-10-11 22:12:18 +00:00
Greg Beaver
59379244ad fix reading links from streams (works with PharFileInfo->getContent()) 2008-10-11 22:12:07 +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
a32388a9dc MFB: fix Bug #46060: addEmptyDir() breaks 2008-09-13 20:57:15 +00:00
Greg Beaver
760172fcee fix Bug #46060: addEmptyDir() breaks 2008-09-13 20:57:09 +00:00
Greg Beaver
a2fdf4bbcc remove weird relic of development past that somehow made it in here on the last commit 2008-09-11 03:33:10 +00:00
Greg Beaver
6391270b85 MFPHP5: fix Bug #46032: PharData::__construct wrong memory read 2008-09-11 03:29:42 +00:00
Steph Fox
cd011d1e9a - MFB 2008-08-31 20:54:28 +00:00
Greg Beaver
28689c9c01 use '\0' instead of 0 for chars, removes intel warning 2008-08-31 19:46:35 +00:00
Greg Beaver
9397c4a5d1 remove unnecessary double variable declarations 2008-08-31 19:42:16 +00:00
Greg Beaver
270964c193 use safer strlcpy, patch by Tony Dovgal 2008-08-31 07:15:25 +00:00
Greg Beaver
6ac2c92ede 2 fixes, merge minor fixes from pecl/phar. Merge in corrected fix from pecl/phar for is_tar setting of tar_type 2008-08-31 02:14:03 +00:00
Greg Beaver
c3e8485971 fix bug #45792: bz2 compressed files in zip failure 2008-08-21 05:17:28 +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
57caabf653 don't segfault if given invalid/empty private key 2008-07-29 11:18:40 +00:00
Antony Dovgal
2543206105 don't free function name before calling the function 2008-07-29 11:09:00 +00:00
Antony Dovgal
b53da9cd80 fix folding 2008-07-29 10:52:08 +00:00
Marcus Boerger
fb5c092815 - Fix openssl check 2008-07-27 04:23:00 +00:00
Dmitry Stogov
68537af530 Fixed directory reanming/deletion 2008-07-20 14:42:34 +00:00
Dmitry Stogov
478234b235 Fixed wrong refcount updates 2008-07-10 16:16:15 +00:00
Steph Fox
b9e8695e75 - One solution for the openssl issues
- config.m4 needs bringing into line with config.w32, there may be broken behaviour under *nix until this is done
2008-06-23 19:18:01 +00:00
Steph Fox
332a185e08 - ws, typo fix 2008-06-22 13:10:03 +00:00
Steph Fox
0e5b3a3527 - Don't free stuff you still need 2008-06-21 21:37:39 +00:00
Steph Fox
f43a2be8cd - fix for segfault in 5.2 (patch from Greg) 2008-06-21 19:15:46 +00:00
Steph Fox
b964ec6e5d - ws 2008-06-21 18:57:53 +00:00
Greg Beaver
14c26d05ba fix leak 2008-06-21 06:21:58 +00:00
Steph Fox
97cf2a15da - 5_2 compatibility stuff (so we can stay in sync with PECL) 2008-06-20 16:29:36 +00:00
Greg Beaver
aff3636d9c minor performance improvement 2008-06-20 06:37:14 +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
Pierre Joye
e5e9be2d1a - really fix the windows builds, don't cast many times when only the hash function requires void **
- copy/paste evilness with TSRM_CC/DC
(tests still pass but would be nice to speed them up...)
2008-06-18 10:20:47 +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
5e3f592d88 fix memleak 2008-06-15 22:51:46 +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
Felipe Pena
d61f32d021 - Fix build (ZTS) 2008-06-13 13:06:46 +00:00
Greg Beaver
9c8d13fd6c partial refactor - move signature verification into its own function, in preparation for tar/zip signature support.
next is signature creation
2008-06-13 06:34:41 +00:00
Greg Beaver
d0734964ca fix memleak on error 2008-06-10 17:58:09 +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
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
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
51a1d6a3b7 increase code coverage in util.c 2008-05-12 00:43:11 +00:00
Greg Beaver
24efbb759b simplify phar_get_link_location and increase its coverage to 100% 2008-05-11 23:03:56 +00:00
Greg Beaver
70d0a4c045 increase code coverage and fix tiny bug in handling of absolute links 2008-05-11 22:59:16 +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
a919e2f858 fix serious logic error and potential security issue with phar_compiled_file and
phar_find_in_include_path.  We were allowing data-based phars to be executed, and actually marking phar-based phar archives
without '.phar' in the name as data-based phars, which would allow modifying them even if phar.readonly=0.  Add test for this sinister case
2008-05-08 00:49:37 +00:00
Greg Beaver
5ba8ca70a4 fix alias overloading handling for archives that are not in use 2008-05-06 21:14:53 +00:00
Greg Beaver
2b8a56779b fix cwd test in php 5.2, now all tests pass in 5.2 on unix 2008-04-30 23:06:57 +00:00
Greg Beaver
d16f86f528 fix Bug #13786 on unix (Steph can you verify?) 2008-04-30 22:16:25 +00:00
Greg Beaver
5f4c42d301 fix double free 2008-04-30 20:17:27 +00:00
Greg Beaver
fbb2e8ce60 more fixes for PHAR_G(cwd) 2008-04-28 06:03:33 +00:00
Greg Beaver
62f824b6e1 fix crash (this area really needs code coverage) 2008-04-28 04:38:07 +00:00
Greg Beaver
c5fc383cb7 finish code coverage work (whew) 2008-04-26 05:28:56 +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
2bf5042d74 finish code coverage testing of phar_object.c (except for iterator building, which Steph is doing) and fix segfault in error message for directory getcontent if it is a temp directory 2008-04-25 16:10:59 +00:00
Steph Fox
28459132cb - Fix Windows build 2008-04-24 16:03:40 +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
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
Greg Beaver
26e10f8cca fix compression zip tests 2008-04-16 20:26:22 +00:00
Greg Beaver
eb252c5c92 fix potential segfault if some idiot tries to remove the root directory of a phar, add creation of root directory to test 2008-04-14 16:26:01 +00:00
Greg Beaver
2277396fe3 fix edge case where a new phar is created via mkdir(), add to dir.phpt test 2008-04-14 15:21:41 +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
2e9fca4f0b fix read/write for PharData object, update tests to current API 2008-03-24 03:01:31 +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
6cef8da201 move all blah++ to ++blah where possible for those with crapass compilers 2008-03-22 22:11:49 +00:00
Greg Beaver
01e5bbbaf5 fix memleak in php 5.2, simplify code slightly 2008-03-22 21:54:55 +00:00
Marcus Boerger
f022bca16b - Fix build for PHP < 5.3 2008-03-22 16:33:33 +00:00
Greg Beaver
891067c975 fix the memleak - but this breaks the \*compressAllFiles\*() methods because of fatal flaw
in renaming implementation - see pecl-dev email for details
2008-03-21 19:54:07 +00:00
Greg Beaver
d02dff1363 save work - sandbox is completely f**ed up, have to rm -rf and start again
This *SHOULD* fix issues, but I can't get run-tests to work reliably to be absolutely sure
2008-03-20 23:59:07 +00:00
Greg Beaver
0262e844c4 implement full support and usage of phar stream in include_path, for both 5.2 and 5.3.
5.3 code expects the proposed patch for stream wrapper in include_path to be committed
5.2 code only supports phar stream wrapper in include_path.
this is a 2-step process.  After this, more magic, particularly in funcinterceptors.c will be
converted to use phar_resolve_path, which is far safer than the current implementation.

this needs windows and 5.2 testing unix/windows
2008-03-12 03:55:12 +00:00