1
0
mirror of https://github.com/php/php-src.git synced 2026-04-23 07:58:20 +02:00
Commit Graph

59162 Commits

Author SHA1 Message Date
Felipe Pena cdf71efc5c - Fix zend_hash_apply_with_arguments() calls on ZTS 2010-04-22 23:25:05 +00:00
Kalle Sommer Nielsen 0cec1e6e13 Update the deprecated directives in the MakeFile 2010-04-22 23:23:10 +00:00
Felipe Pena c05e38e401 - Fixed ZTS build & comment-style 2010-04-22 23:16:15 +00:00
Kalle Sommer Nielsen 1e9c9778f5 For real this time :-/ 2010-04-22 22:57:35 +00:00
Kalle Sommer Nielsen 7bccac6dea Fix the sys_getloadavg() test 2010-04-22 22:41:42 +00:00
Stefan Marr cd6415f1a9 Implemented Traits for PHP as proposed in the RFC [TRAITS]
# RFC http://wiki.php.net/rfc/horizontalreuse#traits_-_reuse_of_behavior
# Ok, here we go, I guess that will result in more discussion, which is fine
# by me. But now, the patch is here, and properly archived.
# 
# See below a list of notes to the patch, it also includes a list of
# points which should be fixed
# 
# Internals of the Traits Patch
# -----------------------------
# 
# Open TODOs
# """"""""""
# 
# - Reflection API
# - support for traits for internal classes
#   - currently destroy_zend_class does not handle that case 
# 
# Introduced Structures
# """""""""""""""""""""
# 
# Data structures to encode the composition information specified in the
# source:
#  - zend_trait_method_reference
#  - zend_trait_precedence
#  - zend_trait_alias
# 
# Changes
# """""""
# 
# zend_class_entry
#  - uses NULL terminated lists of pointers for
#    - trait_aliases
#    - trait_precedences
#    - do you prefer an explicit counter?
#    - the information is only necessary during class composition
#      but might be interesting for reflection
#    - did not want to blow up class further with not really necessary length counters
# 
# added keywords
#   - trait
#   - insteadof
# 
# Added opcodes
#  ZEND_ADD_TRAIT
#    - similar to ZEND_ADD_INTERFACE
#    - adds the trait to the list of traits of a class, no actual composition done
#  ZEND_BIND_TRAITS
#    - emitted in zend_do_end_class_declaration
#    - concludes the class definition and will initiate the trait composition
#      when the class definition is encountered during runtime
# 
# Added Flags
#   ZEND_ACC_TRAIT = 0x120
#   ZEND_ACC_IMPLEMENT_TRAITS = 0x400000
#   ZEND_FETCH_CLASS_TRAIT = 14
# 
# zend_vm_execute.h
#  - not sure whether the handler initialization (ZEND_ADD_TRAIT_SPEC_HANDLER,
#    ZEND_BIND_TRAITS_SPEC_HANDLER) is correct, maybe it should be more selective
# 
# zend_compile.c
#  - refactored do_inherit_method_check
#    split into do_inherit_method_check and do_inheritance_check_on_method
#  - added helper functions use a '_' as prefix and are not mentioned in the
#    headers
#  - _copy_functions
#    prepare hash-maps of functions which should be merged into a class
#    here the aliases are handled
#  - _merge_functions
#    builds a hash-table of the methods which need to be added to a class
#    does the conflict detection
#  - reused php_runkit_function_copy_ctor
#    - it is not identical with the original code anymore, needed to update it
#      think I fixed some bugs, not sure whether all have been reported back to runkit
#    - has to be renamed, left the name for the moment, to make its origin obvious
#    - here might be optimization potential
#    - not sure whether everything needs to be copied
#      - copying the literals might be broken
#        - added it since the literals array is freed by efree and gave problems
#          with doubled frees
#      - all immutable parts of the zend_op array should not be copied
#        - am not sure which parts are immutable
#        - and not sure how to avoid doubled frees on the same arrays on shutdown
#  - _merge_functions_to_class
#    does the final merging with the target class to handle inherited
#    and overridden methods
#  - small helper for NULL terminated lists
#    zend_init_list, zend_add_to_list
# 
# zend_language_parser.y
#  - reused class definition for traits
#    - there should be something with regard to properties
#      - if they get explicitly defined, it might be worthwhile to
#        check that there are no collisions with other traits in a composition
#        (however, I would not introduce elaborate language features to control that
#         but a notice for such conflicts might be nice to the developers)
2010-04-22 22:05:56 +00:00
Stefan Marr 05a9649043 Changed the exclusion keyword from 'instead' to 'insteadof'. [TRAITS]
#That was suggested several times already, but am still not sure whether that really reads better.
#Especially since only the trait is mentioned, since the method name would be duplicated anyway.
2010-04-22 21:56:55 +00:00
Felipe Pena 5234958f8a - Fixed bug #51435 (Missing ifdefs / logic bug in crypt code cause compile errors) 2010-04-22 20:54:35 +00:00
Andrey Hristov 3dbf6acd7b Change the way the allocator is called - through an abstraction
to give the possibility of pluggability. Thanks to the macros
already used the changes are not pervasive.
2010-04-22 16:28:50 +00:00
Andrey Hristov e5dcac245c Fix problem spotted by Felipe. 2010-04-22 16:22:56 +00:00
Antony Dovgal 4646062956 fix typo 2010-04-22 16:00:45 +00:00
Antony Dovgal a15efa6979 revert most of the Andrey's patch that causes segfaults
(as agreed with Pierre)
2010-04-22 15:59:44 +00:00
Dmitry Stogov 0d1398457f Removed unused function 2010-04-22 15:51:03 +00:00
Andrey Hristov 7c5259cca3 adding what last commit was missing 2010-04-22 15:14:45 +00:00
Andrey Hristov 1ed3da294b Remove dead code and add possibility to fine tune the size of
a mempool (used for result sets).
2010-04-22 15:07:40 +00:00
Dmitry Stogov e87d72002b Optimized access to global constants using values with pre-calculated hash_values from litersls table 2010-04-22 15:03:17 +00:00
Felipe Pena ac181e07ef - Removed unused variables 2010-04-22 13:28:53 +00:00
Andrey Hristov 12c9bde2e7 Add the posibility to switch off the compilation of statistics
collection, for those who want to optimize the last percent of their
binaries.
2010-04-22 13:03:44 +00:00
Dmitry Stogov fb9d95e5a4 ZEND_RETURN is splitted into two new instructions ZEND_RETURN and ZEND_RETURN_BY_REF 2010-04-22 11:56:45 +00:00
Antony Dovgal 64a97ee663 initialize variable. this code still segfaults in OpenSSL, no idea why 2010-04-22 11:56:08 +00:00
Pierre Joye f66e02b8fc - Bug #51629, CURLOPT_FOLLOWLOCATION error message is misleading 2010-04-22 11:49:10 +00:00
Pierre Joye b1e3ae0e99 - Bug #51629, CURLOPT_FOLLOWLOCATION error message is misleading 2010-04-22 08:58:07 +00:00
Jérôme Loyet 7ac145d9f3 correct wrong comparison (thx to felipe) 2010-04-22 07:14:06 +00:00
Adam Harvey c6e8a8957b Fix for bug #51604 (newline in end of header is shown in start of message).
Patch by Daniel Egeberg.
2010-04-22 02:22:49 +00:00
Kalle Sommer Nielsen e73a794105 Removed the session 4.2 bug compatibility mode 2010-04-22 01:07:48 +00:00
Kalle Sommer Nielsen 518a17e7bf Remove old dsp/dsw/makefile files, these arent used by the build system anymore and are barely updated nor available for all extensions 2010-04-21 23:36:49 +00:00
Felipe Pena 696f6c7c93 - Fix ZTS build 2010-04-21 23:22:20 +00:00
Kalle Sommer Nielsen 956a9cdc6e Updated copyright year 2010-04-21 23:19:39 +00:00
Kalle Sommer Nielsen b8ada243fe Drop php_register_var(), Thanks Felipe 2010-04-21 23:16:56 +00:00
Kalle Sommer Nielsen c8a7cb6a45 Updated copyright year 2010-04-21 23:07:54 +00:00
Kalle Sommer Nielsen 3f29144348 Removed session_is_registered(), session_register() and session_unregister().
-- They are no longer needed without register_globals
2010-04-21 23:03:16 +00:00
Jérôme Loyet 3defa292f2 switch the configuration syntax from xml to ini
It's been describe in the RFC: http://wiki.php.net/rfc/fpm/ini_syntax
2010-04-21 22:56:33 +00:00
Kalle Sommer Nielsen 9d395a4a2b Removed import_request_variables(), this is not needed anymore without register_globals 2010-04-21 22:23:55 +00:00
Felipe Pena 10e7361027 - Fixed bug #51627 (script path not correctly evaluated)
Patch by: russell dot tempero at rightnow dot com
2010-04-21 22:22:31 +00:00
Felipe Pena 5e2cba90c9 - Dropped unused HL_BG_COLOR (Kalle) 2010-04-21 22:06:18 +00:00
Kalle Sommer Nielsen 3e6678de4d Added missing zend_parse_parameters_none() call to sys_getloadavg() 2010-04-21 22:04:19 +00:00
Kalle Sommer Nielsen 9a38f301d6 Remove highlight.bg, it was removed in the old trunk and its not referenced in zend_highlight.c, meaning its not even implemented correctly in 5.3. 2010-04-21 21:56:24 +00:00
Pierrick Charron 508cfb7210 Remove unused variable 2010-04-21 16:00:46 +00:00
Felipe Pena 9f700c417b - Fix ZTS build 2010-04-21 15:08:10 +00:00
Dmitry Stogov 7a2fd62c39 Eliminated unnecessary compile-time hash_value recalculation for interned strings 2010-04-21 14:58:33 +00:00
Felipe Pena 12c8bfb021 - Fixed bug #51562 (query timeout in mssql can not be changed per query)
Patch by: ejsmont dot artur at gmail dot com
2010-04-21 14:19:27 +00:00
Felipe Pena 623a25728a - Fix mem. leak 2010-04-21 12:52:24 +00:00
Kalle Sommer Nielsen febee11285 Removed register_globals 2010-04-21 01:27:22 +00:00
Jérôme Loyet bae9248602 typo 2010-04-20 23:31:13 +00:00
Jérôme Loyet 5556956899 Add a check request_method. If fcgi protocol is not followed, a segfault can occur. 2010-04-20 23:28:20 +00:00
Jérôme Loyet ca8756478a Change php_defines in configuration file to php_value,php_admin_value,php_flag,php_admin_flag (as in the apache sapi).
php_admin* sets values as ZEND_INI_SYSTEM mode while php_* sets values as ZEND_INI_USER
2010-04-20 21:13:40 +00:00
Andrey Hristov 6dec27d58b Hardening the reads of mysqlnd.
All packets but the row data packet are read into preallocated buffer,
either on the stack or on the heap (cmd_buffer). The size of the buffer
is always checked to skip buffer overruns. Only up to the size of the
buffer is stored into the buffer but packet->header.size has the size of
all data sent. In this case network layer bails.

This patch hardenes the reads, so if packets are malformed and shorter
than they should be there will be no further reads in the buffer.
In short, detection of malformed packets.
2010-04-20 20:02:32 +00:00
Stanislav Malyshev 10a9f48eee add test for self:: and static:: 2010-04-20 19:46:30 +00:00
Andrey Hristov f2d23c7f37 put the trigger in the right place 2010-04-20 19:09:56 +00:00
Andrey Hristov eda9959e36 It is possible that change user tries an user who has old password.
Instead of error message that doesn't say much there is more information now.
2010-04-20 18:04:24 +00:00