Commit Graph

82130 Commits

Author SHA1 Message Date
Dmitry Stogov
0abd626269 code cleanup 2014-07-08 13:24:23 +04:00
Dmitry Stogov
73679bf6db Another fix for uninitialized execute_data->symbol_table 2014-07-08 12:17:52 +04:00
Dmitry Stogov
7ba7dd1943 Merge branch 'phpng' of git.php.net:php-src into phpng
* 'phpng' of git.php.net:php-src:
  Fixed uninitialized symbol_table
2014-07-08 11:33:18 +04:00
Dmitry Stogov
8ce2f2caac Merge branch 'master' into phpng
* master:
  Fix still broken session test.  Only return true/false.
  Fixed bug #66830 (Empty header causes PHP built-in web server to hang).
  Followup fix to custom session save handlers
  create locales and re-add test
  rm test for now

Conflicts:
	ext/session/tests/session_set_save_handler_class_012.phpt
2014-07-08 11:32:29 +04:00
Xinchen Hui
e5fed097cc Fixed uninitialized symbol_table 2014-07-08 14:43:20 +08:00
Dmitry Stogov
b36aaea6ed ZEND_SEND_VAR and ZEND_SEND_VAL specialization 2014-07-08 02:13:53 +04:00
Sara Golemon
6e9bc95f67 Fix still broken session test. Only return true/false. 2014-07-07 14:30:28 -07:00
Adam Harvey
1a43eac259 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #66830 (Empty header causes PHP built-in web server to hang).
2014-07-07 20:49:00 +00:00
Adam Harvey
70e9d3e2f9 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #66830 (Empty header causes PHP built-in web server to hang).
2014-07-07 20:45:01 +00:00
Adam Harvey
1939b34c78 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #66830 (Empty header causes PHP built-in web server to hang).
2014-07-07 20:40:47 +00:00
Adam Harvey
604de67b7d Fixed bug #66830 (Empty header causes PHP built-in web server to hang).
We had an infinite loop in sapi_cli_server_send_headers(): while iterating over
the linked list of headers, when an empty header was hit, continue would go to
the next iteration of the loop without updating h to be the next value in the
linked list. Updating it to always increment regardless of whether the header
is actually valid or not fixes the issue.
2014-07-07 20:36:06 +00:00
Sara Golemon
7c2489751c Followup fix to custom session save handlers
2d9885c introduced some regressions.  This addresses those.

  * Don't throw return type notice or session write failure when in an exception
  * Fix tests to properly return true/false since null is no longer falsy/successy
  * Rerecord a few tests to accomodate difference in raised warnings
2014-07-07 12:59:54 -07:00
Dmitry Stogov
d9585f019f Skip useless ZEND_RECV opcodes 2014-07-07 22:18:48 +04:00
Stanislav Malyshev
888fb3323e Merge branch 'PHP-5.6'
* PHP-5.6:
  create locales and re-add test
2014-07-07 10:42:36 -07:00
Stanislav Malyshev
41448bff7c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  create locales and re-add test

Conflicts:
	.travis.yml
2014-07-07 10:42:13 -07:00
Stanislav Malyshev
5516963633 create locales and re-add test 2014-07-07 10:34:43 -07:00
Dmitry Stogov
21acbd5b75 Avoid useless check 2014-07-07 21:33:53 +04:00
Dmitry Stogov
7d0b21d3bc Function can't be "interactive" 2014-07-07 21:33:09 +04:00
Dmitry Stogov
2ed8a17045 Refactored run_time_cache usage in object handlers 2014-07-07 20:54:31 +04:00
Stanislav Malyshev
fc56aa6829 Merge branch 'PHP-5.6'
* PHP-5.6:
  rm test for now
2014-07-07 09:34:03 -07:00
Stanislav Malyshev
31b395ac68 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  rm test for now
2014-07-07 09:33:05 -07:00
Stanislav Malyshev
0e1599afe0 rm test for now 2014-07-07 09:32:26 -07:00
Dmitry Stogov
bce6a36c8a Merge branch 'master' into test
* master: (48 commits)
  change locale - looks like not everybody has sl_SI
  Fix bug #66921 - Wrong argument type hint for function intltz_from_date_time_zone
  fix format
  Fix bug #67052 (NumberFormatter::parse() resets LC_NUMERIC setting)
  Make sure the generator script also creates a newline at the end of file
  Add newline at end of file to prevent compilation warning
  Fix handling of session user module custom handlers.
  Reference bug report instead of github issue in NEWS file
  add more exts for Travis
  Update NEWS
  Fix phpdbg.1 man page installation when build != src directory
  BFN for bug #67551 (php://input temp file will be located in sys_temp_dir instead of upload_tmp_dir)
  reorder
  restore API compatibility
  finish
  refactor php_stream_temp_create{,_ex} and use it for the php://input stream
  refactor _php_stream_fopen_{temporary_,tmp}file()
  fix length overflow of HTTP_RAW_POST_DATA
  Update NEWS
  Fixed bug #67215 (php-cgi work with opcache, may be segmentation fault happen)
  ...

Conflicts:
	ext/opcache/zend_accelerator_util_funcs.c
	ext/session/mod_user.c
	ext/spl/spl_array.c
	ext/spl/spl_dllist.c
	ext/standard/file.c
	ext/standard/streamsfuncs.c
	ext/standard/string.c
	main/streams/memory.c
2014-07-07 19:21:23 +04:00
Dmitry Stogov
477bd49cca Wrong expectation in tests (for some reason backtraces contained invlalid extra frame at the top) 2014-07-07 18:09:17 +04:00
Dmitry Stogov
4dd7c63d1e Wrong expectation in test (The error "Non-static method A::A_ftk() should not be called statically" is reported on caller side, so backtrace shouldn't include call to A::A_ftk()). 2014-07-07 17:27:16 +04:00
Dmitry Stogov
e4450cddd4 Wrong expectation in test (for some reason error messages didn't refer to right functions) 2014-07-07 17:22:19 +04:00
Dmitry Stogov
2f316a775d Wrong expectation in test (for some reason backtrace misses gc_collect_cycles() call) 2014-07-07 17:17:42 +04:00
Dmitry Stogov
70a112e51b Wrong expectation in test (wrong line number in backtrace) 2014-07-07 16:57:05 +04:00
Dmitry Stogov
7ce2d59ad2 Merge branch 'call-frame' into phpng
* call-frame:
  Simplify call-frame handling
  Removed EG(active_symbol_table) and use corresponding value from EG(current_execute_data)
  Use values from current_execute_data instead of globals where possible
  Removed EG(called_scope) and use corresponding value from EG(current_execute_data)
  Removed EG(in_execution). If EG(currentent_execute_data) is not NULL we are executing something.
  Removed EG(opline_ptr) and use corresponding value from EG(current_execute_data)
  Removed EG(active_op_array) and use corresponding value from EG(current_execute_data)
  Uinified call frame handling for user and internal functions. Now EG(current_execute_data) always point to the call frame of the currently executed function.
  Fixed cleanup of incompleytely passed parameters
  Prohibited parameter redefinition
  Fixed support for extra arguments in conjunction with variadiv argument. Use compile time flags to check if we call constructor and result of ZEND_NEW is used or not.
  Fixed uninitialized variables
  Optimization
  Changed zend_execute_data layout to reduce memory overhead
  Help C compilet to do the better job optimizing target code
  Use fast comparison for (func->type == ZEND_USER_FUNCTION || func->type == ZEND_EVAL_CODE)
  Keep extra args in the same VM stack segment (after all CV and TMP vars)
  Refactoring: merge call_frame and end_execute_data into single data structure. Keep only single copy of each argument on VM stack (previously ZE kept two copies of each arguments for user functions)
  Refactoring: use call_frames instead of call_slots

Conflicts:
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
2014-07-07 16:19:24 +04:00
Dmitry Stogov
5aa91be509 Simplify call-frame handling 2014-07-07 15:50:44 +04:00
Stanislav Malyshev
f0499b86a8 Merge branch 'PHP-5.6'
* PHP-5.6:
  change locale - looks like not everybody has sl_SI
2014-07-07 01:38:04 -07:00
Stanislav Malyshev
432bb7abe5 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  change locale - looks like not everybody has sl_SI
2014-07-07 01:36:24 -07:00
Stanislav Malyshev
c402956178 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  change locale - looks like not everybody has sl_SI
2014-07-07 01:36:03 -07:00
Stanislav Malyshev
a7d1cad4c3 change locale - looks like not everybody has sl_SI 2014-07-07 01:35:25 -07:00
Stanislav Malyshev
70c0410d3d Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix bug #66921 - Wrong argument type hint for function intltz_from_date_time_zone
  fix format
2014-07-07 00:50:15 -07:00
Stanislav Malyshev
04a227dd16 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug #66921 - Wrong argument type hint for function intltz_from_date_time_zone
  fix format
2014-07-07 00:50:07 -07:00
Stanislav Malyshev
96c9cc315d Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix format
2014-07-07 00:49:15 -07:00
Stanislav Malyshev
8ba240a70b Fix bug #66921 - Wrong argument type hint for function intltz_from_date_time_zone 2014-07-07 00:48:44 -07:00
Stanislav Malyshev
897b7b68cc fix format 2014-07-07 00:48:32 -07:00
Stanislav Malyshev
ff52eac5f0 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix bug #67052 (NumberFormatter::parse() resets LC_NUMERIC setting)
  Make sure the generator script also creates a newline at the end of file
  Add newline at end of file to prevent compilation warning
2014-07-07 00:38:50 -07:00
Stanislav Malyshev
effb2b7a13 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug #67052 (NumberFormatter::parse() resets LC_NUMERIC setting)
  Make sure the generator script also creates a newline at the end of file
  Add newline at end of file to prevent compilation warning
2014-07-07 00:38:38 -07:00
Stanislav Malyshev
8ddf9a2dc4 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #67052 (NumberFormatter::parse() resets LC_NUMERIC setting)
2014-07-07 00:37:59 -07:00
Stanislav Malyshev
6c8a570a96 Fix bug #67052 (NumberFormatter::parse() resets LC_NUMERIC setting) 2014-07-07 00:36:57 -07:00
Stanislav Malyshev
b3d8f4b24d Merge branch 'PHP-5.6'
* PHP-5.6:
  Reference bug report instead of github issue in NEWS file
2014-07-06 22:16:27 -07:00
Stanislav Malyshev
c291033469 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Make sure the generator script also creates a newline at the end of file
  Add newline at end of file to prevent compilation warning
2014-07-06 22:15:35 -07:00
Lior Kaplan
716d2a3937 Make sure the generator script also creates a newline at the end of file
Similar to commit d6713f39 in master
2014-07-06 22:15:09 -07:00
Lior Kaplan
c5fec9e09d Add newline at end of file to prevent compilation warning
The newline was removed at commit 50d50c2f
2014-07-06 22:15:00 -07:00
Sara Golemon
2d9885c8cb Fix handling of session user module custom handlers.
According to the documentation, returning TRUE from
user based session handlers should indicate success,
while returning FALSE should indicate failure.

The existing logic relied on casting the return value
to an integer and returning that from the function.
However, the internal handlers use SUCCESS/FAILURE
where SUCCESS == 0, and FAILURE == -1, so the following
behavior map occurs:

  return false; => return 0; => return SUCCESS
  return true; => return 1; => return <undefined>

Since the session API checks against FAILURE,
both boolean responses wind up appearing like "not FAILURE".

This diff reasserts boolean responses to behave as
documented and introduces some special handling
for integer responses of 0 and -1 so that code can be
written for older and newer versions of PHP.
2014-07-06 09:40:35 -07:00
Bob Weinand
0378b4caac Reference bug report instead of github issue in NEWS file 2014-07-06 13:34:03 +02:00
Xinchen Hui
edf2f715e6 Let's rename it 2014-07-06 17:54:38 +08:00