2010-05-31 Bart Vanbrabant * Release version 0.9.6.1 * php_check_open_basedir only needs to be called when restoring 2010-02-25 Hans Rakers * Fixed class static variable restore where parent was protected static and child was public static. This would lead to error 'Access to undeclared static property' upon restore from cache * Added proper handling of class properties during storing in cache. Public/private/protected is properly handled now. Somehow this was a long overdue TODO spotted by running the testsuite. This fixes ticket #408 * Small fix that solves some issues with lambda (closure) functions. This solves ticket #405 2010-02-24 Hans Rakers * Fixed double free in eaccelerator_globals_dtor. This closes ticket #404 2010-02-18 Hans Rakers * Remove some leftover debug output that broke compilation with php-5.2 and --with-eaccelerator-debug 2010-02-04 Bart Vanbrabant * Now really add the sched_yield command and not only in commented out * Bump version to 0.9.6 2010-02-04 Hans Rakers * Fixed linking of ZEND_DECLARE_INHERITED_CLASS_DELAYED across bb's in the optimizer. This fixes bug #399 2010-02-03 Bart Vanbrabant * Use snprintf the right way. See #290 * Add a call to sched_yield after a failed spinlock to prevent deadlock conditions. This should fix #381 and is a real fix for #340. Instead of using a fake select as yield, a check is added to disable spinlocks on systems that do not have sched_yield. * Fix spinlocks on Solaris with Sun Compiler. #325 2010-01-22 Bart Vanbrabant * Release 0.9.6-rc2 2010-01-21 Hans Rakers * Set op_array->early_binding in a later stage. This fixes ticket #394 2010-01-20 Hans Rakers * Some more work on delayed early binding. This fixes ticket #388 * Some reformatting in ea_dasm.c * Win32 VC6 project file updated 2010-01-19 Bart Vanbrabant * Remove obsolete documentation * Update year in copyright 2010-01-19 Hans Rakers * Implemented ZEND_GOTO * Implemented delayed early binding for php-5.3. This solves ticket #146 (Problems with require_once with circular dependencies) for everyone using php-5.3. See http://marc.info/?l=php-internals&m=120539866910125&w=2 for more info on this. * Fixed ticket #386 (Crash using const & php-5.3) * Fixed a bunch of other php-5.3 related issues found by using the test suite and all php-5.3 Zend engine tests * Win32 project files updated * Win32 ZTS fixes 2009-12-23 Hans Rakers * Fixed ticket #383 (crash on ZEND_ADD_INTERFACE) * check_mtime can now be enabled/disabled through the web interface as requested in ticket #32 * Shortened some variable names * ZEND_JMP_SET support 2009-12-01 Hans Rakers * Win32 compilation fixes (compiles in VC++ 2008) * Updated VC++ project file to VC++ 2008 format 2009-11-30 Hans Rakers * Added a whole bunch of standard functions to opt_result_is_numeric() * init allocated memblocks with memset instead of a for loop in reassign_registers() * Fix in build_cfg for PHP 5.3 UCLASS znodes. These are handled differently in 5.3 due to namespaces. * Some tweaks and additions to ea_dasm.c * Some quick and dirty tweaks to dasm.php to sync looks with control.php * Fixed ordering of table columns in control.php. This solves ticket #364 2009-11-25 Hans Rakers * Optimizer and general PHP 5.3 fixes * Some cleanups 2009-11-11 Bart Vanbrabant * Add the optimizer back 2009-11-11 Hans Rakers * PHP 5.3 ZEND_JMP_SET support. Fixes ticket #371 * open_basedir bypass fixed. Fixes ticket #104 * Fix for ticket #194 * Stripped old opcodes from opcode.c and added new ones 2009-07-14 Bart Vanbrabant * Fix two PHP 5.3 bugs * Remove the optimizer * Remove the user cache functions 2009-05-06 Bart Vanbrabant * Remove code that is only needed for php < 5 * Rebase to code to minimal PHP 5.1 * Update support for PHP 5.3 * Remove have_sched_yield check in config.m4. This is not used anywhere and and causes some compilation errors. * Apply patch from ticket [324] 2008-06-20 Bart Vanbrabant * First stab at php 5.3 support. Only fixes the script cache. phpMyAdmin seems to work with these changes. * Fix user cache stuff 2008-06-19 Bart Vanbrabant * Remove support for all php versions older than php 5.1 2008-06-18 Bart Vanbrabant * Add patch from ticket 232: removes an unlock that isn't needed there. 2008-02-12 Bart Vanbrabant * Add new opcodes introduced in PHP 5.3 2007-08-20 Hans Rakers * Changed crash handler error message format to Apache-style error log format as suggested in ticket #217 * Fixed ticket #274 * Performance: eliminated a bunch of time() syscalls * Performance: eliminated calls to eaccelerator_gc when not build with either session, shm or user cache functionality (which are all off by default) * Disable eaccelerator_list_keys function when not build with either session, shm or user cache functionality (which are all off by default) * Disable 'User Cache' tab in control panel when not build with either session, shm or user cache functionality (which are all off by default) * Added a creation timestamp to each cache object (shm and disk) * Added ttl and creation timestamp display to eaccelerator_cached_scripts() / control.php * Changed some counters in ea_cache_entry from signed to unsigned int * Renamed some mmCache remnants && fixed typos/language 2007-08-20 Bart Vanbrabant * Rewrite the calc_* funtions so they no longer uses the EAG(mem) global. * Rewrite the fixup_* functions so they no longer use the EAG(mem) global. * Rewrite store_* functions so they no longer use the EAG(mem) global. * Add code that checks the shared memory chunks if needed to make sure no data was written past the boundary. Change #undef MM_CHECK in mm.c to #define MM_CHECK 2007-08-19 Bart Vanbrabant * Fix an E_NOTICE error in the control panel * Improve storing of objects and fix bug #264 2007-08-16 Bart Vanbrabant * Fix a typo in the config file. #269 2007-08-14 Hans Rakers * Optimizer fix for #242. PHP-5.2.1 introduces a ZEND_JMP before a ZEND_FETCH_CLASS/ZEND_CATCH which the optimizer did not handle correctly, resulting in uncaught exceptions. (Thanks to warwickshaw) 2007-05-09 Bart Vanbrabant * Use php_strtok_r instead of strtok_r (Thanks to Daan ) * Add fnmatch.c and fnmatch.h and use it on win32 (Thanks to Daan ) * Casting of var 'len' to (int) in decode_version() to get rid of an VC++ 6 warning (Thanks to Daan ) 2007-04-21 Bart Vanbrabant * Add patch from Nathanael (eaccelerator@polymorpheus.com) 2007-03-07 Bart Vanbrabant * Apply the patch from #244 which causes heap corruption. 2007-02-15 Bart Vanbrabant * Kick out the old filter implementation and use one based on fnmatch, this breaks windows support. The plan is to include a bsd licensed fnmatch implementation when a platform doesn't provide fnmatch. (read: when windows is being used). Until some steps up to do this or we run into a machine with windows and VC windows support wil be b0rked. * Move spinlock stuff into mm.c, no need for an extra file with extra indirection. 2007-02-13 Bart Vanbrabant * Added a function to dump an eaccelerator class entry in debug.c * Changed include order in mm.c because of eaccelerator.h include in debug.h * Fixed a nullpointer dereference in some special cases in ea_restore.c:509 * Always compile a ea_debug_error message in ea_restore.c * Cleanup: Removed some commented out code, changed some debug statements, reordered some conditional includes to reduce ifdef statements * Check if those array indices are set before testing them in control.php * Revert some changes form changeset @256 to fix bug #199 * Some more year updates * Fix loading of cached scripts and data on disk * Fixed a bug in the zend_class_entry dump debug routine 2007-01-29 Bart Vanbrabant * Removed some obsolete code 2007-01-04 Bart Vanbrabant * Happy new-year 2006-11-08 Bart Vanbrabant * Enable disassembler links again in the control panel * Add some more isset for E_ALL error reporting 2006-11-04 Bart Vanbrabant * It seems I'm longer able to do simple comparisons, this should fix #187 and is a real fix for #182 2006-10-26 Bart Vanbrabant * Fix encoding and decoding of eA and php versions. Only three numbers versions were encoded, this way file cache isn't removed when using svn snapshots or rc releases. * Fix a compile warning when using filename hashing instead of inode hashing. * Optimize a part of the inode hashing function. * Remove a conditional compile for very old php versions in the filename hashing function. * Included the new control center written by Thomas Love. It rocks! 2006-10-19 Hans Rakers * Replaced short php opening tags in control.php * Fixed typo in NEWS file * Fix for ticket #170 (handling of multi-dim globals by the optimizer) 2006-10-10 Bart Vanbrabant * Fix a bug in the ttl of the cache. see ticket #182 * Release version 0.9.5 2006-09-19 Hans Rakers * Get session config variables from local values instead of global values. This enables altering of session-related settings like gc_maxlifetime, entropy_file and entropy_length through ini_set(). This fixes ticket #166 2006-09-18 Hans Rakers * Fixed unbalanced ifdef in eaccelerator.h introduced in rev [269]. This fixes ticket #177 2006-09-15 Bart Vanbrabant * Reverse changeset 205 (doc-comment exclusion) from Tom Regner . * only put the function that has the same name as the class as contructor if there isn't a __construct function. This fixes ticket #172 * Don't free memory with efree that has been allocated from the eA shm cache. This should fix A LOT of bugreports in Trac and on SF. It fixes #171 but I think also some other bugs. 2006-08-29 Hans Rakers * Skip disk cache creation and clean/clear actions when operating in shm_only mode. This fixes ticket #165 2006-08-23 Hans Rakers * Fixes for tickets #157 and #164 2006-08-06 Bart Vanbrabant * Fix stupid bug (#159) * Handle returning null instead of array (#156) 2006-08-03 Bart Vanbrabant * zend_do_inheritance can't be called with TSRMLS_CC when using php 4, this also means that eAccelerator won't work with threading! * ea_info and ea_dasm: if eaccelerator_mm_instance is NULL, just return null and don't do something. 2006-07-30 Bart Vanbrabant * Don't use our own hash function, the one from the ZE is extremely much faster and provides a much better distribution. * Don't compile the user cache code one no feature is being compiled. * A big cleanup in struct naming * Move some functions around to make more of them static, this reduces the binary size and load times. * Remove some leftovers from restoring encoded scripts which only create overhead without the loader. * Clean up the session handler, removed old code for php < 4.3. * Fixed detection of SysV IPC shared memory and made anonymous mmap the first selected type. This makes the behaviour of rc1 the default. anonymous mmap doens't have the problem of shmmax. SysVIPC is still available! * Fixed some of the detection test in the configure script that probably never worked. 2006-07-29 Bart Vanbrabant * Use php realpath directly without wrapper, TSRM implements the realpath cache 2006-07-28 Bart Vanbrabant * Restore the class entry of zend_property_info when using php 5.2, this fixes bug #151 2006-07-27 Bart Vanbrabant * Branched 0.9.5, development for 0.9.6 will start in trunk * Bumped up version to 0.9.6-dev * Killing the very broken encoder. Once when eAccelerator is in full shape an encoder may return. * Some fixes to make eAccelerator compile with php 5.2, this fixes bug #150 * Restore __toString methods correctly with php 5.2 * Fix bug #145, objects are serialized when they are stored in shared memory. Users don't have to do this in their code anymore. * Wrong ifdef in compile fix for php 5.2 * Update config.w32, VC6 and VC2005 project files * Fix debug build for win32, this fixes ticket #149 * Removed a debug statement and added return value in optimizer.c 2006-07-25 Bart Vanbrabant * Fix restoring of opcode handler for php 5.0.5 when files are loaded from disk cache. This fixes bug #147 * Some update in the release notes for the upcoming rc1 * Fix loader.c too so we don't get any linking errors. 2006-07-24 Bart Vanbrabant * Make clean routine support dir hashing. Again, this should be tested on win32! * Use a define for the magic string in the eAccelerator file headers * Bump up version to 0.9.5-rc1 * Put -O2 back on for -rc1 * Update the VC2005 project files * Add a config.w32 file for static building of eAccelerator 2006-07-24 Hans Rakers * Fix for ticket #47 and #63, related to problems restoring empty strings and empty string array keys from the disk cache. 2006-07-23 Bart Vanbrabant * Fix ticket #143, seems that PHP < 5 doesn't make the extension lower case. 2006-07-22 Bart Vanbrabant * Some zval macro's differ for php4 and 5, this fixes #146. * Also rewrite clean code for cache files on win32 for directory hashing. This hasn't been tested on windows!!! * Added a script to create a bugreport file with more information about the userenvironment. 2006-07-19 Bart Vanbrabant * Use some more zval macro's to cleanup things a bit * Removed the code from mm.c that tried to allocate more then one segment because it didn't work, this part needs a redesign of the mm code to allow this. It should allocate one to init the shared memory and add the other to the free list. 2006-07-02 Bart Vanbrabant * Made some fixes to ea_info.c to make eA compile on windows again. This should fix bug #116. 2006-06-30 Bart Vanbrabant * Cleaned up the checking for other incompatible extensions a bit. This should fix the use of IonCube with eAccelerator. I did some test loading IonCube in different ways and never got in to trouble. This fixes ticket #66. 2006-06-30 Hans Rakers * Added ability to sort table columns by clicking on the table headings in the control panel * Quick & dirty fix for eaccelerator_clear to work with the new cache dir hashing. This still needs to be done for win32. eaccelerator_clean still needs some fixing to work with the dir hashing. 2006-06-27 Bart Vanbrabant * Fixed ifdef for #108 to use only on windows * Fix for bug #109, #31 and SF-1102070 * Cleaned-up RINIT a bit for hostname determining * Included the fix from ticket #94 for zts 2006-06-26 Bart Vanbrabant * Fix ticket #108 * Removed webui.[c|h] from the windows project files 2006-06-06 Hans Rakers * Fix for ticket #101 ('bailout' is used in zend_globals.h in a ZTS build) as suggested by 2006-06-02 Hans Rakers * Removed two unused vars from the internal datastructures * Fixed constructor inheritance. This fixes handling of implicit constructors and solves ticket #89 2006-05-14 Bart Vanbrabant * Forgot to remove some debug messages for the filter bug. 2006-05-08 Bart Vanbrabant * Make the disassembler do openbasedir checks before showing a file, this fixes bug #59 * Changed the filter logic a bit, this fixes bug #72 2006-05-07 Bart Vanbrabant * Added directory hashing for md5 and inode based keys based on a patch from , default is 2 levels deep. * Renamed some left over MM based names to EA. * Increased default hash size for user and script to 512 for extra performance. 2006-05-04 Bart Vanbrabant * Don't store the doc_comments in op_array and class_entry. They are useless. this should reduce memory footprint. * Included patch from Stadler from ticket #23. It adds a nice menu and code highlighting. 2006-04-13 Bart Vanbrabant * When content cache is used also compiled shared memory functions 2006-04-11 Hans Rakers * Fix for 64-bit compilation warnings "cast to pointer from integer of different size" 2006-04-11 Bart Vanbrabant * A lot of fixes to silence the compile warnings generated when compiling with the default Fedora compiler options * Removed FC compiled options from Makefile.in again, stupid me 2006-04-11 Bart Vanbrabant * Silenced the unlock function for win32 until a windows developer can take a look at it. * Updated the README a little more for the new control panel * Added release notes for beta2 * Bumped up version to 0.9.5-beta2 * Patch for dasm.php form Stadler, see #23 * Fixed typo in optimizer which broke compilation for PHP != 5.1 * Released beta2 2006-04-09 Bart Vanbrabant * Fixed some typos in dasm.php * Added authentication to the disassembler 2006-04-06 Hans Rakers * Fixed handling of interfaces. This fixes sf.net bug #1440575. This fix also introduces some changes in the cached object structure so remember to empty your disk caches if you have them. This is always a good thing to do after upgrading btw :) 2006-04-06 Hans Rakers * Reverted the change to the handling of ZEND_BRK made by me on 2006-03-17 since it wasn't working as it should. Since this reintroduces sf.net bug #1442923 i added some code to prevent this bug using a different approach, by restoring operand types changed by build_cfg if build_cfg exits with exit code 0. Since php-5.1 some opcode handlers expect a strict set of operand types, anything else results in 'Invalid opcode' errors. Since build_cfg changes some operand types these changes need to be reverted once the optimizer finishes. For now the only opcode to which this all applies is ZEND_FETCH_CONSTANT, which expects either a CONST or a UNUSED in op1 and a CONST in op2 (See zend_vm_def.h) 2006-04-04 Bart Vanbrabant * Fixed some error introduced by fixing some win32 stuff :( 2006-04-03 Bart Vanbrabant * Moved the FLOCK stuff to a place so it can be used by eLoader to * Fixed quite some compile warnings on Win32 * Updated VC6 project files 2006-03-28 Bart Vanbrabant * Removed the constant that were registered in the debug code. They could only be used in php code and not in the config file. This handles bug #29 2006-03-25 Bart Vanbrabant * Source code is now shown in dasm.php * Added source-code lines to the returned opcode array in ea_dasm.c 2006-03-21 Bart Vanbrabant * Fixed bug #24 2006-03-17 Hans Rakers * Fix for sf.net bug #1442839 (handling of ZEND_ASSIGN_OBJ by the optimizer) * Changed BRK handling to not bail out of the optimizer prematurely on a multi-level break. This does need some more testing, but should fix sf.net bug #1442923 * Removed some dead code in ea_store.c and excluded some debug code from compilation in optimize.c 2006-03-09 Bart Vanbrabant * Included fcntl.h in ea_info.c, this should fix bug #13 2006-03-07 Bart Vanbrabant * Set refcount to 1 before storing a zval in the usercache. This fixes bug #4. * Some formatting cleanups in cache.c * In restore_zval the zval length could be something else then 0 when an empty string was set. * Removed the shorttags in control.php and dasm.php to fix bug #8. * Set the svn keywords property to some files. * Moved some function defs from eaccelerator.h to the right files. 2006-03-06 Bart Vanbrabant * Removed the old webui and made a new controlpanel and disassembler. * Added php api documentation 2006-03-02 Bart Vanbrabant * Changed copyright dates to 2006 * Updated the eaccelerator url in some last files * I removed all authors from specific files. Authors can be traced through mmcache and eaccelerator cvs. I did this because some names should be added to quite some source files while others have added their own while contributing less then the once not mentoined. All contributors are credited in the AUTHORS file and specific information can be found in the Changelog and cvs. 2006-03-01 Hans Rakers * Bunch of Win32 fixes. It compiles cleanly now (tested with VC++ 6.0) * Fix to the optimizer for bug #1439344 * Fix to ea_store.c for a build problem on RHEL3 reported on the forums at https://sourceforge.net/forum/message.php?msg_id=3596327 2006-02-28 Bart Vanbrabant * Changed the module entry url to eaccelerator.net and year * Removed the crash function * Disable the keys, session and content cache by default. These could result in a local DoS by cache poisioning 2006-02-24 Bart Vanbrabant * Release of eaccelerator 0.9.5-beta1 2006-02-24 Hans Rakers * Altered the way debug output is in/excluded by adding a macro that makes sure calls to functions like ea_debug_printf don't get compiled in a non-debug build. The macro approach was chosen to prevent swamping the code with any more ifdef statements. This approach (as opposed to the previous empty-function-if-no-debug-build) also makes sure debug function arguments such as the tons of getpid()'s (which don't come cheap) don't get compiled in and executed in a non-debug build. 2006-02-23 Hans Rakers * Don't increase parent refcount in restore_class_parent. This is wrong and leads to trouble in the Zend shutdown phase (zend_destroy_class). This most likely also fixes the REMOVE_POINTER_FROM_LIST segfault of bug #1432758 2006-02-22 Hans Rakers * Workaround for "multiple definitions of symbol" thread-safe build problem on OSX. This fixes bug #1407520 * Renamed mm_mutex to ea_mutex to avoid confusion with eA's memory manager. This was probably a leftover of mmCache times. 2006-02-21 Hans Rakers * Ditched the variadic macros. They were kinda useless now anyway since they were only passing one arg. This should make the Win32 folks happy since VC6 doesn't seem to support variadic macros (its a C99 thing) * Removed some excessive debug output. 2006-02-20 Bart Vanbrabant * Fixed bypassing open_basedir restriction when the file was already cached. This fixes bug #1427719 * Included patch #1435196 to fix the problem of duplicate keys that don't get removed. 2006-02-20 Hans Rakers * Fixed static_members handling for php-5.0. Broke this while working on PHP-5.1 support. Lost in ifdef statements ;) * Fixed ZE1 (<=PHP4) problem regarding parent class lookup during restore. Parent classname wasn't lowercased before lookup in class_table. This also fixes bug #1432758 (can't restore parent class "stdClass" of class xyz) 2006-02-19 Hans Rakers * Restored PHP4 compatibility * Fixed inheritance/prototype issue with abstract methods and classes during restore. zend_do_inheritance handles these properly now. 2006-02-18 Bart Vanbrabant * Bumped up version to 0.9.5-dev 2006-02-17 Bart Vanbrabant * Merged PHP_5_1 branch with HEAD 2006-02-17 Hans Rakers * PHP_5_1: Some final fixes before merging to HEAD: - Fixed bug #1410723 (handling of class constants by the optimizer) - Fixed backwards compatibility with PHP < 5.1 This revision works pretty well in my testing environment, PHP-5.1 support seems to be coming along quite well. Please test with your applications/ in your environment and report back with your experiences or possible problems! 2006-02-15 Bart Vanbrabant * Released version 0.9.4 2006-02-15 Hans Rakers * PHP_5_1: Fixes for five failing tests found using the test suite created by Bart Tests that failed where: -ctor_dtor_inheritance (failed because __construct, __destruct and __clone were not properly set) -destructor_and_exceptions (failed because inheritance of parent methods was broken, fixed by making sure ea_store doesn't store methods outside scope) -inheritance_002 (failed because __construct, __destruct and __clone were not properly set) -private_members (failed because __construct, __destruct and __clone were not properly set) -type_hinting_003 (failed because array_type_hint introduced in zend_arg_info in PHP-5.1 was ignored) 2006-02-14 Bart Vanbrabant * PHP_5_1: Changed cflags to -O2 from -O3 2006-02-09 Bart Vanbrabant * On failure of mm initialisation, return FAILURE instead of disabling eAccelerator. 2006-02-08 Bart Vanbrabant * The owner of the a sysvipc mutex will now be changed on creation of of the mutex. The user will be set to the uid set with --with-eaccelerator-userid. This way the semaphore doesn't need to be public writable anymore. * Moved some inactive contributors to the inactive list. * Aplied patch #142200 * Fixed typo (patch #1409125) * Fixed some typos and cleaned up the README file a bit more * Fixed some typos in README.eLoader * Updated NEWS and bumped up version to 0.9.4-rc2 * Released 0.9.4-rc2 2006-02-07 Hans Rakers * PHP_5_1: Fix for problems with __autoload * PHP_5_1: Fixed compile problems with thread-safe PHP 2006-02-06 Hans Rakers * PHP_5_1: Quite some major changes, including but probably not limited to: -Fixed numerous memory leaks -Fixed the handling of empty string variables (as in ""), causing "String is not zero-terminated" warnings when PHP is compiled with --enable-debug -More fixes to the handling of static properties (access checking/inheritance) -Inheritance on restore is now handled by zend_do_inheritance -Fixed handling of ZEND_OP_DATA and ZEND_INIT_METHOD_CALL by the optimizer -Cosmetic fixes (spelling etc.) 2006-01-16 Hans Rakers * PHP_5_1: Fix for bug #1401474 (and most likely some more php-5.1 related trouble) static_members handling was incorrect. 2006-01-12 Hans Rakers * First batch of PHP-5.1 related changes committed to the newly created PHP_5_1 branch. This is a work in progress, so YMMV. 2006-01-10 Bart Vanbrabant * Fix for bug #1366008 * Fix for bug #1238736, when a log file is set eA will lock it before writing to it. 2005-11-22 Bart Vanbrabant * Disabled the cache dir check, to much people complaining * fixed eLoader 2005-11-22 Bart Vanbrabant * Some compile fixes from Chmouel Boudjnah 2005-11-20 Bart Vanbrabant * check_cache_dir is only done when shm_only = 0 * Only eA is disabled when init of shared mem or cache check fails * Released 0.9.4-rc1 2005-11-20 Bart Vanbrabant * Removed executor hooks, they weren't used anyway. * Check if eA has a valid cache directory. * Make the init of php fail if the initialisation of the shared memory or cache directory failes. * set shared memory size in eaccelerator.ini to 0 so the default OS size is used. * README updates * Updated version to 0.9.4-rc1 2005-11-17 Bart Vanbrabant * Fixed optimizer bug with php 5.0.5 2005-11-16 Bart Vanbrabant * Patch for including files in same directory (#1259695) from Alexy 2005-11-15 Bart Vanbrabant * Spinlock test now tests for i386 and x86_64. Because spinlocks where never used on 64-bit and sysv ipc locking didn't work, there were a lot of problems. 2005-10-20 Bart Vanbrabant * The two error message added to see if a lock has failed made configure fail to compile the shared memory test. 2005-10-13 Bart Vanbrabant * Fixed the php5 optimizer bug. * Changed semaphore permissions to 0666 so sysvipc locks work. Working locks seem a bit more important than making the semaphore public. (#1295970) * Added error messages when a lock can't be aquired or released. 2005-08-03 Bart Vanbrabant * Included some compile fixes. (Thanks Matt) * Included patch from the hardened php guys to make eA work with hardened php. 2005-07-11 Bart Vanbrabant * ea_store.c and ea_restore.c functions clean up * extraced restore_class_parent and restore_class_methods from restore_class_entry to share code with loader.c * extracted opcode handling in encode/decode_op_array into encode/decode_op to make code more readable * make decode_class_entry use new functions in ea_restore.c * readded line-number encoding * bumped up encoder version to 4 until new loader is in place 2005-07-10 Bart Vanbrabant * Renamed some macros from MMC (mmcache) to EA (eg MMCG is now EAG) * Added eA file header to mm.c, mm.h and x86-spinlocks.h * Readded a hack to the loader to prevent zend2 segfaults 2005-07-09 Bart Vanbrabant * A compile fix for php4 (bug #1235017) * Removed atexit code that only produced segfaults and didn't work (Patch from Rob Foehl ) * Code clean up and compile fixes for VC.net + VC.net project files update (Based on patch #1234919) * Future check warning was done on uninitialised buf. * Some code clean ups and updated VS6 project files. 2005-07-07 Bart Vanbrabant * Added get_zend_destroy_property_info function to ea_restore.h * Code refactoring needed for the new encoder. Moved all store/calc functions to ea_store.c and all restore/fixup functions to ea_restore.c 2005-07-06 Bart Vanbrabant * A compile fix for zend engine 1. * Documented namespace option * New debug/log code. Make the code a lot cleaner and easier for the user to debug eaccelerator. 2005-06-27 Bart Vanbrabant * Fixed a buffer overflow in eaccelerator.c and cache.c. A string longer then 8 bytes was copied in a char array of length 8. This isn't a security risk because the overflowed bytes were directly overwritten by other values. This fixes bug 1228096 which was caused by the bufferoverflow detection in FC4. http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html 2005-06-24 Bart Vanbrabant * The future check is removed because mtime are only checked on changes so caching files from the future isn't a problem. 2005-06-23 Bart Vanbrabant * Applied patch 1226111 * Added a warning message when php scripts have a modification time in in the future and the debug is enabled. 2005-06-20 Bart Vanbrabant * Set the test value shared memory to 32mb instead of 64mb because the test will fail on 2.6 kernels where 32mb is the default value. (#1203253) * Reverted the patch for the gc_maxlifetime setting when using user functions for the session handler. I can't find a way to access the current value instead of the ini setting. Using the session api is the preffered session handling way anyway. 2005-05-22 Bart Vanbrabant * Bumped version to 0.9.4-dev * Changed hash_mm prototype in eaccelerator.h to non-inline (Compaq c compiler) * Fixes from patch 1206311 + some unused variable clean ups 2005-05-18 Franck Tabary * released eAccelerator 0.9.3 final 2005-05-16 Bart Vanbrabant * Added --without-eaccelerator-use-inode configure switch to disable the use of inode numbers for the hash keys (Feature request 1201159). The default behaviour doesn't change. * Fix for bug 1202296 based on patch 1202708 2005-05-15 Bart Vanbrabant * Compile fix for bug 1201564. 2005-05-14 Bart Vanbrabant * The session lifetime patch only fixed the problem when using one type of session handler. It's now also fixed for the other type of session handler. 2005-05-12 Franck Tabary * released eAccelerator 0.9.3-rc2 2005-05-11 Bart Vanbrabant * Fix for must constructor related problems with encoded scripts and php5. Also a fixes memory leak in the loader. (Thanks larnot) 2005-05-10 Bart Vanbrabant * Added some includes to satisfy VC.NET (thanks to dakalka, patch 1198522) * This patch adds the right destructor for the propertiesinfo hashtable, but it doesn't fix bug 1179270 * Updated README.win32 with some extra information from Larnot 2005-05-09 Franck Tabary * released eAccelerator 0.9.3-rc1 2005-05-09 Bart Vanbrabant * Fixes the segfault when loading encoded script with eloader and php5 * Commited README.win32 with instructions to compile eAccelerator on windows * Add the destructor to properties info hashtable in restore_class_entry, fixes bug 1179270 2005-05-06 Bart Vanbrabant * Patch fixing eLoader compilation. 2005-05-05 Bart Vanbrabant * This patch fixes some stuff concerning configuration. With this patch some parts that are forgotten with the code split are fixed. They are also needed to compile eA with VC. The other stuff should make it possible to compile eA as a static module for php. * Updated VC project files 2005-05-02 Bart Vanbrabant * Patch fixing php 5 constructor problems. Fixes bugs 1179264, 1121757 and 1099693 * Added switch -w to encoder so you can encode file without the check for eloader. This is based on patch 1191147 with some fixes. 2005-04-26 Bart Vanbrabant * The first part of the code refactoring. In this part the monolitic eaccelerator.c file has been split up in more logical blocks. - cache.c/cache.h contains the procedure for shm.c/session.c/content.c to add user_cache entries to the ea cache - shm.c/shm.h contains the eaccelerator shared memory functions - session.c/session.h contains the session related stuff - webui.c/webui.h contains all stuff related to the webinterface and disassembler - debug.c/debug.h contains some procedures to print debug information - content.h contains the php content caching prototype instead of eaccelerator.h * Added --without-eaccelerator-shared-memory and --without-eaccelerator-webui configure switches Bugfixes included: * Patch 1188510 eaccelerator_compile_file typos * Patch 1189792 session life time patch * Patch 1167069 HAS_ATTRIBUTE fix with FreeBSD 4.x * Patch 1166707 loader patch for OOP functions in PHP5 * Patch 1173095 mm_alloc & mm_free clash with libirc * Fix for 1178588, 1153030 and patch 1189852. Fixes the endless loop when reseting a non array. The optimisation for that caused this is removed for zend engine 2 and 1 because php >= 4.3.11 is also affected, so this will be useless in some time. 2005-01-14 Shin Seung Woo * fixes 1099498 Problems with IMP H3 (Horde) when restarting apache2 ( bug was lied on fix_zval(), it didn't check IS_CONSTANT_INDEX flag. ) 2005-01-06 Shin Seung Woo * fix for bug 1091815. ( Encoded files and php4.3.10 ) 2005-01-05 Shin Seung Woo Fixed following bugs: * 1092128 Horde-hashs int the sourcecode of eaccelerator.c * 1091960 include_once include files multiple times 2004-12-28 Everaldo Canuto * encoder.php Fix references to "oloader". 2004-12-28 Reiner Jung * eAccelerator 0.9.2a release 2004-12-27 Everaldo Canuto * Move encoder version information to eaccelerator.h, today this information are in two places, encoder.h and loader.h now it is unified. * Some updates "mmcache" -> "eAccelerator". 2004-12-27 Reiner Jung * eAccelerator 0.9.2 release. 2004-12-27 Everaldo Canuto * encoder.c Increment encoder version. * encoder.php Fix name of standalone loader "eloader". * win32/* build files for VS6, Thanks to Lyle Arnot. * accelerator_version.h Release updated to 0.9.2. 2004-12-27 Shin Seung Woo * optimize.c Fix array -= += .= bug in PHP5. * Pretty disassembler's output. * Change FE_FETCH's opcode type from EXT_FETCH to EXT_FE (FE = foreach). 2004-12-25 Everaldo Canuto * win32/* build files for Visual Studio, now works in Win32. Thanks Lyle Arnot for provide this files. * eLoader added eLoader is a standalone loader for encode files. * eaccelerator.name_space config parameter added. Patch 1090379. * fix foreach error in PHP 4.3.10. Thanks to Ilkka Huotari. * encoder.php fix error message when eAccelerator are not loaded. 2004-12-24 Everaldo Canuto * loader.c fixed constant COMPILE_DL_ELOADER. Thanks to Lyle A. 2004-12-23 Everaldo Canuto * COPYING license file fixed. * Fixed compilation errors under Win32 and old versions of gcc. 2004-12-22 ReinerJ * eaccelerator.ini for distrib which have /etc/php.d 2004-12-22 Franck34 * README file updated 2004-12-22 Everaldo Canuto * Segmentation fault problems fixed. 2004-12-19 Everaldo Canuto * Segv patchs for PHP5 applyed. * Some bug fixes to work on PHP4 and PHP5. 2004-12-09 Everaldo Canuto * first public release 0.9.0 based on Turck MMCache.