forked from eaccelerator/eaccelerator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
1132 lines (796 loc) · 46.4 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2012-07-30 Hans Rakers <hans at rakers.org>
* Fixed open_basedir issues as reported on the old Trac site
* Removed key/value store and session handler bits from config.w32
and added doc-comment-inclusion. Win32 project files also need
updating but i currently don't have a win32 development station
* Fixed segfault in store_default_property_access_check when
compiled with -O2 and removed unused vars
* Fixed a very stupid bug in restore_class_parent
* Rewrote the spinlock implementation. This hopefully takes care of
deadlock issues reported on the old Trac site.
* Removed some excessive debug output
2012-07-26 Hans Rakers <hans at rakers.org>
* fixed compilation of ea_dasm.c against php < 5.4
* fixed handling of hashes for php < 5.4
* disabled MM_CHECK by default because it is broken and causes segfaults when
shared memory is exhausted (debug builds only).
2012-07-19 Hans Rakers <hans at rakers.org>
* PHP-5.4 compatibility
* Fixed a segfault when restoring class doc comments from
disk cache
* Storing doc comments in cache is default now since most
frameworks require this (Reflection API).
* Re-indented all files using astyle and bumped year
2010-07-28 Bart Vanbrabant <bart at vanbrabant.eu>
* Make the error message about creating the cache directory more
clear.
2010-07-26 Hans Rakers <hans at react.nl>
* Fix for ticket #432. The optimizer would eliminate the final
ZEND_RETURN of an op array if the script ended with a switch
statement. Last opcodes ZEND_BRK, ZEND_JMP, ZEND_JMP,
ZEND_RETURN. ZEND_BRK gets optimized to a JMP, which is a JMP
to RETURN so gets eliminated. Other 2 JMPs get eliminated,
RETURN loses all predecessors, and thus gets eliminated aswell,
resulting in a crash. Problem ended up being in the handling of
the ZEND_BRK to ZEND_JMP optimization. /long story
2010-07-11 Bart Vanbrabant <[email protected]>
* Changed the way the cache directory is created:
- The forked process creates the cache dir and makes it world writable
- The first request creates a subdir with the userid of the process and
with permissions 700.
* Comment out an unused function to support compilin with -Werror
* Add sched.h include to fix a compiler warning
2010-06-03 Hans Rakers <hans at react.nl>
* Fixed compilation against php-5.1. This closes ticket #426.
2010-02-25 Hans Rakers <hans at react.nl>
* 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 <hans at react.nl>
* Fixed double free in eaccelerator_globals_dtor. This closes
ticket #404
2010-02-18 Hans Rakers <hans at react.nl>
* Remove some leftover debug output that broke compilation with
php-5.2 and --with-eaccelerator-debug
* php_check_open_basedir only needs to be called when restoring
2010-02-04 Hans Rakers <hans at react.nl>
* Fixed linking of ZEND_DECLARE_INHERITED_CLASS_DELAYED across
bb's in the optimizer. This fixes bug #399
2010-02-04 Bart Vanbrabant <bart at vanbrabant.eu>
* Remove some leftovers from the lock api
* Now really add the sched_yield command and not only in commented
out
2010-02-03 Bart Vanbrabant <bart at vanbrabant.eu>
* Include the resolve path function from php so it is available for
older PHP versions as well. Includes that start file:// work now.
* Enable phar caching: Files in included from a phar file are cached
now. The phar archive is used to excute the stat on.
* Enable check_mtime usage again
* 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-02-02 Bart Vanbrabant <bart at vanbrabant.eu>
* Fix two compiler warnings
2010-02-01 Bart Vanbrabant <bart at vanbrabant.eu>
* A retab on eaccelerator.c
* Remove caching based on inodes
* Reimplement eaccelerator_stat to speed it up: the new ea_stat is
almost twice as fast as the old version with inodes. The tests were
done on a file that includes 10k empty files.
* Increment version to 1.0-dev
2010-01-22 Bart Vanbrabant <bart at vanbrabant.eu>
* Release 0.9.6-rc2
2010-01-21 Hans Rakers <hans at react.nl>
* Set op_array->early_binding in a later stage.
This fixes ticket #394
2010-01-20 Hans Rakers <hans at react.nl>
* 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 <bart at vanbrabant.eu>
* Remove obsolete documentation
* Update year in copyright
2010-01-19 Hans Rakers <hans at react.nl>
* 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 <hans at react.nl>
* 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 <hans at react.nl>
* Win32 compilation fixes (compiles in VC++ 2008)
* Updated VC++ project file to VC++ 2008 format
2009-11-30 Hans Rakers <hans at react.nl>
* 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 <hans at react.nl>
* Optimizer and general PHP 5.3 fixes
* Some cleanups
2009-11-11 Bart Vanbrabant <bart at vanbrabant.eu>
* Add the optimizer back
2009-11-11 Hans Rakers <hans at react.nl>
* 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 <bart at vanbrabant.eu>
* Fix two PHP 5.3 bugs
* Remove the optimizer
* Remove the user cache functions
2009-05-06 Bart Vanbrabant <bart at vanbrabant.eu>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* Remove support for all php versions older than php 5.1
2008-06-18 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* Add patch from ticket 232: removes an unlock that isn't
needed there.
2008-02-12 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* Add new opcodes introduced in PHP 5.3
2007-08-20 Hans Rakers <hans at react.nl>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* Fix an E_NOTICE error in the control panel
* Improve storing of objects and fix bug #264
2007-08-16 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* Fix a typo in the config file. #269
2007-08-14 Hans Rakers <hans at react.nl>
* 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 <bart.vanbrabant at zoeloelip.be>
* Use php_strtok_r instead of strtok_r (Thanks to Daan <daan at parse.nl>)
* Add fnmatch.c and fnmatch.h and use it on win32 (Thanks to Daan <daan at parse.nl>)
* Casting of var 'len' to (int) in decode_version() to get rid of an VC++ 6 warning (Thanks to Daan <daan at parse.nl>)
2007-04-21 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* Add patch from Nathanael ([email protected])
2007-03-07 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* Apply the patch from #244 which causes heap corruption.
2007-02-15 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* Removed some obsolete code
2007-01-04 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* Happy new-year
2006-11-08 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* Enable disassembler links again in the control panel
* Add some more isset for E_ALL error reporting
2006-11-04 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <hans at parse dot nl>
* 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 <bart.vanbrabant at zoeloelip.be>
* Fix a bug in the ttl of the cache. see ticket #182
* Release version 0.9.5
2006-09-19 Hans Rakers <hans at parse dot nl>
* 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 <hans at parse dot nl>
* Fixed unbalanced ifdef in eaccelerator.h introduced in rev [269].
This fixes ticket #177
2006-09-15 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* Reverse changeset 205 (doc-comment exclusion) from Tom Regner
<t.regner at librics.de>.
* 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 <hans at parse dot nl>
* Skip disk cache creation and clean/clear actions when operating in
shm_only mode. This fixes ticket #165
2006-08-23 Hans Rakers <hans at parse dot nl>
* Fixes for tickets #157 and #164
2006-08-06 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* Fix stupid bug (#159)
* Handle returning null instead of array (#156)
2006-08-03 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* Use php realpath directly without wrapper, TSRM implements the realpath cache
2006-07-28 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* Restore the class entry of zend_property_info when using php 5.2, this fixes bug #151
2006-07-27 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <hans at parse dot nl>
* 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 <bart.vanbrabant at zoeloelip.be>
* Fix ticket #143, seems that PHP < 5 doesn't make the extension lower
case.
2006-07-22 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* Made some fixes to ea_info.c to make eA compile on windows again.
This should fix bug #116.
2006-06-30 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <hans at parse dot nl>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* Fix ticket #108
* Removed webui.[c|h] from the windows project files
2006-06-06 Hans Rakers <hans at parse dot nl>
* Fix for ticket #101 ('bailout' is used in zend_globals.h in a ZTS
build) as suggested by <ihanick at gmail dot com>
2006-06-02 Hans Rakers <hans at parse dot nl>
* 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 <bart.vanbrabant at zoeloelip.be>
* Forgot to remove some debug messages for the filter bug.
2006-05-08 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* Added directory hashing for md5 and inode based keys based on a patch
from <mattias at efterfesten.com>, 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* When content cache is used also compiled shared memory functions
2006-04-11 Hans Rakers <hans at parse dot nl>
* Fix for 64-bit compilation warnings "cast to pointer from
integer of different size"
2006-04-11 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* Fixed some typos in dasm.php
* Added authentication to the disassembler
2006-04-06 Hans Rakers <hans at parse dot nl>
* 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 <hans at parse dot nl>
* 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 <bart.vanbrabant at zoeloelip.be>
* Fixed some error introduced by fixing some win32 stuff :(
2006-04-03 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* Fixed bug #24
2006-03-17 Hans Rakers <hans at parse dot nl>
* 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 <bart.vanbrabant at zoeloelip.be>
* Included fcntl.h in ea_info.c, this should fix bug #13
2006-03-07 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* Removed the old webui and made a new controlpanel and disassembler.
* Added php api documentation
2006-03-02 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <hans at parse dot nl>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* Release of eaccelerator 0.9.5-beta1
2006-02-24 Hans Rakers <hans at parse dot nl>
* 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 <hans at parse dot nl>
* 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 <hans at parse dot nl>
* 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 <hans at parse dot nl>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <hans at parse dot nl>
* 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 <hans at parse dot nl>
* 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 <bart.vanbrabant at zoeloelip.be>
* Bumped up version to 0.9.5-dev
2006-02-17 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* Merged PHP_5_1 branch with HEAD
2006-02-17 Hans Rakers <hans at parse dot nl>
* 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 <bart.vanbrabant at zoeloelip.be>
* Released version 0.9.4
2006-02-15 Hans Rakers <hans at parse dot nl>
* 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 <bart.vanbrabant at zoeloelip dot be>
* PHP_5_1: Changed cflags to -O2 from -O3
2006-02-09 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* On failure of mm initialisation, return FAILURE
instead of disabling eAccelerator.
2006-02-08 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <hans at parse dot nl>
* PHP_5_1: Fix for problems with __autoload
* PHP_5_1: Fixed compile problems with thread-safe PHP
2006-02-06 Hans Rakers <hans at parse dot nl>
* 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 <hans at parse dot nl>
* 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 <hans at parse dot nl>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* Disabled the cache dir check, to much people complaining
* fixed eLoader
2005-11-22 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* Some compile fixes from Chmouel Boudjnah
2005-11-20 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* Fixed optimizer bug with php 5.0.5
2005-11-16 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* Patch for including files in same directory (#1259695) from Alexy
2005-11-15 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* A compile fix for php4 (bug #1235017)
* Removed atexit code that only produced segfaults and didn't work
(Patch from Rob Foehl <rwf at loonybin.net>)
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <franck34 at users.sourceforge.net>
* released eAccelerator 0.9.3 final
2005-05-16 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* Compile fix for bug 1201564.
2005-05-14 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <franck34 at users.sourceforge.net>
* released eAccelerator 0.9.3-rc2
2005-05-11 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be>
* 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 <bart.vanbrabant at zoeloelip.be>
* 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 <franck34 at users.sourceforge.net>
* released eAccelerator 0.9.3-rc1