1
0
mirror of https://github.com/php/php-src.git synced 2026-04-27 10:16:41 +02:00
Commit Graph

3648 Commits

Author SHA1 Message Date
Stanislav Malyshev 16b904cc1c Merge branch 'PHP-5.6'
* PHP-5.6:
  FIx bug #68618 (out of bounds read crashes php-cgi)
  Fixed bug #68676 (Explicit Double Free)
  Fixed bug #68676 (Explicit Double Free)
2014-12-30 01:27:20 -08:00
Stanislav Malyshev 4c0f17caca Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  FIx bug #68618 (out of bounds read crashes php-cgi)
  Fixed bug #68676 (Explicit Double Free)
2014-12-30 01:26:53 -08:00
Stanislav Malyshev 71c970077d Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  FIx bug #68618 (out of bounds read crashes php-cgi)
2014-12-30 01:26:00 -08:00
Stanislav Malyshev f9ad308669 FIx bug #68618 (out of bounds read crashes php-cgi) 2014-12-30 01:23:05 -08:00
Xinchen Hui f579ae81c9 Fixed build of litespped 2014-12-29 13:46:01 +08:00
Nikita Popov 2d212b426a Drop duplicate arg from hash_get_current_key_ex 2014-12-26 21:06:18 +01:00
Xinchen Hui 8cd8c2ccfb Fixed warning 2014-12-22 23:39:32 +08:00
Xinchen Hui b5b617674e Micro optimaztion (yeah, I know compiler supposed to do that) 2014-12-22 00:10:46 -05:00
Andrea Faulds e20cbdbe97 Unify HTTP status code maps 2014-12-21 03:12:39 +00:00
Anatol Belski 8122bee654 enable static tsrmls cache in the embed SAPI 2014-12-17 10:58:31 +01:00
Anatol Belski af21b3b6dc get rid of TSRMLS_* in the embed SAPI 2014-12-17 10:52:28 +01:00
Anatol Belski 89f87576a1 various fixes for removing explicit tsrm_ls usage 2014-12-16 12:56:00 +01:00
Anatol Belski 9d70df24f8 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  C89 fixes
  use portable struct stat
  fixed macro va args expansion for vs
2014-12-16 12:22:27 +01:00
Anatol Belski 673003757f C89 fixes 2014-12-16 12:20:59 +01:00
Anatol Belski bee4a28433 use portable struct stat 2014-12-16 12:20:58 +01:00
Anatol Belski f1d1185c64 fixed macro va args expansion for vs 2014-12-16 12:20:57 +01:00
Anatol Belski a85eb75cba Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  fix perm again...
  cleanup uneeded cast
  fix bad pointer cast in ext/phar, fix segfault and failed tests (bigendian)

Conflicts:
	ext/phar/func_interceptors.c
	ext/phar/phar_object.c
	sapi/apache2handler/sapi_apache2.c
2014-12-16 10:21:05 +01:00
Remi Collet 61cb019e20 cleanup uneeded cast 2014-12-16 10:06:32 +01:00
Anatol Belski f62ad3bc57 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  made the apache ini holders to be zend_bool
  Removed useless local variable
  Use simpler functions
  Fixed test
  small fixes to UPGRADING
  Reorder to save alignment size (of course, only for common used structs)
2014-12-15 13:57:43 +01:00
Anatol Belski 178363cbff made the apache ini holders to be zend_bool
since they're documented to be so and we spare 16 byte
2014-12-15 13:49:46 +01:00
Andrea Faulds 7950429626 Revert HTTP status codes merger
This reverts commits 65768edcf3, 627b350f31 and 9c18ad3ac9.
2014-12-15 01:30:58 +00:00
Andrea Faulds 9c18ad3ac9 fixed tests, bugs in status codes merger 2014-12-14 23:41:11 +00:00
Andrea Faulds d450f6aabc Merge branch 'unify_http'
* unify_http:
  Share HTTP status codes map
2014-12-14 19:18:23 +00:00
Andrea Faulds 65768edcf3 Share HTTP status codes map 2014-12-14 19:16:51 +00:00
Anatol Belski a857f3a147 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  Fix bug #67106 split main fpm config
  split fpm config to two parts. PR#903
  fix typo
  Fix undefined behaviour in strnatcmp
  Fix undefined behaviour in strnatcmp
  Fixed memory leak introduced by 73458e8f
  update NEWS
  move the test to the right place
  Fixed bug #68545 NULL pointer dereference in unserialize.c
2014-12-14 19:44:24 +01:00
Elan Ruusamäe 9f189dd290 split fpm config to two parts. PR#903
main config = global options
secondary config = pool options

makes easier to add new pools:
duplicate pool config in fpm.d dir

https://bugs.php.net/bug.php?id=67106
2014-12-14 14:21:46 +01:00
Anatol Belski e112f6a04e second shot on removing TSRMLS_* 2014-12-14 14:07:59 +01:00
Remi Collet 70c141b8f8 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix typo
2014-12-14 09:23:25 +01:00
Remi Collet 505adabf25 fix typo 2014-12-14 09:22:59 +01:00
Anatol Belski bdeb220f48 first shot remove TSRMLS_* things 2014-12-13 23:06:14 +01:00
Anatol Belski dfb18b1188 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  updated NEWS
  PowerPC64 support for add and sub with overflow check
  PowerPC64 support for operators with overflow check
  Fixed bug #68583 Crash in timeout thread
  Reduced size of zend_op on 64-bit systems.
  Make ZEND_INIT_FCALL keep predcalculted size of necessary stack space in opline->op1.num to avoid its recalculation on each execution.
  Removed unused variables
  Improved array_merge() and array_replace() (1-st array may be added using simple procedure).
  Replaced zendi_convert_to_long() with _zval_get_long_func()
  Moved zend_is_true() from zend_execute.h/zend_execute_API.c into zend_operators.h/zend_operators.c. Splited the most expensive part of inline i_zend_is_true() into a separate zend_object_is_true(). Replaced zendi_convert_to_long() with cals to zend_is_true().
  Revert "Save one xor instr"
  Save one xor instr

Conflicts:
	Zend/zend_execute_API.c
2014-12-12 14:25:59 +01:00
Dmitry Stogov 14e29f5146 Reduced size of zend_op on 64-bit systems.
the main idea - the smaller the zend_op structure, the lees memory traffic is required to load VM instructions during execution. The patch reduces the size of each opcode from 48 to 32 bytes (saves 16 bytes for each opcode, and applications use thousands of opoceds). This reduced the number of CPU cache misses by 12% and improved performance of real-life apps by 1-2%.

The patch affects how constants and jump targets are represented in VM during execution. Previously they were implemented as absolute 64-bit pointers. Now they are relative 32-bit offsets.

In run-time constant now should be accessed as:
  RT_CONSTANT(op_array, opine->op1) instead of opline->op1.zv
  EX_CONSTANT(opline->op1) instead of opline->op1.zv

Jump targets:
  OP_JMP_ADDR(opline, opline->op2) instead of opline->op2.jmp_addr

The patch doesn't change zend_op representation for 32-bit systems. They still use absolute addresses. The compile-time representation is also kept the same.
2014-12-12 10:19:41 +03:00
Dmitry Stogov e087d3ac7f Merge branch 'master' into native-tls
* master: (23 commits)
  move the test to the right place
  fix TS build and C89 compat
  updated NEWS
  Fixed bug #68545 NULL pointer dereference in unserialize.c
  Updated NEWS
  Updated NEWS
  Updated NEWS
  NEWS
  Fix bug #68526 Implement POSIX Access Control List for UDS
  Improved basic zval copying primitives: ZVAL_COPY_VALUE(), ZVAL_COPY(), ZVAL_DUP()
  Wrap RETURN_VALUE_USED() with EXPECTED() or UNEXPECTED() macros according to more frequent usage patterns.
  Improved ASSIGN_<OP>, ASSIGN_DIM and UNSET_DIM
  drop dead/unused code
  simplified code
  Move ZVAL_DEREF() and make_real_object() into slow paths.
  Pass znode_op structure by value (it fits into one word) instead of pointer to structure.
  Move checks for references into slow paths.
  Improved ASSIGN_DIM and ASSIGN_OBJ
  Fixed typo
  Move checks for references into slow paths of handlers or helpers. Remove duplicate opcode handlers.
  ...
2014-12-10 23:24:11 +03:00
Remi Collet 19d481945e Merge branch 'PHP-5.6'
* PHP-5.6:
  NEWS
  Fix bug #68526 Implement POSIX Access Control List for UDS
2014-12-10 08:19:29 +01:00
Remi Collet 744ada7d9d Fix bug #68526 Implement POSIX Access Control List for UDS
- add --with-fpm-acl build option which allow to manage ACL
on Unix Domain Socket
- add listen.acl_users pool option
- add listen.acl_groups pool option

Keep old behavior (chmod) if option not used or not supported.
2014-12-10 08:15:21 +01:00
Anatol Belski ba35b22bc4 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (35 commits)
  Fixed bug #68398 msooxml matches too many archives
  Fix zpp call in apache_getenv()
  Drop unnecessary zval containers
  fixed test
  C89 compat
  add include for missing localeconv_r proto
  updated NEWS
  Fixed bug #65230 setting locale randomly broken
  Fix compilation error (ref #68424)
  Removed useless handlers
  Move checks for references into slow paths of operator functions. Remove duplicate opcode handlers.
  Revert unintentional docblock change
  Restored zip/oci8 PHP 4 code, add PHP 7 checks
  Note macro removal in UPGRADING.INTERNALS
  Removed ZEND_ENGINE_2 checks (and ZE1 code, it's been a decade!)
  Zend Engine 3
  Updated NEWS
  Updated NEWS
  Updated NEWS
  Start adding new attribute to control multi statements
  ...
2014-12-06 21:37:15 +01:00
Nikita Popov 7be91dd730 Fix zpp call in apache_getenv() 2014-12-06 12:38:56 +01:00
Anatol Belski 88bb9fedc4 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (111 commits)
  Fix zend_fcall_info_arg*() to use ZVAL_COPY
  Fixed #65213 - cannot cast SplFileInfo to boolean
  add initial install
  switch to C travis project instead of PHP
  use the generic TRAVIS environment var to check for travis (see http://docs.travis-ci.com/user/ci-environment/)
  fix TS build
  add config option to target codegen architectures
  updated NEWS
  updated NEWS
  Fixed bug #55541 errors spawn MessageBox, which blocks test automation
  Get rid of duplicate handlers (ZEND_ADD_SPEC_TMP_TMP and ZEND_ADD_SPEC_VAR_VAR are absolutely the same).
  Use zend_string* for op_array->arg_info[]->name and op_array->arg_info[]->class_name. For internal functions we still use char*.
  Fixed __debugInfo() support
  Update UPGRADING for the new variadic functions, and re-sort.
  Improved POST INC/DEC
  make sure that we don't truncate the stack trace and cause false test failures when the test is executed in a directory with long path
  Missed closed folder mark
  Revert "Unecessary assignment"
  Fixed improper memory release
  Unecessary assignment
  ...
2014-12-05 03:50:02 +01:00
Anatol Belski 8ced6f1167 fix datatype mismatches and warnings 2014-12-02 11:24:21 +01:00
Anatol Belski b35555f6cd fix datatype mismatches 2014-12-02 09:15:11 +01:00
Anatol Belski 1bcc7d919c fix datatype mismatches 2014-12-02 09:15:10 +01:00
Anatol Belski 4cba2f9811 fix datatype mismatch 2014-12-02 09:15:09 +01:00
Anatol Belski 1172aff298 fix datatype mismatches 2014-12-02 09:15:08 +01:00
Anatol Belski c64ce84cd6 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix possible null pointer math
2014-12-01 14:43:43 +01:00
Anatol Belski f33bd9c846 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix possible null pointer math
2014-12-01 14:43:22 +01:00
Anatol Belski cb6dea6ea8 fix possible null pointer math 2014-12-01 14:40:35 +01:00
nil0x42 2534671f0b Fix php cli (-S option) inconsistent port parsing
Add port range verification of listening port with -S option for the php cli.
This fixes inconsistent listening port due to unverified cast from long to short
with htons(3).
2014-11-30 22:42:30 -08:00
nil0x42 2a73d56ef9 Fix php cli (-S option) inconsistent port parsing
Add port range verification of listening port with -S option for the php cli.
This fixes inconsistent listening port due to unverified cast from long to short
with htons(3).
2014-11-30 22:42:12 -08:00
nil0x42 a87300241f Fix php cli (-S option) inconsistent port parsing
Add port range verification of listening port with -S option for the php cli.
This fixes inconsistent listening port due to unverified cast from long to short
with htons(3).
2014-11-30 22:29:24 -08:00
Remi Collet 4ba828652b Merge branch 'PHP-5.6'
* PHP-5.6:
  XFAIL as catch_workers_output = yes seems not reliable
2014-12-01 07:29:19 +01:00