Compare commits

..
Author SHA1 Message Date
Sara Golemon a5adbd55b5 Update versions for PHP 7.2.0beta1 2017-07-18 15:40:26 +00:00
Sara Golemon 1d184e1851 Update NEWS for PHP 7.2.0beta1 2017-07-18 15:40:26 +00:00
Sara Golemon 05ff0c5180 Bump all API numbers in prep for 7.2 fork 2017-07-18 10:45:02 -04:00
Frank Denis 09b15e4f30 sodium ext: implement sodium_crypto_kdf()
Also add zend_parse_parameters_none() statements where appropriate.
2017-07-18 14:42:15 +02:00
Frank Denis 36bd878ec2 Merge remote-tracking branch 'jedisct1/sodium-keygen'
* jedisct1/sodium-keygen:
  sodium ext: remove unused sodium_randombytes_*() prototypes
  sodium ext: add bindings for keygen() functions
  sodium ext: sort prototypes
2017-07-18 12:53:18 +02:00
Anatol Belski 3e33d2c2e6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Exclude ext/ftp from AppVeyor test run
2017-07-18 12:11:17 +02:00
Anatol Belski 807bc620ac Merge branch 'PHP-7.1'
* PHP-7.1:
  move to 7.0.23 for dev
2017-07-18 10:26:51 +02:00
Anatol Belski a39fd99524 fix regression introduced by 0782a7fc63 2017-07-18 00:35:01 +02:00
Dmitry Stogov bb743ca62d Added NEWS entry 2017-07-17 23:21:03 +03:00
Dmitry Stogov f49ee79e95 gc_check_possible_root() may throw exception. 2017-07-17 23:17:16 +03:00
Dmitry Stogov cc04d42055 Merge branch 'master' into unset_cv
* master:
  Constant evaluation of in_array() (support for more cases).
  fix missing var for phpize
  Add support for OpenSSL security level
2017-07-17 23:09:13 +03:00
Dmitry Stogov ff83560ec6 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  fix missing var for phpize
  Add support for OpenSSL security level
2017-07-17 23:08:42 +03:00
Dmitry Stogov 3754272818 Constant evaluation of in_array() (support for more cases). 2017-07-17 23:08:10 +03:00
Anatol Belski bdfc84239b Merge branch 'PHP-7.1'
* PHP-7.1:
  fix missing var for phpize
2017-07-17 19:41:21 +02:00
Jakub Zelenka 26982e36d5 Add support for OpenSSL security level 2017-07-17 17:40:51 +01:00
Dmitry Stogov eb6c7471cb Constant evaluation of in_array() (support for more cases). 2017-07-17 17:27:21 +03:00
Dmitry Stogov 1180d8c801 Separate ISSET_ISEMPTY_CV/UNSET_CV from ISSET_ISEMPTY_VAR/UNSET_VAR 2017-07-17 14:11:50 +03:00
Dmitry Stogov d9d3b2c206 Fixed CFG/SSA construction (avoid multiple identical predecessors) 2017-07-17 13:35:47 +03:00
Dmitry Stogov 5b0e6248e6 Removed vim mode lines. zend_vm_opcodes.h loses these lines after regeneration. Lines in zend_vm_def.h lead to insertion inthe middle of zend_vm_execute.h. 2017-07-17 11:00:46 +03:00
Dmitry Stogov b31e77dbea Allocate additional slot for third argument 2017-07-17 09:11:14 +03:00
Anatol Belski 6e4f3d1967 fix new password related pieces wrt failing tests 2017-07-17 08:01:26 +02:00
Peter Kokot 9780d16376 Fixed bug #74906 redirecting incorrect include <sys/errno.h> 2017-07-17 06:56:59 +01:00
Joe Watkins 876941cae2 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74906 redirecting incorrect include <sys/errno.h>
2017-07-17 06:55:28 +01:00
Joe Watkins 8c238c15bc Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug 74913 redirecting incorrect include <sys/poll.h>
2017-07-17 06:52:43 +01:00
Anatol Belski ea51bcd1fa fix typo 2017-07-17 07:01:07 +02:00
Anatol Belski 36c3d71407 fix missing var for phpize 2017-07-17 06:54:47 +02:00
Sara Golemon e93f089d6a Refactor password_hash()
Pull salt generation out to a helper.
Merge options/hash into single switch.
Restore php_error->php_error_docref from last diff. (Error messages matter)
2017-07-16 17:37:45 -04:00
Sara Golemon 7165e28738 Refactor password.c
Use zend_string instread of char*/size_t
Clean up use of scope vars
Get rid of some temporaries/overstacked expressions.
2017-07-16 17:02:39 -04:00
Sara Golemon 3de82a0349 Provide zend_string wrappers for php_base64_(en|de)code
Also pull existing php_base64_decode() proxy out to an inline.
Bump PHP_API_VERSION for ABI change.
2017-07-16 17:01:20 -04:00
Jakub Zelenka 90ae2aec8c Make functions in openssl.c more consistent
Improve naming, CS and add some static defs
2017-07-16 18:38:17 +01:00
Jakub Zelenka 5381ff757d Make consitent naming and improve CS in xp_ssl 2017-07-16 17:57:43 +01:00
Jakub Zelenka c08dba3431 Allow setting SNI cert and pk in separate files 2017-07-16 16:15:43 +01:00
Jakub Zelenka 18180bb161 Bump PHP_JSON_VERSION to 1.6.0 2017-07-16 15:53:02 +01:00
Jakub Zelenka 0f047f60f0 [ci skip] Remove CSV leftovers from json code - $Id$ 2017-07-16 15:51:39 +01:00
Jakub Zelenka 9c58822653 Introduce internal php_json_encode_ex to allow extensions setting depth 2017-07-16 15:47:23 +01:00
Jakub Zelenka 0d0f7cde8c Add JSON_INVALID_UTF8_SUBSTITUTE and JSON_INVALID_UTF8_IGNORE
It implements request #65082 and adds options for replacing resp.
ignoring invalid UTF-8 sequences for json_encode and json_decode.
2017-07-16 12:35:24 +01:00
Anatol Belski f6a4491662 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add test for bug #74923
2017-07-15 11:31:45 +02:00
Anatol Belski d6bcfcd9eb update NEWS 2017-07-14 21:08:36 +02:00
Anatol Belski 705c151cd8 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2017-07-14 21:08:16 +02:00
Sebastian Bergmann 674b11d10e Tweak 2017-07-14 13:43:21 +02:00
Dmitry Stogov 2a286ad599 Added goblal optimisation passes based on data flow analyses using SSA form:
SCCP - Sparse Conditional Constant Propagation, DCE - Dead Code Elimination
and removing of unused local variablesi.

Squashed commit of the following:

commit bf5ac05fc0f5f6ab9c7f2e4eaa83a11c84f471d3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 14:26:40 2017 +0300

    Added news entry

commit 4cfa6984b1f3cd8008a0c0dc82ee3de2da02bf7c
Merge: 1cdaaac 1f261d7
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 13:30:50 2017 +0300

    Merge branch 'sccp' into dce

    * sccp:
      Bump OCI8 version for recent patch
      WS
      Fix test title
      Ensure that the stream position is kept between reads
      Turn off EXIF_DEBUG so Travis don't complain at me
      Don't add a new line to undefined tags in EXIF_DEBUG mode
      Fix compile error with EXIF_DEBUG
      update NEWS
      disable --with-pcre-valgrind on travis
      fix default args for --with-pcre-valgrind
      Enable valgrind support for PCRE by default in debug builds
      add oniguruma.patch to ease future upgrades
      SIZEOF_SIZE_T doesn't exist on AIX and POWER8 (ppc64le), keep using SIZEOF_LONG

commit 1f261d77cb1cb966335097f364ace9349269c704
Merge: a32a3fb b280ba8
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 13:30:39 2017 +0300

    Merge branch 'master' into sccp

    * master:
      Bump OCI8 version for recent patch
      WS
      Fix test title
      Ensure that the stream position is kept between reads
      Turn off EXIF_DEBUG so Travis don't complain at me
      Don't add a new line to undefined tags in EXIF_DEBUG mode
      Fix compile error with EXIF_DEBUG
      update NEWS
      disable --with-pcre-valgrind on travis
      fix default args for --with-pcre-valgrind
      Enable valgrind support for PCRE by default in debug builds
      add oniguruma.patch to ease future upgrades
      SIZEOF_SIZE_T doesn't exist on AIX and POWER8 (ppc64le), keep using SIZEOF_LONG

commit 1cdaaac601cff37fa729f3e6b31dc584782a1649
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 13:27:12 2017 +0300

    Use generic evalution mechanism for constant functions

commit 75bd92a60928818358686410deec24a48e05d6da
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 12:39:05 2017 +0300

    Fixed use-def chain unlinking for "$a = 1; $a += $a;"

commit 7d7746814dc382e468f9016d90c069b88b8b0f0d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 12:38:29 2017 +0300

    Enable duplicate predecessors verification

commit 6b1667f2062d7c1b55e389b03b155cbe132f5dbf
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:55:20 2017 +0300

    Removed duplicate definitions

commit 1415b53014bf5aa1521b779debea6847db8c7940
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:51:29 2017 +0300

    Enable evaluation of constant functions with 3 arguments

commit ab367deef99f39dee15c6bbac45cb25eb9d29e00
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:45:13 2017 +0300

    Removed deprecated check

commit c51659ea8c62e4e8fbf32a0567d4f541807d6b6d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:40:42 2017 +0300

    Reduce limit

commit b1be5a04d783eb160a71fe26e030386b3e2771ba
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:38:23 2017 +0300

    Disable constant array_flip() evaluation

commit 7a5b0596a149a2efc5893ea83be78ef9129009cb
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:33:20 2017 +0300

    Fixed comments

commit 377e48b3426f9ccbcd6207acbbed87b9fdbf549d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:28:50 2017 +0300

    Cast of string to long/double can not produce exception

commit 228dd01af3bf6daefbd7d5be82938dec8b55b6a0
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:24:50 2017 +0300

    Added missed return

commit 0972a2163643757e7e270b8e1c466800aedf1308
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:22:36 2017 +0300

    objects may be nested in array operands

commit bd346bfa5c4c58896fabd9ab2e4d9bb85b3c1402
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:19:20 2017 +0300

    ~$resource is unsupported.

commit c77e45610c22e29b5f4ad7234e38a1f4e2498937
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:15:39 2017 +0300

    ws

commit 0b64d71109fddfec736c91546b6df978adb1f4fd
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:14:40 2017 +0300

    Call to zend_ssa_unlink_use_chain() shouldn't be dropped

commit cb7059fcf6e51616c08d5b8a933401a94ae0b6e0
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:11:58 2017 +0300

    Safer check for function name. The previous check is incorrect in ZTS build.

commit 7280aba1e125fc314284d7ef1252e14d04c415a4
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:02:10 2017 +0300

    Missing warning

commit 54bc7b576cee33037b7e575c013e3ede726647a2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 10:56:42 2017 +0300

    Proper check for successors count

commit ea8c004a155453b4e15684e2bd1bdb1dc99e8833
Merge: 624f76d a32a3fb
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 13 15:56:26 2017 +0300

    Merge branch 'sccp' into dce

    * sccp:
      fix fold
      Fixed bug #74866 extension_dir = "./ext" now use current directory for base
      add next vc15 toolset to the list
      Revert "Enable whole program optimization for builds without PGO, too"
      extend comment
      cleanup discontinued target

commit a32a3fb67cd03b9cdab8cd15f133ef55e717408d
Merge: 2722dbf 5fb2abd
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 13 15:56:14 2017 +0300

    Merge branch 'master' into sccp

    * master:
      fix fold
      Fixed bug #74866 extension_dir = "./ext" now use current directory for base
      add next vc15 toolset to the list
      Revert "Enable whole program optimization for builds without PGO, too"
      extend comment
      cleanup discontinued target

commit 624f76df48db42f616bdfd02e9b26515a97c68e2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 13 12:30:27 2017 +0300

    Set RETURN_VALUE_UNUSED instead of additional FREE opcode, if possible.
    Keep alive dead instructions that have to free two temporary variables.

commit 94c9b26695702e863ebeb40fa3cce5f5f2db7744
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 13 11:51:14 2017 +0300

    More accurate "vararg" handling in DCE

commit 665ed8491ca07cd6d3363abf42c5777e132a3da1
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 13 09:31:45 2017 +0300

    Improved DCE performance, by avoiding redundand checks and repeatable iterations.

commit 3f42ce18ba4420aabb9b07b838096cce340d06b7
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 23:03:11 2017 +0300

    Added few more instructions without side effects and exceptions

commit b17178f991c095d9137c1536b53b933208e575bf
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 20:39:02 2017 +0300

    Temprary enable SSA validation in DEBUG build

commit e238a8dc79debcf2f833e07323f975173aec6205
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 20:37:53 2017 +0300

    Inegrate SSA validation developed by Nikita

commit a247cee80b47ca335162e8bd46d06274f8af5a4d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 20:31:27 2017 +0300

    Perform DCE pass before other DFA optimisations, to properly reconstruct "no value" use-def chains.

commit a651564f299e3b413af1146149de0d7eec0dfb28
Merge: 06f6eb0 2722dbf
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 18:55:05 2017 +0300

    Merge branch 'sccp' into dce

    * sccp:
      Resources should be closed during object destructioin, not during freeing.
      Guard against AppVeyor losing deps issue
      increase poll timeout as false positives mitigation
      Value of EG(user_exception_handler) should't relive request boundary
      sodium ext: remove function names before exception messages
      sodium ext: update the crypto_kx_*() API to the libsodium one
      Revert "fix macro redifinitions"

commit 2722dbfdf54702c8b429ed792e96f91219031eb6
Merge: 6595ea3 09d3b73
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 18:54:48 2017 +0300

    Merge branch 'master' into sccp

    * master:
      Resources should be closed during object destructioin, not during freeing.
      Guard against AppVeyor losing deps issue
      increase poll timeout as false positives mitigation
      Value of EG(user_exception_handler) should't relive request boundary
      sodium ext: remove function names before exception messages
      sodium ext: update the crypto_kx_*() API to the libsodium one
      Revert "fix macro redifinitions"

commit 06f6eb0e6877d8b26c621f5627587539ebcc781f
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 14:52:28 2017 +0300

    Use zend_ssa_is_no_val_use() instead of zend_has_improper_op1_use()

commit 4b64dbb30d519be359c44ad4f3802e93a7f5fa65
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 13:07:14 2017 +0300

    Check if instruction may throw exception only for instructions without known side effects.
    Always disable removing ASSIGN and UNSET_VAR that may throw.

commit c5aa1f47cd16290c77fb988504dc0dd8bad242a3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 11:21:07 2017 +0300

    Use existing bit

commit c2af153baea6e05401f78a856a8ae436e5f37bf9
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 11:10:48 2017 +0300

    Updated Windows build

commit de5e8fc12971e55c81b0768daa96adcd6074038e
Merge: 8c0de53 6595ea3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 11:10:12 2017 +0300

    Merge branch 'sccp' into dce

    * sccp: (29 commits)
      Use existing bit
      Updated Windows build
      Fixed compilation error
      Remove debug code
      We need to check for the length here too, or we crash and no one likes that! :(
      * Implemented #65187 (exif_read_data/thumbnail: add support for stream resource) * ext/exif now uses FAST_ZPP
      Remove extraneous configure flag
      Revert "remove excessive checks and fix warnings"
      parametrize zip names
      Upgrade bundled PCRE to 8.41
      Updated NEWS file with LDAP changes
      Fixed removing all controls by passing an empty array to ldap_set_option
      Filled in NEWS file with ext/ldap last modifications
      change order, allow to build as shared extension
      restore file deleted by mistake in a merge commit
      Fix segfault in php_stream_context_get_option call
      remove excessive checks and fix warnings
      fix macro redifinitions
      fix symbol availability and ws
      Remove this for now, as not found
      ...

commit 6595ea3420b686d1bfe49fbd5893b6a42115c60b
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 10:27:02 2017 +0300

    Use existing bit

commit f0bfd36cb822dbbe28df827a53a2ed96aa61051f
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 10:21:22 2017 +0300

    Updated Windows build

commit a9bd7c89f28cf99933a4d3d026a6da5f5e3ca0f7
Merge: d1eb5ed 2b7d3fb
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 09:51:32 2017 +0300

    Merge branch 'master' into sccp

    * master: (27 commits)
      Fixed compilation error
      Remove debug code
      We need to check for the length here too, or we crash and no one likes that! :(
      * Implemented #65187 (exif_read_data/thumbnail: add support for stream resource) * ext/exif now uses FAST_ZPP
      Remove extraneous configure flag
      Revert "remove excessive checks and fix warnings"
      parametrize zip names
      Upgrade bundled PCRE to 8.41
      Updated NEWS file with LDAP changes
      Fixed removing all controls by passing an empty array to ldap_set_option
      Filled in NEWS file with ext/ldap last modifications
      change order, allow to build as shared extension
      restore file deleted by mistake in a merge commit
      Fix segfault in php_stream_context_get_option call
      remove excessive checks and fix warnings
      fix macro redifinitions
      fix symbol availability and ws
      Remove this for now, as not found
      fix authors
      NEWS for Sodium
      ...

commit 8c0de53e5f599c83fa03c78931527ab4ff14cf93
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 21:54:36 2017 +0300

    Initial integration of Dead Code Elimination (DCE) and unused variable removing passes, originally developed in https://github.com/nikic/php-src/tree/opt, into DFA optimization pass.

commit d1eb5ede3a2b9a0bf57e06783f7913a6383f5d6d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 12:19:11 2017 +0300

    Proper SSA reconstruction for "$a = $a;"

commit 4872d139b55c22c2325459dba0ee557c708567b5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 11:57:33 2017 +0300

    Replace conditions, that should be always true, by ZEND_ASSERT()

commit 9915b1f5cd2bdd92d0cc5e90244a90fbef06740b
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 11:56:51 2017 +0300

    Fixed pass name

commit d26ff1b88d3b3b1e8742f2e7812ae5e2531958a6
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 11:55:47 2017 +0300

    Don't create identical predecessors

commit 0625fbe32bd66b7bcca29e65b131f0cfccd3e074
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 09:36:07 2017 +0300

    Update unreachable blocks.

commit 9d7d409e6abda5c2e13458f01b8133095fb68531
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 09:28:49 2017 +0300

    Keep consistent cfg.map[]

commit 85a86e58b220eaf2012f652b97fbeb2d2f85646d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 02:36:14 2017 +0300

    Remove unusded phi

commit d5e0f2df4c76656bbe5973e69e12e1b7415de5ee
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 02:35:00 2017 +0300

    Don't clear phi->spources[] too early.

commit a90ed34295a0bab09c00bb7001a368a858a38399
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 21:29:39 2017 +0300

    Make SCCP to remove dead live ranges.

commit 320237f3d84b872dfa096b9a604ae4d5b4d28c8e
Merge: 63bbed5 7be2637
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 17:35:21 2017 +0300

    Merge branch 'master' into sccp

    * master:
      Fixed memory leak introduced by 7cb5bdf64a
      eliminate casts
      remove checks for eol dependencies
      improve test
      Small fix in ext/ldap, Moved vars definitions to the beginning of the block using them
      ZipArchive implements countable, added ZipArchive::count() method

commit 63bbed5e71432d14217b591de511f09937a3c00c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 17:01:15 2017 +0300

    Evaluation of few more constant functions

commit 07f45d8a3dbfa67bc28c9ef4bb14c753816f4e44
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 16:22:47 2017 +0300

    Properly unlinking dead blocks from predecessors/successors and dominators

commit 502002aa6e11452ed27829f7e29604b27fc69ad2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 13:33:14 2017 +0300

    Replacel constant JMPZ/NZ/ZNZ by JMP or NOP

commit 3253e61b66b3aa324115ec57ff1cb271ca27dc14
Merge: e7f69f0 161c378
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 12:22:39 2017 +0300

    Merge branch 'master' into sccp

    * master:
      Revert "Fixed bug #74878"
      Upgrading note for #74837
      Fixed bug #74837 - NEWS
      Implement Countable for DomNodeList and DOMNamedNodeMap (Request #74837)
      Fix #49649 - Handle property visibility changes on unserialization

commit e7f69f07fc649692218d01dab34b8f8555a6f88c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 12:15:08 2017 +0300

    Prevent compile-time evaluation of implode() with arguments causing run-time warnings

commit 0e882f189a01b6ee648420776fb473c1efd22380
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 11:54:04 2017 +0300

    Constant evaluation of ini_get() for some safe cases

commit 9e36a748b28850bd15ac621879e1d28ed8e36169
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 11:13:37 2017 +0300

    Constant evaluation of implode()

commit e73046e266617ae23caa7f40344fc6e8e41e3c56
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 10:51:23 2017 +0300

    Fixed uninitialized value

commit f5e2e8e68cc46cfc1380d000672d01b243ad7f59
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 10:05:37 2017 +0300

    Remove (compact) unused constants after SCCP pass

commit f0b7bb86ebe93373a02ef36029f76239ba9ec1d4
Merge: e69d4f6 cfacf84
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 09:10:00 2017 +0300

    Merge branch 'master' into sccp

    * master: (37 commits)
      #73594 tests only check the extra params if dns_get_record is successful
      Fixed bug #74852 (property_exists returns true on unknown DateInterval property)
      fix uninitialized var
      fix comparison warning
      comply with POSIX signature
      fix warning
      remove some casts
      cleanup casts
      remove useless cast
      eliminate casts
      sync vim mode lines in main
      [ci skip] update NEWS
      [ci skip] update NEWS
      [ci skip] update NEWS
      Fixed bug #74883 SQLite3::__construct() produces "out of memory" exception with invalid flags
      Silent compiler warning
      Fix test
      Deprecated the read_exif_data() alias
      Add myself as exif maintainer
      update libs versions
      ...

commit e69d4f61409c473ae36d85c3779ad5f786fecdc0
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 7 12:51:41 2017 +0300

    Avoid in-place modification of referenced data

commit 58f7c17978dec7b5fe6fe80b4efc55e2168bab61
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 7 12:33:24 2017 +0300

    Use arena for temporary data.

commit 93d3e7ddc22f1bc7323abae2256b0b50bc1f8b29
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 7 11:54:47 2017 +0300

    Made sccp_ctx to be an "extension" of scdf_ctx and remove duplicate data.

commit f810c6f7c47b03412c61878b761e1bb687fbcf28
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 7 11:20:48 2017 +0300

    Improved SSCP integration

commit d17ed887f304af0f6ccba76a3dbfca888867ea01
Merge: d90805a 29653da
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 7 10:22:37 2017 +0300

    Merge branch 'master' into sccp

    * master:
      Fixed bug #74873 (Minor BC break: PCRE_JIT changes output of preg_match()).
      Fixed bug #72324 (imap_mailboxmsginfo() return wrong size)
      Fix redefine warnings
      Expand sb's name and capitalize my own
      Write the URL on a new line, so that it is easier copyable

commit d90805a40bd5d75d197f7b95c69680f636932868
Merge: 2e5e03b fc336c7
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 23:07:04 2017 +0300

    Merge branch 'master' into sccp

    * master:
      Added missed dump of "main" script code
      replace the stack var by a macro
      [ci skip] sync NEWS
      minor fix for web announce
      add missing NEWS entry for #74087 and also fix the formatting
      move NEWS entry to the correct place, also bump the version

commit 2e5e03b673cb86ee0fa6be06496553fa6b8c52e7
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 23:03:41 2017 +0300

    Call info should be removed, but at least we should prevent incorrect stack adjustment.

commit 1ee9110b35eab79f74d08278c104c92796740fa7
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 19:34:43 2017 +0300

    Remove NOP instructions, introduced bvy SCCP.
    This commit discloses unrelated issue caused ext/soap/tests/bug70211.phpt failure.

commit 9a2f50070d1afde8ee4784a1dade2537e1ac30d5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 16:34:02 2017 +0300

    Avoid useless iterations for first SSA variablesi, always marked BOT.

commit c57dd7c6efb98c89a8c87af0eaad76b71c9cda16
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 16:33:46 2017 +0300

    Use reference-counting

commit 90f822d68ef1cb68befa3fff289c9e8d1b2068c8
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 14:00:22 2017 +0300

    Support for few more opcodes

commit cffee2f7e5bb4198e645e291fafe5690443cf26c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 12:35:13 2017 +0300

    Combined constants substitutaion and dead instruction removing in single pass. This eleminates substitution in dead instructions.

commit f890375c16052a9d79bf77c9021914cb9c6616f8
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 10:34:48 2017 +0300

    Use reference-counting instead of duplication

commit db0cd64dfa7a2ff809b49a049074b5fa39d37314
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 03:04:27 2017 +0300

    Improved SCDF<->SCCP interface

     - "get_feasible_successors" callback is changed into "mark_feasible_successors" and should mark necessary edges through scdf_mark_edge_feasible()
     - SCDF takes care about OP_DATA instruction
     - SCDF code is re-arranged to avoid repeatable checks

commit e0ad5dd48942c71033fad985c591549a35c21ef3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 00:55:40 2017 +0300

    Changed representation of "feasible_edges", using one bit per edge.

commit afee3138fe49588b3967f54bf66375f880a51924
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 00:49:56 2017 +0300

    Revert "Don't propagate unused values"

    This reverts commit 84e5bfd4304d34e3a7107db71783882013f8de59.

commit 84e5bfd4304d34e3a7107db71783882013f8de59
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 23:39:42 2017 +0300

    Don't propagate unused values

commit d4f15b95061a8a2303d90e6e54effeb9733f90b7
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 23:39:10 2017 +0300

    Don't visit the same Phi twice

commit 2558311b4d530fb84539db304d03dfeba5eda789
Merge: 722a59d 7bb4ae5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 21:51:06 2017 +0300

    Merge branch 'master' into sccp

    * master:
      Fixed final dump "after optimizer"

commit 722a59ddb12e641aea99ca8853ef921c4fdf9819
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 21:09:29 2017 +0300

    SCCP doesn't support VERIFY_RETURN_TYPE (ext/opcache/tests/bug73789.phpt failure)

commit 7084fade4dcb74415f0644d8e207f0fab6c6509d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 20:37:21 2017 +0300

    Fixed SSA reconstruction

commit 37ec4e0845a5b25fe2b523452d32dba22605d2e3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 19:34:46 2017 +0300

    Disable constant propagation for variables that can be modified indirectly

commit 4bb9b6526e44c2f324f9a7c08890ab9bdedd639c
Merge: 6800460 73d5097
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 19:17:04 2017 +0300

    Merge branch 'master' into sccp

    * master: (43 commits)
      Keep information about SSA variables, that may be modified indirectly.
      Added constants for known ldap controls OID and tests for ldap_get/set_option for controls
      Added support for controls to ldap_get_option
      [ci skip] sync NEWS
      NEWS for oniguruma
      Patch from the upstream git https://github.com/kkos/oniguruma/issues/60 (CVE-2017-9228)
      Patch from the upstream git https://github.com/kkos/oniguruma/issues/59 (CVE-2017-9229) b690371bbf97794b4a1d3f295d4fb9a8b05d402d Modified for onig 5.9.6
      Patch from the upstream git https://github.com/kkos/oniguruma/issues/58 (CVE-2017-9227)
      Patch from the upstream git https://github.com/kkos/oniguruma/issues/57 (CVE-2017-9224)
      Patch from the upstream git https://github.com/kkos/oniguruma/issues/55 (CVE-2017-9226) b4bf968ad52afe14e60a2dc8a95d3555c543353a Modified for onig 5.9.6 f015fbdd95f76438cd86366467bb2b39870dd7c6 Modified for onig 5.9.6
      valid_symbol_table removed
      Improve fix for #74145
      Fix wddx
      Fix tests
      Fixed bug #74111
      Fix bug #74603 - use correct buffer size
      Fix bug #74651 - check EVP_SealInit as it can return -1
      Update NEWS
      Fix bug #74087
      Fixed parsing of strange formats with mixed month/day and time strings
      ...

commit 680046086c17b938e0288fca820668a183b86834
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 16:14:38 2017 +0300

    Support for few more internal functions evaluation

commit 74a29468ef14260ea3c210a2d1e3548806c81339
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 13:42:55 2017 +0300

    Disabled evaluation of strpos() with empty needle.

commit e8908946e52127727da9f0dd22a053befe8bf848
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 13:17:30 2017 +0300

    Replace calls to in_array() with constant array by IN_ARRAY instruction after SCCP.

commit 4e8fa2c3dd087a49ba90a3ef8231cc81f0399548
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 00:58:12 2017 +0300

    Initial integration of Sparse Conditional Constant Propagation (SCCP), originally developed in https://github.com/nikic/php-src/tree/opt, into DFA optimization pass.
2017-07-14 14:33:34 +03:00
Anatol Belski b5fd99b636 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74923 Crash when crawling through network share
2017-07-14 13:24:21 +02:00
Christopher Jones b280ba854a Merge branch 'PHP-7.1' 2017-07-14 14:14:10 +10:00
Kalle Sommer Nielsen 4d684a6cd7 WS 2017-07-14 03:42:15 +02:00
Kalle Sommer Nielsen 333c362178 Fix test title 2017-07-14 02:02:25 +02:00
Kalle Sommer Nielsen 997e2e5452 Ensure that the stream position is kept between reads 2017-07-14 01:59:23 +02:00
Kalle Sommer Nielsen f7d9f6456c Turn off EXIF_DEBUG so Travis don't complain at me 2017-07-14 01:18:58 +02:00
Kalle Sommer Nielsen bf7f6f9078 Don't add a new line to undefined tags in EXIF_DEBUG mode 2017-07-14 01:17:34 +02:00
Kalle Sommer Nielsen 9cf586cdfb Fix compile error with EXIF_DEBUG 2017-07-14 01:12:00 +02:00
Anatol Belski 89eb27a99c update NEWS 2017-07-13 21:08:13 +02:00
Anatol Belski 9ce076a3d1 disable --with-pcre-valgrind on travis 2017-07-13 20:28:44 +02:00
Anatol Belski 24de0fe9f4 fix default args for --with-pcre-valgrind 2017-07-13 20:28:10 +02:00
Frank Denis aa32d989c7 sodium ext: remove unused sodium_randombytes_*() prototypes 2017-07-13 18:59:58 +02:00
Anatol Belski 850bb998d9 Enable valgrind support for PCRE by default in debug builds
Thanks Nikita for the hint.
2017-07-13 18:38:28 +02:00
Anatol Belski 1e2764614b add oniguruma.patch to ease future upgrades 2017-07-13 17:34:14 +02:00
Lior Kaplan c2c60fcac7 SIZEOF_SIZE_T doesn't exist on AIX and POWER8 (ppc64le), keep using SIZEOF_LONG 2017-07-13 18:05:47 +03:00
Anatol Belski 5fb2abd6b0 fix fold 2017-07-13 14:33:49 +02:00
Francois Laupretre 0782a7fc63 Fixed bug #74866 extension_dir = "./ext" now use current directory for base 2017-07-13 14:27:19 +02:00
Anatol Belski 613102bd67 add next vc15 toolset to the list 2017-07-13 12:20:34 +02:00
Anatol Belski bc16deee83 Revert "Enable whole program optimization for builds without PGO, too"
This reverts commit f052e99df6.

There appear to be link issues with upcoming 19.11 and /LTCG, prefer
wider dependency compatibility.
2017-07-13 12:20:34 +02:00
Anatol Belski d9f72886aa extend comment 2017-07-13 12:20:34 +02:00
Anatol Belski 1300017cdc cleanup discontinued target 2017-07-13 08:18:50 +02:00
Frank Denis b071fcb81d sodium ext: add bindings for keygen() functions
This is the recommended way to generate keys correctly for all operations
using a single key, since libsodium 1.0.12.
2017-07-12 23:29:48 +02:00
Frank Denis 8e8fbf51f7 sodium ext: sort prototypes 2017-07-12 23:06:43 +02:00
Dmitry Stogov 09d3b7386c Resources should be closed during object destructioin, not during freeing. 2017-07-12 18:53:16 +03:00
Anatol Belski b41d715511 Merge branch 'PHP-7.1'
* PHP-7.1:
  Guard against AppVeyor losing deps issue
2017-07-12 15:40:33 +02:00
Anatol Belski bfa3df0048 Merge branch 'PHP-7.1'
* PHP-7.1:
  increase poll timeout as false positives mitigation
2017-07-12 14:50:36 +02:00
Dmitry Stogov 43e283fd64 Value of EG(user_exception_handler) should't relive request boundary 2017-07-12 15:37:12 +03:00
Frank Denis a5258ed645 sodium ext: remove function names before exception messages 2017-07-12 08:48:09 +01:00
Frank Denis 6ac6d2c64a sodium ext: update the crypto_kx_*() API to the libsodium one
The crypto_kx API initially present in the PHP bindings was a prototype
that was not part of libsodium.

This implements the one from libsodium >= 1.0.12.

We can later leverage the native libsodium functions if we decide that
1.0.12 is the minimum version we want to support.
2017-07-12 08:25:38 +01:00
Frank Denis dfac71d096 Revert "fix macro redifinitions"
This reverts commit cbbf579f21.
2017-07-12 08:25:35 +01:00
Dmitry Stogov 2b7d3fb45f Fixed compilation error 2017-07-12 09:46:22 +03:00
Kalle Sommer Nielsen 7845182edd Remove debug code 2017-07-12 06:12:07 +02:00
Kalle Sommer Nielsen 363bb03b7e We need to check for the length here too, or we crash and no one likes that! :( 2017-07-12 06:11:14 +02:00
Kalle Sommer Nielsen 969eb8345b * Implemented #65187 (exif_read_data/thumbnail: add support for stream resource)
* ext/exif now uses FAST_ZPP
2017-07-12 05:43:50 +02:00
Sara Golemon bf0f769d58 Remove extraneous configure flag
--with-sodium --with-libsodium[=DIR] is inconsistent with
existing extensions. Unify these into a single
--with-sodium[=DIR] option
2017-07-11 22:12:58 -04:00
Anatol Belski d1ee66655b Revert "remove excessive checks and fix warnings"
This reverts commit c620daecb4.
2017-07-11 23:13:22 +02:00
Anatol Belski 2b37da9eda parametrize zip names
simplify names
2017-07-11 21:45:49 +02:00
Anatol Belski 8a287c0ea0 Upgrade bundled PCRE to 8.41
HEADSUP! With PCRE 8.39 the JIT related code was changed in the way,
that additional valgrind options became almost unavoidable. Valgrind
had it already sometimes hard with JIT, now there are seem to be more
cases requiring special valgrind options.

For this reason, the new configure option --with-pcre-valgrind was
introduced. The option is development/debugging only and turns on the
Valgrind related pieces in PCRE, so then false positives are avoided
to the big part. In addition, run-tests.php was added a new valgrind
option, when the leak check is enabled and the test filepath contains
pcre.

Thus, to debug the code related to PCRE with JIT enabled, two things
would likely make sense

  - configure --with-pcre-valgrind
  - valgrind option --smc-check=all if run-tests.php is not used

The checks so far reveal no new issues.
2017-07-11 17:01:59 +02:00
Côme Chilliet 9bcd93201f Updated NEWS file with LDAP changes
Also fixed wording: bug -> feature request for EXOP
2017-07-11 16:23:21 +02:00
Côme Chilliet a148ee8c7c Fixed removing all controls by passing an empty array to ldap_set_option 2017-07-11 16:18:33 +02:00
Côme Chilliet 4219ca966e Filled in NEWS file with ext/ldap last modifications 2017-07-11 13:53:46 +02:00
Remi Collet 249f75e7e4 change order, allow to build as shared extension 2017-07-11 13:53:06 +02:00
Remi Collet d5f7e01f7c restore file deleted by mistake in a merge commit 2017-07-11 13:07:51 +02:00
Remi Collet 2458dce3e5 Fix segfault in php_stream_context_get_option call 2017-07-11 11:41:47 +02:00
Anatol Belski c620daecb4 remove excessive checks and fix warnings 2017-07-11 11:03:09 +02:00
Anatol Belski cbbf579f21 fix macro redifinitions 2017-07-11 10:01:37 +02:00
Anatol Belski 8cfe479d1f fix symbol availability and ws 2017-07-11 09:54:36 +02:00
Remi Collet 90b2cecbaa Remove this for now, as not found
"E: Unable to locate package libsodium-dev"
2017-07-11 07:52:28 +02:00
Remi Collet d269aa2003 fix authors 2017-07-11 07:43:56 +02:00
Remi Collet c229ab587c NEWS for Sodium 2017-07-11 07:41:43 +02:00
Remi Collet ae96c7f48f fix CREDITS file 2017-07-11 07:30:22 +02:00
Paragon Initiative Enterprises 5cfa26c181 Squashed commit - Add ext/sodium
RFC: https://wiki.php.net/rfc/libsodium
Licensing: https://web.archive.org/web/20170710161517/https://github.com/jedisct1/libsodium-php/issues/127
2017-07-11 07:25:50 +02:00
Anatol Belski da2583b193 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2017-07-10 22:50:53 +02:00
Anatol Belski 215bf24f01 Merge branch 'PHP-7.1'
* PHP-7.1:
  switch to next binary tools sdk version
2017-07-10 21:47:07 +02:00
Anatol Belski 07c7445dd0 fix datatype 2017-07-10 17:34:58 +02:00
Anatol Belski ad25234350 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Add more constants, improve comments, and add tests"
2017-07-10 17:02:32 +02:00
Dmitry Stogov 7be2637dce Fixed memory leak introduced by 7cb5bdf64a 2017-07-10 17:34:30 +03:00
Anatol Belski 2283b6ff53 eliminate casts 2017-07-10 15:48:54 +02:00
Anatol Belski e0809fe62d remove checks for eol dependencies
yet one leftower, only FreeTDS is usable at the moment
2017-07-10 15:00:16 +02:00
Anatol Belski b6ae363338 Merge branch 'PHP-7.1'
* PHP-7.1:
  improve test
2017-07-10 13:50:53 +02:00
Côme Chilliet ed8bfcc6ea Small fix in ext/ldap, Moved vars definitions to the beginning of the block using them 2017-07-10 11:33:08 +02:00
Remi Collet 569d164c4a ZipArchive implements countable, added ZipArchive::count() method 2017-07-10 11:31:55 +02:00
Dmitry Stogov 161c378cc8 Revert "Fixed bug #74878"
This reverts commit 9069734b57.
2017-07-10 12:21:58 +03:00
Remi Collet 5369006edf Upgrading note for #74837 2017-07-10 08:55:41 +02:00
Remi Collet 6f97fb47ca Fixed bug #74837 - NEWS 2017-07-10 08:50:38 +02:00
Andreas Treichel f725d9b1b9 Implement Countable for DomNodeList and DOMNamedNodeMap (Request #74837) 2017-07-10 08:48:10 +02:00
Pedro Magalhães 7cb5bdf64a Fix #49649 - Handle property visibility changes on unserialization 2017-07-10 07:27:09 +01:00
Joe Watkins cfacf84dc1 Merge branch 'PHP-7.1'
* PHP-7.1:
  #73594 tests only check the extra params if dns_get_record is successful
2017-07-10 06:56:03 +01:00
Joe Watkins bad55a72ab Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74852 (property_exists returns true on unknown DateInterval property)
2017-07-10 06:54:24 +01:00
Anatol Belski e24a8012a0 fix uninitialized var 2017-07-09 17:54:46 +02:00
Anatol Belski a51cb393b1 fix comparison warning 2017-07-09 16:28:17 +02:00
Anatol Belski ba5df1c682 comply with POSIX signature 2017-07-09 16:23:31 +02:00
Anatol Belski 8d0d326ff9 fix warning 2017-07-09 16:05:36 +02:00
Anatol Belski 72b0a3a892 remove some casts 2017-07-09 15:47:01 +02:00
Anatol Belski 84079f4a1e cleanup casts 2017-07-09 15:31:05 +02:00
Anatol Belski e403acc74b remove useless cast 2017-07-09 15:15:17 +02:00
Anatol Belski aaf09f7bdf eliminate casts 2017-07-09 15:11:02 +02:00
Anatol Belski 384f0f8a4c sync vim mode lines in main 2017-07-09 15:07:23 +02:00
Anatol Belski e870edb1ee [ci skip] update NEWS 2017-07-09 15:05:44 +02:00
Anatol Belski 2409aac896 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-07-09 15:03:07 +02:00
Anatol Belski 176b45fa3a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74883 SQLite3::__construct() produces "out of memory" exception with invalid flags
2017-07-09 01:32:07 +02:00
Kalle Sommer Nielsen 7bb696dc49 Silent compiler warning 2017-07-08 19:05:28 +02:00
Kalle Sommer Nielsen 38d019979e Fix test 2017-07-08 18:01:51 +02:00
Kalle Sommer Nielsen ba28d75c2c Deprecated the read_exif_data() alias 2017-07-08 15:02:05 +02:00
Kalle Sommer Nielsen 5c6e0b189e Merge branch 'master' of git.php.net:/php-src 2017-07-08 13:52:00 +02:00
Kalle Sommer Nielsen b1fd08d94c Add myself as exif maintainer 2017-07-08 13:51:36 +02:00
Anatol Belski 0acb6d1ae2 Merge branch 'PHP-7.1'
* PHP-7.1:
  update libs versions
  Fix NEWS entry location
  Fix NEWS entry location
  news entry for 74819
  news entry for 74651
  news entry for 74111
  news entry for 74435
  news entry for 74603
2017-07-08 13:42:47 +02:00
Kalle Sommer Nielsen 106386dd98 Fixed file name for case sensitive file systems 2017-07-08 03:34:30 +02:00
Kalle Sommer Nielsen 469206c84e Added test case for bug #73115 which was fixed by recently fixed bugs 2017-07-08 03:30:46 +02:00
Nikita Popov 9069734b57 Fixed bug #74878 2017-07-07 22:41:48 +02:00
Kalle Sommer Nielsen 134047dfde We currently don't use the guessing code, so don't compile it 2017-07-07 12:23:24 +02:00
Kalle Sommer Nielsen e6903d471e * Fixed bug #72819 (EXIF thumbnails not read anymore)
* Fixed bug #62523 (php crashes with segfault when exif_read_data called)
* Fixed the poor test case for #62523, which was a HTML document

Fixing #72819 had the side effect of fixing #62523 by supporting the format as seen in bug62523_1.phpt
2017-07-07 12:20:05 +02:00
Andrey Andreev ce4e07e37d Add missing NEWS entry, update UPGRADING
This was done back in January, but never noted in the NEWS file.
References:

https://github.com/php/php-src/pull/2312
https://github.com/php/php-src/pull/2321
2017-07-07 13:01:09 +03:00
Kalle Sommer Nielsen babc3c522f This should be EXPECT instead of EXPECTF 2017-07-07 11:31:31 +02:00
Kalle Sommer Nielsen cd8d0aad7f Fixed bug #50660 (exif_read_data(): Illegal IFD offset (works fine with other exif readers)) 2017-07-07 11:29:23 +02:00
Kalle Sommer Nielsen 900ce92c9a Fixed bug #74428 (exif_read_data(): "Illegal IFD size" warning occurs with correct exif format) 2017-07-07 10:20:02 +02:00
Anatol Belski 57432da0b9 fix command 2017-07-07 09:05:33 +02:00
Dmitry Stogov 29653da385 Fixed bug #74873 (Minor BC break: PCRE_JIT changes output of preg_match()). 2017-07-07 09:54:21 +03:00
Kalle Sommer Nielsen 5a991ea49b Fixed bug #72324 (imap_mailboxmsginfo() return wrong size) 2017-07-07 08:18:33 +02:00
Kalle Sommer Nielsen 9507d14584 Fix redefine warnings 2017-07-07 08:08:25 +02:00
Kalle Sommer Nielsen 4be4a38d99 Expand sb's name and capitalize my own 2017-07-07 04:56:45 +02:00
Kalle Sommer Nielsen c5f83f3426 Write the URL on a new line, so that it is easier copyable 2017-07-07 04:15:13 +02:00
Dmitry Stogov fc336c78e7 Added missed dump of "main" script code 2017-07-06 23:06:11 +03:00
Anatol Belski 9ad0d0ca3c replace the stack var by a macro 2017-07-06 20:47:04 +02:00
Remi Collet 9470b2016c [ci skip] sync NEWS 2017-07-06 13:22:10 +02:00
Remi Collet ec0ad331cd minor fix for web announce 2017-07-06 12:34:00 +02:00
Ferenc Kovacs b04b6b6a5b Merge branch 'PHP-7.1' 2017-07-06 00:14:29 +02:00
Dmitry Stogov 7bb4ae59c3 Fixed final dump "after optimizer" 2017-07-05 21:48:01 +03:00
Dmitry Stogov 73d5097a9f Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Added constants for known ldap controls OID and tests for ldap_get/set_option for controls
  Added support for controls to ldap_get_option
2017-07-05 19:16:26 +03:00
Dmitry Stogov acffb7a080 Keep information about SSA variables, that may be modified indirectly. 2017-07-05 19:15:16 +03:00
Côme Chilliet 274d84139b Added constants for known ldap controls OID and tests for ldap_get/set_option for controls
Also fixed existing tests which were expecting ldap_get_option to fail on controls
2017-07-05 16:41:52 +02:00
Côme Chilliet 3a09c1246c Added support for controls to ldap_get_option 2017-07-05 16:41:52 +02:00
Anatol Belski 6164ec91c6 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] sync NEWS
2017-07-05 12:33:20 +02:00
Côme Chilliet 513bbba5cc Merge branch 'pull-request/2608'
* pull-request/2608:
  Test ldap_exop_passwd with less parameters to be sure it works
  Changed API to avoid using passing result by reference
  Removed unused variables left over by LDAP EXOP patch
  Removed TSRMLS_CC instances left over by LDAP EXOP patch
  Swapped position of retoid and retdata as retoid is almost never used
  Removed two step syntax for EXOP helpers, one call workflow is enough
  Improved ldap_exop test to encode&decode a passwd EXOP to test sending/recieving data
  Removed TODOs regarding implementing passwd and whoami exops based on ldap_exop
  Added constants for standard EXOPs
  Removed ldap_refresh function as I’m not sure how to fix/use/test it
  Fixed ldap_exop and ldap_parse_exop. Only tested them for whoami exop. (see test file)
  Fixed ldap_parse_exop_whoami and ldap_parse_exop_passwd and added test for them
  Fixed ldap_exop_whoami and added a test for it
  Fixed ldap_exop_passwd and added tests for it
  Fixed building errors in LDAP EXOP
  Added EXOP features based on patch from http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/databases/php-ldap/files/ldap-ctrl-exop56.patch
2017-07-05 11:20:14 +02:00
Remi Collet e1f1ee1eb5 Merge branch 'PHP-7.1'
* PHP-7.1:
  NEWS for oniguruma
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/60 (CVE-2017-9228)
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/59 (CVE-2017-9229) b690371bbf97794b4a1d3f295d4fb9a8b05d402d Modified for onig 5.9.6
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/58 (CVE-2017-9227)
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/57 (CVE-2017-9224)
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/55 (CVE-2017-9226) b4bf968ad52afe14e60a2dc8a95d3555c543353a Modified for onig 5.9.6 f015fbdd95f76438cd86366467bb2b39870dd7c6 Modified for onig 5.9.6
2017-07-05 10:03:00 +02:00
Remi Collet 8d1ae4e1c5 valid_symbol_table removed 2017-07-05 06:33:34 +02:00
Stanislav Malyshev d75dbb0e31 Merge branch 'PHP-7.1'
* PHP-7.1:
  Improve fix for #74145
  Fix wddx
  Fix tests
  Fixed bug #74111
  Fix bug #74603 - use correct buffer size
  Fix bug #74651 - check EVP_SealInit as it can return -1
  Update NEWS
  Fix bug #74087
  Fixed parsing of strange formats with mixed month/day and time strings
  Fix bug #74145 - wddx parsing empty boolean tag leads to SIGSEGV
  Fixed bug #74111
  Fix #74435: Buffer over-read into uninitialized memory
  Fix bug #74603 - use correct buffer size
  Fix bug #74651 - check EVP_SealInit as it can return -1
  Update NEWS
  Fix bug #73807
2017-07-04 21:23:16 -07:00
Nikita Popov 8e0ddc89fe Drop duplicate dtors in update_opN
Per new convention update_opN should no longer dtor on failure.
2017-07-04 21:23:34 +02:00
Nikita Popov 3f8ceb6f05 Drop useless allocation in php_filter_callback 2017-07-04 21:11:22 +02:00
Nikita Popov 8126599670 Drop dead abstract method check from zend_call_function()
zend_is_callable() is responsible for doing these kinds of checks
already.

Aldro drop a piece of obsolete commented out code.
2017-07-04 21:11:22 +02:00
Remi Collet 1be0563087 Merge branch 'PHP-7.1'
* PHP-7.1:
  Adapt for 32-bits which fails at different offset (49 vs 38)
2017-07-04 20:27:10 +02:00
Anatol Belski bc5811f361 further sync for vim mode lines 2017-07-04 18:12:45 +02:00
Anatol Belski 6a3a2bf18e vim folds and mode lines yet 2017-07-04 17:06:52 +02:00
Anatol Belski a0203ea143 fix datatype 2017-07-04 16:41:29 +02:00
Anatol Belski 8bf7246310 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix datatype
2017-07-04 16:41:05 +02:00
Anatol Belski bae668ee2a add missing include guards 2017-07-04 16:21:45 +02:00
Anatol Belski a56700043e vim folds and modelines 2017-07-04 16:08:48 +02:00
Dmitry Stogov 0965a4ef9f Check for exceptional cases before actual constant evaluation. 2017-07-04 16:09:28 +03:00
Dmitry Stogov 6276268b77 Separate constants propagation code shatred between "first" and "block" passes into helper functions. 2017-07-04 15:10:33 +03:00
Anatol Belski 816669af0c Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] sync NEWS
2017-07-04 12:15:19 +02:00
Remi Collet 1605f5b8c4 Update NEWS for 7.2.0beta1 2017-07-04 11:35:39 +02:00
Remi Collet 8fa1f15e2d Update NEWS for PHP 7.2.0alpha3 2017-07-04 11:35:39 +02:00
Anatol Belski cae6767f8d update NEWS 2017-07-04 11:31:35 +02:00
Anatol Belski ff79b2070f Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2017-07-04 11:31:09 +02:00
Anatol Belski b28c6515a6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74101 and bug #74614
2017-07-04 10:44:50 +02:00
Côme Chilliet 209c9ba384 Test ldap_exop_passwd with less parameters to be sure it works 2017-07-04 10:17:41 +02:00
Côme Chilliet 3207747b9e Changed API to avoid using passing result by reference
See discussion on internals ML
2017-07-04 10:03:27 +02:00
Dmitry Stogov 10dbc0b2e7 Compile/optimisation-time constants can't be circular, but in general may be reference-countable. It's better to use zval_ptr_dtor_nogc() to release them. 2017-07-04 10:43:34 +03:00
Dmitry Stogov b685991b44 Get rid of old compatibility macros 2017-07-04 09:50:57 +03:00
Dmitry Stogov bfa24e3488 Fixed bug #74836 (isset on zero-prefixed numeric indexes in array broken) 2017-07-04 07:23:46 +03:00
Dmitry Stogov 02ef5d3803 Revert "Avoid run-time checks performed at compile-time."
This reverts commit 8fe47a47cf.
2017-07-04 07:15:42 +03:00
Anatol Belski 726f2f7403 [ci skip] update NEWS 2017-07-03 23:21:38 +02:00
Anatol Belski 8871d2d12e Fixed bug #74849 Process is started as interactive shell in PhpStorm 2017-07-03 21:59:31 +02:00
Dmitry Stogov 55cd4e859b Added missed opcodes 2017-07-03 21:26:44 +03:00
Côme Chilliet 13062efd02 Removed unused variables left over by LDAP EXOP patch 2017-07-03 12:23:34 +02:00
Côme Chilliet e05d230e52 Removed TSRMLS_CC instances left over by LDAP EXOP patch 2017-07-03 12:08:24 +02:00
Côme Chilliet bda80aa332 Swapped position of retoid and retdata as retoid is almost never used 2017-07-03 10:58:13 +02:00
Côme Chilliet e9001cab46 Removed two step syntax for EXOP helpers, one call workflow is enough 2017-07-03 10:58:13 +02:00
Côme Chilliet 5020325a6f Improved ldap_exop test to encode&decode a passwd EXOP to test sending/recieving data 2017-07-03 10:58:13 +02:00
Côme Chilliet 413e9c84f6 Removed TODOs regarding implementing passwd and whoami exops based on ldap_exop 2017-07-03 10:58:13 +02:00
Côme Chilliet 9aa99cc34c Added constants for standard EXOPs 2017-07-03 10:58:13 +02:00
Côme Chilliet 4652c46245 Removed ldap_refresh function as I’m not sure how to fix/use/test it 2017-07-03 10:58:13 +02:00
Côme Chilliet e832ce4b22 Fixed ldap_exop and ldap_parse_exop. Only tested them for whoami exop. (see test file) 2017-07-03 10:58:13 +02:00
Côme Chilliet 28530b2f1c Fixed ldap_parse_exop_whoami and ldap_parse_exop_passwd and added test for them 2017-07-03 10:58:13 +02:00
Côme Chilliet fdafd68419 Fixed ldap_exop_whoami and added a test for it 2017-07-03 10:58:12 +02:00
Côme Chilliet ae76c8ba2c Fixed ldap_exop_passwd and added tests for it 2017-07-03 10:58:12 +02:00
Côme Chilliet def09c7cab Fixed building errors in LDAP EXOP 2017-07-03 10:58:12 +02:00
Côme Chilliet a0920f2822 Added EXOP features based on patch from http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/databases/php-ldap/files/ldap-ctrl-exop56.patch 2017-07-03 10:58:12 +02:00
Sara Golemon f066f59eab Add NEWS entry and a test for Bug#71412 2017-07-02 10:41:38 -04:00
Tyson Andre 96fe07e006 Fixes Bug #71412 Incorrect ArrayIterator __construct signature
ArrayIterator doesn't have a getIterator method(), or an iterator setter,
and I don't think it makes sense for it to have one.
2017-07-02 10:37:28 -04:00
Anatol Belski 04d7595e58 Merge branch 'PHP-7.1'
* PHP-7.1:
  yet one C++ compat fix
2017-07-01 20:07:05 +02:00
Anatol Belski 46ef3e237c Merge branch 'PHP-7.1'
* PHP-7.1:
  fix C++ compat
2017-07-01 18:39:02 +02:00
Bob Weinand 2304bc2aa2 Merge branch 'PHP-7.1' 2017-07-01 11:53:00 +02:00
Yasuo Ohgaki a2d766503a Fixed bug #74514 5 session functions incorrectly warn when calling in read-only/getter mode 2017-07-01 03:32:54 +09:00
Richard Fussenegger 66e5dc5b9b Fixed ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO macro
The macro was expanding to a wrong macro and thus leads to compile errors upon
usage. Changed it to expand to the correct macro.
2017-06-30 13:22:25 +02:00
Julien Pauli cf7ae70540 Merge branch 'PHP-7.1'
* PHP-7.1:
  Updated NEWS
  Updated NEWS
  Fix bug #74832, crash in extension loading
2017-06-29 20:25:18 +02:00
Adam Baratz 5ed83f7e84 Apply fix for #69356 to "Sent SQL" 2017-06-29 11:45:41 +02:00
Adam Baratz 3ac20e0995 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #69356
  Fixed #69356: PDOStatement::debugDumpParams() truncates query
2017-06-29 11:44:02 +02:00
Dmitry Stogov 10dc924999 Use inlined version of zval_ptr_dytor() in var_destroy() loop 2017-06-29 12:16:52 +03:00
Dmitry Stogov 5a51da9942 Use inlined version of zval_ptr_dtor() in array_map() loop 2017-06-29 12:15:57 +03:00
Dmitry Stogov e111bccd48 Use zval_ptr_dtor_nogc() for data that can't be circular 2017-06-29 12:14:41 +03:00
Dmitry Stogov bbb786c85b Split zend_init_execute_data() into zend_init_func_execute_data() and zend_init_code_execute_data() 2017-06-29 10:10:57 +03:00
Dmitry Stogov c23ffaa211 We don't have to use "persistent" heap with PHP-7 HashTable(s). 2017-06-29 09:24:07 +03:00
Xinchen Hui d79305fb7a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix typo in PHP 7.1.8 news
2017-06-29 11:51:05 +08:00
Anatol Belski b411d4acc3 [ci skip] update NEWS 2017-06-28 23:38:49 +02:00
Nikita Popov 4465b37105 Fix zend_get_zval_ptr() 2017-06-28 10:21:32 +02:00
George Wang 79128b34ff Merge branch 'PHP-7.1' 2017-06-27 23:18:27 -04:00
Dmitry Stogov f626a783b6 Avoid string duplication in preg_split() 2017-06-28 00:43:55 +03:00
Anatol Belski e08c0ed8ce Bug #74815 crash with a combination of INI entries at startup
TS related VCWD routines depend on CWD. Thus, a premature CWD
deactivation renders the VCWD layer unusable. Same issue seems to
persist in versions < 7.2, just that the code path is actually unused so
the issue didn't show up. Still might make sense to backport this into
lower branches.
2017-06-27 16:30:10 +02:00
Dmitry Stogov c0be77aa75 Removed deprecated checks. 2017-06-27 13:12:09 +03:00
Dmitry Stogov 908ce66f73 Cleanup. Removed unused functions and unimplemented prototype. Avoid useless "dtor_obj" calls. 2017-06-27 12:03:06 +03:00
Remi Collet b6ee9dd490 upgrading: doc about ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX 2017-06-26 17:26:07 +02:00
Remi Collet 85c32322ac Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src: (24 commits)
  Removed EG(valid_symbol_table). Used EG(active) instead.
  Release temporary string reference
  Remove superfluous semicolons
  Fix tests on Windows
  Produce a better exception message when IntlDateFormatter constructor fails.
  Fix format arguments
  Remove unused variable op2. It is redeclared later.
  Fix typo
  Implement object type annotation
  Fixed bug #73173
  Expose inflate_get_status() and inflate_get_read_len() functions
  Add more constants, improve comments, and add tests
  Fixed bug #73900
  Add OPENSSL_DONT_ZERO_PAD_KEY constant to prevent key padding
  Drop soap_hash_str_find_deref()
  Only compute callback name in error cases
  Extract zend_get_callable_name() API
  Move va_copy compatibility code into zend_portability.h
  Remove unnecessary string copy
  Fix FE_FETCH_* exception check
  ...
2017-06-26 17:22:01 +02:00
Dmitry Stogov caaeb4849a Removed EG(valid_symbol_table). Used EG(active) instead. 2017-06-26 13:35:07 +03:00
Sara Golemon 24030d54d8 Release temporary string reference 2017-06-25 19:39:13 -04:00
Tom Van Looy 04fb3f28ff Remove superfluous semicolons 2017-06-26 00:23:25 +02:00
Nikita Popov b3849edf2c Fix tests on Windows 2017-06-26 00:22:14 +02:00
Sara Golemon ecaf408d30 Produce a better exception message when IntlDateFormatter constructor fails. 2017-06-25 17:44:59 -04:00
Nikita Popov e5741da85c Fix format arguments
Only dropped one before, both need to go...
2017-06-25 22:32:57 +02:00
Tom Van Looy 60d032d65e Remove unused variable op2. It is redeclared later. 2017-06-25 22:31:00 +02:00
Nikita Popov 9dfcb04f10 Fix typo 2017-06-25 22:28:56 +02:00
Michał Brzuchalski 8e10c9d373 Implement object type annotation
RFC: https://wiki.php.net/rfc/object-typehint
2017-06-25 21:49:41 +02:00
Nikita Popov dd15b34018 Merge branch 'PHP-7.1' 2017-06-25 20:17:34 +02:00
Bob Weinand a1755671e2 Merge branch 'PHP-7.1' 2017-06-25 20:15:31 +02:00
Nikita Popov 957c24d5ee Merge branch 'PHP-7.1' 2017-06-25 19:49:25 +02:00
Jakub Zelenka e657f0d3f2 Merge branch 'PHP-7.1' 2017-06-25 18:11:10 +01:00
Nikita Popov 1f924d75cb Drop soap_hash_str_find_deref()
And directly use zend_hash_str_find_deref() instead.
2017-06-25 18:51:59 +02:00
Nikita Popov 035a27cbc6 Only compute callback name in error cases
Mostly the callback name is only used to report an error. Try to
avoid calculating it if no error occurred.
2017-06-25 18:45:59 +02:00
Nikita Popov ee8e75aab4 Extract zend_get_callable_name() API
Instead of interleaving this inside zend_is_callable(), implement
this in a separate function instead.

Also add _deref() hash APIs. I've wanted these for a while, and
this is another place where they're useful, so finally do it...
2017-06-25 18:26:03 +02:00
Nikita Popov 205807f60e Move va_copy compatibility code into zend_portability.h
Previously this was defined in zend.c and php.h and also handled
in another way in soap.c.
2017-06-25 17:00:26 +02:00
Nikita Popov 6dd2eaf45c Remove unnecessary string copy 2017-06-25 16:52:50 +02:00
Nikita Popov c136afa2be Fix FE_FETCH_* exception check
Only applying this for 7.2, because handling this would be ugly
under the old retval freeing semantics.
2017-06-25 16:45:17 +02:00
Nikita Popov ed37ca7369 Fixed bug #74810
And also did some general cleanup in ZEND_FUNC_GET_ARGS.
2017-06-25 16:00:24 +02:00
Nikita Popov 191f154d40 Merge branch 'PHP-7.1' 2017-06-25 15:32:38 +02:00
Remi Collet 4ed8ff5090 not about zend_arg_info.class_name 2017-06-25 08:41:11 +02:00
Remi Collet b3b8627106 note about IS_TYPE_IMMUTABLE 2017-06-25 08:32:03 +02:00
Remi Collet 59c30c01b3 note about php_pcre_replace* 2017-06-25 08:27:52 +02:00
Remi Collet 754e1c463d ZEND_ACC_CLONE is removed 2017-06-25 08:23:30 +02:00
Remi Collet 8e98a44eb2 fix version 2017-06-25 08:22:29 +02:00
Anatol Belski 31e4afe3c3 [ci skip] update NEWS 2017-06-24 01:37:45 +02:00
Anatol Belski cf1f9a20fd Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
2017-06-24 01:29:51 +02:00
Anatol Belski eb68301df1 Relax test condition, as OpenSSL 1.1.x out differs in EOL only 2017-06-24 00:25:51 +02:00
Anatol Belski d7b9eb981a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #74798 pkcs7_en/decrypt does not work if \x0a is used in content
2017-06-24 00:24:56 +02:00
Nikita Popov 272a9f29f5 Merge branch 'PHP-7.1' 2017-06-23 17:33:36 +02:00
Dmitry Stogov d55b43d9cb Merge branch 'fast_shutdown'
* fast_shutdown:
  Reseet EG(active) a bit early.
  Reuse "nIndex"
  shutdown_executor() refactoring (reuse opcache fast request shutdown code)
2017-06-23 14:59:29 +03:00
Dmitry Stogov 866d3b40e9 Reseet EG(active) a bit early. 2017-06-23 14:58:19 +03:00
Nikita Popov 748069e3a0 Merge branch 'PHP-7.1' 2017-06-23 13:32:51 +02:00
Dmitry Stogov 40ed9aaa48 Reuse "nIndex" 2017-06-23 14:23:00 +03:00
Joe Watkins a79ec404b2 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix method "eof"
2017-06-23 07:53:24 +01:00
Joe Watkins 5796fff344 Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove superfluous branch
2017-06-23 07:51:59 +01:00
Marat Nagayev 99b611958f fix news 2017-06-22 22:41:53 +01:00
Jakub Zelenka bf8717594c Update NEWS with info about openssl pkcs7 read and verify changes 2017-06-22 20:39:09 +01:00
Jelle van der Waa 787a18a50a Add openssl_pkcs7_read and output P7B in openssl_pkcs7_verify
Add an optional argument to openssl_pkcs7_verify to save the P7B
structure which can contain extra CA intermediate certificates send
along with an S/MIME signed email.

Introduce a new function called openssl_pkcs7_read, which can read a
PKCS#7 structure passed as a string and returns by reference an array
with PEM certificates formatted as a string.
2017-06-22 20:36:23 +01:00
Sara Golemon d09edf7b34 Minor refactor of load extension by name impl
Minimize the #ifdef surface area
Localize orig_libpath to retry scope
Send errors to php_error() rathern than stderr
2017-06-22 13:13:45 -04:00
Francois Laupretre fe5c8f2b80 Allow loading PHP and Zend extensions by name
Allow extension name as INI 'extension=' and dl() argument
No BC break, as file name is still accepted.
When using the '-z' command line option (CLI/CGI), an absolute file name must still be provided (nothing changed here)
Change comments in example INI files
2017-06-22 12:58:15 -04:00
Joe Watkins 0f15a03026 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix configure error
2017-06-22 14:02:09 +01:00
Michael Moussa 9437dcd621 Add test for bug #52480 2017-06-22 13:56:03 +01:00
Joe Watkins 2030b59829 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix bug #73471 PHP freezes with AppendIterator
2017-06-22 11:58:04 +01:00
Joe Watkins 36d064be12 fix news 2017-06-22 11:54:10 +01:00
Joe Watkins 7945dca6ec Merge branch 'PHP-7.1'
* PHP-7.1:
  fix bug #74780 parse_url() borken when query string contains colon
  Update NEWS
2017-06-22 11:53:27 +01:00
Niklas Keller 3250fa09b2 Fix name in NEWS
It's enough to name my php.net account there.
2017-06-22 11:48:43 +01:00
Dmitry Stogov f25ecdacf8 shutdown_executor() refactoring (reuse opcache fast request shutdown code) 2017-06-22 01:45:28 +03:00
Dmitry Stogov 9fb0e6ffe2 Fixed SKIP code 2017-06-22 01:41:59 +03:00
Dmitry Stogov c7a75b7112 Fixed few test failures if php.ini contains zend.assertions=-1 2017-06-21 18:50:08 +03:00
Dmitry Stogov 06e41cadd9 We don't need any special handling for CG(unclean_shutdown) at this point, because in case of exit() or die() all destructors must be already called before. 2017-06-21 16:11:50 +03:00
Dmitry Stogov 9b201aec07 Setting CG(unclean_shutdown) in fast shutdown doesn't make a lot of sense (it was set to prevent memory leak messages, but we doesn't check memory leaks in RELEASE build anyway). 2017-06-21 16:09:21 +03:00
Dmitry Stogov 7af5741333 Avoid useless duplication 2017-06-21 12:57:24 +03:00
Dmitry Stogov c61cea7135 Use persistent heap only for persistent connections. 2017-06-21 11:25:30 +03:00
Dmitry Stogov 687123ebf2 Use request heap. 2017-06-21 11:25:05 +03:00
Dmitry Stogov c16f954ff1 Clear alocated memory blocks, only if this is really necessary. 2017-06-21 10:37:54 +03:00
Christopher Jones 1dfb63feca Update NEWS 2017-06-21 16:17:54 +10:00
Christopher Jones 5465fbdc48 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add bug #74625 to package.xml
  Add IN bind case to bug74625.phpt
  Fixed bug #74625 (Integer overflow in oci_bind_array_by_name).
2017-06-21 15:56:09 +10:00
Christopher Jones d561aa7cb1 Merge branch 'PHP-7.1' 2017-06-21 15:04:34 +10:00
Christopher Jones 78e5811c1a Merge branch 'PHP-7.1' 2017-06-21 14:32:00 +10:00
Dmitry Stogov 7802cf8c1a Added specialized FE_FETCH_R handler for iteration over array 2017-06-20 23:25:09 +03:00
Dmitry Stogov 31a2198fd9 FE_RESER/FE_FETCH optimisation 2017-06-20 22:26:46 +03:00
Sara Golemon c18ba686cd Update NEWS for 7.2.0alpha3 2017-06-20 10:11:41 -04:00
Sara Golemon 3bf3227e16 Update NEWS for PHP 7.2.0alpha2 2017-06-20 10:11:41 -04:00
Anatol Belski 3fc1993cfc Merge branch 'PHP-7.1'
* PHP-7.1:
  Split requested size as expected by CreateFileMapping.
2017-06-20 15:45:34 +02:00
Sara Golemon 8b3d476f4d NEWS entries for 7.2.0alpha2 2017-06-20 09:21:46 -04:00
Anatol Belski 57dba0e2f5 Merge branch 'PHP-7.1'
* PHP-7.1:
  move next
2017-06-20 14:06:43 +02:00
Christopher Jones 52e5406e87 Fixed Bug #74537 (Align --with-pdo-oci configure option with --with-oci8 syntax) 2017-06-20 16:24:38 +10:00
Christopher Jones 1968cd1c97 Merge branch 'PHP-7.1' 2017-06-20 16:07:17 +10:00
Christopher Jones 3fd99f4e08 Mention OCI8 TAF callback support in UPGRADING 2017-06-20 15:51:56 +10:00
Christopher Jones f42e1c6f38 Merge branch 'PHP-7.1'
* PHP-7.1:
  Bump OCI8 version
2017-06-20 14:56:22 +10:00
Christopher Jones 1936a6e3aa Merge branch 'PHP-7.1'
* PHP-7.1:
  add test for bug #70700
2017-06-20 14:44:46 +10:00
Christopher Jones 9d971d838e Update NEWS 2017-06-20 14:38:31 +10:00
Christopher Jones f7ef5d2219 Merge branch 'PHP-7.1'
* PHP-7.1:
  oci8 - Implementation of Oracle TAF Callback
2017-06-20 14:34:05 +10:00
Christopher Jones 2f4db57bea Merge branch 'PHP-7.1'
* PHP-7.1:
  add test for bug #60994
2017-06-20 14:24:56 +10:00
Mitch Hagstrand 7cb18b2a46 BUG #74737: Incorrect ReflectionFunction information for mysqli_get_client_info 2017-06-19 22:14:26 -04:00
chance garcia 510230d3dc Test ftp_ssl_connect() function : error conditions
test timeout warning
ensure connection fails with invalid hostname
test invalid parameter types
test exceeds expected number of parameters
2017-06-19 19:48:52 -04:00
Dmitry Stogov 40ecad3402 Fixed wrong usage of old ZPP API. 2017-06-19 18:08:50 +03:00
Christoph M. Becker e511f152f4 Merge branch 'pull-request/2528'
* pull-request/2528:
  Change flags to use SQLITE3_OPEN_READ* constants instead of a fake-boolean, add tests on errors
  Implement writing to BLOBs in SQLite3
2017-06-19 14:47:42 +02:00
Dmitry Stogov 9c2a1f52a5 Avoid useless dereferences and separations during paramter passing. 2017-06-19 12:55:59 +03:00
Dmitry Stogov 6fe75aad6d Optimization for fast path. 2017-06-19 10:07:11 +03:00
Sara Golemon e0403eb652 NEWS 2017-06-18 20:24:19 -04:00
Niklas Keller 9badf35386 Default single_dh_use and honor_cipher_order to true 2017-06-18 19:54:45 -04:00
Sara Golemon c690916f5b NEWS 2017-06-18 19:53:06 -04:00
Charles R. Portwood II 498716c2f7 Compatibility with libargon2 versions 20161029 and 20160821
libargon2 20161029 introduces the `type` parameter to the argon2_encodedlen
function that is not present in 20160821. This change ensures the Argon2
functionality introduced in RFC `argon2_password_hash` is compatible with
both versions, as the library version that package maintainers package may
differ.
2017-06-18 19:19:20 -04:00
chance garcia d3c593a585 add test for strptime(): return false on failure
Closes https://github.com/php/php-src/pull/2583
2017-06-18 12:28:50 -04:00
Jakub Zelenka 192b2d8391 Merge branch 'PHP-7.1' 2017-06-18 19:09:21 +01:00
Jakub Zelenka 8ec45be8db Merge branch 'PHP-7.1' 2017-06-18 18:32:19 +01:00
Anatol Belski 5aa96fe3d5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Next round on AppVeyor reliability.
2017-06-17 02:00:27 +02:00
Jakub Zelenka 9dada7b291 Merge branch 'PHP-7.1' 2017-06-16 17:15:11 +01:00
Dmitry Stogov bfa154448d VM refactoring, to avoid passing "execute_data" into helper functions that can access it using global register variable. 2017-06-16 01:42:49 +03:00
Anatol Belski 7dc4d46325 follow up on 0c992792220bbfb375d5dc8222beb2a55da8441a 2017-06-15 23:48:03 +02:00
Richard Fussenegger 5fa1cd224b Fixed php_socket_t to int conversion
This warning was about a possible loss of data due to the downcast of `php_socket_t` to `int`. The former maps to a platform specific type, hence, it might downcast from a 64 bit integer to a 32 bit intger.

Fixed possibly overflowing vars

Due to the change from `int` to `php_socket_t` some variables might overflow now. Changed all variables that might be affected.

Revert "Fixed possibly overflowing vars"

This reverts commit bf64fd5984409a208ef32108990a6085b6556273.

Use aliased PHP socket type

Using the alias protects us from changes to the underlying type.

Removed ignored nfds argument

The `nfds` argument to the Win32 `select` function is always ignored, regardless of its actual value. Hence, we should not pass it in the first place. See https://msdn.microsoft.com/en-us/library/windows/desktop/ms740141(v=vs.85).aspx for reference.

Target value is not a pointer

Avoid overflow in loop
2017-06-15 23:48:03 +02:00
Anatol Belski fb6e718764 fix ticks init in ts build 2017-06-15 23:48:03 +02:00
Dmitry Stogov f5c3d21c4e Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  code de-duplication in ReflectionType::__toString and ReflectionNamedType::getName
2017-06-15 22:51:52 +03:00
Dmitry Stogov 8bb29704ea Refactored API for constant array element propagation 2017-06-15 22:50:04 +03:00
Remi Collet fdfc5c1b3d code de-duplication in ReflectionType::__toString and ReflectionNamedType::getName
This code duplication introduce an inconsistency in displayed type name
- bool (reflection) vs boolean
- int (reflection) vs integer

And reflection already use zend_get_type_by_const in other methods...

Inconsistenty is kept for BC reason.
Could be fixed in 8.0
2017-06-15 15:38:03 +02:00
Dmitry Stogov 76db01d9ff Moved "Using $this when not in object context" exception code into single VM helper. 2017-06-15 16:23:05 +03:00
Xinchen Hui 3e6c0b7826 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Change PHP_OS_FAMILY to "Darwin" instead of "Mac" for Darwin based systems (as suggested by Davey)
  Fixed bug #74679 (Incorrect conversion array with WSDL_CACHE_MEMORY)
  Use "Mac" instead of "OSX" to identify macOS in PHP_OS_FAMILY
  Avoid run-time checks performed at compile-time.
  Fixed performance degradaton introduced in f6ac96b
  NEWS
  NEWS
  Fix bug #74705 for collator_get_sort_key
  Fixes bug #74705 Wrong ReflectionInfo for Collator::getSortKey()
  NEWS
  NEWS
  Fixes bug #74708 reflection signatures for random_bytes+random_int
2017-06-14 10:42:37 +08:00
Kalle Sommer Nielsen a251d9b2c1 Change PHP_OS_FAMILY to "Darwin" instead of "Mac" for Darwin based systems (as suggested by Davey) 2017-06-14 03:29:06 +02:00
Dmitry Stogov ef4b2fc283 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Use "Mac" instead of "OSX" to identify macOS in PHP_OS_FAMILY
2017-06-13 17:17:57 +03:00
Dmitry Stogov 02778731b7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74679 (Incorrect conversion array with WSDL_CACHE_MEMORY)
2017-06-13 17:17:26 +03:00
Sebastian Bergmann 362d2e42a0 Use "Mac" instead of "OSX" to identify macOS in PHP_OS_FAMILY 2017-06-13 15:45:57 +02:00
Dmitry Stogov 8fe47a47cf Avoid run-time checks performed at compile-time. 2017-06-13 13:48:58 +03:00
Dmitry Stogov 1385784f54 Fixed performance degradaton introduced in f6ac96b 2017-06-13 12:20:14 +03:00
Remi Collet b1fedd88db Merge branch 'PHP-7.1'
* PHP-7.1:
  NEWS
  NEWS
  Fix bug #74705 for collator_get_sort_key
  Fixes bug #74705 Wrong ReflectionInfo for Collator::getSortKey()
2017-06-13 08:50:30 +02:00
Remi Collet 66a018ccb4 Merge branch 'PHP-7.1'
* PHP-7.1:
  NEWS
  NEWS
  Fixes bug #74708 reflection signatures for random_bytes+random_int
2017-06-13 08:15:33 +02:00
Xinchen Hui dc098b09f8 Avoiding str duplication 2017-06-13 14:00:53 +08:00
Xinchen Hui 42b3bf93fb Merge branch 'PHP-7.1'
* PHP-7.1:
  Forgotten NEWs update
  Forgotten NEWs update
2017-06-13 12:22:00 +08:00
ZiMuyang 5c9d6e89fe Delete extra semicolon 2017-06-12 23:14:11 +02:00
Michael Moravec 586a22cbad Bump Modules API number for 7.2 to distinguish from 7.1 2017-06-12 12:04:02 -04:00
Xinchen Hui e33bc38e83 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add simple cli test for PATH/HOST ini sections
  Fixed bug #74600
2017-06-12 17:21:45 +08:00
Jakub Zelenka f6ac96b039 Improve and simplify UTF-8 validation in JSON 2017-06-11 17:27:32 +01:00
Christoph M. Becker 68a0639c8f Fix #74744: gd.h: stdarg.h include missing for va_list use in gdErrorMethod 2017-06-11 17:17:01 +02:00
Niklas Keller bec91e1117 Use any TLS crypto method by default, don't use SSL 2017-06-10 17:31:24 -04:00
Anatol Belski b50fe893a7 Merge branch 'PHP-7.1' 2017-06-09 23:48:25 +02:00
Anatol Belski e72970026d add UPGRADING note 2017-06-09 17:45:24 +02:00
Anatol Belski 354899bc13 update NEWS 2017-06-09 17:42:21 +02:00
Anatol Belski 2dd2614bb1 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2017-06-09 17:41:51 +02:00
Anatol Belski 587b800811 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74720 pkcs7_en/decrypt does not work if \x1a is used in
2017-06-09 17:37:42 +02:00
Christoph M. Becker 130f06a8a1 Update to SQLite 3.19.3 2017-06-09 14:47:18 +02:00
Christoph M. Becker fb0f3f60d4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Use reasonable SQLite3 module version
2017-06-09 14:11:11 +02:00
Remi Collet 8d8d7ed822 prevent multiple include using standard macros 2017-06-09 09:29:30 +02:00
Remi Collet 75cda24b82 cleanup
ssite_t is used in lot of places, without need for this.
If really needed, should be in global location, not in an extension
2017-06-09 09:22:05 +02:00
Remi Collet 22cdfc2504 cleanup, MEMORY_LIMIT is not used anymore 2017-06-09 08:07:21 +02:00
Sara Golemon f2bf00ba1c X.Y.0 releases are more special than X.Y.(1+) releases 2017-06-08 15:01:15 -04:00
Sara Golemon 30ad9bf530 Create announcement entry on web-php even for non-stable 2017-06-08 13:27:36 -04:00
Anatol Belski a0338d3490 Merge branch 'PHP-7.1'
* PHP-7.1:
  enforce exit status propagation and up the sdk version
2017-06-08 17:18:15 +02:00
Dmitry Stogov db4561bfff Introduced "zif_handler" type (zif = zend internal function). 2017-06-08 16:52:39 +03:00
Dmitry Stogov ace9fe5317 Improved new Zend Parameter Parsing API to avoid useless dereferences.
This derefernce made sense only for explicit paramter passing by reference, but this feature was removed in PHP-7.
The improvement is 100% backward compatible, only few "tricky" functions may be affected (e.g. extract and usort).
2017-06-08 13:03:24 +03:00
Dmitry Stogov bdc37442bf Fixed wrong type. 2017-06-08 13:03:02 +03:00
BohwaZ 626ee74ee8 Change flags to use SQLITE3_OPEN_READ* constants instead of a fake-boolean, add tests on errors 2017-06-08 11:25:00 +12:00
Jakub Zelenka eb6614e458 Constify str in add_assoc_string_ex and add_assoc_stringl_ex 2017-06-07 23:44:23 +02:00
Richard Fussenegger 7cce220be8 Updated some str functions to new parameter API 2017-06-07 23:43:37 +02:00
Richard Fussenegger 595a395cb9 Clean up .gitignore
Simply test rules using ** globs, remove some outdated rules and
group some rules differently.
2017-06-07 23:40:27 +02:00
Richard Fussenegger 88238926b0 Removed empty stub.c file 2017-06-07 23:38:49 +02:00
Sara Golemon 2a8381fb28 Windows builds are no longer copied to downloads.php.net
They have their own home at windows.php.net/downloads
2017-06-07 09:01:04 -04:00
Christoph M. Becker 455db49c1b Update to SQLite 3.19.2 2017-06-07 14:34:57 +02:00
Dmitry Stogov 71daef93bc preg_replace() optimization 2017-06-07 13:50:16 +03:00
Sara Golemon 5f05527393 Remove instructions to email internals-win@
Use the release-managers@ distribution list instead
for a better audience.
2017-06-06 12:45:20 -04:00
Remi Collet 5bced1affb Merge branch 'PHP-7.1'
* PHP-7.1:
  relax this test again (still encounter erratic failure)
2017-06-06 17:20:48 +02:00
Sara Golemon 958dfb096b Update NEWS for 7.2.0alpha2 2017-06-06 09:58:34 -04:00
Sara Golemon fc35c39ecb Update NEWS for PHP 7.2.0alpha1 2017-06-06 09:58:34 -04:00
Dmitry Stogov 68dc754998 Avoid string reallocations in html_entity_decode() and htmlspecialchars_decode() 2017-06-06 16:09:26 +03:00
Dmitry Stogov 6a024146bb Removed unused variable. 2017-06-06 16:08:44 +03:00
Dmitry Stogov 81a6ee9aa4 Avoid string reallocations in preg_quote() 2017-06-06 13:56:19 +03:00
Sara Golemon a867d74ad3 Add note about publishing gpg key 2017-06-05 16:33:38 -07:00
Jakub Zelenka 8baf12b161 Merge branch 'PHP-7.1' 2017-06-04 18:22:02 +01:00
Nikita Popov d162147315 Merge branch 'PHP-7.1' 2017-06-03 15:09:04 +02:00
Nikita Popov c94773124d Merge branch 'PHP-7.1' 2017-06-03 12:39:50 +02:00
Michael Moravec 637714cdaa Implemented FR #71520
Adding the DateTime constants to the DateTimeInterface interface.
2017-06-03 00:54:34 +02:00
Nikita Popov d9886614dc Merge branch 'PHP-7.1' 2017-06-03 00:42:38 +02:00
Pedro Magalhães c6c1e75e6b Fix bug #74607: Don't check for bi-directional compatibility in traits 2017-06-03 00:24:43 +02:00
Niklas Keller f2e7cdb8b7 Fix bug #55407
This reverts commit b148c50f48 and
reintroduces the fix for bug #55407.

With https://wiki.php.net/rfc/parameter-no-type-variance being
implemented now, it's no longer a BC break.
2017-06-03 00:11:03 +02:00
Nikita Popov 8eb7efc261 Merge branch 'PHP-7.1' 2017-06-03 00:05:58 +02:00
Nikita Popov c28406f611 Merge branch 'PHP-7.1' 2017-06-02 23:53:00 +02:00
Shaikhul Chowdhury 6ee932ccce Add basic test for posix_setegid function 2017-06-02 23:43:56 +02:00
Nikita Popov bd1fa536bb Merge branch 'PHP-7.1' 2017-06-02 23:41:19 +02:00
Nikita Popov e2a2e49063 Merge branch 'PHP-7.1' 2017-06-02 23:36:44 +02:00
Dmitry Stogov 4f947e1f40 PCRE_EXTRA_MARK is useful only for preg_replace_callbakc().
Removed branch expectations.
2017-06-02 14:34:31 +03:00
Dmitry Stogov 8dc6b41011 Added support for PCRE JIT fast path API 2017-06-02 13:14:33 +03:00
Sara Golemon a86c87df2d Escape value passed to exec()
getmypid() is safe, but no harm being EXTRA safe.
2017-06-01 15:43:25 -07:00
Sara Golemon a9294d36bc Ignore spurious stderr output from lsof
lsof may report errors trying to stat files owned by other
users in other processes, even when asking for files
associated to a specific process.  Boo.
2017-06-01 15:43:25 -07:00
Dmitry Stogov 02e6c9c757 ZVAL_COPY_UNREF() micro-optimization 2017-06-02 00:38:09 +03:00
marcosptf 3efef6d0c0 test for ErrorException::getSeverity(); 2017-06-01 08:23:53 +01:00
marcosptf c7f45aab01 improve dns (checkdnsrr) test coverage 2017-06-01 08:21:27 +01:00
marcosptf 6a12b52406 test to function forward_static_call_array();
was added new test to standard function;
2017-06-01 08:19:26 +01:00
Sean Fraser 7a7e0f7da0 added test for imagecopymergegray(), added color check to test for imagecopymerge() 2017-06-01 08:17:36 +01:00
Jelle van der Waa f3d22e4999 openssl: Add basic openssl_pkcs7_verify tests
Add basic openssl_pkcs7_verify tests, which verifies a signed email,
extracts the signed certificate and the body of the email.
2017-06-01 08:12:25 +01:00
Joe Watkins a6b9cf0250 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #74639 - Added proper clone functionality for DatePeriod and DateInterval
2017-06-01 08:07:53 +01:00
Sara Golemon d1cfd87fbe Allow ReflectionClass::isIterable() to return true for Traversables
Current behavior is essentially "Is an INTERNAL iterable class".
This change allows isIterable() to return true for userspace classes as well.
2017-05-31 14:23:57 -07:00
Sara Golemon c1500f8519 Rename ReflectionClass::isIterateable() to isIterable()
Iterateable is not a word.
Add the correct spelling, but keep the original one around
for BC purposes.

Perhaps we can add ZEND_ACC_DEPRECATED at some later date
and even remove it from PHP 8.
2017-05-31 12:08:07 -07:00
Dmitry Stogov fc1ae1d1d3 Exclude warm-up requests from callgrind profile. 2017-05-31 16:16:56 +03:00
Remi Collet b54e0dc321 clean 2017-05-31 09:57:34 +02:00
Remi Collet 77cca632da Use of bundled libzip is deprecated 2017-05-31 09:56:01 +02:00
Remi Collet 0bad6d7d6b NEWS 2017-05-31 09:54:11 +02:00
Dmitry Stogov a0cc6d426f New optimization pattern 2017-05-31 09:53:10 +03:00
Xinchen Hui bfd35512bb Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #74673 (Segfault when cast Reflection object to string with undefined constant)

Conflicts:
	ext/reflection/php_reflection.c
2017-05-31 13:12:24 +08:00
Dmitry Stogov 32200e0b69 Avoid double copying 2017-05-31 02:14:17 +03:00
Dmitry Stogov da01fa3897 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed wrong condition
  ext/ldap/test: Test that ldap_connect() uses defaults from ldap.conf (openldap)
  ext/ldap: Allow default host from ldap.conf to work.
2017-05-31 00:41:12 +03:00
Dmitry Stogov a916bed8f8 Fixed function name resolution 2017-05-30 21:48:16 +03:00
David Caldwell aef09760d1 ext/ldap/test: Test that ldap_connect() uses defaults from ldap.conf (openldap) 2017-05-30 17:30:32 +02:00
David Caldwell 747e93eabc ext/ldap: Allow default host from ldap.conf to work.
This fixes an regression introduced in
e7af0fe1eb. Previously, calling
ldap_connect() with no parameters would pass NULL to ldap_init(),
which causes it to use the default host specified in
/etc/ldap/ldap.conf (on Ubuntu).

When the code changed to use ldap_initialize(), it initialized a uri,
even if there were no parameters passed to ldap_connect(). Because of
this, there's no way to pass a NULL into ldap_initialize(), making it
impossible to use the default uri from ldap.conf.

This commit bypasses the uri creation when there is no host argument,
passing on a NULL to ldap_initialize() which restores the old PHP 5.5
behavior.
2017-05-30 17:30:32 +02:00
Dmitry Stogov 65edf44291 Check for possible run-time function name resolution 2017-05-30 17:37:54 +03:00
Dmitry Stogov 3a4fcee767 trim() micro-optimization 2017-05-30 17:14:08 +03:00
Anatol Belski b8a334f149 reapply platform related onig patches 2017-05-30 15:47:56 +02:00
Remi Collet 20eacb787f Merge branch 'PHP-7.1'
* PHP-7.1:
  NEWS
  NEWS
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/60 (CVE-2017-9228)
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/59 (CVE-2017-9229) b690371bbf97794b4a1d3f295d4fb9a8b05d402d Modified for onig 5.9.6
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/58 (CVE-2017-9227)
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/57 (CVE-2017-9224)
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/55 (CVE-2017-9226) b4bf968ad52afe14e60a2dc8a95d3555c543353a Modified for onig 5.9.6 f015fbdd95f76438cd86366467bb2b39870dd7c6 Modified for onig 5.9.6
2017-05-30 15:46:51 +02:00
Remi Collet 0ae2f95b8b Update Oniguruma to latest upstream version 6.3.0
Windows specific changes need to be applied again.
2017-05-30 14:14:57 +02:00
Dmitry Stogov c015be131d Update opcode description 2017-05-30 14:47:21 +03:00
Dmitry Stogov 33d42802d3 Fixed support for C compilers that don't support global register variables. 2017-05-30 13:31:58 +03:00
Dmitry Stogov 6043f76ad7 Added ZEND_FUNC_NUM_ARGS, ZEND_FUNC_GET_ARGS instructions, to implement corresponding builtin functions.
Special optimisation for "array_slice(INT, func_get_args())" pattern.
2017-05-30 13:23:17 +03:00
Dmitry Stogov 017d65d74a Extend ZEND_SEND_ARRAY to eliminate array_slice() call for "call_user_func_array(_, array_slice(_, LONG, _))" pattern. 2017-05-30 12:25:46 +03:00
Dmitry Stogov c45e3632a2 Don't allocate empty strings, use single interned string instead. 2017-05-30 10:02:04 +03:00
Remi Collet 37a16a32c9 missing fix for another test 2017-05-29 12:07:13 +02:00
Remi Collet cb28a0ab2d missing fix for test 2017-05-29 11:41:16 +02:00
Nicolas Grekas 3c43510b19 add PREG_UNMATCHED_AS_NULL flag to allow distinguish between unmatched subpatterns and empty matches 2017-05-29 11:40:29 +02:00
Remi Collet 0f20970216 Fix possible test failure with path > 108
E.g.  Notice: stream_socket_server(): socket path exceeded the maximum allowed length of 108 bytes and was truncated in /builddir/build/BUILD/php-src-32d7fa6f74b56fed8124d4dea0f98f0f9964a64e/ext/standard/tests/streams/bug74556.php on line 4
2017-05-29 11:17:32 +02:00
Anatol Belski 32d7fa6f74 further data type fixes to ext/dba 2017-05-29 10:17:43 +02:00
Anatol Belski 29248d52b2 move dba handlers to size_t 2017-05-29 10:17:43 +02:00
Remi Collet c6c654c303 fix hash build (when build dir != src dir) 2017-05-29 09:55:51 +02:00
Remi Collet 7bb6b6b6d2 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src: (150 commits)
  Fix Bug #74386Phar::__construct(): wrong number of parameters by reflection
  Fix Bug #74386 Phar::__construct(): wrong number of parameters by reflection
  Fixed typo
  fix typo
  fix resetting cursor data if dba_firstkey failed
  fix wrong define
  fix c/p issue
  enable ext/dba on AppVeyor
  implement support for LMDB in ext/dba
  fix identiation
  Bugfix #74556 stream_socket_get_name() returns empty string
  Fix abstract name handling to be binary safe
  Added more EXIF MAKERNOTE formats:  - AGFA,  - Kyocera  - Ricoh  - Epson
  Replace slow generic sha3 implementation by https://github.com/gvanas/KeccakCodePackage
  Bugfix #74598 ftp:// ignores context
  Improve conditions and visibility
  [ci skip] update NEWS
  Fix test
  Fixed bug #72885 flatfile: dba_fetch() fails to read replaced entry
  Update NEWS
  ...
2017-05-29 09:54:29 +02:00
Joe Watkins 2a64f548da Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix Bug #74386Phar::__construct(): wrong number of parameters by reflection
2017-05-29 08:32:23 +01:00
Joe Watkins 368fc74bde Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix Bug #74386 Phar::__construct(): wrong number of parameters by reflection
2017-05-29 08:30:11 +01:00
Markus Staab e54e8ff3b0 Fixed typo 2017-05-29 08:21:37 +01:00
Anatol Belski 85b0b8a739 fix typo 2017-05-28 21:15:52 +02:00
Anatol Belski fe86268336 fix resetting cursor data if dba_firstkey failed
better symbol check

fix config.m4
2017-05-28 19:30:29 +02:00
Anatol Belski 9964721a17 fix wrong define 2017-05-28 18:57:07 +02:00
Anatol Belski 126484fe1c fix c/p issue 2017-05-28 18:54:26 +02:00
Anatol Belski 9da0c5c0de enable ext/dba on AppVeyor 2017-05-28 18:51:04 +02:00
Anatol Belski 16d7fd9d7f implement support for LMDB in ext/dba
don't abort txn if cursor is active

fix typos
2017-05-28 18:33:12 +02:00
Anatol Belski 2058d8ed22 fix identiation 2017-05-28 18:33:12 +02:00
Sara Golemon e60cedfbc3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Bugfix #74556 stream_socket_get_name() returns empty string
  Fix abstract name handling to be binary safe
2017-05-28 08:51:41 -07:00
Kalle Sommer Nielsen 818272ae10 Added more EXIF MAKERNOTE formats:
- AGFA,
 - Kyocera
 - Ricoh
 - Epson
2017-05-28 14:00:51 +02:00
Christian Schneider 91663a92d1 Replace slow generic sha3 implementation by https://github.com/gvanas/KeccakCodePackage
Fix hash_copy() tests by using correct size for sha3 context

sync config.w32 with with new sha3 files

Move dependency on KeccakHash.h to hash_sha3.c so we do not rely on it to install php_hash_sha3.h

Allocate memory for KeccacInstance in hash_sha3.c so header files do not need to know about implementation details while keeping API backward compatible to original sha3 implementation

Fix memory leak because hash_copy is called after init which already allocates the hashinstance
2017-05-28 12:50:33 +02:00
Sara Golemon 41b41825d6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Bugfix #74598 ftp:// ignores context
2017-05-27 21:15:24 -07:00
Anatol Belski 7312244034 Improve conditions and visibility 2017-05-27 23:07:49 +02:00
Anatol Belski cebfe63e3b [ci skip] update NEWS 2017-05-27 22:57:19 +02:00
Anatol Belski ea0cbae9f0 Fix test
The lock flag is not set to '-' in the test, so there's no such run.
2017-05-27 22:45:58 +02:00
Anatol Belski 36b5ab15f4 Fixed bug #72885 flatfile: dba_fetch() fails to read replaced entry
With append mode it is only possible to write to the end of the file. It
is not suitable for drivers like flatfile. Thus, if the file is created,
the stream is closed and is reopened with r+b, otherwise r+ mode is used
right away.
2017-05-27 22:23:02 +02:00
Xinchen Hui 93a5783095 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #74663 (Segfault with opcache.memory_protect and validate_timestamp)
2017-05-27 22:43:53 +08:00
Anatol Belski 38ee9f7c0d extend condition 2017-05-27 13:30:55 +02:00
Xinchen Hui 225f6cc11f Merge branch 'PHP-7.1'
* PHP-7.1:
  Correct the location
2017-05-27 12:12:17 +08:00
Xinchen Hui 8af21f3ca6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added NEWs
  Fixed bug #74657 (Undefined constants in array properties result in broken properties)
2017-05-27 12:09:28 +08:00
Kalle Sommer Nielsen 7b5ba8e68b Remove accidently added byte 2017-05-26 17:37:44 +02:00
Kalle Sommer Nielsen 0affe1e7bd Added zend_parse_parameters_none_throw() 2017-05-26 17:29:50 +02:00
Anatol Belski e5c273dc0e Turn interactive mode on, if cli binary is clicked in filemanager 2017-05-25 21:04:56 +02:00
Dmitry Stogov d32288b5bf Fixed copy-paste mistake 2017-05-25 20:20:57 +03:00
Dmitry Stogov f00d1c72b4 Added ZEND_GET_CLASS, ZEMD_GET_CALLED_CLASS, ZEND_GET_TYPE instructions, to implement corresponding builtin functions. 2017-05-25 18:41:28 +03:00
Derick Rethans 546dd2af96 Merge branch 'PHP-7.1' 2017-05-25 10:57:15 -04:00
Dmitry Stogov 34be1cf2aa Fixed test (backtrace was changed) 2017-05-25 16:02:16 +03:00
Dmitry Stogov cd953269d3 Added ZEND_COUNT instruction, to implement corresponding builtin. 2017-05-25 12:52:34 +03:00
Dmitry Stogov 27e7aea412 "Countable" interface is moved from SPL to Core 2017-05-25 12:47:43 +03:00
Dmitry Stogov 44ec732752 Fixed ZEND_IN_ARRAY related issues 2017-05-25 10:26:42 +03:00
Dmitry Stogov 13ee8fd626 Improved UTF-8 validation in JSON 2017-05-25 01:16:17 +03:00
Dmitry Stogov fa828dbe84 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Remove `user=foo` from FPM test config
  Skip FPM tests when running as root (unless requested)
2017-05-25 01:16:06 +03:00
Sara Golemon d316ba2d65 Remove user=foo from FPM test config
This setting has nothing to do with what's being tested,
and on any system without a "foo" user we'll get a spurious error.
2017-05-24 15:07:24 -07:00
Sara Golemon d8d1c78ed0 Skip FPM tests when running as root (unless requested)
FPM must be configured as a user.
Normally it defaults to the current user,
but if that's root it'll fail to startup
unless the --run-as-root option is provided.

Extend that logic into the test runner so that
we don't fail for stupid reasons.

If you're running `make test` as root and you want
FPM tests to run anyway, set TEST_FPM_RUN_AS_ROOT=1
in your environment.
2017-05-24 13:58:18 -07:00
Dmitry Stogov 89b3c9f647 Optimizer support for ZEND_IN_ARRAY 2017-05-24 23:37:35 +03:00
Dmitry Stogov 7c7383067f Added ZEND_IN_ARRAY instruction, implementing optimized in_array() builtin function, through hash lookup in flipped array 2017-05-24 23:00:48 +03:00
Nikita Popov 5c3d14d43f Merge branch 'PHP-7.1' 2017-05-24 18:02:22 +02:00
Pedro Magalhães a5eb57c96e Allow overriding abstract methods
RFC: https://wiki.php.net/rfc/allow-abstract-function-override
2017-05-24 17:42:01 +02:00
Sara Golemon 5dc43b4c9d Run scripts/dev/credits 2017-05-23 16:35:36 -07:00
Sara Golemon 92056aee85 Merge branch 'PHP-7.1'
7.1.x release shouldn't have been pn mainline PHP-7.1 branch
Fix the merge history to keep master in place.

* PHP-7.1:
  bump versions
2017-05-23 16:29:11 -07:00
Dmitry Stogov dd4a78b631 Don't separate output arguments 2017-05-23 17:18:05 +03:00
Dmitry Stogov 490960d861 Avoid useless string duplication 2017-05-23 15:25:21 +03:00
Anatol Belski e8294cd50d Merge branch 'PHP-7.1'
* PHP-7.1:
  time to move next
2017-05-23 12:34:07 +02:00
Dmitry Stogov 293d99052d Optimized parse_url() by using "known" strings 2017-05-22 23:23:12 +03:00
Xinchen Hui 26a6d20ab5 Fixed segfult in JIT (emalloc may trigger memory limitation)
Zend/tests/bug68412.phpt
2017-05-21 20:48:07 +08:00
Anatol Belski 5d3027d759 Merge branch 'PHP-7.1'
* PHP-7.1:
  move to the next sdk version for AppVeyor
2017-05-20 13:52:35 +02:00
Xinchen Hui dd0795ac33 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update news
  Fixed #74595 - ReflectionMethod::getParameters returns incorrect number of parameters
2017-05-20 00:03:17 +08:00
Dmitry Stogov 372397f518 Updated func info 2017-05-18 19:24:30 +03:00
Dmitry Stogov a08723d3d3 Use interned empty and "one char" strings. 2017-05-18 17:59:59 +03:00
Dmitry Stogov b1a07d430b Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  follow up fix on bug #74022
2017-05-18 13:18:47 +03:00
Dmitry Stogov 8203a175b1 Remove unused opcode handlers 2017-05-18 13:18:08 +03:00
Anatol Belski f8f8f24024 Merge branch 'PHP-7.1'
* PHP-7.1:
  follow up fix on bug #74022
2017-05-18 12:10:17 +02:00
Sara Golemon b627e33a8d Bugfix 63790 - Don't try to use Spoofchecker when unavailable
ICUSpoofChecker was introduced with 4.2 and may be
unavailable in some cases.
Skip this test when its not present.
2017-05-17 17:25:23 -07:00
BohwaZ 208aea1e85 Implement writing to BLOBs in SQLite3 2017-05-18 11:54:55 +12:00
Dmitry Stogov 2649a9e1a9 Removed useless dereferences 2017-05-17 21:01:08 +03:00
Bob Weinand ccb5591728 Merge branch 'PHP-7.1' 2017-05-17 19:59:36 +02:00
Xinchen Hui 23ea38d8f7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added cleanup
2017-05-17 23:25:34 +08:00
Xinchen Hui af0c443dde Merge branch 'PHP-7.1'
* PHP-7.1:
  Added test for bug #74600
2017-05-17 23:21:42 +08:00
Xinchen Hui 46b7287cc3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added test for bug #74596
2017-05-17 22:43:14 +08:00
Dmitry Stogov fc927dc263 Switch to HYBRID VM 2017-05-17 15:07:33 +03:00
Anatol Belski 4bdd63595b Merge branch 'PHP-7.1'
* PHP-7.1:
  improve error handling
2017-05-17 13:38:03 +02:00
Anatol Belski 1507f30d15 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix wrong error check
2017-05-17 12:51:46 +02:00
Dmitry Stogov a151d614ba Added missing "successors_count" update. 2017-05-17 12:52:36 +03:00
Anatol Belski 774e7ea8b4 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2017-05-16 15:10:13 +02:00
Anatol Belski d499720b99 Merge branch 'PHP-7.1'
* PHP-7.1:
  add test for bug #74589
2017-05-16 14:26:35 +02:00
Xinchen Hui a33aca545c Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74600 (crash (SIGSEGV) in _zend_hash_add_or_update_i)
2017-05-16 19:33:24 +08:00
Anatol Belski d5bc862470 avoid strlen in common case 2017-05-16 12:52:16 +02:00
Anatol Belski ea35965568 Merge branch 'PHP-7.1'
* PHP-7.1:
  variation of icu libraries causes failure
2017-05-16 12:48:09 +02:00
Dmitry Stogov 7640e0a5f9 HYBRID VM cleanup 2017-05-16 09:24:23 +03:00
Xinchen Hui 0722a0188f Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWs
2017-05-16 13:23:18 +08:00
Xinchen Hui 62a0342531 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74596 (SIGSEGV with opcache.revalidate_path enabled)
2017-05-16 13:22:51 +08:00
Anatol Belski 7de2b2103f Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "fixing run-tests.php for variables_order="GPCS""
2017-05-15 20:42:37 +02:00
Dmitry Stogov 69b4f8ed79 Fixed USER_OPCODE handling in HYBRID VM. 2017-05-15 21:17:58 +03:00
Anatol Belski 041652bd41 restore rev f9215b6519 2017-05-15 17:54:08 +02:00
Anatol Belski 2f629a10bf Merge branch 'PHP-7.1'
* PHP-7.1:
  switch to Postgres 9.6 for appveyor
2017-05-15 17:49:16 +02:00
Anatol Belski b273fda825 restore rev 431e22fb4d 2017-05-15 17:43:48 +02:00
Anatol Belski 64d9f68afe Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
2017-05-15 17:40:14 +02:00
Anatol Belski de9124a2e7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74589 __DIR__ wrong for unicode character
  fixing run-tests.php for variables_order="GPCS"
2017-05-15 16:36:40 +02:00
Matt Ficken ad67218954 fixing run-tests.php for variables_order="GPCS" 2017-05-15 02:19:05 -07:00
Anatol Belski 8b361f1160 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
2017-05-14 02:03:02 +02:00
Anatol Belski 5587adc158 Merge branch 'PHP-7.1'
* PHP-7.1:
  revert workaround for bug #74489 as it's fixed in the dependency lib
2017-05-14 01:54:18 +02:00
Markus Staab 2fd94e6be7 Removed always true condition
Since https://github.com/php/php-src/commit/5a9d8a00b475cbbe758d741df7e706859097309c this can no longer be false
2017-05-11 06:28:08 +01:00
Sara Golemon 81064cd045 Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove typo from test header
2017-05-10 16:50:47 -07:00
Dmitry Stogov dfffe6cb32 Type hint inheritance check optimization 2017-05-10 22:25:32 +03:00
Dmitry Stogov 5a9d8a00b4 Constant class names are already verifyed by PHP compiler. 2017-05-10 14:26:44 +03:00
Dmitry Stogov c01afdb68c spl_autoload_call() optimization 2017-05-10 13:27:49 +03:00
Dmitry Stogov c8f073d0d7 Avoid useless checks 2017-05-10 13:27:37 +03:00
Craig Duncan e946d074dd Ensure number_format() doesn't include sign for zero 2017-05-09 10:17:19 +01:00
Xinchen Hui e1c32646b4 typo 2017-05-09 17:15:42 +08:00
Dmitry Stogov 6f6ad066ea Merge branch 'hybrid-vm'
* hybrid-vm:
  Cleanup
  Fixed zend_vm_call_opcode_handler(). Make phpdbg work with HYBRID VM.
  Added missing ZEND_VM_HOT define
  Implemented HYBRID VM instruction dispatch method that takes advantages of both CALL and GOTO VMs.
2017-05-09 09:38:34 +03:00
Dmitry Stogov 2f9d72b309 Cleanup 2017-05-09 09:37:46 +03:00
Xinchen Hui 8f2d3539f2 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed tests when using cumstom php.ini(session.save_handler)
  Fix Bug #74541 Wrong reflection on session_start()
2017-05-09 11:15:32 +08:00
Xinchen Hui 282d09a740 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix typo: exectute => execute
2017-05-09 11:02:02 +08:00
Anatol Belski 91c6f66eaf Merge branch 'PHP-7.1'
* PHP-7.1:
  sync bin sdk version
2017-05-08 19:41:40 +02:00
Anatol Belski 37cbda7cdf Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update libs_versions.txt
  [ci skip] update libs versions file
2017-05-08 13:13:18 +02:00
Sara Golemon 431e22fb4d Add support for run-tests.php to output all test results
./run-tests.php -W outfile.txt

PASS foo/bar.phpt
FAIL baz/qux.phpt
2017-05-08 05:49:56 +01:00
ekinhbayar 47a1ab36b0 Update php.ini-* for deprecated track_errors directive 2017-05-08 05:47:52 +01:00
Xinchen Hui 8daef7e423 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed another potential dangling pointer
2017-05-08 11:36:35 +08:00
Xinchen Hui 1466925cb0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #74546 (SIGILL in ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST_HANDLER())
2017-05-08 11:33:01 +08:00
Xinchen Hui 705bd6df78 Unused var 2017-05-08 10:56:21 +08:00
Anatol Belski f9d4456c44 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-05-07 13:06:33 +02:00
Anatol Belski 703209f146 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74547 mysqli::change_user() doesn't accept null as $database argument w/strict_types
2017-05-06 15:11:06 +02:00
Nikita Popov 5af997ed81 Don't use zend_try around dtor_obj() and free_obj()
Without these zend_trys we may
a) leak the object (fine)
b) don't add it to the free list (also fine, we just lose an
   object store bucket)
c) don't remove it from the GC root buffer (also fine, because GC
   explicitly checks for both FREE_CALLED and invalid buckets)
2017-05-04 20:57:25 +02:00
Nikita Popov 3abef9c960 Don't double initialize object properties 2017-05-04 20:57:21 +02:00
Dmitry Stogov 71bfb430af Fixed zend_vm_call_opcode_handler(). Make phpdbg work with HYBRID VM. 2017-05-04 18:56:28 +03:00
Dmitry Stogov b5e857b905 Added missing ZEND_VM_HOT define 2017-05-04 17:57:49 +03:00
Dmitry Stogov 27e01cd918 Implemented HYBRID VM instruction dispatch method that takes advantages of both CALL and GOTO VMs. 2017-05-03 10:01:22 +03:00
Sara Golemon 9d6b7435e4 Ignore ext/mbstring/oniguruma/oniguruma.h
This is just copied in from ext/mbstring/oniguruma/src/oniguruma.h
and is hasn't been kept in GIT since Nov 2016.
2017-05-02 21:48:47 -07:00
Anatol Belski 043b8175e3 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-05-02 14:55:34 +02:00
Anatol Belski 627f870161 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #51918 Phar::webPhar() does not handle requests sent through PUT and DELETE method
2017-05-02 14:47:08 +02:00
Anatol Belski efbfeb1a2e Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-05-02 12:39:54 +02:00
Anatol Belski 83d8daef97 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74510 win32/sendmail.c anchors CC header but not BCC
2017-05-02 12:33:26 +02:00
Dmitry Stogov 476866783c Keep Z_IMMUTABLE*() macros for compatibility 2017-05-02 10:00:54 +03:00
Joe Watkins cdcfb4903d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #74457 Wrong reflection on XMLReader::expand
2017-05-02 06:25:59 +01:00
Joe Watkins 6b798e0ea1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #74468 wrong reflection on Collator::sortWithSortKeys
2017-05-02 06:22:37 +01:00
Anatol Belski c0e9c21e98 Merge branch 'PHP-7.1'
* PHP-7.1:
  Tests to ensure BC with undocumented behavior used in hacks
2017-05-01 18:07:05 +02:00
Nikita Popov d8aa99ed94 Drop unused variable 2017-05-01 14:16:26 +02:00
Pedro Magalhães 5324fb1f34 Fixed bug #61970: Allow a child class to restrict access to ctor 2017-05-01 14:15:57 +02:00
Pedro Magalhães 92124f9cdc Fixed bug #74269: Strict comparison of initial trait property values 2017-05-01 12:59:27 +02:00
Nikita Popov f9215b6519 Support showing slow tests in run-tests.php 2017-05-01 12:25:03 +02:00
Sammy Kaye Powers 12300f465e Add trailing comma syntax support for mixed and unmixed group use lists
RFC: https://wiki.php.net/rfc/list-syntax-trailing-commas
2017-05-01 12:19:47 +02:00
Nikita Popov 1f42a50840 Merge branch 'PHP-7.1' 2017-05-01 12:15:49 +02:00
Jakub Zelenka 2bce80150f Merge branch 'PHP-7.1' 2017-04-30 20:28:38 +01:00
Jakub Zelenka dccf487b2d Merge branch 'PHP-7.1' 2017-04-30 19:47:23 +01:00
Andrea Faulds a398e3e72d Merge branch 'PHP-7.1' 2017-04-29 16:12:55 +01:00
Andrea Faulds 44156b3114 Drop ZEND_API from zend_assert_valid_class_name
This is a convenience function for internal use and shouldn't have been
exported.
2017-04-29 16:09:08 +01:00
Andrea Faulds 753ae9b7db Test ReflectionType support of iterable 2017-04-29 14:37:35 +01:00
Anatol Belski 9cec5e2c1d [ci skip] yet more info for new rm 2017-04-28 19:15:32 +02:00
Anatol Belski f708f0bb72 use char* as we don't compile with UNICODE anyway 2017-04-28 14:03:06 +02:00
Anatol Belski e9d5214b85 no vista anymore 2017-04-28 13:41:58 +02:00
Jakub Zelenka 1466a0f840 Merge branch 'PHP-7.1' 2017-04-27 15:46:17 +01:00
Jakub Zelenka 2a6f0b8e61 Merge branch 'PHP-7.1' 2017-04-27 15:13:26 +01:00
Anatol Belski 6a010ad492 Avoid unnecessary string copy
which is the case when there's no impersonation.
2017-04-27 16:03:12 +02:00
Anatol Belski 24ae881080 get rid of two strlen calls 2017-04-27 15:41:09 +02:00
Anatol Belski 84b397bf44 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-04-27 11:44:26 +02:00
Anatol Belski 2111de0dd7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Detect invalid port in xp_socket parse ip address"
  Revert "Follow up patch regarding bug #74216, see bug #74429"
2017-04-27 11:13:00 +02:00
Anatol Belski 67b701a607 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync bin sdk version
2017-04-26 17:07:37 +02:00
Jakub Zelenka f29e90ff75 Merge branch 'PHP-7.1' 2017-04-26 15:01:27 +01:00
Remi Collet 286ee99088 Merge branch 'PHP-7.1'
* PHP-7.1:
  rely on bundle config, instead of system one
2017-04-26 14:42:02 +02:00
Remi Collet e7af9273f5 Merge branch 'PHP-7.1'
* PHP-7.1:
  skip the test on OpenSSL < 1.1 for now
2017-04-26 14:39:23 +02:00
Remi Collet 6f9700ae99 Merge branch 'PHP-7.1'
* PHP-7.1:
  bump version after release
2017-04-26 14:38:29 +02:00
Anatol Belski 294f6168ed Merge branch 'PHP-7.1'
* PHP-7.1:
  move next
2017-04-25 14:08:17 +02:00
Anatol Belski c8eeb05698 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-04-25 14:01:42 +02:00
Anatol Belski bbf0a9d8a7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Follow up patch regarding bug #74216, see bug #74429
2017-04-25 13:00:10 +02:00
Anatol Belski eb68c0d525 Merge branch 'PHP-7.1'
* PHP-7.1:
  don't backup older deps after upgrades
  update SDK version for AppVeyor
2017-04-24 22:14:30 +02:00
Anatol Belski dca2a855c8 prefer OpenSSL 1.1 with 7.2 as that's what is default 2017-04-24 18:39:04 +02:00
Anatol Belski e9dd511ec6 [ci skip] more upgrading notes 2017-04-24 18:15:15 +02:00
Anatol Belski 0e1b2ae4f3 [ci skip] move item to right section 2017-04-24 18:15:14 +02:00
Jakub Zelenka 2e727b9be1 Merge branch 'PHP-7.1' 2017-04-24 17:14:22 +01:00
Anatol Belski 8f20eb0ea1 Remove --enable-one-shot as it's dead already for long
The usable option is --with-mp, the implementation is available since 7.0.
2017-04-24 17:54:50 +02:00
Anatol Belski 632d68f5f9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Support also no,shared configure arg vals by default
2017-04-24 16:22:57 +02:00
Jakub Zelenka 347b880ee4 Merge branch 'PHP-7.1' 2017-04-23 21:07:31 +01:00
Anatol Belski dd1999e59e Merge branch 'PHP-7.1'
* PHP-7.1:
  extend zlib export required for the recent libpng
2017-04-23 21:35:52 +02:00
Jakub Zelenka 488324e315 Merge branch 'PHP-7.1' 2017-04-23 20:33:48 +01:00
Anatol Belski 103ebbcb7a yet one more export required from newer zlib 2017-04-23 21:29:40 +02:00
Anatol Belski bbd37771f6 Merge branch 'PHP-7.1'
* PHP-7.1:
  extend zlib export required for the recent libpng
2017-04-23 21:29:04 +02:00
Sara Golemon f04ae1d365 Add some 'New RM' instructions 2017-04-23 12:20:41 -07:00
Nikita Popov 6df10e1932 Fix reflection tests in mysqli extension 2017-04-22 23:57:00 +02:00
Anatol Belski e3536dc5a3 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-04-22 22:42:05 +02:00
Anatol Belski bbe2a13395 Merge branch 'PHP-7.1'
* PHP-7.1:
  #74337 pointer returned by php_stream_fopen_tmpfile not validated in memory.c
2017-04-22 21:59:07 +02:00
Anatol Belski 8db4bfedd4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74489 readline() immediately returns false in interactive console mode
2017-04-22 18:35:10 +02:00
Nikita Popov d5c6fcc3ba Don't leak internal flags in reflection
If someone complains, we may re-expose specific flags while also
adding corresponding class constants for them.
2017-04-22 16:44:20 +02:00
Nikita Popov 0710eee043 Fix reflection test after flag removal
Reflection is leaking internal flags...
2017-04-22 16:31:28 +02:00
Nikita Popov b6a4aad820 Remove the ZEND_ACC_CLONE flag
This one is completely unused
2017-04-22 15:47:53 +02:00
Nikita Popov 6ae40ca0e2 Document which function flags are still free
Also clearly separate method and class flags.
2017-04-22 15:47:53 +02:00
Joe Watkins 06eb61591a Merge branch 'PHP-7.1'
* PHP-7.1:
  Avoid exact floating point comparison
2017-04-20 06:42:55 +01:00
Joe Watkins 010ccadf44 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update php_network.h
2017-04-20 06:39:37 +01:00
Xinchen Hui 01ec14afa4 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Enable more control over travis/compile.sh
2017-04-19 17:18:19 +08:00
Xinchen Hui 8cd870a9e0 Fixed hash val calculating 2017-04-19 17:15:34 +08:00
Sara Golemon 847b36265a Enable more control over travis/compile.sh
This is also used by RM process to test the same things.
Allow generating build output (to a log file) and specifying
number of parallel jobs (rather than hard-code zero).

Leave all defaults as-is for Travis builds.
2017-04-18 11:33:06 -07:00
Xinchen Hui b78b15e880 Fixed test 2017-04-18 12:50:14 +08:00
Xinchen Hui 187f42149d Improve fix for #74456 2017-04-18 12:47:53 +08:00
Xinchen Hui 1837eea66d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74456 (Segmentation error while running a script in CLI mode)
2017-04-17 20:26:57 +08:00
Nikita Popov 4cd5e6816b Drop dead zend_optimizer_lookup_cv() function 2017-04-17 12:20:25 +02:00
Nikita Popov 88c85cbd5c Merge branch 'PHP-7.1' 2017-04-17 12:19:46 +02:00
Joe Watkins 786aeb0d1f Merge branch 'PHP-7.1'
* PHP-7.1:
  ext/gettext: respect passed in library directory for all checks
2017-04-17 08:12:12 +01:00
Joe Watkins 54820aa8de Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74080 Add datetime constant for RFC7231
2017-04-17 08:09:55 +01:00
Joe Watkins 75e8f20174 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74439 Wrong reflection on the Locale methods
2017-04-17 07:58:57 +01:00
Christoph M. Becker e0f2a70c22 Update to SQLite 3.18.0 2017-04-17 00:44:30 +02:00
Anatol Belski 129fe84036 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-04-16 14:56:51 +02:00
Anatol Belski 2a16ba04dc Merge branch 'PHP-7.1'
* PHP-7.1:
  improve/fix error handling
2017-04-15 19:37:12 +02:00
Anatol Belski 871ea20e9c Merge branch 'PHP-7.1'
* PHP-7.1:
  fix error handling
2017-04-15 18:29:37 +02:00
Nikita Popov 28218b4acc Merge branch 'PHP-7.1' 2017-04-15 18:15:45 +02:00
Anatol Belski 4d64a49fcd export the main thread info 2017-04-15 17:48:40 +02:00
Anatol Belski 6a2b48b4e5 Merge branch 'PHP-7.1'
* PHP-7.1:
  extend error map
2017-04-15 17:30:43 +02:00
Nikita Popov 7cd7305b1b Merge branch 'PHP-7.1' 2017-04-15 12:36:02 +02:00
Nikita Popov 0c3bc43207 Remove leftover code for generator stack page handling 2017-04-15 12:11:30 +02:00
Nikita Popov cfa6fa1525 Initialize retval in INCLUDE_OR_EVAL
In case the eval'd code throws.
2017-04-15 12:11:30 +02:00
Sara Golemon 2b3ba5d4c7 Update step about uploading packages to downloads.php.net
At some point this changed from a per-user specific mapping
to a standard ~$USER mapping.
2017-04-14 16:44:13 -07:00
Nikita Popov 7f5d47dfd1 Merge branch 'PHP-7.1' 2017-04-15 01:40:59 +02:00
Rasmus Lerdorf e42948e6e3 Credit goes to Eric Norris for this one 2017-04-14 15:49:05 -07:00
Nikita Popov feb828ffb0 Merge branch 'PHP-7.1' 2017-04-14 22:20:48 +02:00
Nikita Popov 81b4bfcb96 Merge branch 'PHP-7.1' 2017-04-14 22:04:07 +02:00
Johannes Schlüter 5440b69ef4 Merge branch 'PHP-7.1' 2017-04-14 16:31:19 +02:00
Joe Watkins 8f975e3504 Merge branch 'PHP-7.1'
* PHP-7.1:
  missing news entry from 7.1.3
2017-04-14 07:56:38 +01:00
Joe Watkins 67156347ad Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74433 Wrong reflection on the Normalizer methods
2017-04-13 13:22:42 +01:00
Anatol Belski df3e1a16fe simplify and generalize crossplatform parts 2017-04-13 13:04:55 +02:00
Anatol Belski 858ad8a598 unify behavior 2017-04-13 12:50:18 +02:00
Anatol Belski 93f594831c extend flag to reduce re-link time 2017-04-13 12:50:18 +02:00
Remi Collet d77aa0acb3 Merge branch 'PHP-7.1'
* PHP-7.1:
  NEWS
  NEWS
2017-04-13 07:11:17 +02:00
Remi Collet a1bd34b31c Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74416 Wrong reflection on DOMNode::cloneNode
2017-04-13 07:07:56 +02:00
Remi Collet 04fe5e9683 Rely on having unistd.h (which provides isatty function)
rather than having the posix extension.

Fix the tests when build with --disable-all
2017-04-12 12:56:13 +02:00
Christopher Jones efeab78535 Merge branch 'PHP-7.1' 2017-04-12 14:04:37 +10:00
Sammy Kaye Powers fd0e71d001 Fix bug 60471 by correctly identifying unused speculative preconnections
* Correctly identify unused speculative preconnections from browsers
  like Chrome and Firefox
* Add a new message to the debug level that is emitted when a TCP
  connection is closed without sending any request (a preconnection)
* Fix an issue where the existing debug messages were not being
  displayed even when debug mode was enabled
2017-04-11 15:08:05 -07:00
Anatol Belski 8121cb5046 Pass explicit PHP version string to mkdist.php 2017-04-11 16:20:42 +02:00
Anatol Belski f052e99df6 Enable whole program optimization for builds without PGO, too 2017-04-11 15:21:10 +02:00
Anatol Belski e282c403c5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix misleading typo in identifiers
2017-04-11 13:50:56 +02:00
Anatol Belski a94fc577af Fix command syntax, env var has to be nmake macro in makefile 2017-04-11 13:29:08 +02:00
Joe Watkins f0f8c9cf0a Merge branch 'PHP-7.1'
* PHP-7.1:
  fixed bug #74413 wrong reflection on SQLite3::enableExceptions
2017-04-11 12:17:00 +01:00
Xinchen Hui 5340587c25 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #74408 (Endless loop bypassing execution time limit)
2017-04-11 18:47:06 +08:00
Anatol Belski c14eecb9ac use php.exe from the SDK for packaging, not the one just compiled 2017-04-11 12:00:10 +02:00
Markus Staab f160ee1251 remove no longer accurate comment 2017-04-11 11:53:43 +02:00
Anatol Belski fa7bd5eabf Fail hard if sed isn't found
now that the new SDK is required and supplies it.
2017-04-11 11:40:23 +02:00
Anatol Belski be540347e2 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix re2c version comparison
2017-04-11 11:38:07 +02:00
Matt Ficken bc9b3c5d20 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #74410 by calling WaitForMultipleObjects() instead of MsgWaitForMultipleObjects()
2017-04-11 01:58:07 -07:00
Matt Ficken d83743739e Fix #74410 by calling WaitForMultipleObjects() instead of MsgWaitForMultipleObjects() 2017-04-11 01:06:56 -07:00
Sebastian Bergmann 6035ebd4a6 Merge branch 'PHP-7.1' 2017-04-11 08:29:14 +02:00
Nikita Popov 07fe8616e6 Set flags on the right block 2017-04-11 00:04:07 +02:00
Nikita Popov a4c7c55c0b Move call/recv splitting into correct branch 2017-04-10 23:51:27 +02:00
Sammy Kaye Powers e92896f735 Remove spurious CG(context).in_finally dingleberry 2017-04-10 22:58:44 +02:00
Nikita Popov 797ee05a3c Merge branch 'PHP-7.1' 2017-04-10 22:26:42 +02:00
Nikita Popov ad8652818a Implement jumptable optimization 2017-04-10 22:23:14 +02:00
Nikita Popov d1a012b602 Support more than two successors in opcache CFG 2017-04-10 22:18:24 +02:00
Nikita Popov eeb6cdf810 Merge branch 'PHP-7.1' 2017-04-10 22:12:05 +02:00
Joe Watkins cae649070f Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Update NEWS
  Fixed bug #74402 (segfault on random_bytes, bin2hex, openssl_seal)
  intergarte furher newer flag in FindFirstFileEx for win7+ only
2017-04-10 12:50:31 +01:00
Joe Watkins 67ef80d34b Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74404 (wrong reflection on DateTimeZone::getTransitions)
2017-04-10 12:50:13 +01:00
Xinchen Hui 6bd8ed4dde Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #74402 (segfault on random_bytes, bin2hex, openssl_seal)
2017-04-10 19:03:38 +08:00
Anatol Belski 528468579b intergarte furher newer flag in FindFirstFileEx for win7+ only 2017-04-10 11:09:51 +02:00
Joe Watkins e24dcf97f1 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fixed condition check
  Fixed condition check
  another place
  Fixed issue #2466 Invalid integer constant expression error in php.h
2017-04-10 08:06:52 +01:00
Joe Watkins 5b013e7935 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74400 (phpdbg comparing socket function to int)
2017-04-10 08:06:28 +01:00
Xinchen Hui 696bd37e67 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed condition check
  Fixed condition check
  another place

Conflicts:
	ext/mcrypt/mcrypt.c
2017-04-10 14:49:13 +08:00
Xinchen Hui 4e9f0a80b9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed issue #2466 Invalid integer constant expression error in php.h
2017-04-10 14:41:59 +08:00
Joe Watkins 9e4c48a26a Merge branch 'PHP-7.1'
* PHP-7.1:
  fix news
2017-04-10 06:46:54 +01:00
Mitch Hagstrand a9fdf3d6b4 Fix for Bug 74196: PharData->decompress() does not correctly support dot names
1. Fixed phar_rename_archive to no longer remove everything after a "." in the filename
2. Removed unused "zend_bool compress" parameter
3. Added Test
4. Fixed tests that had a work around for this problem
2017-04-10 06:43:26 +01:00
Joe Watkins b0f9dba2d9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix of Bug #74383: Wrong reflection on Phar::running
2017-04-10 06:33:42 +01:00
Xinchen Hui 2d21404e25 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #74379 (syntax error compile error in libmagic/apprentice.c)
  Missed NEWS

Conflicts:
	ext/fileinfo/libmagic.patch
2017-04-10 11:47:38 +08:00
Nikita Popov 2b2c6821cd Merge branch 'PHP-7.1'
[skip ci]
2017-04-09 15:57:26 +02:00
Nikita Popov 3895aa2f77 Merge branch 'PHP-7.1' 2017-04-09 15:51:38 +02:00
Nikita Popov 430eea84b8 Merge branch 'PHP-7.1' 2017-04-09 13:15:04 +02:00
Nikita Popov 4ee6b52d0f Merge branch 'PHP-7.1' 2017-04-09 12:56:41 +02:00
Edgar R. Sandi ebdbebee29 pull-request/2456:
increase test coverage in calendar extension
    consistent warnings in calendar extension
2017-04-08 11:37:10 +01:00
Stephan Muggli 345cf5ea6c Fix typo in NEWS 2017-04-08 07:50:43 +01:00
Anatol Belski ad4ef13c5d Switch to FindFirstFileEx with basic info level
That omits querying of short names, thus improving perf.
2017-04-07 21:15:37 +02:00
Jakub Zelenka be71f9ed69 Merge branch 'PHP-7.1' 2017-04-07 19:30:28 +01:00
Xinchen Hui f16bb1be51 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74353 (Segfault when killing within bash script trap code)
2017-04-07 16:15:44 +08:00
Xinchen Hui 36848f6e08 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Remove unused var
  Fix invalid free of persistent results on error/connection loss in mysqlnd (bug 74376)
2017-04-07 15:21:57 +08:00
Remi Collet 67136fe77b zip ext is 1.14.0 2017-04-05 07:39:39 +02:00
Anatol Belski 3c750d91ee external libzip neither requires zlib.h nor lib 2017-04-04 16:33:20 +02:00
Anatol Belski c3e7a2a461 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "extend skip section"
2017-04-04 16:25:10 +02:00
Anatol Belski 936e341b5e missing bits for php_sys_stat_ex so everything is handled with wide chars
rename to pathw_len
2017-04-03 17:39:15 +02:00
Dmitry Stogov bd78dc578e Expose zend_ssa_is_no_val_use() 2017-04-03 16:57:29 +03:00
Anatol Belski 6ab2c558f1 add existence check for clang lib dir and improve on x86 2017-04-03 15:29:56 +02:00
Anatol Belski f02b4d575f Merge branch 'PHP-7.1'
* PHP-7.1:
  fix possible out of bounds buffer access
2017-04-03 15:22:59 +02:00
Anatol Belski 1459d5dc18 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix buffer overflow
2017-04-03 14:25:37 +02:00
Anatol Belski 731cb8a827 basic ASAN suport for clang on Windows
fix makefile generation for non clang

rename option
2017-04-03 12:02:51 +02:00
Anatol Belski 6d1fc6cd6f hide clang warnings about unimplemented cli options 2017-04-02 17:55:23 +02:00
Anatol Belski 0894c22b49 extend manifest with long path compat info 2017-04-02 16:40:36 +02:00
Anatol Belski 80d5c23c0d do compare on wchar's 2017-04-02 16:40:36 +02:00
Nikita Popov 19a692b7d2 Update CONTRIBUTING
Update version numbers, point out not to PR against release branches,
point out rebase over merge.

[ci skip]
2017-04-02 13:45:08 +02:00
Nikita Popov 3a890180d3 Merge branch 'PHP-7.1' 2017-04-02 13:31:07 +02:00
Nikita Popov 51b06aa86e Merge branch 'PHP-7.1' 2017-04-02 13:20:14 +02:00
Nikita Popov 8aa419c91c Merge branch 'PHP-7.1' 2017-04-02 01:08:42 +02:00
Craig Duncan 16202b7d67 Don't suppress warnings in tests 2017-04-02 00:58:56 +02:00
Thomas Punt 9f08aff3fd Remove superfluous allocation checks around ZMM-based functions 2017-04-02 00:58:19 +02:00
Anatol Belski e0f68ae144 implement basic binary tools sdk version check 2017-03-31 01:46:57 +02:00
Anatol Belski 695f29b7d5 Merge branch 'PHP-7.1'
* PHP-7.1:
  update sdk version for appveyor
2017-03-31 01:45:41 +02:00
Dmitry Stogov f07e4c033c Allow SSA construction with source information about CV used as result (DFG fix) 2017-03-30 21:24:29 +03:00
Dmitry Stogov 6af1ffb57d Allow SSA construction with source information about CV used as result 2017-03-30 20:14:01 +03:00
Joe Watkins 1f588df2a4 corrections to release process documentation 2017-03-30 17:52:22 +01:00
Joe Watkins e6f9553298 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix bug #74343 compile fails on solaris 11 with system libgd
2017-03-30 16:29:15 +01:00
Sara Golemon 2b86a89193 Update tests and add NEWS entry for phpdbg opcode dump change 2017-03-29 12:54:52 -07:00
Anatol Belski fcc6cbc9c3 [ci skip] update NEWS 2017-03-29 14:30:55 +02:00
Sara Golemon 764b529efd Add extended_value to phpdbg opcode dump 2017-03-29 04:08:52 -07:00
Remi Collet e4ebd9a28a Merge branch 'PHP-7.1'
* PHP-7.1:
  fixed typo
  fixed typo
2017-03-29 09:10:49 +02:00
Markus Staab 851f3654f1 fixed typo 2017-03-29 09:09:53 +02:00
Markus Staab b8842839db fixed typo 2017-03-29 09:09:53 +02:00
Remi Collet 53a6e89ab5 Merge branch 'PHP-7.1'
* PHP-7.1:
  relax more this test
2017-03-29 07:38:53 +02:00
Remi Collet 83b0708878 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix buid with system libsqlite, see bug #74217
2017-03-29 07:28:26 +02:00
Remi Collet 2c97dddc78 Merge branch 'PHP-7.1'
* PHP-7.1:
  relax test failing in fast computer
2017-03-29 07:01:27 +02:00
Nikita Popov a7c69486cd Merge branch 'PHP-7.1' 2017-03-29 00:20:52 +02:00
Nikita Popov 206cf88d40 Merge branch 'PHP-7.1' 2017-03-28 22:09:11 +02:00
Anatol Belski de68b16af5 Merge branch 'PHP-7.1'
* PHP-7.1:
  prepare next
2017-03-28 21:07:17 +02:00
Anatol Belski 0eb3c377d4 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  Revert "Fixed bug #61471"
2017-03-28 13:17:05 +02:00
Anatol Belski 650a983992 Merge branch 'PHP-7.1'
* PHP-7.1:
  prepare next
2017-03-28 11:50:20 +02:00
Anatol Belski 7d8e5cae49 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2017-03-28 11:44:51 +02:00
Anatol Belski bf673d353e Merge branch 'PHP-7.1'
* PHP-7.1:
  deps updated, cherry-pick 88642decf9
  add test for bug #74230
2017-03-27 19:45:03 +02:00
Nikita Popov e3b2b05229 Merge branch 'PHP-7.1' 2017-03-27 19:02:50 +02:00
Derick Rethans 650c2fa0b0 Merge branch 'PHP-7.1' 2017-03-27 18:01:38 +01:00
David Carlier 93d7cf375e Fix openbsd build: AI_V4MAPPED, AI_ALL not defined 2017-03-27 18:55:34 +02:00
Anatol Belski 1ff85dfeb3 Merge branch 'PHP-7.1'
* PHP-7.1:
  always use staging deps for CI, that's what we have a CI for as well
2017-03-27 18:51:00 +02:00
Edgar R. Sandi 0608761438 Increased bcmath functions coverage tests using scale option parameter 2017-03-27 18:48:58 +02:00
Vivek Dinesh 33ee022525 Fix typos
[skip ci]
2017-03-27 18:33:47 +02:00
Derick Rethans f9a5c15126 Merge branch 'PHP-7.1' 2017-03-27 11:28:41 +01:00
Derick Rethans 56269af46c Updated to version 2017.2 (2017b) 2017-03-24 12:25:27 +00:00
Derick Rethans 3c48d89260 Empty merge 2017-03-24 12:25:26 +00:00
Derick Rethans a187bc407b Merge branch 'PHP-7.1' 2017-03-24 11:39:38 +00:00
Nikita Popov 16861838a5 Merge branch 'PHP-7.1' 2017-03-23 22:50:21 +01:00
Nikita Popov 81d8c37b03 Add test for previous commit 2017-03-23 22:37:17 +01:00
Nikita Popov 8522e2894e Make sure lengths and refs are unsigned in unserialize() 2017-03-23 22:34:15 +01:00
xKhorasan 6a1d4cd47a Fixed bug #74300 2017-03-23 22:06:46 +01:00
Sara Golemon 819e66599a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug where `yield from` is captured too greedily
2017-03-23 13:40:09 -07:00
Anatol Belski 0f6232675d parametrize crt, so only one place has to be changed 2017-03-23 19:27:10 +01:00
Rowan Collins 1b565f1393 Change 'undefined constant' from E_NOTICE to E_WARNING and mention deprecation
Implements RFC "Deprecate and Remove Bareword (Unquoted) Strings"
[https://wiki.php.net/rfc/deprecate-bareword-strings]
2017-03-23 18:52:43 +01:00
Dmitry Stogov b5b7691ab5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed uninitialized data
2017-03-23 19:00:07 +03:00
Anatol Belski ced36f9b2e Merge branch 'PHP-7.1'
* PHP-7.1:
  adjust deps dir naming scheme
2017-03-23 13:15:30 +01:00
Anatol Belski 4f8b410b06 switch AppVeyor to vc15 for master 2017-03-23 12:38:52 +01:00
Anatol Belski a7f2dbf831 skip the test on OpenSSL < 1.1 for now 2017-03-23 03:10:27 +01:00
Nikita Popov 0d834c6922 Use ZSTR_CHAR in token_get_all() 2017-03-22 22:38:07 +01:00
Nikita Popov fec708f518 Simplify increment_lineno handling 2017-03-22 22:33:05 +01:00
Anatol Belski 81b2d98355 fix version check at right place 2017-03-22 17:44:47 +01:00
Anatol Belski 9ecd344cd4 Revert "fix wrong version check"
This reverts commit 307a4a2315.
2017-03-22 17:42:44 +01:00
Anatol Belski 307a4a2315 fix wrong version check 2017-03-22 15:54:28 +01:00
Anatol Belski 6dbee20f83 fix test warnings for OpenSSL 1.1
add skip condition
2017-03-22 13:55:08 +01:00
Anatol Belski ba64ec0b13 improve zlib version check for tests 2017-03-22 11:08:38 +01:00
Anatol Belski f258e9b803 make test more flexible to match different compressed strings
particurarly needed with zlib 1.2.11
2017-03-22 11:08:37 +01:00
Adam Baratz 5096a429a1 Fix typo 2017-03-21 21:17:08 -07:00
Anatol Belski 3b28a9d637 Merge branch 'PHP-7.1'
* PHP-7.1:
  explicitly ignore php.ini for proc open tests
2017-03-21 12:45:27 +01:00
Remi Collet 3f7f842813 NEWS 2017-03-21 11:16:54 +01:00
Remi Collet 908029bbc0 Fixed Bug #73803 Reflection of ZipArchive does not show public properties 2017-03-21 11:15:45 +01:00
Adam Baratz 4afce8ec8c Add PDO parameter types for national character set strings 2017-03-20 18:25:50 -04:00
Adam Baratz 3817cba786 Style cleanup 2017-03-20 17:56:19 -04:00
Derick Rethans 7ba7a79039 Merge branch 'PHP-7.1' 2017-03-20 17:49:34 +00:00
Adam Baratz d5c57cb163 Remove unused field 2017-03-20 13:05:13 -04:00
Jakub Zelenka 6574d9fb3a Merge branch 'PHP-7.1' 2017-03-20 16:09:26 +00:00
Anatol Belski 164e52fb91 update sdk version for appveyor and set explicit crt 2017-03-20 15:41:43 +01:00
Jakub Zelenka bde01adaeb Add note to the UPGRADING about JSON_OBJECT_AS_ARRAY priority changes 2017-03-20 13:54:47 +00:00
Anatol Belski 65afcf81a0 use extra flag to turn on php implementations 2017-03-19 23:19:31 +01:00
Anatol Belski 42821dd1c9 basic support for external libzip 2017-03-19 23:11:19 +01:00
Anatol Belski 5d5679c4a9 define corresponding config macros, as we already trick symbols 2017-03-19 23:11:19 +01:00
Sara Golemon 93035cb2fd Add news entry for bugfix 73991 2017-03-17 15:39:18 -07:00
Sara Golemon aa2282df21 Allow JSON_OBJECT_AS_ARRAY option to actually have meaning
Options can only be passed if $assoc is passed, but passing
assoc clobbers any attempt to pass JSON_OBJECT_AS_ARRAY as an
option.

Allow the option to occur in the options field by handling
"null" as default/use-options.
2017-03-17 15:36:24 -07:00
Nikita Popov ea36cf2b89 Merge branch 'PHP-7.1' 2017-03-17 20:21:28 +01:00
Jakub Zelenka bf9ddc7c13 Merge branch 'PHP-7.1' 2017-03-17 19:09:06 +00:00
Jakub Zelenka 40d04784bb Merge branch 'PHP-7.1' 2017-03-17 18:13:05 +00:00
Nikita Popov 329d4edff7 Merge branch 'PHP-7.1' 2017-03-17 13:36:03 +01:00
Nikita Popov d3aac6f810 Merge branch 'PHP-7.1' 2017-03-17 12:54:11 +01:00
Jakub Zelenka 37da80bf19 Merge branch 'PHP-7.1' 2017-03-16 18:13:37 +00:00
Sebastian Bergmann 6d748b43ae Merge branch 'PHP-7.1' 2017-03-16 19:10:23 +01:00
Nikita Popov 7ea854b1df Merge branch 'PHP-7.1' 2017-03-16 18:15:13 +01:00
Nikita Popov 69dc088c36 Merge branch 'PHP-7.1' 2017-03-16 17:40:33 +01:00
Nikita Popov 8015daeddb Merge branch 'PHP-7.1' 2017-03-16 12:57:43 +01:00
Nikita Popov da223b9500 Merge branch 'PHP-7.1' 2017-03-16 12:34:36 +01:00
adrian5 edfa87ebf5 Add comma to comment in php.ini 2017-03-16 12:23:55 +01:00
Thomas Punt 932c4b35dc Remove more unnecessary checks on Zend's allocator functions 2017-03-16 12:23:55 +01:00
Thomas Punt 9d9defa29a Remove dead code from BCMath extension 2017-03-16 12:23:55 +01:00
Nikita Popov 6ad0a6fb04 Merge branch 'PHP-7.1' 2017-03-15 19:50:26 +01:00
Anatol Belski 38de261563 Use zend_test shared for tests
The snapshot build enables everything it could find. The test run will
load all the shared exts as well, until defined otherwise. So no needs
for an extra action.
2017-03-15 12:34:36 +01:00
Anatol Belski c9472cbd16 fix shared compilation 2017-03-15 11:43:20 +01:00
Bob Weinand 8a7a1411b9 Merge branch 'PHP-7.1' 2017-03-15 00:09:59 +01:00
Bob Weinand b6524f83e2 Merge branch 'PHP-7.1' 2017-03-14 22:17:23 +01:00
Jakub Zelenka 117d6a9a14 Merge branch 'PHP-7.1' 2017-03-14 18:47:51 +00:00
Sara Golemon 131fd3baa0 Remove unnecesary shadow of new_val 2017-03-14 11:29:22 -07:00
Sara Golemon c74bc87c74 Minor optimizations to array_keys()/array_values()
array_values():
When the input is an empty array or a packed array with no gaps,
return the original array.

array_keys():
When the input is an empty array, return the original array.
When the input is a packed array with no holes
(and no search key specified), populate the return with
a simple range(0, count($input) - 1)
2017-03-14 11:23:02 -07:00
Nikita Popov 16ae9f82e8 Fix SKIPIF conditions 2017-03-14 12:06:58 +01:00
Nikita Popov edcabf6d07 Drop unnecessary allocator return value checks 2017-03-13 22:07:15 +01:00
Anatol Belski e8c85a854b Merge branch 'PHP-7.1'
* PHP-7.1:
  update binary sdk tools version for appveyor
2017-03-13 12:33:51 +01:00
Remi Collet 196ba4e194 Merge branch 'PHP-7.1'
* PHP-7.1:
  rely on provided openssl.cnf to avoid possible failure with system defaults
2017-03-13 08:17:59 +01:00
Nikita Popov 1e196110d3 Fix __sleep() returning undefined declared properties 2017-03-12 22:20:08 +01:00
Nikita Popov ddc0dbf1a3 Clean up __sleep() related code 2017-03-12 22:20:07 +01:00
Joe Watkins d2285e1613 Merge branch 'pull-request/2414'
* pull-request/2414:
  zend-test extension to house code that is required for testing internal APIs, but that we would not want to expose for regular builds
2017-03-12 19:00:06 +00:00
Nikita Popov b3ca0c2500 zend-test extension to house code that is required for testing internal APIs, but that we would not want to expose for regular builds 2017-03-12 18:58:50 +00:00
David Carlier ea91c08232 Drop unnecessary checks of pemalloc() return value 2017-03-12 17:06:25 +01:00
Nikita Popov e31342ef84 Merge branch 'PHP-7.1' 2017-03-12 17:04:02 +01:00
Nikita Popov 22e6b5ef22 Merge branch 'PHP-7.1' 2017-03-10 18:21:09 +01:00
Remi Collet ec31924cd6 Constify to void build warning for C++ ext. [-Wwrite-strings]
Example (with v8js):

/builddir/build/BUILD/php-pecl-v8js-1.3.4/NTS/v8js_class.cc: In function 'void v8js_execute_script(zval*, v8js_script*, long int, long int, long int, zval**)':
/usr/include/php/Zend/zend.h:204:57: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
 #define zend_bailout()  _zend_bailout(__FILE__, __LINE__)
                                                         ^
/builddir/build/BUILD/php-pecl-v8js-1.3.4/NTS/v8js_class.cc:633:3: note: in expansion of macro 'zend_bailout'
   zend_bailout();
   ^~~~~~~~~~~~
2017-03-10 11:52:26 +01:00
Xinchen Hui 9ad8e8f8ee Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74218 (ArrayIterator error message is confusing)
2017-03-10 15:17:29 +08:00
Sara Golemon dde62b14df Merge branch 'PHP-7.1' 2017-03-09 11:58:19 -08:00
Nikita Popov 8a34b33c59 Merge branch 'PHP-7.1' 2017-03-09 20:48:32 +01:00
Nikita Popov 30be110c5a Merge branch 'PHP-7.1' 2017-03-09 17:32:08 +01:00
Nikita Popov 065b3700b6 Merge branch 'PHP-7.1' 2017-03-09 16:45:40 +01:00
Nikita Popov 3d51d4c90c Drop outdated makerpm script
Not updated since 2003, uses Copyright tag (not supported since
2005), uses a number of configure options that have been dropped
ages ago, etc.
2017-03-09 16:26:45 +01:00
Dennis Birkholz d0c8aba3d8 Pcntl: Make realtime signals available
Expose constants SIGRTMIN and SIGRTMAX and adjust range checks to
support realtime signals.
2017-03-09 15:59:09 +01:00
c9s 85243eea35 Enable ccache on Travis 2017-03-09 15:44:04 +01:00
Joe Watkins 89e403982c Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #74149 static embed SAPI linkage error
2017-03-09 07:44:42 +00:00
Nikita Popov f68968f7e0 Merge branch 'PHP-7.1' 2017-03-09 00:10:31 +01:00
Sara Golemon b63c45c69e Try fallback on IPv4 ANYADDR when IPv6 ANYADDR fails
https://bugs.php.net/bug.php?id=74166
A host system with no/limited IPv6 support will fail at binding
the IPv6 ANYADDR address (::) as the address family is unsupported.

Deal with this by handling failure to implicitly bind to ::
as a soft failure, falling back to 0.0.0.0.

If binding to :: failed for some other reason (e.g. port in use)
then binding to 0.0.0.0 will likely fail as well, but we'll
get appropriate warnings for that.
2017-03-08 11:02:54 -08:00
Sara Golemon 2ba2b768cc Merge branch 'PHP-7.1'
* PHP-7.1:
  Detect invalid port in xp_socket parse ip address
2017-03-07 12:11:31 -08:00
Anatol Belski fdba33922a move to hash API for interned strings ht management 2017-03-07 19:01:00 +01:00
Anatol Belski fe8112e8f8 drop redundant checks 2017-03-07 15:42:19 +01:00
Anatol Belski c20ae623c2 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync with the incremental and inter-file analysis option
2017-03-07 15:31:54 +01:00
Anatol Belski 2cfd64cad8 move to hash API 2017-03-07 13:41:12 +01:00
Nikita Popov 361b7159e7 Merge branch 'PHP-7.1' 2017-03-07 13:18:04 +01:00
Dmitry Stogov 6a31872307 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed pointer allignment
2017-03-07 10:18:57 +03:00
Dmitry Stogov 12d18badb1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Ensure pointer alignment.
2017-03-07 09:50:28 +03:00
Anatol Belski 297e435722 remove accidentially commited file 2017-03-07 01:33:19 +01:00
Anatol Belski 7aa0632cfb extend ccppcheck defs 2017-03-07 01:29:45 +01:00
Dmitry Stogov e113b6784a Ensure pointer alignment. 2017-03-06 17:09:05 +03:00
Anatol Belski c698299550 Interned strings unification for TS/NTS
Hereby, interned strings are supported in thread safe PHP. The patch
implements two types of interned strings

- interning per process, strings are not freed till process end
- interning per request, strings are freed at request end

There is no runtime interning.

With Opcache, all the permanent iterned strings are copied into SHM on
startup, additional copying into SHM might happen on demand.
2017-03-04 10:39:13 +01:00
Dmitry Stogov a07272e5b6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed file-cache (Zend/tests/unused_shared_static_variables.phpt)
2017-03-03 16:13:03 +03:00
Dmitry Stogov 9276eb613c Fixed file-cache support (serialization/deserialization of zend_type) 2017-03-03 12:26:49 +03:00
Anatol Belski 927d2d3608 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync NEWS for bug #74159
2017-03-02 20:47:56 +01:00
Anatol Belski 834d13879f Merge branch 'PHP-7.1'
* PHP-7.1:
  improve signal globals consistency check for TS
2017-03-02 20:36:12 +01:00
Anatol Belski 5b6ee004ba Merge branch 'PHP-7.1'
* PHP-7.1:
  do not try to handle signals, when globals are inconsistent
2017-03-02 16:43:10 +01:00
Remi Collet 402eeb8598 Zip: add support for encrypted archive 2017-03-02 13:36:40 +01:00
Nikita Popov 859a6505d3 Merge branch 'PHP-7.1' 2017-03-02 12:36:31 +01:00
Derick Rethans 1aaf03432d Merge branch 'PHP-7.1' 2017-03-02 11:28:17 +00:00
Eric Poe 4ab097eba1 Add test-case from bug #55157
The issue itself is not fixed, this is just a workaround.
2017-03-02 12:22:48 +01:00
Nikita Popov 5cdfa46d3f Merge branch 'PHP-7.1' 2017-03-02 12:14:00 +01:00
Christopher Jones 1f9bdec059 Update NEWS 2017-03-02 15:35:19 +11:00
Christopher Jones f997d6f4ca Merge branch 'PHP-7.1' 2017-03-02 15:33:50 +11:00
Adam Baratz 2f09973968 Remove dead code related to error constants 2017-03-01 16:28:47 -05:00
Adam Baratz 3985ddc495 Remove PHP5-specific code 2017-03-01 16:27:26 -05:00
Derick Rethans b20879348a Updated to version 2017.1 (2017a) 2017-03-01 20:07:53 +00:00
Derick Rethans ce4a679d85 Empty merge 2017-03-01 20:07:52 +00:00
Remi Collet f6fc9aa1b1 Merge branch 'PHP-7.1'
* PHP-7.1:
  make type consistent with glob_t.gl_pathc
2017-03-01 17:03:11 +01:00
Sara Golemon 5b52a44860 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix potential crash when setting invalid declare value
2017-02-28 17:18:08 -08:00
Remi Collet 18293f9a6f Merge branch 'PHP-7.1'
* PHP-7.1:
  make test slower again
2017-02-28 11:36:42 +01:00
Joe Watkins bbda362f8d Merge branch 'PHP-7.1'
* PHP-7.1:
  prepare 7.1.4
2017-02-28 09:08:34 +00:00
Anatol Belski 3dff3d2756 Merge branch 'PhP-7.1'
* PhP-7.1:
  prepare next
2017-02-28 09:52:44 +01:00
Joe Watkins d98c31a359 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "fix crash in phpdbg shutdown process when opcache is loaded"
2017-02-27 19:21:51 +00:00
Joe Watkins 61ecad0f53 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix crash in phpdbg shutdown process when opcache is loaded
2017-02-27 17:55:31 +00:00
Xinchen Hui b806287e43 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74157 (Segfault with nested generators)
2017-02-26 12:07:03 +08:00
Nikita Popov 1686d302e1 Merge branch 'PHP-7.1' 2017-02-25 12:58:03 +01:00
Xinchen Hui fa6144b077 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74164 (PHP hangs when an invalid value is dynamically passed to typehinted by-ref arg)
  Fixed typo (it should be typo)
2017-02-25 12:00:57 +08:00
Tom Van Looy 2c929943e6 fix command not found warning in ext/gd
./configure: line 32011: PHP_GD_TTSTR: command not found
2017-02-24 23:27:54 +01:00
Nikita Popov 1817a8622d Merge branch 'PHP-7.1' 2017-02-24 23:22:46 +01:00
Anatol Belski ffcdb2be16 Merge branch 'PHP-7.1'
* PHP-7.1:
  Support run or test target invoked within debugger
2017-02-24 19:43:26 +01:00
Anatol Belski 88642decf9 fix test, yet master staging only 2017-02-24 11:44:39 +01:00
Aaron Piotrowski 5d2a20f25b Merge branch 'PHP-7.1' 2017-02-23 22:56:25 -06:00
Aaron Piotrowski fb76d81b6c Merge branch 'PHP-7.1' 2017-02-23 21:22:28 -06:00
Xinchen Hui 1a1b722b5c Merge branch 'PHP-7.1'
* PHP-7.1:
  Add test only (bug doesn't exists in 7.1)
  Fixed bug #74152 (if statement says true to a null variable)
2017-02-23 12:47:40 +08:00
Xinchen Hui b717c7ffb0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74148 (ReflectionFunction incorrectly reports the number of arguments)
2017-02-23 11:02:48 +08:00
Kalle Sommer Nielsen db982bbaa1 Fix PHP_OS_FAMILY for Linux (Joe) 2017-02-22 22:13:33 +01:00
Kalle Sommer Nielsen f9959ee7c2 Change PHP_OS_FAMILY slightly
* PHP_OS_FAMILY is now a macro, to allow extensions to take advantage of it, it is defined in php.h
* Values are not upper-case-first, not always uppercase. Windows is no longer just "Win", if we want the short version for testing then PHP_OS is always WINNT anyway
2017-02-22 12:31:06 +01:00
Kalle Sommer Nielsen dbdb0819b2 Fix extra ; causing a build error 2017-02-22 12:09:59 +01:00
Remi Collet 93cba7ab47 Merge branch 'PHP-7.1'
* PHP-7.1:
  report about OpenSSL 1.1 not supported during configure
2017-02-22 08:41:01 +01:00
Joe Watkins 78ae563a48 Merge branch 'PHP-7.1'
* PHP-7.1:
  pull-request/2393:
    stop fpm make install clobbering dot d configuration
2017-02-22 06:49:22 +00:00
Anatol Belski 41d2944b0a more appropriate var name 2017-02-21 14:37:42 +01:00
Anatol Belski 42a8f0755c add folds 2017-02-21 14:36:06 +01:00
Anatol Belski b59f3cf167 use the delivered global arg instead of fetching it 2017-02-21 12:12:42 +01:00
Dmitry Stogov 298b62af47 Merge branch 'PHP-7.1'
* PHP-7.1:
  too many dashes
2017-02-21 10:48:37 +03:00
Dmitry Stogov 3f2c8d30cd Merge branch 'PHP-7.1'
* PHP-7.1:
  Increase WSDL cache version (7.0 wsdl cache is incomatible with PHP-5) Include WSDL cache version number into file name
2017-02-21 10:42:59 +03:00
Remi Collet 8f8fb92cd0 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test for libzip 1.2.0
2017-02-19 17:02:31 +01:00
Anatol Belski 0c28332b11 Merge branch 'PHP-7.1'
* PHP-7.1:
  initialize valid_symbol_table, important for the main thread
2017-02-18 18:05:55 +01:00
Andreas Treichel 5b1300b6c9 ftp_mlsd(): Parse the MLSD response 2017-02-17 21:31:18 +01:00
Nikita Popov efefb5276b Merge branch 'PHP-7.1' 2017-02-17 21:23:31 +01:00
Nikita Popov 5da004cc75 Merge branch 'PHP-7.1' 2017-02-17 18:44:10 +01:00
Xinchen Hui df3ee2bb2f Merge branch 'PHP-7.1'
* PHP-7.1:
  Unused var
2017-02-17 12:23:14 +08:00
Nikita Popov f3d058c1da Merge branch 'PHP-7.1' 2017-02-16 17:36:09 +01:00
Nikita Popov 46bfad56be Merge branch 'PHP-7.1' 2017-02-16 17:28:14 +01:00
Nikita Popov a83f9726ab Merge branch 'PHP-7.1' 2017-02-16 17:00:28 +01:00
Nikita Popov 267ab47366 Merge branch 'PHP-7.1' 2017-02-16 12:47:26 +01:00
Anatol Belski 0d450ddbec Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-02-15 16:37:15 +01:00
Anatol Belski 46df51132a fix typo 2017-02-15 16:15:16 +01:00
Anatol Belski e35376c1e2 Merge branch 'PHP-7.1'
* PHP-7.1:
  skip test
2017-02-15 16:14:46 +01:00
Anatol Belski e7b4ee3165 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74090 stream_get_contents maxlength>-1 returns empty string
2017-02-15 14:51:38 +01:00
Xinchen Hui b4fd233be0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed test in travis
2017-02-15 17:31:35 +08:00
Xinchen Hui 41bd2087ea Merge branch 'PHP-7.1'
* PHP-7.1:
  Make it slower
2017-02-15 15:27:33 +08:00
Xinchen Hui 49dca87029 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed test
2017-02-15 14:49:09 +08:00
Xinchen Hui bf91fc565c Merge branch 'PHP-7.1'
* PHP-7.1:
  Add a test for hard_timeout(bug #74093)
2017-02-15 13:52:08 +08:00
Xinchen Hui e33afaa299 Merge branch 'PHP-7.1'
* PHP-7.1:
  Workaround to fix bug #74093 (Maximum execution time of n+2 seconds exceed not written in error_log)
2017-02-15 12:30:23 +08:00
Christoph M. Becker 2ed4723aff Merge branch 'pull-request/2355'
* pull-request/2355:
  Deprecate INTL_IDNA_VARIANT_2003

We also add a respective note to UPGRADING.
2017-02-14 14:16:54 +01:00
Christoph M. Becker 6bb1fd9032 Update to SQLite 3.17.0 2017-02-14 14:00:54 +01:00
Xinchen Hui 00e5ea7b76 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug  #73989 (PHP 7.1 Segfaults within Symfony test suite)

Conflicts:
	Zend/zend_gc.c
2017-02-13 19:24:00 +08:00
Anatol Belski 91159bdcf5 update NEWS 2017-02-13 08:38:31 +01:00
Anatol Belski 8164e024cd update UPGRADING.INTERNALS 2017-02-13 08:35:01 +01:00
Anatol Belski 0d529d6eb3 The d_name member of struct dirent should be a pointer
Rework for 60950702, so then any encoding is supported. The path
segment length is measured in wchar_t size, whereby the number
of wchar_t is 255+\0. This means, in the actual encoding, the path
segment size can become (255*<bytes per glyph>)+\0 bytes in worst
case. It is still valid, as all the FS API uses wide chars
internally.
2017-02-12 22:23:51 +01:00
Nikita Popov e637cd82a0 Merge branch 'PHP-7.1' 2017-02-12 22:03:53 +01:00
Derick Rethans 5dc825889d Merge branch 'PHP-7.1' 2017-02-12 20:19:10 +00:00
Anatol Belski 7b9f93b3f9 remove loop
The limit is big enough, and it's questionable such amount of
random data can ever make sense anyway.
2017-02-12 19:25:23 +01:00
Anatol Belski 97d620449c fix loop 2017-02-12 19:15:40 +01:00
Anatol Belski d53d0a5dc4 refactor php_win32_get_random_bytes(), take 2
As in previous variant, locking is removed and the initialization
is done only once at process start. The CNG API turns out to be
faster, also the initialization is less resources hungry. The
initialization part could need to be improved, if too much startup
failures are sighted in the real world usage. Though that would mean
having locking back.

The usage of CNG was already pointed out and requested in several
reports, with the further refactoring it appears to make sense and
simplify things a backward compatible way.
2017-02-12 17:47:14 +01:00
Xinchen Hui 963981df58 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #74084 (Out of bound read - zend_mm_alloc_small)
2017-02-12 20:36:43 +08:00
Nikita Popov fb22a0f48d Merge branch 'PHP-7.1' 2017-02-12 12:51:12 +01:00
Xinchen Hui 377bff250d Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed #73496 (Invalid memory access in zend_inline_hash_func)
2017-02-12 18:56:49 +08:00
Nikita Popov 852c4a872f Merge branch 'PHP-7.1' 2017-02-12 00:20:15 +01:00
Nikita Popov 951a581cd3 Merge branch 'PHP-7.1' 2017-02-12 00:16:05 +01:00
Nikita Popov 5383c9d9e5 Merge branch 'PHP-7.1' 2017-02-12 00:06:47 +01:00
Anatol Belski 048aec4796 Revert "refactor php_win32_get_random_bytes()"
This reverts commit 23bd7bcde0.

Looks like this change is unstable. If same CSP is use but multiple processers,
the initialization failures are possible. Thus, CryptAcquireContext in
every process, even if it won't be used at all, is not sensible. This
might actually motivate to look for better CSP APIs.
2017-02-11 21:47:09 +01:00
Anatol Belski 23bd7bcde0 refactor php_win32_get_random_bytes()
- avoid locking
- initialize only once
- the process will fail, if no init failed
2017-02-11 19:15:35 +01:00
Anatol Belski 02991f75ce Revert "move winsock specific stuff into dllmain"
This reverts commit d94c2c796a.

WSA functions are documented explicitly as unsafe for dllmain
2017-02-11 18:55:32 +01:00
Anatol Belski d94c2c796a move winsock specific stuff into dllmain 2017-02-11 16:46:17 +01:00
Anatol Belski cefa8ddcc9 Merge branch 'PHP-7.1'
* PHP-7.1:
  add missing datatype as sync for 5113909
2017-02-11 14:53:20 +01:00
Derick Rethans eb1f4e0210 Merge branch 'PHP-7.1' 2017-02-11 11:10:17 +00:00
Xinchen Hui cad92c1243 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed typo
2017-02-11 00:02:07 +08:00
Dmitry Stogov c39147d136 Fixed bug #74053 (Corrupted class entries on shutdown when a destructor spawns another object). (jim at commercebyte dot com)
Merge branch 'master' of github.com:commercebyte/php-src

* 'master' of github.com:commercebyte/php-src:
  Added EG(flags) - executor global flags EG_FLAGS_IN_SHUTDOWN - is set when PHP is in shutdown state
  newly added zend_object_store.no_reuse is redefined as a global zend_object_store_no_reuse, to avoid alignment issues
  Alignment fix, as per @nikic
  The test scripts bug64720.phpt and bug68652.phpt were relying on the buggy behavior, when PHP returns "Undefined static property" error due to class entry corruption. With my fix for bug 74053, both tests return no errors now, I corrected the EXPECTF accordingly
  Bug Fix: Corrupted class entries on shutdown when a destructor spawns another object (C) 2017 CommerceByte Consulting
2017-02-10 10:31:43 +03:00
Xinchen Hui 1760b031ea Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWs
  Fixed bug #74019 (Segfault with list)
2017-02-10 14:26:35 +08:00
Jim Zubov 1b1399c95d Added EG(flags) - executor global flags
EG_FLAGS_IN_SHUTDOWN - is set when PHP is in shutdown state
2017-02-09 12:40:33 -05:00
Jim Zubov f9afc6aabc newly added zend_object_store.no_reuse is redefined as a global zend_object_store_no_reuse,
to avoid alignment issues
2017-02-07 21:13:39 -05:00
Nikita Popov 4ec80663a6 Merge branch 'PHP-7.1' 2017-02-08 01:10:54 +01:00
Nikita Popov 33adee5391 Merge branch 'PHP-7.1' 2017-02-08 01:00:52 +01:00
Nikita Popov 1b40313804 Merge branch 'PHP-7.1' 2017-02-08 00:54:27 +01:00
Julien Pauli ed4216c955 ReflectionGenerator now sends ReflectionException as expected 2017-02-07 17:47:08 +01:00
Jim Zubov a6acffe421 Alignment fix, as per @nikic 2017-02-07 10:51:09 -05:00
Jim Zubov d94b067504 The test scripts bug64720.phpt and bug68652.phpt were relying on the buggy behavior,
when PHP returns "Undefined static property" error due to class entry corruption.
With my fix for bug 74053, both tests return no errors now, I corrected the EXPECTF accordingly

[Anybody please advice if I'm wrong?]

Also created bug74053.phpt, for the code I mentioned in the bug description
2017-02-07 09:19:16 -05:00
Anatol Belski a7269c09d2 Merge branch 'PHP-7.1'
* PHP-7.1:
  use some dynamically generated NAN as well
2017-02-07 13:19:50 +01:00
Anatol Belski 7e440f2209 rework fd521a22 to simplify for master, see github #2356 2017-02-07 12:40:10 +01:00
Anatol Belski 623478a2d6 Merge branch 'PHP-7.1'
* PHP-7.1:
  switch to smart str conversion routine to hide exact NAN type
2017-02-07 12:04:25 +01:00
Jim Zubov 9a8a1c9da1 Bug Fix:
Corrupted class entries on shutdown when a destructor spawns another object
(C) 2017 CommerceByte Consulting

When zend_objects_store_call_destructors() is called from the shutdown sequence -
it's calling the dtor's for remaining objects one by one in sequence of object handles.
If the dtor spawns one or more objects, and the new objects happen to reuse the old handles -
their dtor's are not called in this cycle.
The dtor's are called later on, when zend_deactivete() kicks in, and the static property lists in the class entries are freed.
This causes "Undefined static property" errors, and/or SIGSEGV.

Solution:
zend_object_store.no_reuse field is added
Set to 0 on initialization, set to 1 on the shutdown sequence.
zend_objects_store_put(zend_object *) checks the no_reuse flag, and never reuses the old handle slots if set.
This way, the dtor's for newly spawned objects are guaranteed to be called in the zend_objects_store_call_destructors() loop.
2017-02-06 18:05:34 -05:00
Nikita Popov 31332d0941 Merge branch 'PHP-7.1' 2017-02-06 01:47:09 +01:00
Nikita Popov b73190d919 Merge branch 'PHP-7.1' 2017-02-05 18:13:24 +01:00
Andrea Faulds 07d1cd3bc3 Merge branch 'PHP-7.1' 2017-02-05 01:34:15 +00:00
Niklas Keller 2edc3cf8d2 Implement Parameter Type Widening RFC 2017-02-04 23:33:24 +01:00
Nikita Popov 0ecffc8af6 Add UPGRADING notes for deprecations 2017-02-03 21:02:52 +01:00
Nikita Popov 06a0340162 Deprecate each() 2017-02-03 21:02:52 +01:00
Nikita Popov 6ba7206620 Deprecate assert() with string argument 2017-02-03 21:02:52 +01:00
Nikita Popov a8239ff232 Deprecate mbstring.func_overload 2017-02-03 21:02:52 +01:00
Nikita Popov c61daf415d Deprecate track_errors / $php_errormsg 2017-02-03 21:02:52 +01:00
Nikita Popov 2df9346e7f Deprecate mb_parse_str() without second argument 2017-02-03 18:52:57 +01:00
Nikita Popov 2634b13e88 Deprecate parse_str() without second argument 2017-02-03 18:52:57 +01:00
Nikita Popov 7a73c5f6bb Deprecate (unset)
Pecularily, there wasn't a single test for the (unset) cast...
2017-02-03 18:52:57 +01:00
Nikita Popov 162aa1a5fc Deprecate __autoload() 2017-02-03 18:52:57 +01:00
Nikita Popov eaeecc523b Deprecate create_function() 2017-02-03 18:52:57 +01:00
Nikita Popov fbeb900be4 Deprecate gmp_random() 2017-02-03 18:52:57 +01:00
Nikita Popov 000b504b51 Merge branch 'PHP-7.1' 2017-02-03 18:42:33 +01:00
Nikita Popov 6303dd1ea4 Merge branch 'PHP-7.1' 2017-02-03 18:30:40 +01:00
Nikita Popov 5537a4e2b8 Merge branch 'PHP-7.1' 2017-02-03 17:55:08 +01:00
Dmitry Stogov a082824725 Replace redundand checks with ZEND_ASSERT. We shouldn't get IS_OBJECTs without object_storage. 2017-02-03 18:31:25 +03:00
Dmitry Stogov d0b15f8371 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Remove unused variable
2017-02-03 17:38:45 +03:00
Dmitry Stogov 7aff166e57 Arguments array can't make cycles 2017-02-03 17:38:03 +03:00
Sara Golemon 1a84ecaca5 Remove unused variable 2017-02-03 06:17:37 -08:00
Joe Watkins 984a6312e4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74004 LIBXML_NOWARNING (etc) ignored by DOMDocument::loadHTML
2017-02-03 06:13:40 +00:00
Joe Watkins 6400ce5017 Merge branch 'PHP-7.1'
* PHP-7.1:
  increase wait time in timeout_variation_9.phpt by 1 second
2017-02-03 06:01:10 +00:00
Joe Watkins 309d3daa39 Merge branch 'PHP-7.1'
* PHP-7.1:
  increase wait time in timeout_variation_10.phpt by 1 second
2017-02-03 05:55:29 +00:00
Nikita Popov 795a4c1bb3 Merge branch 'PHP-7.1' 2017-02-02 18:35:35 +01:00
Nikita Popov b2a4af7b58 Merge branch 'PHP-7.1' 2017-02-02 18:15:11 +01:00
Nikita Popov 7ae4fa8a03 Merge branch 'PHP-7.1' 2017-02-02 18:07:27 +01:00
Anatol Belski ac219438b8 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-02-02 14:22:43 +01:00
Anatol Belski 2bff68a2f0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #74022 PHP Fast CGI crashes when reading from a pfx file.
2017-02-02 13:07:48 +01:00
Anatol Belski 3488cc91e4 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  update NEWS
2017-02-02 01:36:29 +01:00
Nikita Popov fb008bf60e Remove obsolete version checks from tests 2017-02-02 00:58:04 +01:00
Anatol Belski ac16d944bb Merge branch 'PHP-7.1'
* PHP-7.1:
  remove the reverted NEWS entry
  sync NEWS with the reverted stuff
  Revert "fixed bug #50989 (DOM support for LIBXML_NOXMLDECL)"
  Revert "fix BC break introduced by #2346 (sebastianbergmann/phpunit#2454)"
2017-02-01 20:07:07 +01:00
Joe Watkins 11a1670cff Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Inheritance checks should not ignore parents if these implement an interface"
  Revert "Added tests demonstrating the same effect with abstracts"
2017-02-01 19:05:50 +00:00
Dmitry Stogov 0631b9e9ba Merge branch 'PHP-7.1'
* PHP-7.1:
  typo
2017-02-01 17:38:12 +03:00
Dmitry Stogov 8456351a4e Merge branch 'PHP-7.1'
* PHP-7.1:
  fixed macro
2017-02-01 16:06:17 +03:00
Anatol Belski fa0df0cdc5 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix possible NULL dereference
2017-02-01 13:46:50 +01:00
Anatol Belski df85e1fffd Merge branch 'PHP-7.1'
* PHP-7.1:
  remove unused var
  use zend_string API
  Fixed bug #74005 mail.add_x_header causes RFC-breaking lone line feed
2017-02-01 12:58:47 +01:00
Anatol Belski 17f6f713ad fix test portability 2017-02-01 12:18:55 +01:00
Anatol Belski 9edda01005 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test for 32bits (int -> float)
  fix test for 32bits (int -> float)
2017-02-01 12:01:23 +01:00
Remi Collet 0f1ae93bfa fix test for 32bits (int -> float) 2017-02-01 10:26:27 +01:00
=?UTF-8?q?Rouven=20We=C3=9Fling?= b7f59be9f4 Refactor HashContext into an object.
This allows better type hinting as well as potentially adding
methods in a followup diff.

Original patch by Rouven Weßling (github.com/realityking)
Heavily modified by Sara Golemon (github.com/sgolemon)
2017-01-31 19:28:35 -08:00
Anatol Belski 5a9742e34b Merge branch 'PHP-7.1'
* PHP-7.1:
  add a primitive debug facility to sendmail
2017-01-31 18:29:47 +01:00
Anatol Belski 0aa73a52b5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "backport 51e1da6ea1 into 7.0"
2017-01-31 14:23:19 +01:00
Joe Watkins 17b3e2e4a7 Merge branch 'PHP-7.1'
* PHP-7.1:
  bump versions
2017-01-31 12:51:47 +00:00
Christoph M. Becker 6cfbb7f9bd Deprecate INTL_IDNA_VARIANT_2003
As of ICU 55.1 the IDNA2003 APIs are deprecated, so we're deprecating
INTL_IDNA_VARIANT_2003 as well, according to
https://wiki.php.net/rfc/deprecate-and-remove-intl_idna_variant_2003.
2017-01-31 12:16:29 +01:00
Anatol Belski fba9eb86ec Merge branch 'PHP-7.1'
* PHP-7.1:
  bump versions for next in dev
2017-01-31 11:21:01 +01:00
Joe Watkins 3abb5a35f6 Merge branch 'PHP-7.1'
* PHP-7.1:
  removed additional ";" from run-tests.php
2017-01-31 05:36:28 +00:00
Nikita Popov a8d901a80c Remove zend_version() checks from tests 2017-01-30 22:50:25 +01:00
Nikita Popov df404eccb5 Remove ZEND_CHANGES and README.namespaces 2017-01-30 22:50:25 +01:00
Anatol Belski 22ca84550a Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2017-01-30 22:36:56 +01:00
Sara Golemon f149f62d58 Merge branch 'PHP-7.1'
* PHP-7.1:
  Securely zero the hash context key
2017-01-30 09:03:01 -08:00
Anatol Belski 46bdb637ec Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73983 crash on finish work with phar in cli + opcache
2017-01-30 12:47:29 +01:00
Joe Watkins 82d363c21b Merge branch 'PHP-7.1'
* PHP-7.1:
  fix BC break introduced by #2346 (sebastianbergmann/phpunit#2454)
2017-01-30 11:26:51 +00:00
Anatol Belski 04f150679c Merge branch 'PHP-7.1'
* PHP-7.1:
  move id initialization into ctor
2017-01-30 11:42:46 +01:00
Anatol Belski 2370183429 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix system id initialization for multiple threads
2017-01-30 01:59:02 +01:00
Jakub Zelenka 10cd88588e Merge branch 'PHP-7.1' 2017-01-29 20:46:20 +00:00
Joe Watkins f007e9ff8c Merge branch 'pull-request/2345'
* pull-request/2345:
  FTP: implement MLSD for structured listing of directories, decribed at https://tools.ietf.org/html/rfc3659
2017-01-29 07:30:25 +00:00
Andreas Treichel 0103d1e3bc FTP: implement MLSD for structured listing of directories, decribed at https://tools.ietf.org/html/rfc3659 2017-01-29 07:28:22 +00:00
Joe Watkins 3de7b2ab52 Merge branch 'PHP-7.1'
* PHP-7.1:
  fixed bug #50989 (DOM support for LIBXML_NOXMLDECL)
2017-01-28 08:28:31 +00:00
Joe Watkins 47c2da9646 [ci skip] news entry for Fixed bug #73987 2017-01-28 06:47:59 +00:00
Joe Watkins c827124632 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added tests demonstrating the same effect with abstracts
  Inheritance checks should not ignore parents if these implement an interface
2017-01-28 06:28:24 +00:00
Adam Baratz 8302a29e69 NEWS 2017-01-27 18:47:09 -05:00
Adam Baratz f45e6364b4 Add test coverage for bug #72969
This was not an issue with pdo_dblib, but rather with FreeTDS. FreeTDS has been
fixed as of the fc820490336c50d5c175d2a15327383256add4c9 on that repo. These
tests will be skipped if a version of FreeTDS with that issue is present.

I only cleaned up this commit for pushing. For fixing the FreeTDS issue and
writing corresponding pdo_dblib tests, thanks to:
Jeff Farr <jefarr@wayfair.com>
2017-01-27 18:47:00 -05:00
Adam Baratz 9e18f1d4af Expose DB-Library version as \PDO::DBLIB_ATTR_VERSION attribute on \PDO instance 2017-01-27 18:38:56 -05:00
Adam Baratz 147a3dd379 style cleanup 2017-01-27 18:24:45 -05:00
Joe Watkins 79bff1f644 Merge branch 'pull-request/1635'
* pull-request/1635:
  Use modern autotools name of configure.ac instead of configure.in
2017-01-27 06:08:12 +00:00
Brian Evans 2fe9208ee3 Use modern autotools name of configure.ac instead of configure.in
configure.ac was introduced in 2001 with automake-1.15 and autoconf-2.50
to replace the file named configure.in.
Autotools is preparing to remove configure.in in Automake 2.0.
All new software should be using configure.ac.
This also fixes Bug #69770 where extensions are creating configure.in

Signed-off-by: Brian Evans <grknight@gentoo.org>
2017-01-27 06:07:40 +00:00
Joe Watkins 68801c9a30 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix 00version.phpt when commit message has multiple lines.
2017-01-26 11:36:50 +00:00
Joe Watkins 306f55bef4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #73973 - debug_zval_dump() assertion error for resource consts with --enable-debug
2017-01-26 09:05:10 +00:00
Joe Watkins 4e3a4c119d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73994 incorrect arginfo for unpack
2017-01-26 06:58:53 +00:00
Joe Watkins 2eb0cb3afe [ci skip] add upgrading note about PHP_OS_FAMILY 2017-01-26 05:59:36 +00:00
Joe Watkins 59f569aff5 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] news entry for PR #2337
2017-01-26 05:52:26 +00:00
Joe Watkins b8f1c798fc Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #54382 (getAttributeNodeNS doesn't get xmlns* attributes)
  Added (failing) testcase for bug #54382
2017-01-25 20:59:52 +00:00
Stricted bb059fe0a7 add PHP_OS_FAMILY constant to determine on which os we are 2017-01-25 20:50:14 +00:00
Jakub Zelenka 4a72d340a3 Merge branch 'PHP-7.1' 2017-01-25 19:56:19 +00:00
Bob Weinand d4dd540233 Merge branch 'PHP-7.1' 2017-01-25 13:01:48 +01:00
Anatol Belski e7166d1708 Merge branch 'PHP-7.1'
* PHP-7.1:
  dirname() should not normalize paths
2017-01-24 18:00:08 +01:00
Anatol Belski 352456031e Merge branch 'PHP-7.1'
* PHP-7.1:
  make length check more robust
2017-01-24 13:25:57 +01:00
Nikita Popov a1d5686a3c Fix assertion violation with composer 2017-01-24 11:32:41 +01:00
Michael Wallner 08004d7959 my NEWS handle is actually Mike) 2017-01-24 08:44:45 +01:00
Nikita Popov 7cba31535c Separate array in session upload progress 2017-01-23 17:19:12 +00:00
Nikita Popov fd4025069d Enable HT RC assertions with escape-hatch
HT functions that modify the array now assert that rc=1. As we don't
respect this COW constraint everywhere, either for a good reason or
because fixing it would take more work, we provide an escape hatch
in the form of HT_ALLOW_COW_VIOLATION(ht). If this macro is called
assertions on this ht are disabled. The macro is a no-op in release
mode.
2017-01-23 17:19:06 +00:00
Joe Watkins 5c6bf3598a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix Bug #69865 php-fpm does not close stderr when using syslog
2017-01-23 16:57:01 +00:00
Dmitry Stogov eac0b2e98f Check for old style constructor only if method is not found 2017-01-23 14:54:58 +03:00
Antony Dovgal b5cfe11c5b use correct shift and fix slowlog bt in 7.1 2017-01-23 14:52:21 +03:00
Joe Watkins e69c9d3bf8 Merge branch 'PHP-7.1'
* PHP-7.1:
  move decl to correct place
2017-01-23 05:34:35 +00:00
Anatol Belski 609507024f preliminary fix for bug #73971, more refactoring is needed 2017-01-22 22:43:53 +01:00
Joe Watkins 8782e847b4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #73969 - Fixed segmentation fault when debug_print_backtrace called
2017-01-22 16:12:27 +00:00
Bogdan Padalko ab2489fae2 Add variadic type and obj info macros 2017-01-22 15:58:11 +00:00
Rasmus Lerdorf 7b8b2e50f6 Switch to the v2 version of these functions.
The sqlite3 docs suggest always using prepare_v2 and the close_v2
could potentially help with an fd leak we have been seeing
2017-01-22 07:26:07 -08:00
Christoph M. Becker 5d0048cd75 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add regression test for bug #47946
2017-01-22 15:15:43 +01:00
Andrey Andreev 423c192791 Use hash_ops->is_crypto in hash_init() 2017-01-22 10:37:10 +01:00
Joe Watkins d6ef39e04a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix intermittent segfault in GD library
2017-01-22 06:41:20 +00:00
Christoph M. Becker 5d6e702732 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add myself as primary maintainer of GD
2017-01-21 18:55:13 +01:00
Levi Morrison b7552ff344 Remove trailing tabs 2017-01-21 10:11:23 -07:00
Christoph M. Becker ee06ca8271 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #73968: Premature failing of XBM reading
2017-01-21 13:20:47 +01:00
Joe Watkins 1c807377fd Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73961 environmental build dependency in hash sha3 source
2017-01-21 07:46:52 +00:00
Anatol Belski 0ccf1cf562 Merge branch 'PHP-7.1'
* PHP-7.1:
  backport 51e1da6ea1 into 7.0
2017-01-21 02:59:07 +01:00
Anatol Belski d263f29b71 Merge branch 'PHP-7.1'
* PHP-7.1:
  exclude debug code
  ensure the string for conversion is \0 terminated and integrade additional path length check
2017-01-21 02:20:52 +01:00
Anatol Belski 73bfa264cc Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73962 bug with symlink related to cyrillic directory
2017-01-20 23:47:12 +01:00
Joe Watkins 0877839469 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #73959 - lastInsertId fails to throw an exception in pdsql
2017-01-20 20:12:30 +00:00
Remi Collet fa45f64bd8 Merge branch 'PHP-7.1'
* PHP-7.1:
  NEWS
  NEWS
  Fixed bug #73965 DTrace reported as enabled when disabled
2017-01-20 17:50:09 +01:00
Dmitry Stogov 1f7bf2bfd6 Optimized extract(). Avoided double hash lookups and repeatable checks through loop splitting. 2017-01-20 10:39:27 +03:00
Joe Watkins 71a42477ca Merge branch 'PHP-7.1'
* PHP-7.1:
  Update comment, incorrect since 224aaf94
2017-01-19 10:49:09 +00:00
Xinchen Hui 0311dc8697 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed another part in ldap (bug #73933)
2017-01-19 12:24:04 +08:00
Ferenc Kovacs 60d075aa65 Merge branch 'PHP-7.1' 2017-01-19 01:23:36 +01:00
Nikita Popov 0dc2b832a2 Merge branch 'PHP-7.1' 2017-01-18 21:20:07 +01:00
Andrey Andreev d89d149edf Disallow non-crypto hashes in HMAC and PBKDF2
For this purpose add is_crypto flag to php_hash_ops.
2017-01-18 21:13:54 +01:00
Joe Watkins 5bc81620ef Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73949 leak in mysqli_fetch_object
2017-01-18 18:24:49 +00:00
Joe Watkins 409467dc2f Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove remnants of TSMRLS_* macro calls
2017-01-18 17:46:35 +00:00
Joe Watkins f485aca646 Merge branch 'PHP-7.1'
* PHP-7.1:
  DNS CAA record type implementation and tests for https://bugs.php.net/bug.php?id=73850
2017-01-18 17:25:52 +00:00
Leigh 2a9ee3c6f6 Merge branch 'PHP-7.1' 2017-01-18 15:04:19 +00:00
Leigh 9c5a1c8ae9 Merge branch 'PHP-7.1' 2017-01-18 14:48:36 +00:00
Remi Collet 70ee3fcd1a Merge branch 'PHP-7.1'
* PHP-7.1:
  NEWS
  NEWS
  Fix #73956 Link use CC instead of CXX
2017-01-18 13:02:51 +01:00
Joe Watkins a1fd706d7d Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove more TSRMLS_CC macros
2017-01-18 10:00:26 +00:00
Joe Watkins 7c17936c70 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix ce comparison
2017-01-18 05:06:59 +00:00
Joe Watkins cc91b01dca Merge branch 'PHP-7.1'
* PHP-7.1:
  updates to release docs
2017-01-17 20:33:57 +00:00
Joe Watkins 9fdd391d6a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixes in .gdbinit for ZE 3
2017-01-17 17:08:08 +00:00
Anatol Belski 11f8fc199d Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] sync NEWS
2017-01-17 10:59:56 +01:00
Anatol Belski 7ad94a010d fix changed symbol 2017-01-17 10:10:12 +01:00
Anatol Belski 23db1ce3ba Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #73869: Signed Integer Overflow gd_io.c
  Fix #73868: DOS vulnerability in gdImageCreateFromGd2Ctx()
2017-01-17 09:36:42 +01:00
Dmitry Stogov 3d84aef55d Separate zend_fetch_static_property_address() into an inline function 2017-01-17 11:11:12 +03:00
Xinchen Hui fafce65a05 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #73933 (error/segfault with ldap_mod_replace and opcache)
2017-01-17 15:35:46 +08:00
Stanislav Malyshev cbc416e8d3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73648 - integer overflow in substr
2017-01-16 12:14:10 -08:00
Nikita Popov 50dea5931f Merge branch 'PHP-7.1' 2017-01-16 14:26:54 +01:00
Stanislav Malyshev 31391729ff Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73634 - grapheme_strpos illegal memory access
  Fix typo
2017-01-16 01:18:57 -08:00
Joe Watkins a69136e65e Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73939 memory allocation in signal handler when HAVE_STRUCT_SIGINFO_T
2017-01-16 04:33:22 +00:00
Joe Watkins 797de51bf1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add test ini_set with invalid time zone
2017-01-16 04:13:44 +00:00
Stanislav Malyshev 4eb405791d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix test
2017-01-15 18:42:48 -08:00
Stanislav Malyshev 540e672868 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update more functions with path check
2017-01-15 17:33:48 -08:00
Anatol Belski cd2b462a27 move some var declarations to the top for better grouping 2017-01-15 21:27:05 +01:00
Anatol Belski 21e5959c4e Merge branch 'PHP-7.1'
* PHP-7.1:
  fix AppVeyor failures with Opcache enabled
2017-01-15 21:20:18 +01:00
Bob Weinand 9e3c35b6d1 Fix small mistake in generator creation introduced in 9a159f37 2017-01-15 19:26:15 +01:00
Anatol Belski ca4cfcc631 Revert "Merge branch 'bugfix_timeout_61471' of https://github.com/axot/php-src into PHP-7.0"
This reverts commit a8931df672, reversing
changes made to f2f35a2b27.

(cherry picked from commit 57736cc937)

Something went wrong, so the revert didn't land in master.
Cherry-picking extra therefore.
2017-01-15 17:18:00 +01:00
Adam Saponara 3e274018f8 Fix segfault in pcntl_signal_handler (bug #73939) 2017-01-15 06:44:04 +00:00
Nikita Popov 959c8975a9 Merge branch 'PHP-7.1' 2017-01-14 14:13:49 +01:00
Nikita Popov 36ba96e86c Merge branch 'PHP-7.1' 2017-01-14 13:53:58 +01:00
Nikita Popov a3115b05b4 Merge branch 'PHP-7.1' 2017-01-14 13:28:52 +01:00
Joe Watkins 0bfd17dfc5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added test for "opcache: print restart reason" to basic_logging.phpt
2017-01-14 07:33:35 +00:00
Nikita Popov 5eeb414770 Write $http_response_header to local var at end
Rather than trying to modify it mid-request. The protection against
tampering that was used (addref) violates COW because an rc>1 array
is being modified.

Test bug69337.phpt changed because it was testing tampering with
$http_response_header while the HTTP request is being executed.
This simply no longer matters, so behavior is the same as if no
tampering occurred.
2017-01-13 23:27:07 +01:00
Alexander Polyakov 6cca4fcd59 opcache: print restart reason 2017-01-13 21:33:19 +00:00
Dmitry Stogov 501ff45283 Fixed nullable handling (phpunit failure) 2017-01-13 19:51:12 +03:00
Anatol Belski 6eaa55db79 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix remaining tests for Opcache runs
2017-01-13 17:23:05 +01:00
Anatol Belski 9db2dab858 Merge branch 'PHP-7.1'
* PHP-7.1:
  ensure the end path wouldn't contain double slashes
2017-01-13 16:55:49 +01:00
Anatol Belski 0e00c56060 Merge branch 'PHP-7.1'
* PHP-7.1:
  templatize the resource number
2017-01-13 15:50:36 +01:00
Anatol Belski 5ba9f8458c Merge branch 'PHP-7.1'
* PHP-7.1:
  refix test
2017-01-13 15:35:42 +01:00
Anatol Belski e9f978a272 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
  Fix test runs with Opcache enabled PHP on top
2017-01-13 14:46:44 +01:00
Dmitry Stogov 1a8ad8ac27 Avoid NULL dereference 2017-01-13 12:51:23 +03:00
Dmitry Stogov 141d1ba980 Introduced "zend_type" - an abstraction for type-hinting representation. 2017-01-13 11:37:46 +03:00
Joe Watkins 28391c30ca Merge branch 'PHP-7.1'
* PHP-7.1:
  Increase wait time for tests involving sockets to improve Travis relability
2017-01-13 06:45:31 +00:00
Xinchen Hui 1cdcf5bafb Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove redundant reference handling
  Fixed bug #73916 (zend_print_flat_zval_r doesn't consider reference)
2017-01-13 13:05:51 +08:00
Anatol Belski c4e0ba004e Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2017-01-12 22:46:24 +01:00
Anatol Belski bdfe07c2e7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #72898 PHP_FCGI_CHILDREN is not included in phpinfo()
2017-01-12 22:08:20 +01:00
Nikita Popov a1145c0c40 Fix memory error in reflection export
Also simplify code while at it ... no point in going through a
smart_str for a single printf.
2017-01-12 21:50:53 +01:00
Nikita Popov e8c98a74f0 Merge branch 'PHP-7.1' 2017-01-12 21:16:13 +01:00
Anatol Belski c498284dec Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2017-01-12 19:01:19 +01:00
Nikita Popov 1b684fa53c Merge branch 'PHP-7.1' 2017-01-12 18:54:06 +01:00
Anatol Belski 9cfaf48a11 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73904 php-cgi fails to load -c specified php.ini file
2017-01-12 17:27:14 +01:00
Anatol Belski ce7a8ca551 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73904 php-cgi fails to load -c specified php.ini file
2017-01-12 14:17:23 +01:00
Anatol Belski 9f3b3a55fe Fixed bug #73904 php-cgi fails to load -c specified php.ini file 2017-01-12 14:15:21 +01:00
Joe Watkins 1ef5cb6ab6 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Update to SQLite 3.16.2
2017-01-12 09:24:47 +00:00
Joe Watkins dd7a04009e Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72680 gdbinit print_cvs not prepared for PHP 7
2017-01-12 09:10:53 +00:00
Joe Watkins 8f6dad150b Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #72680 gdbinit print_cvs not prepared for PHP 7
2017-01-12 09:10:39 +00:00
Christoph M. Becker ec6b03a789 Update to SQLite 3.16.2 2017-01-12 00:14:55 +01:00
Joe Watkins 62f29c0c1c Merge branch 'PHP-7.1'
* PHP-7.1:
  added a note to opache.fast_shutdown why its not enabled by default in php.ini
2017-01-11 11:18:38 +00:00
Joe Watkins cf897bcd30 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fixed bug #67707 IV not needed for ECB encryption mode, but it returns a warning
  Add support for "xfail" to phpt SKIPIF sections
  Fixed #73907 (nextSibling property not included in var_dump of DOMNode)
  Fixed bug #61858 (DOMAttr debug info generates E_WARNING)
  Fix glob-wrapper.phpt to not fail in Windows
  Set a session path for this test
  Set a session path for this test
  Fix #73893: A hidden danger of death cycle in a function of gd
  Missing %s
  Missing %s
  More missing gc inis
  Ok, maybe Nikita is right. We should default this on.
  Missed one. This needs gc as well
  Missed one. This needs gc as well
  These tests rely on gc being enabled
  These tests expect gc to be enabled
2017-01-11 08:12:22 +00:00
Joe Watkins 2118dcb6a6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #71219 configure script incorrectly checks for ttyname_r
2017-01-11 08:11:59 +00:00
Nikita Popov 63b36be79f Merge branch 'PHP-7.1' 2017-01-10 23:45:01 +01:00
Nikita Popov ce90742ad5 Merge branch 'PHP-7.1' 2017-01-10 23:32:46 +01:00
Nikita Popov 9b916b15a5 Merge branch 'PHP-7.1' 2017-01-10 23:29:50 +01:00
Nikita Popov 52a22fa63c Merge branch 'PHP-7.1' 2017-01-10 23:25:23 +01:00
Nikita Popov 756a0af996 Merge branch 'PHP-7.1' 2017-01-10 23:19:43 +01:00
Rasmus Lerdorf aa5713f773 Set a session path for this test 2017-01-10 15:18:36 -05:00
Christoph M. Becker 703c0043a0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #73893: A hidden danger of death cycle in a function of gd

# Conflicts:
#	ext/gd/libgd/gd_rotate.c
2017-01-10 20:15:05 +01:00
Christoph M. Becker 4ac0501d68 Merge branch 'PHP-7.1'
* PHP-7.1:
  Missing %s
2017-01-10 20:08:59 +01:00
Rasmus Lerdorf 190c303a1a Missing %s 2017-01-10 13:51:58 -05:00
Christoph M. Becker ff41e97c4c Merge branch 'PHP-7.1'
* PHP-7.1:
  Ok, maybe Nikita is right. We should default this on.
  Missed one. This needs gc as well
  These tests expect gc to be enabled
2017-01-10 19:49:54 +01:00
Rasmus Lerdorf 47becbf1a2 More missing gc inis 2017-01-10 12:17:31 -05:00
Rasmus Lerdorf d2c852e473 Missed one. This needs gc as well 2017-01-10 12:08:34 -05:00
Rasmus Lerdorf 4f4a7f89ae These tests rely on gc being enabled 2017-01-10 11:57:59 -05:00
Joe Watkins 87f7113130 Merge branch 'PHP-7.1'
* PHP-7.1:
  pull-request/1807: 	test for dns_get_record
2017-01-10 13:57:10 +00:00
Joe Watkins 54b00d157a Merge branch 'PHP-7.1'
* PHP-7.1:
  Prevent fd leak in readdir_r that causes false negative on readdir_r implementation when compiled with AddressSanitizer
2017-01-10 11:51:56 +00:00
Joe Watkins e54ee3eaa4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #73902 mention router support in usage output for php-cli
2017-01-10 06:21:14 +00:00
Sara Golemon 4fb70c7577 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix open_basedir check for glob:// opendir wrapper
2017-01-09 16:08:31 -08:00
Nikita Popov 18904aa3e2 Compact literals: Deduplicate empty array literals 2017-01-10 00:21:38 +01:00
Nikita Popov c4ba0041a0 Merge branch 'PHP-7.1' 2017-01-10 00:09:41 +01:00
Andy Postnikov 8c8679207a Fix ZEND_SIGNED_MULTIPLY_LONG for AArch64
Register operands are required in this context.
2017-01-09 23:32:02 +01:00
Nikita Popov 2aaf57e6ed Merge branch 'PHP-7.1' 2017-01-09 23:30:07 +01:00
Nikita Popov 791b795184 Merge branch 'PHP-7.1' 2017-01-09 23:23:07 +01:00
Nikita Popov 998b1a14af Merge branch 'PHP-7.1' 2017-01-09 23:21:17 +01:00
Dmitry Stogov 15040b47f0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Improved GENERATOR_CREATE opcode handler.
2017-01-09 22:25:25 +03:00
Adam Baratz f2f70cfc4b Remove trailing whitespace 2017-01-09 11:41:54 -05:00
Adam Baratz 012cee3fba Explicitly allow NULL values for dblib compatibility
MSSQL won't necessarily default columns to NULL, see:
https://msdn.microsoft.com/en-us/library/ms174979.aspx#Nullability Rules Within a Table Definition
2017-01-09 11:40:25 -05:00
Joe Watkins 14282b2eef Merge branch 'PHP-7.1'
* PHP-7.1:
  update release process notes
2017-01-09 16:22:01 +00:00
Joe Watkins ae2640b6b5 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fixed bug #73896 (spl_autoload() crashes when calls magic _call())
2017-01-09 16:00:03 +00:00
Joe Watkins bdafee7345 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix stub to accept user properly
2017-01-09 15:58:22 +00:00
Dmitry Stogov 27786b5c39 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73896 (spl_autoload() crashes when calls magic _call())
2017-01-09 15:13:48 +03:00
Joe Watkins 4e99d3031f Merge branch 'PHP-7.1'
* PHP-7.1:
  merge PR #2290: enable opcache in CLI in 7.1+
2017-01-09 11:00:37 +00:00
Joe Watkins cde08d499b Merge branch 'PHP-7.1'
* PHP-7.1:
  set more suitable defaults for opcache in ini and code
2017-01-09 10:57:29 +00:00
Xinchen Hui b012d48a3f Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73854 (Always true condition in php_openssl_sockop_io)
2017-01-09 16:30:55 +08:00
Joe Watkins 7fd318bc4c Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72979 money_format stores wrong length on AIX
2017-01-09 05:33:48 +00:00
Joe Watkins 392dca4c8f Merge branch 'PHP-7.1'
* PHP-7.1:
  update ip2long_varation2 test to skip for AIX, see bug #72973
2017-01-09 05:25:31 +00:00
Joe Watkins 7b98ecfa3b [ci skip] news entry for #72974 2017-01-09 05:21:29 +00:00
Joe Watkins 5b23f5d73a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #72974 imap is undefined service on AIX
2017-01-09 05:15:48 +00:00
Joe Watkins 04db4ad4e3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix FTP tests for Travis CI.
2017-01-09 00:37:24 +00:00
Anatol Belski 411c5fbcbf Merge branch 'PHP-7.1'
* PHP-7.1:
  improve and generalize the recognition of a cli sapi
2017-01-09 00:01:19 +01:00
Joe Watkins 64e80f5358 Merge branch 'PHP-7.1'
* PHP-7.1:
  Use proper file extension for the README
2017-01-08 21:05:36 +00:00
Joe Watkins 14be227325 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix 404 links in Litespeed README - Bug 73890
2017-01-08 20:28:22 +00:00
Anatol Belski 5eda579505 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2017-01-08 20:16:44 +01:00
Joe Watkins b2da9230f2 Merge branch 'PHP-7.1'
* PHP-7.1:
  improve FPM tests (mostly for systemd build)
2017-01-08 19:03:33 +00:00
Anatol Belski 32eac69ef9 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ast] Fix exporting **= in expansion of assign op
2017-01-08 18:56:05 +01:00
Nikita Popov f25f469088 Merge branch 'PHP-7.1' 2017-01-08 13:48:54 +01:00
Nikita Popov 79d918b3a6 Add test for buf #65251 2017-01-08 12:01:18 +01:00
Anatol Belski 953a7aae71 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2017-01-08 01:23:51 +01:00
Anatol Belski 97ac819c2b Merge branch 'PHP-7.1'
* PHP-7.1:
  move various places to the centralized OpenSSL setup routine
  use the new API for opaque symbol in OpenSSL 1.1.x
  implement basic config support for OpenSSL 1.1.x
2017-01-08 00:39:53 +01:00
Nikita Popov 72038b6c38 Merge branch 'PHP-7.1' 2017-01-08 00:02:42 +01:00
Nikita Popov 49c48e3f3a Merge branch 'PHP-7.1' 2017-01-07 23:56:00 +01:00
Nikita Popov 53ff546054 Merge branch 'PHP-7.1' 2017-01-07 22:54:26 +01:00
Libor M 90dcbbe3cb Fixed bug #46564
bcmod() no longer truncates fractionals to integers. This matches
the behavior of fmod(). It also matches the behavior of bcpowmod().
It also matches the behavior of bcmod() in HHVM.
2017-01-07 19:10:31 +01:00
Joe Watkins 00062d2ea8 Merge branch 'PHP-7.1'
* PHP-7.1:
  Adapts the readme to the new test-possibility
2017-01-07 16:46:18 +00:00
Anatol Belski c50abfdb8e Merge branch 'PHP-7.1'
* PHP-7.1:
  Implement github PR #1736
2017-01-07 15:42:44 +01:00
Anatol Belski 59cd65460b Merge branch 'PHP-7.1'
* PHP-7.1:
  update UPGRADING
  fix wrong version
  extend UPGRADING
2017-01-07 12:48:03 +01:00
Anatol Belski eb1913f21e Merge branch 'PHP-7.1'
* PHP-7.1:
  add 'e' flag for fopen() to enable CLOEXEC
2017-01-07 12:37:50 +01:00
Joe Watkins c9c8a301fa Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix memleaks from #1755 and some pre-existing ones
2017-01-07 10:15:37 +00:00
Joe Watkins 869a2a1c1b Merge branch 'PHP-7.1'
* PHP-7.1:
  PR #2211 don't supress warnings in tests
2017-01-07 08:08:25 +00:00
Mitch Hagstrand 06c8538f87 Fixes for session and fpm tests to make them more reliable in Travis CI
1. Increased the timeout on sapi/fpm tests to match the cli server
2. Fixed user session GC function to return number of sessions removed
3. Disabled session GC in session_set_save_handler_basic.phpt
2017-01-07 07:13:44 +00:00
Anatol Belski 3aece4629b Merge branch 'PHP-7.1'
* PHP-7.1:
  /guard is also a security flag
2017-01-07 02:49:44 +01:00
Anatol Belski 11acb143fe Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Test request47456.phpt for PR 1303" on PHP-7.0 and PHP-7.1
2017-01-07 02:07:07 +01:00
Anatol Belski 25797535d4 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix edge case leak
2017-01-07 01:17:18 +01:00
Anatol Belski 628c5a31da Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73877 readlink() returns garbage for UTF-8 paths
2017-01-07 01:10:56 +01:00
Anatol Belski 51dde97126 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix typo
  fix typo
2017-01-06 18:56:26 +01:00
Anatol Belski fe484f55a0 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS and UPGRADING
  update NEWS and UPGRADING
2017-01-06 18:40:57 +01:00
Anatol Belski 7ebe0db79e Merge branch 'PHP-7.1'
* PHP-7.1:
  Return integer field types as native integers instead of strings
2017-01-06 18:15:02 +01:00
Joe Watkins 598bb2cad8 fix bad merge 2017-01-06 16:34:20 +00:00
Joe Watkins bb513f15e1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Test request47456.phpt for PR 1303
2017-01-06 16:24:10 +00:00
Joe Watkins 8e447eafd9 fix broken build scripts #2124 2017-01-06 16:04:52 +00:00
Christoph M. Becker 94c6460b85 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #70103: Fix bug 70103 when ZTS is enabled
2017-01-06 15:45:44 +01:00
Christoph M. Becker cba33121f2 Fix test case
Unmatched subpatterns are reported as NULL as of commit ee6aaee8, so we
adjust the test accordingly.
2017-01-06 11:50:30 +01:00
Christoph M. Becker c832ab4de6 Update UPGRADING wrt. PR 1303 2017-01-06 11:24:44 +01:00
Joe Watkins d14f321504 Merge branch 'PHP-7.1'
* PHP-7.1:
  Use AX_CHECK_COMPILE_FLAG macro to check for -fvisibility=hidden
2017-01-06 08:15:01 +00:00
Joe Watkins 9e18b6e21e Merge branch 'pull-request/2124'
* pull-request/2124:
  Use AX_CHECK_COMPILE_FLAG macro to check for -fvisibility=hidden
2017-01-06 08:13:53 +00:00
Joe Watkins a319e09e87 Merge branch 'pull-request/1809'
* pull-request/1809:
  test for function curl_multi_info_read();
2017-01-06 08:04:49 +00:00
Joe Watkins 7e3a8ef5e1 Merge branch 'pull-request/1755'
* pull-request/1755:
  Fix bug #71519 Add 'serialNumberHex' variable to openssl_x509_parse
2017-01-06 07:41:48 +00:00
Joe Watkins aea1fd2436 Merge branch 'PHP-7.1'
* PHP-7.1:
  add stream_socket_sendto test from PR #1804
2017-01-06 07:29:09 +00:00
Joe Watkins 0ca4358ade Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #69442 closing of fd incorrect when PTS enabled
2017-01-06 06:59:32 +00:00
Joe Watkins 69b1526dfe Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed #69442 closing of fd incorrect when PTS enabled
2017-01-06 06:57:35 +00:00
Joe Watkins 969622cddf Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #69582 session not readable by root in CLI
2017-01-06 06:08:38 +00:00
Joe Watkins 7c94b3b743 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix inappropriate warning in FPM log
2017-01-06 05:55:36 +00:00
Joe Watkins ee6aaee83a Merge branch 'pull-request/1303'
* pull-request/1303:
  Distinguish between unmatched subpatterns and empty matches in preg_*()
  news entry for PR #1303
2017-01-06 05:48:31 +00:00
Joe Watkins 1db0569514 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #70103: ZipArchive::addGlob ignores remove_all_path option
  news entry for PR #1430
2017-01-06 05:41:40 +00:00
Joe Watkins a972143dd6 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  add skip when json not loaded
2017-01-06 05:33:49 +00:00
Joe Watkins c9abe878b5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Increase realpath_cache_size default value
  add UPGRADING note for realpath_cache_size
2017-01-06 05:32:12 +00:00
Remi Collet 731a507b9d Merge branch 'PHP-7.1'
* PHP-7.1:
  add skip when json not loaded
2017-01-06 06:27:39 +01:00
Joe Watkins 8a6d3d3d2e Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Increase realpath_cache_size default value
2017-01-06 05:27:04 +00:00
Anatol Belski 81c8bc35a8 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix deps dir for test data preparations
2017-01-06 02:39:53 +01:00
Ferenc Kovacs 7741750784 Merge branch 'PHP-7.1' 2017-01-06 01:52:12 +01:00
Anatol Belski 58767fbb4e Merge branch 'PHP-7.1'
* PHP-7.1:
  don't use separate deps for release branches
2017-01-06 01:32:40 +01:00
Anatol Belski 0beae1f5f3 reenable appveyor cache 2017-01-05 23:42:15 +01:00
Anatol Belski 34e17282b5 clean appveyor cache 2017-01-05 23:40:56 +01:00
Anatol Belski 703c9ee1a4 sync libmagic.patch 2017-01-05 23:32:30 +01:00
Anatol Belski b11383fbde revert year change on bundled lib files 2017-01-05 23:26:20 +01:00
Anatol Belski 8892783649 add missing condition 2017-01-05 23:16:09 +01:00
Christoph M. Becker 583950336a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #70417: PharData::compress() doesn't close temp file
2017-01-05 18:52:03 +01:00
Christoph M. Becker ed74bb3a79 Merge branch 'PHP-7.1'
* PHP-7.1:
  wrong version

# Conflicts:
#	main/php_version.h
2017-01-05 18:42:58 +01:00
Joe Watkins 9b36d8d54a Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
2017-01-05 16:59:23 +00:00
Joe Watkins ac8ecdd344 Merge branch 'PHP-7.1'
* PHP-7.1:
  merge PHP-7.1.1RC1
2017-01-05 16:58:46 +00:00
Anatol Belski 265b8cc18b Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Merge branch 'bugfix_timeout_61471' of https://github.com/axot/php-src into PHP-7.0"
2017-01-05 14:04:30 +01:00
Nikita Popov c1b0bae24b Merge branch 'PHP-7.1' 2017-01-05 11:38:47 +01:00
Joe Watkins 4aada085eb Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix php-fpm.service.in
2017-01-05 06:54:52 +00:00
Joe Watkins 45128f33d3 Merge branch 'pull-request/2275'
* pull-request/2275:
  Fix overrun in exif's "Illegal components" error message.
2017-01-05 05:54:34 +00:00
Mitch Hagstrand 54404808ab Fix overrun in exif's "Illegal components" error message.
The variables "components" is an integer, but is being
output as long. As a result it is printing 8 bytes
instead of 4 bytes.
2017-01-04 17:44:00 -08:00
Anatol Belski 032131f00b Merge branch 'PHP-7.1'
* PHP-7.1:
  quick fix for the base branch version parsing, not perfect still
2017-01-05 01:54:53 +01:00
Anatol Belski 0fed835ab9 Merge branch 'PHP-7.1'
* PHP-7.1:
  move dev to next
2017-01-05 01:16:37 +01:00
Nikita Popov fc89c5d7f8 Merge branch 'PHP-7.1' 2017-01-05 00:50:12 +01:00
Nikita Popov 2a12895018 Merge branch 'PHP-7.1' 2017-01-05 00:36:53 +01:00
Anatol Belski c616ea6f52 Merge branch 'PHP-7.1'
* PHP-7.1:
  switch to the beta1 SDK for AppVeyor build
2017-01-04 17:24:26 +01:00
Joe Watkins 90c5c295a1 Merge branch 'PHP-7.1'
* PHP-7.1:
  remove duplicate test
2017-01-04 14:51:41 +00:00
Joe Watkins 4c899c8aac Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Implement #69606: Support BMPs (added in GD 2.1.0)
2017-01-04 14:37:11 +00:00
Joe Watkins a3c2abd530 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2017-01-04 14:36:51 +00:00
Christoph M. Becker 500b496f8e Implement #69606: Support BMPs (added in GD 2.1.0)
We add PHP bindings for libgd's features to read and write BMP files, which
are available as of libgd 2.1.0.

As PHP's bundled libgd doesn't yet include the respective features of the
external libgd, we add these.
2017-01-04 14:55:02 +01:00
Joe Watkins d83828540e Merge branch 'PHP-7.1'
* PHP-7.1:
  get_defined_functions additional parameter to exclude disabled functions
  news entry for PR #1312
2017-01-04 13:37:06 +00:00
Anatol Belski 8bc2155bf9 bring the year back 2017-01-04 13:01:55 +01:00
Anatol Belski 0439ffa2ea revert change in the broken file 2017-01-04 13:01:23 +01:00
Anatol Belski 25ee9465d1 add nmakefile fragment for json 2017-01-04 12:41:47 +01:00
Anatol Belski 380073b1fc fragment targets have to match the generated ones 2017-01-04 12:18:55 +01:00
Anatol Belski 3fc1ec22ea add nmakefile fragment for pdo parser 2017-01-04 12:18:54 +01:00
Anatol Belski 797e119682 fix open flags 2017-01-04 12:18:54 +01:00
Anatol Belski b9961182bc improve nmake fragment 2017-01-04 12:18:54 +01:00
Christoph M. Becker 9574486f0e Update to SQLite 3.16.1 2017-01-04 11:53:13 +01:00
Christoph M. Becker 0c10ddb851 Make test case even more resilient
The `components` value may obviously be negative, so we have to cater
to that.
2017-01-04 11:46:35 +01:00
Joe Watkins c8aa6f3a9a Merge branch 'pull-request/2268'
* pull-request/2268:
  Update copyright headers to 2017
2017-01-04 10:00:53 +00:00
Joe Watkins f9a435a06d Merge branch 'pull-request/1094'
* pull-request/1094:
  added php_mb_check_code_point for mb_substitute_character
  news entry for PR #1094
2017-01-04 06:57:34 +00:00
Christoph M. Becker a793b794a6 Make test case more resilient
We should not expect a certain `components` value, but rather any
integer.
2017-01-04 00:51:35 +01:00
Anatol Belski 6e93c1849e make possible to pass also an arbitrary fragment file 2017-01-03 22:10:24 +01:00
Stanislav Malyshev 5fbf3be13b Re-add var_unserializer.c 2017-01-03 09:44:31 -08:00
Anatol Belski 76654152ee fix var name 2017-01-03 17:59:56 +01:00
Anatol Belski 595453ac91 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix PDO tests to match SQL standard syntax and pass Firebird tests.
2017-01-03 17:56:22 +01:00
Anatol Belski defd45adc2 implement makefile fragment support for nmake 2017-01-03 17:48:44 +01:00
Christoph M. Becker a055ab76c7 Fix failing test
Due to commit 17408238 the tested TIFF file produces an additional
warning.
2017-01-03 16:40:41 +01:00
Sammy Kaye Powers 4f70d93d3c Update copyright header for new file 2017-01-03 08:02:12 -06:00
Sammy Kaye Powers 1e3624290a Resolve conflict 2017-01-03 08:01:05 -06:00
Anatol Belski f0031ed151 Merge branch 'PHP-7.1'
* PHP-7.1:
  better skip on files
2017-01-03 13:28:31 +01:00
Nikita Popov 08b68b9781 Merge branch 'PHP-7.1' 2017-01-03 12:19:08 +01:00
Joe Watkins 7267d00677 Merge branch 'pull-request/1905'
* pull-request/1905:
   pack()/unpack() for Big Endian float/double and Little Endian float/double
2017-01-03 10:48:42 +00:00
sskaje 4935f795e8 Merge branch 'master' into master 2017-01-03 18:42:27 +08:00
Joe Watkins 0788f3ed3c Merge branch 'pull-request/2163'
* pull-request/2163:
  import explicit_bzero + strlc* functions update since 1999 algorithms have changed and register k/w not necessary anymore.
2017-01-03 06:48:40 +00:00
Rasmus Lerdorf 6b985c71d4 Fix opcache test dependencies 2017-01-02 22:20:08 -08:00
Stanislav Malyshev f909b2564c Merge branch 'PHP-7.1'
* PHP-7.1:
  Use correct string release function
2017-01-02 22:09:08 -08:00
Stanislav Malyshev 84544cd330 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix error reporting
2017-01-02 22:04:10 -08:00
Stanislav Malyshev 13c18d4601 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #73832 - leave the table in a safe state if the size is too big.
  Fix bug #73831 - NULL Pointer Dereference while unserialize php object
2017-01-02 21:37:10 -08:00
Stanislav Malyshev 0de25147d3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73737 FPE when parsing a tag format
  Fix bug #73773 - Seg fault when loading hostile phar
  Fix bug #73825 - Heap out of bounds read on unserialize in finish_nested_data()
  Fix bug #73768 - Memory corruption when loading hostile phar
  Fix int overflows in phar (bug #73764)
2017-01-02 21:26:20 -08:00
Anatol Belski 348ae883b2 Merge branch 'PHP-7.1'
* PHP-7.1:
  set exclude AppVeyor branches and ignore builds on NEWS updates
2017-01-03 02:27:04 +01:00
Nikita Popov 009486ba20 Merge branch 'PHP-7.1' 2017-01-03 02:18:13 +01:00
Nikita Popov 5ebde976d7 Merge branch 'PHP-7.1' 2017-01-03 02:13:16 +01:00
Anatol Belski 7e82877af7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Disable pdb generation for AppVeyor
2017-01-03 01:14:31 +01:00
Nikita Popov dbed4698e2 Merge branch 'PHP-7.1' 2017-01-02 23:47:51 +01:00
Nikita Popov 47669aa784 Merge branch 'PHP-7.1' 2017-01-02 23:44:07 +01:00
Mitch Hagstrand fa1f98f2a3 Fix for nowait.phpt failing intermittently
The parent process was releasing the child semaphore
after the child process continued execution. Now
the child semaphore is released before the child
process continues execution.
2017-01-02 16:46:19 +00:00
Sammy Kaye Powers 9e29f841ce Update copyright headers to 2017 2017-01-02 09:30:12 -06:00
Joe Watkins dfb6cdb617 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix for sporadic segfault with MYSQLI_OPT_INT_AND_FLOAT_NATIVE
  news entry for PR #2249
2017-01-02 14:58:19 +00:00
Joe Watkins a5b49fdcb0 news entry for PR #2267 2017-01-02 11:59:54 +00:00
Joe Watkins 6a1d3c948b Merge branch 'PHP-7.1'
* PHP-7.1:
  news entry for PR #2267
  Fixed #67474 (getElementsByTagNameNS and default namespace)
  Add (failing) testcase for bug #67474
2017-01-02 11:59:15 +00:00
Joe Watkins f8b291d288 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Switch reflection to use smart_str
  Add smart_str_append_printf
  Make printf_to_smart_str(ing) the primitive printf operation
  Export zend_s(tr)pprintf
  Sync smart_string implementation with smart_str
  Move smart_string to Zend
  Fixed bug #73154
  Flush stderr on win32 in cli_log_message
  Fixed bug #73154
2017-01-02 09:42:03 +00:00
Joe Watkins 8c5647eef1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix nowait.phpt to no longer depend on sleeping
2017-01-02 09:41:00 +00:00
Nikita Popov f3f594a47d Switch reflection to use smart_str
Instead of yet-another-smart-string-implementation.

Expand the smart_str API by:
 * smart_str_extract() which gets a finalized zend_string* from a
   smart_str, including insertion of the zero byte and handling of
   the empty string case. This should be preferred over using
   smart_str_0() in conjunction with str.s.
 * smart_str_get_len() which gets the length of the smart_str with
   handling of the empty string case.
2017-01-01 21:28:21 +01:00
Nikita Popov 384e959a3a Add smart_str_append_printf 2017-01-01 21:28:21 +01:00
Nikita Popov 5fc9aa9a95 Make printf_to_smart_str(ing) the primitive printf operation
vs(tr)pprintf is now implemented in Zend on top of
printf_to_smart_str(int), which is provided as a utility function.

This allows us to efficiently printf to the end of a smart string.
2017-01-01 21:28:20 +01:00
Nikita Popov c7742e280a Export zend_s(tr)pprintf
It's annoying that in Zend you have to use zend_strpprintf instead
of strpprintf, while in PHP you have to use strpprintf instead of
zend_strpprintf.

Make zend_s(tr)pprintf always available and keep s(tr)pprintf as
macro aliases.
2017-01-01 21:28:20 +01:00
Nikita Popov 38f72cea1b Sync smart_string implementation with smart_str
Switch to using inline functions instead of macros, etc.
2017-01-01 21:28:20 +01:00
Nikita Popov abb91ee9ea Move smart_string to Zend
smart_str is already in Zend.
2017-01-01 21:28:20 +01:00
Nikita Popov 52da05c535 Merge branch 'PHP-7.1' 2017-01-01 21:17:00 +01:00
Nikita Popov be4ce98bdc Fixed bug #73154
The object that is being serialized may be destroyed during the
execution of __sleep(), so operate on a copy instead.
2017-01-01 21:11:01 +01:00
Joe Watkins 1d6f9345bc fix test 2017-01-01 16:17:03 +00:00
Joe Watkins 0a6d7e66a0 news entry for PR #2117 2017-01-01 15:48:38 +00:00
Joe Watkins 5a15c9470c Merge branch 'pull-request/2117'
* pull-request/2117:
  Allow to configure php-fpm slow log trace callers limit
2017-01-01 15:47:36 +00:00
Joe Watkins b771790429 add news entry for PR #1414 2017-01-01 14:42:33 +00:00
Joe Watkins 8d316e6a3e Merge branch 'PHP-7.1'
* Add subject to mail.log
2017-01-01 14:40:20 +00:00
Nikita Popov 489d5ac2fc Merge branch 'PHP-7.1' 2017-01-01 14:14:00 +01:00
Nikita Popov bf3ce4db94 Merge branch 'PHP-7.1' 2017-01-01 12:20:52 +01:00
Nikita Popov 1283ea4665 Merge branch 'PHP-7.1' 2017-01-01 12:17:01 +01:00
Joe Watkins 4363c96b14 Revert "add news entry for PR #2263"
This reverts commit a9aefe5b9b.
2017-01-01 06:53:44 +00:00
Joe Watkins f2eeb47797 Revert "Merge branch 'PHP-7.1'"
This reverts commit 7eac2fdf53, reversing
changes made to 15b80f105c.
2017-01-01 06:53:29 +00:00
Joe Watkins a9aefe5b9b add news entry for PR #2263 2017-01-01 06:50:37 +00:00
Joe Watkins 7eac2fdf53 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix dom class can't be inherited by the internal class
2017-01-01 06:48:24 +00:00
Joe Watkins 15b80f105c Merge branch 'pull-request/2261'
* pull-request/2261:
  Add PHPAPI php_session_flush and php_session_destroy
2017-01-01 06:44:14 +00:00
dreamszhu e10425fe8b Add PHPAPI php_session_flush and php_session_destroy 2017-01-01 07:30:22 +08:00
Sara Golemon 61a43195f5 Use new param API in pdo_sqlite 2016-12-31 09:01:20 -08:00
Sara Golemon 8bbfe174a8 Use new param API in tokenizer 2016-12-31 09:01:20 -08:00
Sara Golemon bf422c56ab Use new param API in PDO 2016-12-31 09:01:15 -08:00
Sara Golemon a470a8c0a0 Use new param API in libxml 2016-12-31 08:38:14 -08:00
Sara Golemon 6007eb7584 Use new param API in json 2016-12-31 08:35:07 -08:00
Joe Watkins ae1ecf1173 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fix bug #73847
2016-12-31 13:55:17 +00:00
Joe Watkins 890ae17fb0 Merge branch 'pull-request/2260'
* pull-request/2260:
  Add PHPAPI for session class entry and related entries
2016-12-31 13:54:54 +00:00
Nikita Popov b767370496 Merge branch 'PHP-7.1' 2016-12-31 13:34:09 +01:00
dreamszhu f7f32ba422 Add PHPAPI for session class entry 2016-12-31 18:03:58 +08:00
Joe Watkins e95afee191 Merge branch 'pull-request/2264'
* pull-request/2264:
  Fix header_remove function, the name parameter is optional
2016-12-31 08:35:50 +00:00
Mitch Hagstrand 32ab889ea4 Fix header_remove function, the name parameter is optional 2016-12-30 19:13:46 -08:00
Sara Golemon 07959c1cae Use new param API in standard 2016-12-30 18:28:54 -08:00
Sara Golemon 2ea5b64d9a Use new param API in standard/file 2016-12-30 18:07:35 -08:00
Sara Golemon a23f08a33c Use new param API in standard 2016-12-30 17:28:55 -08:00
Sara Golemon 331dcf08df Use new param API in standard/string 2016-12-30 16:40:45 -08:00
Sara Golemon 5c919ee30b Use new param API in standard/basic_functions 2016-12-30 16:13:14 -08:00
Sara Golemon b71b12843c Use new param API in standard 2016-12-30 13:36:51 -08:00
Sara Golemon 625304fa76 Use new param API in standard 2016-12-30 13:17:52 -08:00
Sara Golemon c714152e58 Use new param API in standard/math 2016-12-30 13:02:59 -08:00
Sara Golemon 6f3945a9f1 Use new param API in standard 2016-12-30 12:56:21 -08:00
Adam Harvey c9a42b58a7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Document the changes to lexical scoping in 7.1.
2016-12-30 11:42:12 -08:00
Sara Golemon 1b0edb3c6c Use new param API in standard/array 2016-12-30 10:35:45 -08:00
Sara Golemon 54c13295a6 Use new param API in standard 2016-12-30 09:12:17 -08:00
Christoph M. Becker c5cc583473 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update UPGRADING wrt. bug #72785
2016-12-30 14:18:31 +01:00
Sara Golemon 523afbf63f Use new param API in standard/streamsfuncs 2016-12-29 21:28:38 -08:00
Sara Golemon 85e88d1d6e Use new params API for throwable constructors in date 2016-12-29 18:26:27 -08:00
Sara Golemon 52db03b3e5 Support ZEND_PARSE_PARAMS_THROW in new ZPP API 2016-12-29 18:26:19 -08:00
Nikita Popov 78132cc424 Merge branch 'PHP-7.1' 2016-12-29 22:07:03 +01:00
Nikita Popov d719ac929e Merge branch 'PHP-7.1' 2016-12-29 21:41:28 +01:00
Nikita Popov 270f1ffd19 Merge branch 'PHP-7.1' 2016-12-29 21:18:58 +01:00
Nikita Popov 30029d137f Merge branch 'PHP-7.1' 2016-12-29 21:00:34 +01:00
Christoph M. Becker 60b4e312ae Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Fix #73530: Unsetting result set may reset other result set"
2016-12-29 13:58:14 +01:00
Xinchen Hui 40727d7ce9 Merge branch 'PHP-7.1'
* PHP-7.1:
  define php_ap_map_http_request_error function for older httpd only
  add old versions of httpd support
  typo fixed
  bug fixed #61471 in apache2handler
2016-12-29 15:56:38 +08:00
Sara Golemon e2a159fe01 Use new param API in posix 2016-12-28 11:48:36 -08:00
Sara Golemon 0951d7d75a Use new param API in date
Left the zend_parse_parameters_throw() uses along because
throwing isn't currently supported by the new API.
Also left the complex parsing in DatePeriod::__construct alone
because the macros don't really stack all that well.
2016-12-28 10:04:35 -08:00
Sara Golemon 0e4c675736 Use new param API in ctype 2016-12-28 09:11:53 -08:00
Sara Golemon 994170ea80 Migrate curl to new parameters API
Plus a handful of char*->zend_string* conversions
2016-12-28 09:06:41 -08:00
Sara Golemon fbec1a7b10 Convert bcmath to new parameter parsing API 2016-12-27 23:49:48 -08:00
Sara Golemon b1300e4933 Use zend_string in bcmath params 2016-12-27 23:35:38 -08:00
Sara Golemon 77becd0865 Correct function protos in intl/idn 2016-12-27 22:52:26 -08:00
Sara Golemon 3e4b74dc9f Use zend_string in intl/idn 2016-12-27 22:47:16 -08:00
Sara Golemon 23b484cfe1 Simplify error path in intl/idn 2016-12-27 22:37:29 -08:00
Anatol Belski f8aa57ab2f fix uninitialized value 2016-12-27 23:43:49 +01:00
Nikita Popov 1c85bef46b Merge branch 'PHP-7.1' 2016-12-27 22:22:14 +01:00
Graham Campbell 22f3695fe1 Fixed typo in "session_module_name" 2016-12-27 22:01:19 +01:00
Nikita Popov 1bf67622f8 Merge branch 'PHP-7.1' 2016-12-27 21:52:56 +01:00
Anatol Belski 0d31433111 fork tests 2016-12-26 21:38:27 +01:00
dedal.qq d9c4b49c8a New parsing parameters in curl 2016-12-26 11:03:25 -08:00
Barbu Paul - Gheorghe e52d2b88e4 Reduce redundant storage of required number of parameters to required flag
The required field, until now, stored how many required parameters
the function, it belongs to, has. I think this is rather problematic
because it's a feature of the function to know how many required
parameters it has, not of the parameter itself. The parameter should
only say if it's required or optional (among other unrelated things).

Also storing the function's number of required parameters in every
parameter was redundant since the _zend_function structure already
has that information. And storing the same value (number of required
parameters) across multiple variables is inefficient and could lead
to inconsistencies.
2016-12-26 10:39:19 -08:00
Sara Golemon 0aaea39740 Merge branch 'PHP-7.1'
* PHP-7.1:
  Interpretation of curl_setopt values for boolean parameters
2016-12-25 22:33:11 -08:00
Sara Golemon 16758a3c66 Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove extraneous parentheses in conditions
2016-12-25 22:18:27 -08:00
Sara Golemon 533737b4aa Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixes #65689. PDO_Firebrid / exec() does not free allocated statement.
2016-12-25 22:07:29 -08:00
Yasuo Ohgaki daa270b9da Fix tests for appveyor 2016-12-24 08:50:38 +09:00
Bob Weinand 1f474fddbb Merge branch 'PHP-7.1'
Also inline alpn_ctx in openssl_netstream_data (no need for the extra allocation there)
2016-12-22 23:40:24 +01:00
Bob Weinand 712c532ab9 Merge branch 'PHP-7.1' 2016-12-22 15:31:58 +01:00
Anatol Belski 758af77e9d Path handling related refactorings
Primarily related to the path handling datatypes, to avoid unnecessary
casts, where possible. Also some rework to avoid code dup. Probably
more places are to go, even not path related, primarily to have less
casts and unsigned integers where possible. That way, we've not only
less warnings and casts, but are also safer with regard to the
integer overflows. OFC it's not a panacea, but still significantly
reduces the vulnerability potential.
2016-12-22 14:56:47 +01:00
Anatol Belski afb6ca2566 Finish remaining replacement uint => uint32_t
Tthe core should be normalized now, no uints anymore
2016-12-22 14:32:02 +01:00
Nikita Popov ce97ead399 Merge branch 'PHP-7.1' 2016-12-22 12:47:50 +01:00
Anatol Belski d5a3838c65 fix min supported versions 2016-12-22 12:40:58 +01:00
Yasuo Ohgaki 4899109e7b Update NEWS 2016-12-22 16:04:28 +09:00
Yasuo Ohgaki a93a51c3bf Fix bug #73100 - Improve bug fix. Forbid to set 'user' save handler other than set_save_handler(). 2016-12-22 16:04:28 +09:00
Kalle Sommer Nielsen d4831e2d0a Eliminate win95nt.h
- Most of this is builtin php.h now
- Removed some dead defines
- We now pass /D _USE_MATH_DEFINES for M_PI etc
2016-12-22 06:51:18 +01:00
Kalle Sommer Nielsen a569d003e2 Hmm actually it seems to be the other way around, Anatol? 2016-12-22 05:53:13 +01:00
Kalle Sommer Nielsen f0f3cb6ab5 Merge branch 'master' of git.php.net:php-src 2016-12-22 05:47:00 +01:00
Kalle Sommer Nielsen 34283026da Sync the default value of --with-odbcver with the hardcoded default for ODBCVER 2016-12-22 05:46:12 +01:00
Anatol Belski 837cce3b0b move the defs to the right place 2016-12-22 02:17:55 +01:00
Bob Weinand 5d7ce72747 Merge branch 'PHP-7.1' 2016-12-22 00:42:05 +01:00
Nikita Popov 3df43437fe Merge branch 'PHP-7.1' 2016-12-21 22:12:17 +01:00
Nikita Popov 114b526649 Merge branch 'PHP-7.1' 2016-12-21 21:28:36 +01:00
Nikita Popov a1fd1053f5 Merge branch 'PHP-7.1' 2016-12-21 21:19:28 +01:00
Nikita Popov 509f26c4bb Drop some dead code in ext/reflection 2016-12-21 21:19:19 +01:00
Anatol Belski ce0669c892 Merge branch 'PHP-7.1'
* PHP-7.1:
  add folds
  fix possible null dereference
2016-12-21 18:00:45 +01:00
Anatol Belski 5e6faf2306 add UPGRADING and NEWS items 2016-12-21 16:10:38 +01:00
Anatol Belski 5e2ed8c809 Raise the supported API to win7/server 2008r2 2016-12-21 15:59:45 +01:00
Xinchen Hui b6553d422d Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Reorder the oplines" (Break Zend/tests/return_types/bug71092.phpt)
2016-12-21 14:27:13 +08:00
Bob Weinand 942d4d5614 Merge branch 'PHP-7.1' 2016-12-21 02:43:04 +01:00
Yasuo Ohgaki 7774fd1916 Update NEWS and UPGRADING 2016-12-21 08:16:38 +09:00
Yasuo Ohgaki c3982d055c Merge branch 'pull-request/2233'
* pull-request/2233:
  Remove "register_globals" support codes from php/php_binary serializers. As a result, users may use PS_UNDEF_MAKER(=!) char for session variable name.
2016-12-21 08:07:49 +09:00
Yasuo Ohgaki bf5c502e3d Remove "register_globals" support codes from php/php_binary serializers.
As a result, users may use PS_UNDEF_MAKER(=!) char for session variable name.
2016-12-21 08:07:14 +09:00
Bob Weinand c3ee875aec Merge branch 'PHP-7.1' 2016-12-20 20:18:53 +01:00
Bob Weinand e4db84f231 Merge branch 'PHP-7.1' 2016-12-20 19:49:25 +01:00
Adam Baratz d58231dda3 Add "Sent SQL" to debug dump for emulated prepares 2016-12-20 11:07:04 -05:00
Adam Baratz 6c692313af Remove PDOStatement::activeQueryString() 2016-12-20 11:06:38 -05:00
Dmitry Stogov 9251d4c056 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
2016-12-20 16:54:53 +03:00
Dmitry Stogov 088dd88eeb Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73792 (invalid foreach loop hangs script)
  Fixed bug #73789 (Strange behavior of class constants in switch/case block)
2016-12-20 16:54:28 +03:00
Xinchen Hui 0bad73f512 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73789 (Strange behavior of class constants in switch/case block)
2016-12-20 21:01:38 +08:00
Anatol Belski 747b18ff5c Merge branch 'PHP-7.1'
* PHP-7.1:
  deliver the real cp also if a constant is passed
2016-12-20 02:44:40 +01:00
Dmitry Stogov fb73c1084c Few micro-optimizations 2016-12-19 15:36:37 +03:00
Dmitry Stogov 72616c5ede Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed arginfo
2016-12-19 11:13:21 +03:00
Anatol Belski 057ab8da76 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  Compatibility with Firebird & Oracle select syntax.
2016-12-19 01:10:58 +01:00
Anatol Belski c8038d0611 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix proto
2016-12-19 00:53:17 +01:00
Anatol Belski 781632ba24 Merge branch 'PHP-7.1'
* PHP-7.1:
  Cursor is not opened on singleton selects.
  fix arg spec and datatype, follow up on 73594
2016-12-18 21:56:56 +01:00
Anatol Belski 4015768718 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73594
2016-12-18 20:54:27 +01:00
Nikita Popov ca682952e7 Merge branch 'PHP-7.1' 2016-12-18 17:11:01 +01:00
Nikita Popov 5c22579faf Merge branch 'PHP-7.1' 2016-12-18 14:58:49 +01:00
Anatol Belski 6704edb125 Merge branch 'PHP-7.1'
* PHP-7.1:
  extend UPGRADING
  update NEWS
2016-12-18 01:11:28 +01:00
Anatol Belski 8b7fe6cb8a Merge branch 'PHP-7.1'
* PHP-7.1:
  fix C89 compat
2016-12-17 20:47:05 +01:00
Anatol Belski e6ae0e2b41 Merge branch 'PHP-7.1'
* PHP-7.1:
  replace default appveyor build version
2016-12-17 13:15:32 +01:00
Xinchen Hui adf0256c4a Merge branch 'PHP-7.1'
* PHP-7.1:
  Reorder the oplines
2016-12-17 20:09:49 +08:00
Anatol Belski 2c313aea6f Merge branch 'PHP-7.1'
* PHP-7.1:
  add Appveyor fast_fail
  improve error check
2016-12-17 11:27:51 +01:00
Anatol Belski 8a3d5e5899 Merge branch 'PHP-7.1'
* PHP-7.1:
  turn mcrypt back on for Appveyor runs
  add build status badge
  add scripts for AppVeyor integration
  Silence warning from unhandled enum
  fix leaking streams and memory mapped files
2016-12-17 00:16:01 +01:00
Anatol Belski 5d7eb0a7a2 Merge branch 'PHP-7.1'
* PHP-7.1:
  turn mcrypt back on for Appveyor runs
  add build status badge
  add scripts for AppVeyor integration
  Silence warning from unhandled enum
  fix leaking streams and memory mapped files
2016-12-16 23:01:48 +01:00
Nikita Popov edf3cde0d3 Merge branch 'PHP-7.1' 2016-12-16 20:56:09 +01:00
Anatol Belski 376b73d1d6 Merge branch 'PHP-7.1'
* PHP-7.1:
  chance CLI codepage, only when SAPI is initialized
2016-12-16 17:10:36 +01:00
Anatol Belski 3a886c9d20 add build status badge 2016-12-16 11:53:41 +01:00
Anatol Belski c737d6fb49 add scripts for AppVeyor integration 2016-12-16 11:48:08 +01:00
Xinchen Hui 10b037bc33 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add an assertion
2016-12-16 11:09:35 +08:00
Xinchen Hui 8612ac2000 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73746 (Method that returns string returns UNKNOWN:0 instead)
2016-12-16 11:06:50 +08:00
Anatol Belski 5a0e0e2d8c Merge branch 'PHP-7.1'
* PHP-7.1:
  make timing check more forgiving in these tests
2016-12-15 12:33:13 +01:00
Matteo Beccati d060060c08 Merge branch 'PHP-7.1'
* PHP-7.1:
  Skip tests when secure_file_priv dir not writable
  Add missing UPGRADING entry. Manual is updated before 7.0 release.
2016-12-15 09:32:26 +01:00
Anatol Belski e1ef67625a Merge branch 'PHP-7.1'
* PHP-7.1:
  extend skip section
2016-12-14 19:57:44 +01:00
Nikita Popov ef1ed6ab8e Merge branch 'PHP-7.1' 2016-12-14 18:11:51 +01:00
Nikita Popov 61e7e7c5bd Merge branch 'PHP-7.1' 2016-12-14 17:57:21 +01:00
Anatol Belski c76bd41c77 Merge branch 'PHP-7.1'
* PHP-7.1:
  cleanup temporary data
2016-12-14 12:36:50 +01:00
Anatol Belski 9bcd2bcc21 Merge branch 'PHP-7.1'
* PHP-7.1:
  Care about intput and output encoding, as per default encoding RFC
2016-12-14 03:12:46 +01:00
Nikita Popov 32c38cf7a3 Merge branch 'PHP-7.1' 2016-12-13 17:57:37 +01:00
Anatol Belski bd7fafb642 fix typo 2016-12-13 13:39:07 +01:00
Anatol Belski 12c51c2f9a check for header availability 2016-12-13 13:22:09 +01:00
Anatol Belski 6648c4ca18 fix test portability
Since there's no fatal error anymore, the execution continues. However,
removing the CWD is not always possible.
2016-12-13 13:19:45 +01:00
Leigh 1da589eeae Update NEWS/UPGRADING for mcrypt 2016-12-13 10:11:14 +00:00
Sara Golemon 1a8df11364 Include strings.h for strncasecmp 2016-12-12 23:26:04 -08:00
Sara Golemon 57bbe2c140 Silence warning from unhandled enum 2016-12-12 23:25:57 -08:00
Sara Golemon 613ee726a8 Include unistd.h for getpid() 2016-12-12 23:25:49 -08:00
Sara Golemon 448a5b38e6 Compilation warning fix
u_strFromUTF8() argument dst_len should be int32_t, not uint32_t
2016-12-12 23:25:40 -08:00
Andrey Hristov 675fc9e04e Merge branch 'PHP-7.1' 2016-12-12 22:00:30 +02:00
Andrey Hristov 0745cc8a98 Merge branch 'PHP-7.1' 2016-12-12 21:53:05 +02:00
Andrey Hristov ddb2febe90 Merge branch 'PHP-7.1' 2016-12-12 21:29:12 +02:00
Andrey Hristov 5d319269f6 Merge branch 'PHP-7.1' 2016-12-12 21:17:25 +02:00
Leigh 5a17f632d4 Merge PR #2154 - Remove ext/mcrypt 2016-12-12 16:17:45 +00:00
Remi Collet 4c6ea7d464 Minor fix macro value
[] results in /**/ which can break some test
e.g. https://github.com/m6w6/ext-http/commit/d9ba7726f77858e626d67d758a87c9caa6f38d2b
2016-12-12 16:27:37 +01:00
Remi Collet ec147b8332 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src: (165 commits)
  Add missing NEWS entry
  Increased number of reserved resources (from 4 to 6)
  Fixed compilation error
  Improved VM stack unwinding on exception. Now zend_throw_exception_hook() is going to be called only when exception is actually thrown and not going to be recalled for each unwinded finction.
  better way to get ACP
  adapt patch for 7.1
  fix datatype for zpp, yet a followup on bug #73679
  Update to SQLite 3.15.2
  update NEWS
  update NEWS
  improve fix for bug #73679 with new capabilities available
  Fixed bug #73679 DOTNET read access violation using invalid codepage
  Fix T_NUM_STRING negation
  fix leaking streams and memory mapped files
  extend errno mapping
  Fixed tests
  Update NEWS
  Fix the bug in ZEND_ASSIGN_DIM (as nikic suggest)
  Revert "Refix bug #73686"
  Refix bug #73686
  ...
2016-12-12 16:26:48 +01:00
Leigh ff8fbf41c1 Merge branch 'master' into remove-mcrypt 2016-12-12 12:23:50 +00:00
Christoph M. Becker 505d0b0966 Add missing NEWS entry 2016-12-12 12:31:09 +01:00
Dmitry Stogov 6689704403 Increased number of reserved resources (from 4 to 6) 2016-12-12 11:51:12 +03:00
Dmitry Stogov 2d52d78741 Fixed compilation error 2016-12-12 11:19:04 +03:00
Dmitry Stogov fac95658b3 Improved VM stack unwinding on exception.
Now zend_throw_exception_hook() is going to be called only when exception is actually thrown and not going to be recalled for each unwinded finction.
2016-12-12 10:55:32 +03:00
Anatol Belski 32201fe5ad Merge branch 'PHP-7.1'
* PHP-7.1:
  better way to get ACP
2016-12-12 01:57:31 +01:00
Anatol Belski d0dc6ffda5 Merge branch 'PHP-7.1'
* PHP-7.1:
  adapt patch for 7.1
2016-12-12 01:51:17 +01:00
Anatol Belski b68cca260b Merge branch 'PHP-7.1'
* PHP-7.1:
  fix datatype for zpp, yet a followup on bug #73679
2016-12-12 01:29:59 +01:00
Christoph M. Becker cf8e258531 Update to SQLite 3.15.2 2016-12-11 19:56:40 +01:00
Anatol Belski 47b99714e9 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-12-11 17:40:54 +01:00
Anatol Belski e1c062112a Merge branch 'PHP-7.1'
* PHP-7.1:
  improve fix for bug #73679 with new capabilities available
2016-12-11 17:27:11 +01:00
Anatol Belski 43be5aeaed Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73679 DOTNET read access violation using invalid codepage
2016-12-11 17:09:04 +01:00
Nikita Popov fe98ff94bb Merge branch 'PHP-7.1' 2016-12-11 13:34:28 +01:00
Anatol Belski f1ff23095b fix leaking streams and memory mapped files 2016-12-11 02:52:02 +01:00
Anatol Belski 459e9f1b63 Merge branch 'PHP-7.1'
* PHP-7.1:
  extend errno mapping
2016-12-10 11:18:34 +01:00
Xinchen Hui 89fdebfc51 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed tests
2016-12-10 16:43:38 +08:00
Xinchen Hui 2dd3dc0fb3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
2016-12-09 22:39:51 +08:00
Xinchen Hui 7695fba388 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix the bug in ZEND_ASSIGN_DIM (as nikic suggest)
  Revert "Refix bug #73686"
2016-12-09 22:30:41 +08:00
Xinchen Hui 95f41f21e1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Refix bug #73686
2016-12-09 16:43:45 +08:00
Xinchen Hui bc6b17148b Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73646 (mb_ereg_search_init null pointer dereference)
2016-12-09 15:56:41 +08:00
Xinchen Hui 97bed9b932 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73686 (Adding settype()ed values to ArrayObject results in references)
2016-12-09 11:42:11 +08:00
Anatol Belski 4fc394464c Merge branch 'PHP-7.1'
* PHP-7.1:
  fix uninitialized member
2016-12-08 17:18:06 +01:00
Xinchen Hui 9f1e456d5a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed possible false assertion failure
2016-12-08 22:05:17 +08:00
Dmitry Stogov a3526cd9b7 Regenerated zend_vm_execute.h (fixed white spaces) 2016-12-08 13:37:57 +03:00
Ferenc Kovacs 618d912f80 Merge branch 'PHP-7.1' 2016-12-08 07:12:07 +01:00
Kalle Sommer Nielsen cf24a61735 Disable C4101 warnings entirely on Windows 2016-12-08 03:50:31 +01:00
Anatol Belski aea2035600 Merge branch 'PHP-7.1'
* PHP-7.1:
  git clean section
2016-12-08 03:25:40 +01:00
Nikita Popov 683a0a0f6e Merge branch 'PHP-7.1' 2016-12-07 23:15:02 +01:00
Adam Baratz d98da850c4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove noop param hook
  Clean up tabs and whitespace
2016-12-07 17:10:36 -05:00
Anatol Belski 76fe66c8dd Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-12-07 21:24:56 +01:00
Anatol Belski 7da5720834 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72931 PDO_FIREBIRD with Firebird 3.0 not work on returning statement
2016-12-07 21:18:42 +01:00
Johannes Schlüter 972776cb3d Merge branch 'PHP-7.1' 2016-12-07 17:50:40 +01:00
Anatol Belski ffb1773bcb Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test compat with MySQL 5.7
2016-12-07 16:05:43 +01:00
Christoph M. Becker ced66cd6ca Merge branch 'PHP-7.1' 2016-12-07 13:50:11 +01:00
Dmitry Stogov 000d4a1a1b Merge branch 'PHP-7.1'
* PHP-7.1:
  Check if PHP is in execution state.
2016-12-07 15:13:00 +03:00
Dmitry Stogov c2bc94f5a5 Fixed memory leaks caused by exceptions thrown from destructors (fixed test). 2016-12-07 14:20:43 +03:00
Yasuo Ohgaki db3040708a Remove "register_globals" support codes from php/php_binary serializers. As a result, users may use PS_UNDEF_MAKER(=!) char for session variable name. 2016-12-07 18:42:27 +09:00
Dmitry Stogov 5011a11a6d Fixed memory leaks caused by exceptions thrown from destructors (one more case). 2016-12-07 01:43:13 +03:00
Dmitry Stogov e8109e09aa Fixed memory leaks caused by exceptions thrown from destructors. 2016-12-07 00:41:07 +03:00
Nikita Popov 6c614cb14c Merge branch 'PHP-7.1' 2016-12-06 22:26:36 +01:00
Nikita Popov 89f8a34483 Merge branch 'PHP-7.1' 2016-12-06 22:12:01 +01:00
Anatol Belski ecb718eb7e Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-12-06 20:27:54 +01:00
Bob Weinand b149001ffd Merge branch 'PHP-7.1' 2016-12-06 18:30:50 +01:00
Anatol Belski c42f603195 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak, take 2
2016-12-06 16:20:14 +01:00
Anatol Belski 8c403ecd99 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak, take on 7.x
2016-12-06 14:46:15 +01:00
Anatol Belski b9a138dbc8 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak, take on 5.6
2016-12-06 14:39:00 +01:00
Xinchen Hui 1113d589dc Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #73663 ("Invalid opcode 65/16/8" occurs with a variable created with list())
2016-12-06 17:33:27 +08:00
Dmitry Stogov b4ad6d6d1b COALESCE can't throw exception 2016-12-06 10:21:44 +03:00
Dmitry Stogov a722970033 Merge branch 'PHP-7.1'
* PHP-7.1:
  Micro optimizations
2016-12-06 10:01:38 +03:00
Stanislav Malyshev fe084168d0 Merge branch 'PHP-7.1'
* PHP-7.1:
  This still leaks memory, I don't have enough knowledge in WDDX code to fix them :(
2016-12-05 22:33:47 -08:00
Stanislav Malyshev 65a0c3ee36 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73645 - int/size_t confusion
2016-12-05 22:16:48 -08:00
Stanislav Malyshev 5b18436dc6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73631 - Invalid read when wddx decodes empty boolean element
2016-12-05 21:59:17 -08:00
Nikita Popov 795cd6d3a7 Merge branch 'PHP-7.1' 2016-12-05 20:41:21 +01:00
Dmitry Stogov 7d86ed1852 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed behavior of failing compound assignments (they shouldn't change the source value when exception thrown during type converion).
2016-12-05 21:50:06 +03:00
Bob Weinand 444d612b62 Use an inline handler instead of repeating logic for calling assign op helpers each time 2016-12-05 10:55:11 +01:00
Anatol Belski 35cfec1f9f Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2016-12-04 22:46:23 +01:00
Anatol Belski 4fe117589c Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2016-12-04 22:29:33 +01:00
Anatol Belski 89c61768f7 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix ident
2016-12-04 21:00:34 +01:00
Anatol Belski cefa9e6743 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2016-12-04 17:30:03 +01:00
Anatol Belski e72f6f0b65 Merge branch 'PHP-7.1'
* PHP-7.1:
  enforce the test ini usage for the child process
  Fix session upgrade documentation
2016-12-04 14:03:17 +01:00
Bob Weinand a6923f7b1f Merge branch 'PHP-7.1' 2016-12-03 23:44:44 +01:00
Anatol Belski e3ce4dc098 add pragma 2016-12-03 20:05:49 +01:00
Anatol Belski d109642656 suffix CS 2016-12-03 20:05:49 +01:00
Bob Weinand f74890bcf5 Merge branch 'PHP-7.1' 2016-12-03 18:29:11 +01:00
Anatol Belski c5af4b2585 Improve multiplication on x64.
Thanks Bob for the spot.
2016-12-03 15:50:21 +01:00
Christoph M. Becker 143ee76fe4 Merge branch 'PHP-7.1' 2016-12-03 14:20:00 +01:00
Yasuo Ohgaki e837bc24ed Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix typo in php.ini-* comment
2016-12-03 14:23:35 +09:00
Nikita Popov 5e05b9b726 Merge branch 'PHP-7.1' 2016-12-02 17:04:20 +01:00
Bob Weinand 1635fe659c Merge branch 'PHP-7.1' 2016-12-02 15:42:31 +01:00
Dmitry Stogov 56fd01e230 Eliminated useless exception check 2016-12-02 16:04:18 +03:00
Dmitry Stogov 3e31ba8014 Eliminated useless exception checks (FE_RESET with array argument can't throw exception) 2016-12-02 15:58:47 +03:00
Dmitry Stogov 1660117799 Merge branch 'PHP-7.1'
* PHP-7.1:
  Eliminated useless exception check
2016-12-02 15:40:11 +03:00
Dmitry Stogov e319504517 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed behavior of failing compound assignments (they shouldn't change the source value when exception thrown during type converion).
2016-12-02 15:14:48 +03:00
Dmitry Stogov 0314958a43 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed behavior of failing compound assignments (they shouldn't change the source value).
2016-12-02 14:00:50 +03:00
Davey Shafik 1d3ff95d84 Merge branch 'PHP-7.1'
* PHP-7.1:
  Bump versions and NEWS for 7.1.1-dev
2016-12-02 02:31:31 -08:00
Dmitry Stogov 0ce5f99caf Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed possible memory leak in &=, |=, ^=.
2016-12-02 12:36:02 +03:00
Dmitry Stogov 22cebaf89a Revert "Fix return value memory leaks upon exceptions in opcode operand freeing"
This reverts commit 9ad9d7ae37.
2016-12-02 11:58:41 +03:00
Dmitry Stogov 9c1920d9e8 Revert "Fix memory leaks with FE_RESET upon empty iterator"
This reverts commit 00e516e575.
2016-12-02 11:58:36 +03:00
Dmitry Stogov 9774e32dbb Revert "Fix accidental zval_ptr_dtor()ing of object"
This reverts commit ae2f68d8a5.
2016-12-02 11:58:33 +03:00
Dmitry Stogov 8fa691ea8a Revert "Fix a few valgrind warnings with undefing result"
This reverts commit 8f4e100f21.
2016-12-02 11:58:25 +03:00
Bob Weinand b1261456d1 Merge branch 'PHP-7.1' 2016-12-01 15:22:03 +01:00
Anatol Belski a263ca6af0 Merge branch 'PHP-7.1'
* PHP-7.1:
  fork tests
2016-12-01 14:54:21 +01:00
Dmitry Stogov 0a22c59c2b Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bad merge
2016-12-01 16:22:32 +03:00
Dmitry Stogov 78bc8b0f33 Merge branch 'PHP-7.1'
* PHP-7.1:
  Workaround for GCC-4.9.2 bug
  oops, changed in wrong place
2016-12-01 15:51:16 +03:00
Anatol Belski 127cdd44af Merge branch 'PHP-7.1'
* PHP-7.1:
  fix condition
  improve skipif
2016-12-01 13:34:20 +01:00
Anatol Belski 89a7f40849 Merge branch 'PHP-7.1'
* PHP-7.1:
  improve skipif
2016-12-01 13:26:09 +01:00
Dmitry Stogov 7abf3b56f5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed access to uninitialized value
2016-12-01 13:26:26 +03:00
Bob Weinand 8f4e100f21 Fix a few valgrind warnings with undefing result 2016-12-01 10:15:07 +01:00
Dmitry Stogov bb78637bda Merge branch 'PHP-7.1'
* PHP-7.1:
  Simpler overflow check
  fix gcov coverage
2016-12-01 10:34:18 +03:00
Anatol Belski b869f22c4b Merge branch 'PHP-7.1'
* PHP-7.1:
  fix dir separator
  Update NEWS for the build
2016-12-01 01:37:24 +01:00
Bob Weinand ae2f68d8a5 Fix accidental zval_ptr_dtor()ing of object 2016-11-30 23:57:22 +01:00
Bob Weinand 00e516e575 Fix memory leaks with FE_RESET upon empty iterator
Solved by manually freeing and jumping to the opcode *after* FE_FREE
2016-11-30 17:44:34 +01:00
Bob Weinand 9ad9d7ae37 Fix return value memory leaks upon exceptions in opcode operand freeing 2016-11-30 17:44:34 +01:00
Bob Weinand c406d1e9b5 Merge branch 'PHP-7.1' 2016-11-30 11:45:36 +01:00
Anatol Belski bff4b02c9e add skipif 2016-11-30 11:10:36 +01:00
Bob Weinand 7631c8766e Merge branch 'PHP-7.1' 2016-11-30 02:57:34 +01:00
Dmitry Stogov 503c32e06e Export zend_quick_get_constant() 2016-11-29 11:07:49 +03:00
Yasuo Ohgaki d1f9d37423 Fix typo 2016-11-29 06:45:01 +09:00
Dmitry Stogov 3e9bb03a62 Removed IS_TYPE_IMMUTABLE (it's the same as COPYABLE & !REFCOUED) 2016-11-28 22:59:57 +03:00
Dmitry Stogov 42407692b6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73586 (php_user_filter::$stream is not set to the stream the filter is working on).
2016-11-28 12:57:36 +03:00
Dmitry Stogov 3b4c9f18e0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed calling generators through magic __call()
2016-11-28 12:30:16 +03:00
Dmitry Stogov 85a62d54b4 Fixed build 2016-11-28 12:12:54 +03:00
Stanislav Malyshev f0ba9ab56e Merge branch 'PHP-7.1'
* PHP-7.1:
  add NEWS
  Fix #68447: grapheme_extract take an extra trailing character
2016-11-27 15:38:39 -08:00
Stanislav Malyshev 3be1d39087 Merge branch 'pull-request/2223'
* pull-request/2223:
  Fix help messages
2016-11-27 15:02:40 -08:00
Stanislav Malyshev 76c02dcdf7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #73549: Use after free when stream is passed to imagepng
2016-11-27 14:54:19 -08:00
Jakub Zelenka 3e03b815ed Merge branch 'PHP-7.1' 2016-11-27 19:06:56 +00:00
Jakub Zelenka 42155c3631 Merge branch 'PHP-7.1' 2016-11-27 19:00:57 +00:00
Jakub Zelenka 202e95e18f Merge branch 'PHP-7.1' 2016-11-27 18:57:35 +00:00
Yoshio HANAWA 26e80982a2 Fix help messages 2016-11-27 19:16:00 +09:00
Matteo Beccati fa7dca5a78 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix occasionaly failing test
2016-11-27 10:21:05 +01:00
Matteo Beccati 02a1469810 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added missing array key to $JUNIT
2016-11-27 10:08:23 +01:00
Yasuo Ohgaki 35b3c86429 Add XFAIL for failing test 2016-11-27 10:49:17 +09:00
Yasuo Ohgaki 66ba1c95d3 Merge branch 'pull-request/2221'
* pull-request/2221:
  Add a test for bug 73529
2016-11-27 10:48:07 +09:00
Stanislav Malyshev 7f65ecb5b8 Merge branch 'pull-request/2147'
* pull-request/2147:
  acinclude.m4: fix krb5-config detection and usage in PHP_SETUP_KERBEROS.
2016-11-26 15:37:31 -08:00
Stanislav Malyshev 1f1d3a22d4 Merge branch 'PHP-7.1'
* PHP-7.1:
  acinclude.m4: fix krb5-config detection and usage in PHP_SETUP_KERBEROS.
  Add more mbfl string size checks (bug #73505)
2016-11-26 15:37:10 -08:00
think 162ff394a5 awk: syntax error
awk version 20070501
2016-11-26 15:32:08 -08:00
Stanislav Malyshev c4ebe4da04 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add more mbfl string size checks (bug #73505)
2016-11-26 14:48:57 -08:00
Anatol Belski 452dcf12ae fix test 2016-11-26 20:29:42 +01:00
Anatol Belski 92175d09c7 fix test portability 2016-11-26 20:27:09 +01:00
Anatol Belski b204b3abd1 further normalizations, uint vs uint32_t
fix merge mistake

yet one more replacement run
2016-11-26 17:29:01 +01:00
Christoph M. Becker 1b7e014d1c Merge branch 'PHP-7.1' 2016-11-26 16:11:08 +01:00
Stanislav Malyshev b1ff0c5270 Fix more size_t/int implicit conversions
Now the conversions are explicit and do checks. Not sure it's
the best way but at least we can see them now in the open.
2016-11-25 18:58:06 -08:00
Stanislav Malyshev fe994fd9a4 Fix int/size_t confusion in isValidPharFilename (bug #73580) 2016-11-25 18:57:18 -08:00
Anatol Belski b8645ef29e fix oniguruma.h copying 2016-11-25 23:55:27 +01:00
Christoph M. Becker a35359f8b7 Merge branch 'PHP-7.1' 2016-11-25 23:33:02 +01:00
Anatol Belski 6a34065bf0 fix tests 2016-11-25 23:04:15 +01:00
Anatol Belski 04eb73638b remove generated file 2016-11-25 22:07:00 +01:00
Anatol Belski 2a76d2282a upgrade to Oniguruma 6.1.2 2016-11-25 22:00:53 +01:00
Anatol Belski 35a3c6e2b9 fix spelling 2016-11-25 19:27:01 +01:00
Anatol Belski 714ded8049 update UPGRADING 2016-11-25 19:01:13 +01:00
Craig Duncan 2d81675cbf Add a test for bug 73529 2016-11-24 22:15:45 +00:00
Nikita Popov 5af586bec5 Remove more PHP 6 leftovers from tests 2016-11-24 22:39:39 +01:00
Anatol Belski 895a82695c Merge branch 'PHP-7.1'
* PHP-7.1:
  add test for bug #57547
2016-11-24 19:28:56 +01:00
Sebastian Bergmann 13dcab0328 Bump Zend Engine version 2016-11-24 18:43:00 +01:00
Anatol Belski 99c7ad7aa8 add test for FILEINFO_EXTENSION flag 2016-11-24 18:05:11 +01:00
Anatol Belski 52f5b9659f Add test for bug #67516 2016-11-24 17:59:09 +01:00
Anatol Belski 4c00c5ebed fix test 2016-11-24 17:44:05 +01:00
Anatol Belski 31a3956053 apply the current Fedora's data patches 2016-11-24 17:43:16 +01:00
Anatol Belski 5f4699c0ca fix c/p mistake 2016-11-24 16:41:57 +01:00
Anatol Belski 6b14989001 catch up with new finfo constant 2016-11-24 16:23:35 +01:00
Anatol Belski 020b87a40d update libmagic.patch 2016-11-24 14:58:54 +01:00
Anatol Belski 0e9912dc6f maintain patch level 2016-11-24 14:56:30 +01:00
Anatol Belski 918e626338 the vanilla data is used for now, seems everything is incorporated 2016-11-24 14:50:55 +01:00
Anatol Belski 3ef069d26c more fileinfo test fixes
Note the behavior change, FILEINFO_CONTINUE will now always
append a string \012-. I'm leaving this as is for now, as this is
the behavior change in libmagic.
2016-11-24 14:48:33 +01:00
Anatol Belski c62b732696 fix tests 2016-11-24 14:36:49 +01:00
Anatol Belski 411e97c72d Upgraded libmagic to 5.29
yet unfinished port to libmagic 5.28

catch with missing libmagic port pieces

regenerate data file with magic from 5.28

test magic files from 5.28

missing files

fix path

pure c99 is still not supported

move right to 5.29, yet some bugs present

more sync with orig lib

more ZMM usage

use unpatched data for now

partial revert according to bug #67705

Revert "more ZMM usage"

This reverts commit 5e3c9b851034b455942b219b18bdc49c8315c3ee.

several fixes, so it's now closer to the clean port
2016-11-24 13:44:04 +01:00
Derick Rethans b8664adc9b Updated to version 2016.10 (2016j) 2016-11-24 10:40:17 +00:00
Derick Rethans 4a96b93715 Empty merge 2016-11-24 10:40:16 +00:00
Xinchen Hui fd8797298b Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #73585 (Logging of "Internal Zend error - Missing class information" missing class name)
2016-11-24 12:05:07 +08:00
Ferenc Kovacs b6068f64d7 Merge branch 'PHP-7.1' 2016-11-24 01:59:40 +01:00
Remi Collet ce7aeacaa1 Merge branch 'PHP-7.1'
* PHP-7.1:
  CS (no leading space in comment for config option)
2016-11-23 14:56:50 +01:00
Xinchen Hui d98cc74c16 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73583 (Segfaults when conditionally declared class and function have the same name)
2016-11-23 14:27:57 +08:00
Nikita Popov ae38b9eeb6 Fix test 2016-11-22 22:46:34 +01:00
Nikita Popov 7dbdf2db83 Fix foreach object property visibility checks
Again, check_property_access() does not correctly work for properties
that look like mangled private propert names (but aren't). Fix this
by only checking visibility for INDIRECT properties.

foreach currently still unmangles property names, even if they don't
correspond to declared properties. HHVM does not do this (and I think
this is correct.) As this is done consistently, leaving it alone
for now.
2016-11-22 21:01:15 +01:00
Nikita Popov dd9ad0940a Fix get_class_vars() fast-path/slow-path discrepancies
Normalize to the fast-path behavior. In particular, make sure that
the the property visibility check is correct for property names that
are formatted like mangled private properties (but are not). This is
done by only calling zend_check_property_access() for INDIRECT
properties.
2016-11-22 20:49:12 +01:00
Craig Duncan c31396f85e Use UTC instead of unavailable timezone in test 2016-11-22 19:29:49 +01:00
Nikita Popov 04534b0047 Merge branch 'PHP-7.1' 2016-11-22 19:26:27 +01:00
Nikita Popov d18741d002 Fix ext/ftp 2016-11-22 19:06:59 +01:00
Tom Van Looy 972b9e989f Fix two tests 2016-11-22 18:47:34 +01:00
Dmitry Stogov 1ab44223bf Export zend_do_fcall_overloaded() 2016-11-22 18:36:27 +03:00
Anatol Belski 089e5972e9 Merge branch 'PHP-7.1'
* PHP-7.1:
  update libs_versions.txt
  update libs versions.txt
2016-11-22 12:44:56 +01:00
Anatol Belski bafb079de3 Merge branch 'PHP-7.1'
* PHP-7.1:
  move dev to next
2016-11-22 11:57:26 +01:00
Dmitry Stogov 4b4de84b4d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed use after free
2016-11-22 13:29:11 +03:00
Dmitry Stogov e5fce51196 Merge branch 'PHP-7.1'
* PHP-7.1:
  Micro-optimization
2016-11-22 12:07:06 +03:00
Dmitry Stogov 653c9e1fa2 Merge branch 'PHP-7.1'
* PHP-7.1:
  Removed useless (double) checks for EG(exception). (Bob)
2016-11-22 11:51:42 +03:00
Dmitry Stogov 68ee168c75 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed memory leak (Bob)
2016-11-22 11:23:17 +03:00
Anatol Belski f6e3241a73 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "fix invalid read, follow up on 97b65cc9"
2016-11-22 03:00:44 +01:00
Anatol Belski 22846ac545 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix invalid read, follow up on 97b65cc9
2016-11-22 02:31:43 +01:00
Anatol Belski 14b5494f27 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  update NEWS
2016-11-22 01:02:04 +01:00
Anatol Belski 6bf85617c5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73498
  Add a test for bug 73498
2016-11-22 00:47:30 +01:00
Anatol Belski bfb9be9bd4 Merge branch 'PHP-7.1'
* PHP-7.1:
  remove TSRMLS_*
2016-11-22 00:33:29 +01:00
Anatol Belski 5d95dcdaab Merge branch 'PHP-7.1'
* PHP-7.1:
  update php.ini-* for bug #69090
  update php.ini-* according to changes for bug #69090
2016-11-21 22:59:59 +01:00
Anatol Belski 2b5344e7f7 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  update NEWS
2016-11-21 20:01:51 +01:00
Anatol Belski 273f7e3da9 Merge branch 'PHP-7.1'
* PHP-7.1:
  add test for bug #73452
  Backport 15ac4904 to 5.6
2016-11-21 15:32:38 +01:00
Kalle Sommer Nielsen 75ea28a7ae Remove more NetWare leftovers 2016-11-21 15:22:30 +01:00
Kalle Sommer Nielsen fa2fcd53c6 Merge branch 'master' of git.php.net:php-src 2016-11-21 15:19:29 +01:00
Kalle Sommer Nielsen 8efbcf18a1 Remove this old obsolete code 2016-11-21 15:18:55 +01:00
Dmitry Stogov 51f59739b6 Turn function into inline 2016-11-21 13:13:28 +03:00
Dmitry Stogov 7051eec7b5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Regenerated files
2016-11-21 10:39:38 +03:00
Xinchen Hui 0a20a3f24a Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWs
2016-11-21 11:46:50 +08:00
Xinchen Hui f33bfd4e44 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fix memory leak(null coalescing operator with Spl hash)
2016-11-21 11:46:13 +08:00
Kalle Sommer Nielsen e59089c6e5 Revert "Added --enable-asm on Windows"
This reverts commit d711798813.

I need a better approach for this and general customized CFLAGS
2016-11-21 00:46:04 +01:00
Kalle Sommer Nielsen eb6a816425 Merge branch 'master' of git.php.net:php-src 2016-11-20 23:36:44 +01:00
Kalle Sommer Nielsen 3ed0af3252 Kill some more strlen() calls and fix a possible missing NULL pointer check
Thanks to Anatol for review
2016-11-20 23:36:19 +01:00
Levi Morrison 5ff2990cb3 Refactor: rename variables to match documentation
Rename 'arr' to 'pieces'
Rename 'delim' to 'glue'
2016-11-20 14:54:06 -07:00
Kalle Sommer Nielsen d711798813 Added --enable-asm on Windows
This argument is disabled by default, but if enabled it will create a sub directory in the output directory called 'asm' and dump each compiled .c file's asm there
2016-11-20 22:49:34 +01:00
Kalle Sommer Nielsen 4f6f15358b Merge branch 'master' of git.php.net:php-src 2016-11-20 22:40:15 +01:00
Nikita Popov 45f7b2bcc8 Fix CRLF line-endings in tests
Also fix a single instance of CRLF in ibase_query.c.
2016-11-20 22:31:24 +01:00
Jakub Zelenka 563a341df7 Merge branch 'PHP-7.1' 2016-11-20 20:39:32 +00:00
Kalle Sommer Nielsen 644821e89f Minor grammar 2016-11-20 21:25:25 +01:00
Nikita Popov 42449d431f Merge branch 'PHP-7.1' 2016-11-20 21:19:34 +01:00
Pedro Magalhães 617dcf1b37 Remove the binary cast from unrelated tests 2016-11-20 21:11:53 +01:00
Pedro Magalhães 9c5af4e4cb Remove the b prefix from literals on unrelated tests 2016-11-20 21:11:53 +01:00
Jakub Zelenka b98357823a Merge branch 'PHP-7.1' 2016-11-20 20:08:34 +00:00
Kalle Sommer Nielsen b581f7d860 No need to keep the version info for old VC versions we don't even support anymore 2016-11-20 20:56:49 +01:00
Kalle Sommer Nielsen 7e8fd3fb5a Update inline comment with VS.net 2017 + fix typo 2016-11-20 20:55:02 +01:00
Kalle Sommer Nielsen 39cfeea20b Remove typo 2016-11-20 20:52:22 +01:00
Kalle Sommer Nielsen acbc007a7d Use $(CC) consistently in the Makefile 2016-11-20 20:50:25 +01:00
Kalle Sommer Nielsen 53ca6fdaa4 Remove undefined variable if ext/ftp was built with SSL 2016-11-20 19:37:24 +01:00
Kalle Sommer Nielsen d489569725 Fix typo 2016-11-20 19:36:48 +01:00
Kalle Sommer Nielsen 06767ffcbe Shave off a strlen() call in ftp_mkdir() 2016-11-20 19:36:36 +01:00
Bob Weinand e3feeba3ae Merge branch 'PHP-7.1' 2016-11-20 19:20:48 +01:00
Nikita Popov d512f21930 Merge branch 'PHP-7.1' 2016-11-20 19:10:29 +01:00
Bob Weinand d7deaac362 Merge branch 'PHP-7.1' 2016-11-20 14:19:40 +01:00
Tom Van Looy 442fd2f92a Cleanup tests version checks 2016-11-20 14:16:50 +01:00
Bob Weinand d37482679a Remove a few unused write warnings 2016-11-20 14:15:02 +01:00
Joe Watkins c17eca1379 Merge branch 'master' of git.php.net:/php-src 2016-11-20 08:33:53 +00:00
Joe Watkins 43bd0146bc Merge branch 'PHP-7.1'
* PHP-7.1:
  fix #72180, #73219
2016-11-20 08:33:26 +00:00
Xinchen Hui 6ee8581a0e Removed not used field 2016-11-20 15:52:52 +08:00
Xinchen Hui 575285987d Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #73483 (Segmentation fault on pcre_replace_callback)
  Fix #73219 (fix acinclude when / is present)
  make it possible to show specific help pages without interactive session
  make it possible to show specific help pages without interactive session
2016-11-20 15:47:54 +08:00
Joe Watkins 893a27d632 make it possible to show specific help pages without interactive session 2016-11-20 05:26:46 +00:00
Nikita Popov 8113daef49 json_encode(): Detect recursion earlier
json_encode() used a peculiar way of apply-count management,
whereby the apply-count was not incremented for the outermost
object/array, so that recursion was only detected after two
levels.
2016-11-19 23:52:08 +01:00
Kalle Sommer Nielsen 40f6438972 Update the ini scanner as from Dmitry's commit 2016-11-19 16:41:02 +01:00
Kalle Sommer Nielsen 1b5b9234a3 Remove these NetWare leftovers 2016-11-19 10:47:20 +01:00
Kalle Sommer Nielsen 673bbff0e5 Updated the comment regarding what priority modes that are left out for the nice() implementation on Windows 2016-11-19 10:10:48 +01:00
Kalle Sommer Nielsen ddf95667c4 Remove support for REALTIME_PRIORITY_CLASS in proc_nice() on Windows.
The reasoning for this is because that it requires special permissions and can in the end be dangerous, discovered by Anatol.
2016-11-19 00:32:07 +01:00
Anatol Belski 271ed78a31 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test portability
2016-11-18 22:11:41 +01:00
Nikita Popov 63c77cb1f9 Merge branch 'PHP-7.1' 2016-11-18 21:42:20 +01:00
Anatol Belski 019bf13a06 Merge branch 'PHP-7.1'
* PHP-7.1:
  don't fail miserably, when an unknown vc version is used
2016-11-18 18:21:49 +01:00
Nikita Popov 8b597eb03e Merge branch 'PHP-7.1' 2016-11-18 17:56:41 +01:00
Christoph M. Becker e4ce353118 Merge branch 'PHP-7.1' 2016-11-18 14:31:25 +01:00
Dmitry Stogov 7a6dce4063 Merge branch 'PHP-7.1'
* PHP-7.1:
  Regenerated scanner
2016-11-18 16:20:24 +03:00
Dmitry Stogov 628cde2fae Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed memory leaks in parse_ini_file()
2016-11-18 16:19:00 +03:00
Anatol Belski 628533caa0 Merge branch 'PHP-7.1'
* PHP-7.1:
  extend skipif
2016-11-18 12:00:36 +01:00
Dmitry Stogov 3cc6ac565f Merge branch 'PHP-7.1'
* PHP-7.1:
  Disabled PHP call tracing by default (it makes significant overhead). This may be enabled again using envirionment variable USE_ZEND_DTRACE=1.
2016-11-18 13:22:54 +03:00
Dmitry Stogov fff9f2b21a Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Introduced zend.enable_dtrace INI directive to enable/disable PHP call tracing"
2016-11-18 12:53:49 +03:00
Dmitry Stogov 6515966b01 Merge branch 'PHP-7.1'
* PHP-7.1:
  Introduced zend.enable_dtrace INI directive to enable/disable PHP call tracing
2016-11-18 12:24:47 +03:00
Anatol Belski b6ed31959c Merge branch 'PHP-7.1'
* PHP-7.1:
  extend skipif
2016-11-18 02:26:44 +01:00
Anatol Belski ad5b79977c Merge branch 'PHP-7.1'
* PHP-7.1:
  add vc15 to the list
2016-11-17 23:47:08 +01:00
Adam Baratz 07e395a00d Revert "Remove PDOStatement::activeQueryString()"
This reverts commit 552c957500.
2016-11-17 11:25:31 -05:00
Dmitry Stogov e5d76c956a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed test
  Updated NEWS
  Improvement for bug73297
  Simplify ext/standard/tests/http/bug73297.phpt
  http_fopen_wrapper.c - bug#73297 Skip past "100 Continue" responses
  Add failing test for bug#73297
  Updated NEWS
  Improvement for bug73297
  Simplify ext/standard/tests/http/bug73297.phpt
  http_fopen_wrapper.c - bug#73297 Skip past "100 Continue" responses
  Add failing test for bug#73297
2016-11-17 16:00:07 +03:00
Nikita Popov 0004f7e86d Merge branch 'PHP-7.1' 2016-11-17 13:48:07 +01:00
Dmitry Stogov 3461b706df Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Improvement for bug73297
  Simplify ext/standard/tests/http/bug73297.phpt
  http_fopen_wrapper.c - bug#73297 Skip past "100 Continue" responses
  Add failing test for bug#73297
2016-11-17 14:06:35 +03:00
Dmitry Stogov c87ab8aec0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed 64-bit build
2016-11-17 14:06:09 +03:00
Julien Pauli 607049f2d1 Improvement for bug73297 2016-11-17 11:50:36 +01:00
Rowan Collins 8b54b3654d Simplify ext/standard/tests/http/bug73297.phpt 2016-11-17 11:50:36 +01:00
Rowan Collins f20d261acd http_fopen_wrapper.c - bug#73297 Skip past "100 Continue" responses 2016-11-17 11:50:36 +01:00
Rowan Collins 5a882990a6 Add failing test for bug#73297 2016-11-17 11:50:36 +01:00
Dmitry Stogov 558166bd41 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed test
2016-11-17 13:44:08 +03:00
Dmitry Stogov 222d22f3e1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Prevent modification of immutable arrays (ext/mbstring/tests/bug26639.phpt failure with opcache.protect_memory=1)
2016-11-17 13:35:10 +03:00
Dmitry Stogov 610083bc06 Merge branch 'PHP-7.1'
* PHP-7.1:
  Overflow check
2016-11-17 13:18:58 +03:00
Craig Duncan b476d21962 Fix run-tests.php counting an uncountable 2016-11-17 09:33:04 +00:00
Craig Duncan 78f2bce68a Added a note in UPGRADING about the new count() warning 2016-11-17 09:33:04 +00:00
Craig Duncan c1001d22d2 Add expectations for invalid count() warnings 2016-11-17 09:33:04 +00:00
Craig Duncan b000f5c341 Add tests for invalid count() operations 2016-11-17 09:33:04 +00:00
Craig Duncan aaf7341b1c Add warnings when counting invalid parameters 2016-11-17 09:33:04 +00:00
Dmitry Stogov d0bdf19eb4 Fixed test (adopted to new session_start behavior) 2016-11-17 12:20:46 +03:00
Dmitry Stogov 39fa227744 Merge branch 'PHP-7.1'
* PHP-7.1:
  Skip 64-bit specific tests on 32-bit systems
2016-11-17 11:45:28 +03:00
Dmitry Stogov da0ab83610 Fixed test 2016-11-17 11:31:06 +03:00
Dmitry Stogov 03ad53741f Merge branch 'PHP-7.1'
* PHP-7.1:
  VERIFY_RETURN_TYPE on references can't be eliminated
2016-11-17 10:42:31 +03:00
Yasuo Ohgaki 7f196e321f Fix bug #71038 - session_start() returns true even when it failed
PR #2167
2016-11-17 11:09:07 +09:00
Adam Baratz 552c957500 Remove PDOStatement::activeQueryString() 2016-11-16 18:06:14 -05:00
Dmitry Stogov 32edd8ff82 Merge branch 'PHP-7.1'
* PHP-7.1:
  Accorate handling of too big inodes of chroot directories
2016-11-17 01:15:08 +03:00
Nikita Popov 778cd35bf5 Merge branch 'PHP-7.1' 2016-11-16 21:33:53 +01:00
Dmitry Stogov 08c8834a8d Merge branch 'PHP-7.1'
* PHP-7.1:
  "opcache.validate_root" is useless on Windows
  fix gcov coverage
2016-11-16 23:22:08 +03:00
Dmitry Stogov d8ad071b5f Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  fix gcov coverage
2016-11-16 23:11:14 +03:00
Dmitry Stogov bee695fe3d Merge branch 'PHP-7.1'
* PHP-7.1:
  Use full path
2016-11-16 23:09:31 +03:00
Nuno Lopes 5e5e071214 fix gcov coverage 2016-11-16 15:07:16 -05:00
Dmitry Stogov f62d876e56 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed type ingference
2016-11-16 20:49:20 +03:00
Adam Baratz 5719553ed2 Fix test for pdo_pgsql 2016-11-16 10:50:14 -05:00
Dmitry Stogov bf17a4f09d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed ZTS build
2016-11-16 16:47:35 +03:00
Christoph M. Becker 07ed7b5198 Merge branch 'PHP-7.1' 2016-11-16 12:08:16 +01:00
Anatol Belski 1114a337a5 Merge branch 'PHP-7.1'
* PHP-7.1:
  keep ABI
2016-11-16 11:23:16 +01:00
Dmitry Stogov 65287253fd Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fixed bug #73512 Fails to find firebird headers
2016-11-16 12:59:16 +03:00
Dmitry Stogov 35e7927736 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #69090 (check cached files permissions)
2016-11-16 12:58:30 +03:00
Remi Collet 548cbcc929 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73512 Fails to find firebird headers
2016-11-16 10:47:18 +01:00
Xinchen Hui ca6091471c Merge branch 'PHP-7.1'
* PHP-7.1:
2016-11-16 15:14:48 +08:00
Xinchen Hui 395dc82212 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  news entry for #2196
  new entry for #2196
  Improve error message
  Fix test
  Refactor and cleanup implementation.
  Revert "Fix Bug #73461"
  Revert "Protect class based session save handler"
  Protect class based session save handler
  Fix Bug #73461
2016-11-16 15:13:00 +08:00
Xinchen Hui 3a8a99e662 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73532 (Null pointer dereference in mb_eregi)
2016-11-16 15:05:22 +08:00
Joe Watkins 1b547d2dcc news entry for #2196 2016-11-16 05:14:36 +00:00
Joe Watkins 1b06d82af5 Merge branch 'PHP-7.1'
* PHP-7.1:
  new entry for #2196
  Improve error message
  Fix test
  Refactor and cleanup implementation.
  Revert "Fix Bug #73461"
  Revert "Protect class based session save handler"
  Protect class based session save handler
  Fix Bug #73461
2016-11-16 05:13:13 +00:00
Adam Baratz 41983a1716 update NEWS 2016-11-15 17:44:12 -05:00
Adam Baratz 83086d9a72 Add PDOStatement::activeQueryString() 2016-11-15 17:33:38 -05:00
Andrea Faulds ee38e01ff3 Fix mistake in UPGRADING 2016-11-14 21:32:39 +00:00
Andrea Faulds a0502b89a6 Convert numeric keys in object/array casts
RFC: https://wiki.php.net/rfc/convert_numeric_keys_in_object_array_casts

This converts key types as appropriate in object to array and array to object
casts, as well as in get_object_vars().
2016-11-14 18:20:45 +00:00
Christoph M. Becker 531eedf38f Merge branch 'PHP-7.1' 2016-11-14 16:09:40 +01:00
Christoph M. Becker 189bbb586c Merge branch 'pull-request/2164' 2016-11-13 23:31:40 +01:00
Anatol Belski 4d790486b8 reduce realpath_cache_bucket size by 8 bytes on 64-bit
This limits the path length to 64kb which is already far above the
use case. In return, the whole path cache storage size is reduced
by 8kb.
2016-11-13 20:21:44 +01:00
Bob Weinand 882bcb7240 Merge branch 'PHP-7.1' 2016-11-13 18:31:20 +01:00
Christoph M. Becker 1ccada35c0 Fix tests: don't count non-countables 2016-11-13 18:16:17 +01:00
Bob Weinand 5a4bad7b5f Merge branch 'PHP-7.1' 2016-11-13 13:22:50 +01:00
Bob Weinand 1e65d0ea67 Merge branch 'PHP-7.1' 2016-11-13 12:26:13 +01:00
Joe Watkins 6c7e795c15 phpdbg standard input changes 2016-11-13 08:00:15 +00:00
Joe Watkins 5fbf565787 fix news 2016-11-13 07:35:14 +00:00
Joe Watkins 54fbc27270 Merge branch 'master' of git.php.net:/php-src 2016-11-13 05:40:49 +00:00
Joe Watkins f77be645bc news entry for #1787 2016-11-13 05:37:49 +00:00
Anatol Belski 9593663d22 restore erroneously removed part 2016-11-13 00:04:10 +01:00
Nikita Popov 547ad56b31 Fix build 2016-11-12 22:17:21 +01:00
Joe Watkins 450a596ed3 wrong numbers 2016-11-12 17:58:46 +00:00
Joe Watkins 24329e5286 Merge branch 'master' of git.php.net:/php-src 2016-11-12 17:57:41 +00:00
Joe Watkins 2a57f6c5e8 news entry for #2166, fix news 2016-11-12 17:53:28 +00:00
Nikita Popov 9dcc76f4c8 Merge branch 'PHP-7.1' 2016-11-12 18:49:50 +01:00
Edgar R. Sandi 81e9a0d075 fixed bug generated by fixes bug #73135 2016-11-12 17:49:25 +00:00
Joe Watkins 0c76451c85 Merge branch 'PHP-7.1'
* PHP-7.1:
  news entry for calendar overflow fix
  Fix integer overflow in calender.
2016-11-12 17:36:16 +00:00
Joe Watkins a2bc7cf9ca Merge branch 'master' of git.php.net:/php-src 2016-11-12 17:30:41 +00:00
Joe Watkins 6c0e1ca4fa update phpdbg with stdin code change 2016-11-12 17:30:16 +00:00
Andrea Faulds 3ed8b7a87b Use "Standard input code" instead of "php://stdin" 2016-11-12 17:26:20 +00:00
Andrea Faulds a103aa2dbd Show "php://stdin" instead of "-" in error messages 2016-11-12 17:26:20 +00:00
Kalle Sommer Nielsen 2104bea5d7 Remove Netware support
If this does not break the Unix system somehow, I'll be amazed. This should get most of it out, apologies for any errors this may cause on non-Windows ends which I cannot test atm.
2016-11-12 11:20:01 +01:00
Kalle Sommer Nielsen b3093082fd Merge branch 'master' of git.php.net:php-src 2016-11-12 11:18:42 +01:00
Kalle Sommer Nielsen 4cef0ead49 Fix Windows build 2016-11-12 11:18:25 +01:00
Joe Watkins 28ebf8df66 Merge branch 'PHP-7.1'
* PHP-7.1:
  added a test for date_interval_format function
  Merge branch 'pull-request/2198'
2016-11-12 10:00:17 +00:00
Joe Watkins 1f250b7e94 Merge branch 'pull-request/2198' 2016-11-12 08:15:13 +00:00
Anatol Belski 595ad898c1 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix erroneous line in confutils.js
2016-11-12 02:39:30 +01:00
Mitch Hagstrand 3b830cfb5c Fix the lchwon error test for Travis CI.
The E_WARNING message from the PHP function lchown is passed
from the system function lchown. The error message returned
from lchown can be filesystem dependent.

https://github.com/php/php-src/blob/6053987bc27e8dede37f437193a5cad448f99bce/ext/standard/filestat.c#L406
2016-11-11 16:17:07 -08:00
Nikita Popov 0d25376900 Merge branch 'PHP-7.1' 2016-11-10 22:52:22 +01:00
Nikita Popov 739698c493 Merge branch 'PHP-7.1' 2016-11-10 22:28:42 +01:00
Nikita Popov dac600e469 Merge branch 'PHP-7.1' 2016-11-10 22:19:52 +01:00
Nikita Popov 976d72a3bd Merge branch 'PHP-7.1' 2016-11-10 14:59:56 +01:00
Dmitry Stogov f34a00dbd8 Merge branch 'PHP-7.1'
* PHP-7.1:
  Don't update proprties inplace.
2016-11-10 12:34:24 +03:00
Anatol Belski 00c80fbb69 Merge branch 'PHP-7.1'
* PHP-7.1:
  add missing entry
  add missing NEWS entry
  add missing NEWS entry
2016-11-09 21:38:29 +01:00
Anatol Belski aafe848a10 Merge branch 'PHP-7.1'
* PHP-7.1:
  improve lib name guessing for newer libtidy
2016-11-09 11:33:05 +01:00
Anatol Belski 7c33798449 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync NEWS
  Remove binary casts from PHAR's default stub
2016-11-09 11:21:01 +01:00
Pedro Magalhães 343f5c62fc Remove binary casts from PHAR's default stub 2016-11-09 03:24:40 +00:00
Ferenc Kovacs 328ebffcbf Merge branch 'PHP-7.1' 2016-11-09 02:19:23 +01:00
Anatol Belski f657a75fec Merge branch 'PHP-7.1'
* PHP-7.1:
  fix memory leak
2016-11-08 12:17:53 +01:00
Anatol Belski a75827b4f9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73418 Integer Overflow in "_php_imap_mail" leads to crash
  Fixed bug #73418 Integer Overflow in "_php_imap_mail" leads to crash
  Fix #72696: imagefilltoborder stackoverflow on truecolor images
  Fix #72482: Ilegal write/read access caused by gdImageAALine overflow
  Fix bug #73144 and bug #73341 - remove extra dtor
  remove unreferenced var came in with merge
  Fix bug #73331 - do not try to serialize/unserialize objects wddx can not handle
  Fix #72696: imagefilltoborder stackoverflow on truecolor images
  Fix #72482: Ilegal write/read access caused by gdImageAALine overflow
  fix version
  set versions
  Fix bug #73144 and bug #73341 - remove extra dtor
  Fix bug #73331 - do not try to serialize/unserialize objects wddx can not handle
2016-11-08 11:16:55 +01:00
Anatol Belski 47d044b1ad Merge branch 'PHP-7.1'
* PHP-7.1:
  Enable FTS4 and FTS5 for bundled libsqlite
2016-11-08 02:36:05 +01:00
Anatol Belski 02dda34d2e Merge branch 'PHP-7.1'
* PHP-7.1:
  avoid unneeded copying
2016-11-07 21:19:31 +01:00
Anatol Belski a578f5deb5 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-11-07 20:49:07 +01:00
Anatol Belski d64247e095 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add test for bug #73448
2016-11-07 20:41:31 +01:00
Anatol Belski d5042ea555 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73448 odbc_errormsg returns trash, always 513 bytes
2016-11-07 20:22:12 +01:00
Derick Rethans 3a1d44a98c Merge branch 'PHP-7.1' 2016-11-07 16:40:48 +00:00
Jakub Zelenka 80cb79f275 Merge branch 'PHP-7.1' 2016-11-06 20:45:13 +00:00
Jakub Zelenka a93d272549 Merge branch 'PHP-7.1' 2016-11-06 17:40:59 +00:00
Anatol Belski 77a7c3395e Merge branch 'PHP-7.1'
* PHP-7.1:
  add missing RETURN_STRINGL_CHECK
2016-11-06 17:57:29 +01:00
Anatol Belski 096f272125 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-11-06 17:13:09 +01:00
Anatol Belski c482ee6020 Introduce SKIP_IO_CAPTURE_TESTS group
to workaround false positives with some CI systems
2016-11-06 00:04:53 +01:00
Nikita Popov 6e1534a4e4 Merge branch 'PHP-7.1' 2016-11-05 23:11:42 +01:00
Kalle Sommer Nielsen 2de9c42f97 Remove this check as discussed with Anatol 2016-11-05 23:08:08 +01:00
Anatol Belski ad02235e9f Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix blob parameters binding. Fixes: #73087, #61183, #71494
2016-11-05 22:55:04 +01:00
Stanislav Malyshev 4ec0adb73d Merge branch 'PHP-7.1'
* PHP-7.1:
  More int->size_t and string overflow fixes
2016-11-05 14:00:58 -07:00
Stanislav Malyshev bbdd6a65e2 Merge branch 'PHP-7.1'
* PHP-7.1:
  More int->size_t and string overflow fixes
2016-11-05 13:59:56 -07:00
Anatol Belski 74ce3edbfd Merge branch 'PHP-7.1'
* PHP-7.1:
  rename the tmp ini file, to keep it consistent with m4 variant
2016-11-04 18:44:14 +01:00
Anatol Belski a0fe593c7e Merge branch 'PHP-7.1'
* PHP-7.1:
  fix dir separator in test
2016-11-04 18:39:23 +01:00
Anatol Belski bd7bf3e60c Merge branch 'PHP-7.1'
* PHP-7.1:
  fix dir separator
2016-11-04 13:11:56 +01:00
Stanislav Malyshev dab757f322 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add length check for bzcompress too - fix for bug #73356
  More string length checks & fixes
  More string length checks & fixes
2016-11-03 22:54:12 -07:00
Derick Rethans 5aad73a698 Updated to version 2016.9 (2016i) 2016-11-03 13:57:33 -04:00
Derick Rethans 091b14dbf8 Empty merge 2016-11-03 13:57:33 -04:00
Xinchen Hui 624409b3d3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #73423 (Reproducible crash with GDB backtrace)
2016-11-02 12:12:25 +08:00
Dmitry Stogov c71ab7260a Merge branch 'PHP-7.1'
* PHP-7.1:
  Intriduced ZEND_ACC_INHERITED class flag. It's going to be helpful for static optimisations, when "parent" is not known yet.
2016-11-01 22:58:59 +03:00
Christoph M. Becker f9649a244a Merge branch 'PHP-7.1' 2016-11-01 20:30:18 +01:00
Sara Golemon 2814d1bcee Merge branch 'PHP-7.1'
This commit already landed on master as b041bebb
but I didn't realize we needed it on 7.1 as well.
Cherry-picking, then merging the pick to keep the repo happy.

* PHP-7.1:
  Change Big Endian backup implementations to use signed indexes
2016-11-01 09:37:02 -07:00
Dmitry Stogov 9efa2f2cd5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed reference-counter inference
2016-11-01 19:04:23 +03:00
Anatol Belski e0fd1c4b54 Merge branch 'PHP-7.1'
* PHP-7.1:
  add run target
2016-11-01 14:02:49 +01:00
Dmitry Stogov fec1218fa4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed reference-counter inference
2016-11-01 00:18:34 +03:00
Dmitry Stogov b9122dad1b Merge branch 'PHP-7.1'
* PHP-7.1:
  typo
2016-10-31 21:39:50 +03:00
Adam Baratz 8176fdcb33 Use more accurate types to avoid compiler warnings 2016-10-31 13:15:46 -04:00
Dmitry Stogov dcf4bdb844 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed reference-counter inference
2016-10-31 19:51:50 +03:00
Adam Baratz 69b776ec10 Fix comment style 2016-10-31 12:39:22 -04:00
Derick Rethans 27dea1582f Merge branch 'PHP-7.1' 2016-10-31 10:43:54 +00:00
Stanislav Malyshev 4f40cf155a Merge branch 'PHP-7.1'
* PHP-7.1:
  Typo
2016-10-30 17:12:21 -07:00
Anatol Belski 8c1393d0b1 Merge branch 'PHP-7.1'
* PHP-7.1:
  prefer symbols read from the bin to those matching the naming scheme
2016-10-30 21:27:54 +01:00
Anatol Belski 1a1ffa1c07 Merge branch 'PHP-7.1'
* PHP-7.1:
  remove debug out
2016-10-30 21:14:21 +01:00
Anatol Belski ad1bb7173a Merge branch 'PHP-7.1'
* PHP-7.1:
  fix link with deps pdb availability
2016-10-30 21:09:31 +01:00
Jakub Zelenka 17dc15b51e Merge branch 'PHP-7.1' 2016-10-30 19:13:21 +00:00
Jakub Zelenka a8f426d4e8 Merge branch 'PHP-7.1' 2016-10-30 19:02:46 +00:00
Anatol Belski c210d6fe9b Merge branch 'PHP-7.1'
* PHP-7.1:
  use rather the makefile var
  rename the env setting target and reuse it for build-snap
2016-10-30 15:30:33 +01:00
Jakub Zelenka eff075ffaa Merge branch 'PHP-7.1' 2016-10-30 13:22:45 +00:00
Bob Weinand 07a6321228 Merge branch 'PHP-7.1' 2016-10-29 18:50:36 +02:00
Anatol Belski ee5c450694 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix condition
2016-10-29 17:58:01 +02:00
Xinchen Hui 7973cfc4dd Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73402 (Opcache segfault when using class constant to call a method)
2016-10-29 23:44:48 +08:00
Nikita Popov edde929351 Drop dead code in zend_call_method
As no_separation=1 is used this can not happen anymore.
2016-10-29 17:11:55 +02:00
Nikita Popov 0806bb39ef Cleanup zend_std_call_setter
__set() does not use the return value to indicate success, and at
this point I doubt it ever will.
2016-10-29 15:15:34 +02:00
Nikita Popov ba55d0d06b Merge branch 'PHP-7.1' 2016-10-29 14:39:07 +02:00
Xinchen Hui b322f29ce8 Merge branch 'PHP-7.1'
* PHP-7.1:
  Skip if no jit is built
2016-10-29 14:23:55 +08:00
Anatol Belski 5ada01ee75 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test run with autogenerated ini
2016-10-29 03:18:43 +02:00
Anatol Belski 9112e29890 Merge branch 'PHP-7.1'
* PHP-7.1:
  generate test ini file, so shared exts are loaded for nmake test
  additional env is generated for phpize, too
2016-10-29 02:27:13 +02:00
Anatol Belski 1667acbf72 fix doc 2016-10-28 23:02:38 +02:00
Anatol Belski cc81971e9e extend info to float related constants 2016-10-28 20:49:12 +02:00
Anatol Belski 431abb2117 note to UPDRADING 2016-10-28 20:27:32 +02:00
Anatol Belski 2be89a1ed1 update NEWS 2016-10-28 19:58:02 +02:00
Michele Locati 33301d5bae Add VT100 support for Windows
Fix function names prefix

Use Unicode version of GetFinalPathNameByHandle

Use EG(windows_version_info) instead of RtlGetVersion

Use the specified handle_id instead of STD_OUTPUT_HANDLE

Switch from stream name to stream resource

Allow running tests capturing only stdout and/or stderr

Add tests for stream_vt100_support function

Export Win32 console functions

Fix x64 build

Use zend_long instead of long long, use GetConsole instead of GetFinalPathNameByHandleW to check if a handle is a valid console stream

Always use zend_long on any platform

Use _get_osfhandle to determine the standard handle

Accept stream names

Raise warnings in case of invalid stream parameter

Return true if disabling VT100 support on a not-console/redirected stream or on old Windows versions

Remove php_win32_console_os_supports_vt100

Differentiate stdin vs stdout/stderr

Simplify setting flag

Allow avoid piping STDIN

Let stream_vt100_support accept only resources

Fix run-tests

Revert console flags in case of failure

Simplify logic of stream_vt100_support when setting the flag

Return true if succeeded, false otherwise

Drop support for STDIN

More comprehensive tests for stream_vt100_support

Remove old tests

Fix name of included file and use absolute paths

Enable ENABLE_VIRTUAL_TERMINAL_PROCESSING on Windows by default

Remove tests for stream_vt100_support

Split stream_vt100_support into stream_isatty+sapi_windows_vt100_support

Add tests for stream_isatty

Add tests for sapi_windows_vt100_support

Return null from stream_isatty is neither Windows nor Posix

Fallback to S_ISCHR if neither Windows nor Posix

Avoid defining argc since it's only used once

Better comment about php_win32_console_fileno_is_console

Use events instead of cNumberOfEvents

Do not restore previous console mode

We need to restore previous console mode on failing SetConsole calls only for STDIN

Don't configure STDOUT/STDERR on Windows with PHP_CLI_WIN32_NO_CONSOLE
2016-10-28 19:23:00 +02:00
Xinchen Hui 946eb9b452 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #73392 (A use-after-free in zend allocator management)
2016-10-28 21:22:02 +08:00
Ferenc Kovacs c1e3fa489a Merge branch 'PHP-7.1' 2016-10-27 23:44:24 +02:00
Anatol Belski c62d90650a Merge branch 'PHP-7.1'
* PHP-7.1:
  use rather the nmake var as it's evaluated on every run
2016-10-27 22:36:28 +02:00
Anatol Belski 5fa9a6d176 Merge branch 'PHP-7.1'
* PHP-7.1:
  prepend known bin folders to the path for nmake test runs
2016-10-27 20:44:30 +02:00
Adam Baratz 0a2c02cb57 Fix #73396: bigint columns are returned as strings 2016-10-27 13:52:59 -04:00
Adam Baratz 886e721356 Remove unneeded macro check. This "hack" is replicated in php_pdo_dblib_int.h. 2016-10-27 12:15:45 -04:00
Adam Baratz 3d35f0b3b2 remove unread var 2016-10-27 12:15:01 -04:00
Adam Baratz 6b931b813f add myself to pdo_dblib CREDITS 2016-10-27 12:14:12 -04:00
Anatol Belski 6c55c39d8e Merge branch 'PHP-7.1'
* PHP-7.1:
  yet another uninitialized pointer
2016-10-27 02:46:18 +02:00
Anatol Belski c3f08add5e Merge branch 'PHP-7.1'
* PHP-7.1:
  fix uninitialized pointer
2016-10-27 02:20:35 +02:00
Anatol Belski 701df2c410 note to UPGRADING 2016-10-26 21:10:17 +02:00
marcosptf a51d33c5d8 Update curl_multi_info_read.phpt 2016-10-26 16:43:13 -02:00
Anatol Belski 100650bc5d add some float limits constants 2016-10-26 18:10:44 +02:00
Anatol Belski 71f73d7f58 remove dead code 2016-10-26 18:06:16 +02:00
Anatol Belski 6679df147a reset also the cwd_length, when cwd is free'd 2016-10-26 18:06:16 +02:00
Andrea Faulds d8f27b2be8 Merge branch 'DedupNANINF' 2016-10-26 16:46:36 +01:00
marcosptf 26ea77c8f8 Update curl_multi_info_read.phpt 2016-10-26 13:01:30 -02:00
marcosptf 26e0df7dc0 Update curl_multi_info_read.phpt 2016-10-26 12:51:07 -02:00
Dmitry Stogov d3cfef435a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixded bug #72736 (Slow performance when fetching large dataset with mysqli / PDO)
2016-10-26 15:23:33 +03:00
Anatol Belski 356c162f54 Merge branch 'PHP-7.1'
* PHP-7.1:
  make config.w32 compatible with ICU 58
2016-10-26 13:08:17 +02:00
Dmitry Stogov 4054d1cb64 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed incorrec type usage
  Revert "Update UPGRADING to reflect bug fix" This change was made in 7.0. Sorry for the noise.
  Update UPGRADING to reflect bug fix
  news for next rc
2016-10-25 22:13:46 +03:00
Dmitry Stogov cc973d6bb7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Export zend_analyze_calls() to allow building call trees.
2016-10-25 17:21:12 +03:00
Christoph M. Becker c8c8c0b52c Merge branch 'PHP-7.1' 2016-10-25 14:41:00 +02:00
Anatol Belski a9b82f8d6d Merge branch 'PHP-7.1'
* PHP-7.1:
  move dev to 7.0.14
2016-10-25 10:32:15 +02:00
Derick Rethans 31e986bc17 Updated to version 2016.8 (2016h) 2016-10-24 10:37:20 +01:00
Derick Rethans 533fbab0f4 Empty merge 2016-10-24 10:37:19 +01:00
Nikita Popov b551c30a2c Merge branch 'PHP-7.1' 2016-10-23 22:27:25 +02:00
Nikita Popov f636dbfe76 Merge branch 'PHP-7.1' 2016-10-23 22:13:59 +02:00
Jakub Zelenka df73aa0e65 Merge branch 'PHP-7.1' 2016-10-23 19:56:29 +01:00
Jakub Zelenka eca30fd1b1 Merge branch 'PHP-7.1' 2016-10-23 19:40:48 +01:00
Xinchen Hui 1322594175 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
2016-10-22 14:51:23 +08:00
Xinchen Hui a6e8634a63 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73350 (Exception::__toString() cause circular references)
2016-10-22 14:50:53 +08:00
Anatol Belski 5e480021a7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Better fix for bug #73360
  Revert "Fixed bug #73360 Unable to work in root with unicode chars"
2016-10-21 21:34:09 +02:00
Anatol Belski 1b6c6aa1c4 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-10-21 16:57:30 +02:00
Dmitry Stogov d6c332eb51 Turn IS_TYPE_COLLECTABLE zval flag into GC_COLLECTABLE zend_refcounted flag.
This simplifies checks and allows reset this flag for "acyclic" arrays and objects.
2016-10-21 17:47:30 +03:00
Anatol Belski 04bba0c078 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73360 Unable to work in root with unicode chars
2016-10-21 16:00:49 +02:00
Amo Chohan 61e15a37a1 Add tests for PDO::getAvailableDrivers 2016-10-20 20:53:53 -07:00
Adam Baratz 6c867cb8e5 Remove DBDO-specific field
DBDO is a PECL package which hasn't been updated since 2010 and has been marked
as unmaintained. Additionally, I can't find a reference to this field in the
latest source.
2016-10-20 17:39:00 -04:00
Kalle Sommer Nielsen 54454f7335 Save some more calls to strlen() on the CURLFile helper methods 2016-10-20 16:03:46 +02:00
Kalle Sommer Nielsen c0d4e72a68 Revert "Fix test, this is kinda ugly, but at least for me on Windows there seems to be some messed up line endings"
This reverts commit aeeaedeeb7.

This seems to make Travis unhappy (shocker), so revert for now until we find a better fix
2016-10-20 16:02:37 +02:00
David Carlier 81ce32a48f updating cvs revisions of strlcat/cpy 2016-10-20 14:13:09 +01:00
Kalle Sommer Nielsen 61f524b370 Merge branch 'master' of git.php.net:php-src 2016-10-20 14:28:52 +02:00
Kalle Sommer Nielsen 9935d7e163 Save a call to strlen(), since we can figure out the length of this constant value with sizeof() at compile time 2016-10-20 14:28:24 +02:00
Kalle Sommer Nielsen aeeaedeeb7 Fix test, this is kinda ugly, but at least for me on Windows there seems to be some messed up line endings 2016-10-20 14:24:01 +02:00
Nikita Popov 23772d5b70 Merge branch 'PHP-7.1' 2016-10-20 13:26:51 +02:00
Kalle Sommer Nielsen 66b2c5c5a4 Merge branch 'master' of git.php.net:php-src 2016-10-20 13:10:51 +02:00
Kalle Sommer Nielsen dfbcd4e207 Do not overwrite config.nice.bat if --with-config-profile is used on Windows 2016-10-20 13:10:28 +02:00
Christoph M. Becker ed61791a5a Update UPGRADING wrt. imageresolution()
Cf. <http://git.php.net/?p=php-src.git;a=commit;h=209d4220>.
2016-10-20 12:59:03 +02:00
Matteo Beccati c3c06b92f9 Fixed test to accept MYSQLI_OPT_READ_TIMEOUT
The new constant has been added in 7108db30
2016-10-20 12:54:42 +02:00
Anatol Belski a64c02fbb5 remove redundant includes 2016-10-20 11:42:23 +02:00
Anatol Belski ab52afb932 fix Windows compilation
php.h is included, it contains all the stuff needed and conflicts
otherwise.
2016-10-20 11:42:23 +02:00
Leigh f23e99dd07 Merge branch 'PHP-7.1' 2016-10-20 10:18:38 +01:00
Kalle Sommer Nielsen f38834a180 Fix compiler warnings, always cast to zend_long from sqlite3_int64 when converting to a zval 2016-10-20 10:57:38 +02:00
Kalle Sommer Nielsen 6ca38e8cf8 Ignore the return value of sqlite3->busyTimeout() if their "API Armor" is not enabled.
The sqlite3_busy_timeout() function can only ever return SQLITE_OK if the armor is not compiled in, which means we can skip this error check
2016-10-20 10:56:08 +02:00
Joe Watkins b4a6408029 news entry for pr #2135 2016-10-20 05:34:22 +01:00
Joe Watkins e0b6ac2976 Merge branch 'pull-request/2135' 2016-10-20 05:33:12 +01:00
Joe Watkins 2d3bf0da44 news entry for pr #2152 2016-10-20 05:25:49 +01:00
Joe Watkins 0d768f74b6 Merge branch 'pull-request/2152' 2016-10-20 05:25:03 +01:00
Dmitry Stogov 03cd0f6b06 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed typo
2016-10-20 01:17:55 +03:00
Dmitry Stogov 65ea250022 Merge branch 'PHP-7.1'
* PHP-7.1:
  Introduced HT_IS_PACKED() and HT_IS_WITHOUT_HOLES() macros. (Benjamin Coutu)
2016-10-19 23:12:17 +03:00
Joe Watkins 67dc4de592 Merge branch 'master' of git.php.net:/php-src 2016-10-19 13:45:27 +01:00
Joe Watkins 3a0872d08f Implement #72612 (libxmlrc uses system malloc instead of PHP alloc routines) 2016-10-19 13:43:31 +01:00
Kalle Sommer Nielsen 465fdd1de8 T1Lib support was removed in 7.0 2016-10-19 09:02:41 +02:00
Kalle Sommer Nielsen 60d847a0cf Fix typo 2016-10-19 09:01:29 +02:00
Kalle Sommer Nielsen 6ebb447d77 Poor copy/paste mistake, nobody saw I used getrusage.[c|h] as skeleton here! 2016-10-19 07:10:28 +02:00
Kalle Sommer Nielsen 63869d9491 Move these files to the same compilation batch instead of two 2016-10-19 06:44:30 +02:00
Kalle Sommer Nielsen 59090b6499 Ignore notices with headers already being defined to their magic HAVE_<name>_H define on Windows.
This is very minor and only happens so far for zlib.h, which both ext/zip and ext/zlib looks for.
2016-10-19 06:29:15 +02:00
Kalle Sommer Nielsen 0ffd0a0217 Improve the config.simple.bat for Windows a little;
This adds --with-config-profile=foobar, this generates a config.foobar.bat file in the root of php-src directory with the relevant configuration arguments.
2016-10-19 01:14:15 +02:00
Kalle Sommer Nielsen 815ee7d06c Added config.simple.bat to .gitignore 2016-10-18 23:29:28 +02:00
Kalle Sommer Nielsen d0a3f2e46d Make proc_nice() more in line with that of Unix, as discussed with Anatol 2016-10-18 23:25:59 +02:00
Kalle Sommer Nielsen e2b52c510e Always include the header for nice() on Windows 2016-10-18 23:14:46 +02:00
Kalle Sommer Nielsen 6cb13be2c8 Added config.simple for the Windows build system, this is pretty much
like running configure for only the core of PHP and sapi/cli for quick
and fast building.

buildconf
config.simple
nmake
Release_TS\php -v

(This also enables --with-mp for multi processing for a faster build)
2016-10-18 23:13:30 +02:00
Anatol Belski 7755adf57b Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-10-18 19:44:47 +02:00
Anatol Belski 3813d3bbc5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73329 (Float)"Nano" == NAN
2016-10-18 19:14:54 +02:00
Anatol Belski 7d43aee474 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync NEWS
  sync NEWS
2016-10-18 18:26:11 +02:00
Christoph M. Becker 35b19cd2d9 Make this test meaningful
We're not only checking that hash_update_file() succeeds, but rather
that it properly works.

Furthermore, we fix the SKIPIF section – we don't need mhash to run the
test, and we don't need to check for unsupported PHP versions.

We also shorten the test name to avoid cluttering the test reports with
unnecessary detail.
2016-10-18 14:57:41 +02:00
Johannes Schlüter b7fe687914 Install ext/json headers so that other extension can parse, too 2016-10-18 14:48:17 +02:00
Bob Weinand 2b246e2e38 Merge branch 'PHP-7.1' 2016-10-18 14:32:12 +02:00
Christoph M. Becker 81043bbfea Use our own domains to test getmxrr() 2016-10-18 14:28:49 +02:00
Christoph M. Becker 371f41250c Remove superfluous checks for PNG support
PNG support is required to build ext/gd, so there's no need to check
for it in the tests.
2016-10-18 14:17:37 +02:00
Dmitry Stogov dfc811611f Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Revert "Fix bug #47890 #73215 uniqid() should use better random source"
2016-10-18 15:11:16 +03:00
Dmitry Stogov 37357d9215 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73337 (try/catch not working with two exceptions inside a same operation)
  Revert "Fix bug #47890 #73215 uniqid() should use better random source"
  Revert "Fix bug #47890 #73215 uniqid() should use better random source"
  Update NEWS
2016-10-18 15:10:03 +03:00
Joe Watkins 475cb3aa32 Revert "Fix bug #47890 #73215 uniqid() should use better random source"
This reverts commit 48f1a17886.
2016-10-18 11:30:45 +01:00
Dmitry Stogov 5551cccc92 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed type inference rules.
  Update NEWS
2016-10-18 12:41:10 +03:00
Leigh 56908edfbe Merge branch 'master' into remove-mcrypt 2016-10-18 09:17:03 +01:00
Yasuo Ohgaki 0a67b29a7c Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #47890 #73215 uniqid() should use better random source
2016-10-18 09:14:57 +09:00
Christoph M. Becker 209d4220d5 Add PHP bindings for setting and getting the image resolution
We expose the image resolution related GD functionality to userland
by introducing `imageresolution()` as getter/setter. Given only the
image argument, it returns the current resolution as indexed array.
Given only a second argument, it sets the horizontal and vertical
resolution to this value. Given three arguments, it sets the horizontal
and vertical resolution to the given arguments, respectively.
2016-10-18 01:53:39 +02:00
Christoph M. Becker e147eeb4bc Merge branch 'PHP-7.1' 2016-10-18 00:02:18 +02:00
Yasuo Ohgaki df845a9155 Merge branch 'PHP-7.1'
* PHP-7.1:
  Simply return FALSE from session_gc(). Error could be annoying because internal save handlers may return -1 when GC cannot be performed for reasons
2016-10-18 06:54:10 +09:00
Yasuo Ohgaki 843f27b74d Add save handler explanations for documentation purpose 2016-10-18 06:20:03 +09:00
Adam Baratz 82fe200a3f Remove dead code 2016-10-17 17:07:10 -04:00
Dmitry Stogov f4578d5a0e Merge branch 'PHP-7.1'
* PHP-7.1:
  Use simple "one-pass" algorithm.
2016-10-18 00:06:50 +03:00
Anatol Belski 451f9aa00c Merge branch 'PHP-7.1'
* PHP-7.1:
  sync NEWS
  Merge branch 'pull-request/1817'
  Merge branch 'pull-request/1816'
  Merge branch 'pull-request/1814'
  Merge branch 'pull-request/1808'
  Merge branch 'pull-request/1817'
  Merge branch 'pull-request/1816'
  Merge branch 'pull-request/1814'
  Merge branch 'pull-request/1808'
2016-10-17 21:28:19 +02:00
Andrey Hristov 0b7ecd6f10 Merge branch 'PHP-7.1' 2016-10-17 19:31:43 +03:00
Andrey Hristov 47993d0c59 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-17 19:31:29 +03:00
Andrey Hristov 2b047617af Merge branch 'PHP-5.6' into PHP-7.0 2016-10-17 19:30:08 +03:00
Andrey Hristov 543cc08a75 Lower the value to 24 hours from 1 year, which due to a overflow in
php_tvtoto (bug#71507) is just 17 days.
2016-10-17 19:25:01 +03:00
Andrey Hristov d8ede80c7a Merge branch 'master' of git.php.net:php-src 2016-10-17 19:12:56 +03:00
Andrey Hristov 23f500191d Merge branch 'PHP-7.1' 2016-10-17 19:12:33 +03:00
Andrey Hristov 7108db3022 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-17 19:11:54 +03:00
Andrey Hristov 66d4a2e13f Merge branch 'PHP-5.6' into PHP-7.0 2016-10-17 19:01:12 +03:00
Andrey Hristov 9594e364ed This is a very very old thing dated back to year 2009.
MYSQL_OPT_READ_TIMEOUT was never a macro in mysqlnd but an enum value.
So this never actually worked correctly. mysqlnd provides these so it is
safe to have them when mysqlnd used.
2016-10-17 18:58:14 +03:00
Joe Watkins d6a4e11f9d Merge branch 'pull-request/1808' 2016-10-17 16:53:04 +01:00
Joe Watkins 068f6bf938 Merge branch 'pull-request/1814' 2016-10-17 16:50:53 +01:00
Joe Watkins acefa44014 Merge branch 'pull-request/1816' 2016-10-17 16:50:12 +01:00
Joe Watkins f9beeacc25 Merge branch 'pull-request/1817' 2016-10-17 16:49:24 +01:00
Joe Watkins caa9ed28cc Merge branch 'pull-request/2097' 2016-10-17 16:05:32 +01:00
Andrea Faulds 858531661b NEWS and UPGRADING for utf8_encode() and utf8_decode() move 2016-10-17 15:45:01 +01:00
Andrea Faulds 1a512eed44 Move utf8_encode and utf8_decode to ext/standard 2016-10-17 15:39:02 +01:00
Joe Watkins a5251f78f8 Merge branch 'master' of git.php.net:/php-src 2016-10-17 14:44:11 +01:00
Joe Watkins f756c5ea22 news entry for pr #2158 2016-10-17 14:43:41 +01:00
Joe Watkins c9c3d9e764 Merge branch 'pull-request/2158' 2016-10-17 14:42:35 +01:00
Remi Collet 90dcef8f45 Merge branch 'PHP-7.1'
* PHP-7.1:
  also fix 32bits test for microsecond
  bump news version
  Update 7.1 NEWS for bug #71148
2016-10-17 15:08:15 +02:00
Christoph M. Becker 0f49aa3287 Merge branch 'pull-request/2151' 2016-10-17 10:37:38 +02:00
Christopher Jones abd2c049a2 Merge branch 'PHP-7.1' 2016-10-17 12:42:44 +11:00
Bob Weinand efcbeb0603 Merge branch 'PHP-7.1' 2016-10-16 15:46:44 +02:00
Bob Weinand b1c6299b34 Merge branch 'PHP-7.1' 2016-10-16 13:48:25 +02:00
Bob Weinand 0399a43265 Merge branch 'PHP-7.1' 2016-10-16 12:34:20 +02:00
Kalle Sommer Nielsen ba76edcc7c Remove this old and long gone deprecated makefile. Netware was discontinued over 7 years ago and it is safe to say that no one is really maintaining support in php-src anyway for it 2016-10-16 08:52:39 +02:00
Kalle Sommer Nielsen e63c864609 Fix build, decls first 2016-10-16 06:36:54 +02:00
Kalle Sommer Nielsen 5c169af7c9 Change the semantics of proc_nice() for Windows to better match the values of the wmic output 2016-10-16 05:21:30 +02:00
Kalle Sommer Nielsen 64945e9387 Implemented proc_nice() for Windows (FR #49806)
The core implementation details are described in win32/nice.c for values sent to proc_nice(), these can however be discussed to maybe comply with those of wmic, Anatol, thoughts?

The test supplied uses wmic for testing the functionality, it could potentially fail on systems where either wmic is not available or the system language is not english (as Microsoft tends to translate even CLI programs).
2016-10-16 04:17:35 +02:00
Kalle Sommer Nielsen 2dbddf2241 Remove the old and way outdated Zend/RFCs folder, we use the wiki nowadays anyway 2016-10-16 01:42:53 +02:00
Kalle Sommer Nielsen 796dd639cb Fix build + warning, decls first 2016-10-16 01:01:09 +02:00
Yasuo Ohgaki 7cb1be2ecd Use proper API 2016-10-16 07:29:33 +09:00
Nikita Popov f58701fe6f Merge branch 'PHP-7.1' 2016-10-16 00:04:23 +02:00
Christoph M. Becker 1aaa560d85 Mark functions as PHP_DEP_FE instead of manually emitting the notice 2016-10-15 23:41:33 +02:00
Christoph M. Becker 8f299a9673 Merge branch 'PHP-7.1' 2016-10-15 19:46:32 +02:00
David Carlier 1ece764114 let s use the macro instead 2016-10-15 17:55:44 +01:00
Christoph M. Becker 1490446ce0 RFC: Deprecate png2wbmp() and jpegwbmp()
See <https://wiki.php.net/rfc/deprecate-png-jpeg-2wbmp>.
2016-10-15 16:16:34 +02:00
David Carlier 2464dbd5f3 import explicit_bzero + strlc* functions update
since 1999 algorithms have changed and register k/w
not necessary anymore.
2016-10-15 14:53:38 +01:00
Yasuo Ohgaki 2bd34885da Add tests 2016-10-15 21:03:14 +09:00
Yasuo Ohgaki 06b20d973a Fix test and cleanup code a little 2016-10-15 20:51:34 +09:00
Yasuo Ohgaki 4af00876f6 mb_check_encoding()/mb_convert_encoding() - Improve and add recursion detection. 2016-10-15 16:52:17 +09:00
Anatol Belski c23eeaee79 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync NEWS
2016-10-14 19:53:23 +02:00
Remi Collet 298a79e082 Merge branch 'PHP-7.1'
* PHP-7.1:
  bump ext/zip version
2016-10-14 17:31:43 +02:00
Christoph M. Becker dd35ba08ef Merge branch 'PHP-7.1' 2016-10-14 14:15:31 +02:00
Christoph M. Becker 0cb6cc4309 Merge branch 'PHP-7.1' 2016-10-14 13:52:44 +02:00
Bob Weinand 8af4882193 Merge branch 'PHP-7.1' 2016-10-14 12:25:34 +02:00
Remi Collet 35f5672129 Merge branch 'PHP-7.1'
* PHP-7.1:
  use zend_error instead of zend_error_noreturn
2016-10-14 10:55:10 +02:00
Ferenc Kovacs e8c821f2b5 Merge branch 'PHP-7.1' 2016-10-14 08:10:07 +02:00
Anatol Belski 1ecd141d62 Merge branch 'PHP-7.1'
* PHP-7.1: (47 commits)
  missed piece for renaming
  rename publicly exposed symbol to avoid name conflicts
  Ignore non-executable opcodes in line mode of phpdbg_end_oplog()
  fix gettimeofday proto availability
  Fix #73280: Stack Buffer Overflow in GD dynamicGetbuf
  fix test
  use already exported symbol
  Revert "export symbol missing by phpdbg"
  Merge branch 'PHP-7.0' into PHP-7.1
  Syncronize with 5.6 - __toString should return ""
  Fix potential overflows in php_pcre_replace_impl
  Fixed bug #73237
  fix another mistake
  Fixed bug in zend_accel_error() and cleaned up kill_all_lockers()
  Merge remote-tracking branch 'origin/PHP-7.0' into PHP-7.1
  Merge branch 'PHP-7.0' into PHP-7.1
  Merge branch 'PHP-7.0' into PHP-7.1
  export symbol missing by phpdbg
  Fix accidental PHPDBG_ABI break
  Fix bug #73189 - Memcpy negative size parameter php_resolve_path
  ...
2016-10-14 04:22:29 +02:00
Anatol Belski 77584e9fac Merge branch 'PHP-7.1'
* PHP-7.1:
  missed piece for renaming
2016-10-13 15:40:52 +02:00
Anatol Belski 1eac069db1 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  missed piece for renaming
2016-10-13 15:40:21 +02:00
Christoph M. Becker c31eb5a407 Remove unused code
There is no gif2wbmp() or such, and it is highly unlikely that it'll be
ever added, so we remove the unused code.
2016-10-13 15:35:10 +02:00
Anatol Belski 46eea4e415 Merge branch 'PHP-7.1'
* PHP-7.1:
  rename publicly exposed symbol to avoid name conflicts
2016-10-13 15:26:17 +02:00
Anatol Belski de2b00b403 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  rename publicly exposed symbol to avoid name conflicts
2016-10-13 15:25:25 +02:00
Anatol Belski de0024ad2d Merge branch 'PHP-7.1'
* PHP-7.1:
  add missing header for gd_error
  fix syslog interference
2016-10-13 14:41:14 +02:00
Anatol Belski 19605950fc add missing header for gd_error 2016-10-13 14:40:37 +02:00
Anatol Belski fa45124138 fix syslog interference 2016-10-13 14:40:37 +02:00
Bob Weinand f0eb629fda Merge branch 'PHP-7.1' 2016-10-13 14:10:33 +02:00
Bob Weinand 1630934070 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-13 14:10:19 +02:00
Anatol Belski 1d82eac13e Merge branch 'PHP-7.1'
* PHP-7.1:
  fix gettimeofday proto availability
2016-10-13 13:09:29 +02:00
Anatol Belski 79f7d174d0 fix gettimeofday proto availability 2016-10-13 13:08:16 +02:00
Christoph M. Becker f7a86be3ed Merge branch 'PHP-7.1' 2016-10-13 11:36:21 +02:00
Christoph M. Becker a9209588d5 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-13 11:31:37 +02:00
Bob Weinand 2e3707fafb Merge branch 'PHP-7.1' (-s ours) 2016-10-13 10:42:05 +02:00
Bob Weinand 505417e8eb Revert "Merge branch 'pull-request/2082' (get_class accidentally in PHP-7.1)"
This reverts commit b0cacee303, reversing
changes made to fcbfd9835d.
2016-10-13 10:40:42 +02:00
Anatol Belski 41f5085e2a Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
  use already exported symbol
  Revert "export symbol missing by phpdbg"
2016-10-13 10:09:03 +02:00
Anatol Belski 57354e0313 fix test 2016-10-13 10:08:23 +02:00
Anatol Belski afbb3b858a Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  use already exported symbol
  Revert "export symbol missing by phpdbg"
2016-10-13 10:08:10 +02:00
Stanislav Malyshev 6294095b84 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix outlen for openssl function
  Syncronize with 5.6 - __toString should return ""
  Fix potential overflows in php_pcre_replace_impl
2016-10-12 23:26:35 -07:00
Stanislav Malyshev ff75665663 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix outlen for openssl function
  Syncronize with 5.6 - __toString should return ""
  Fix potential overflows in php_pcre_replace_impl
2016-10-12 23:26:15 -07:00
Anatol Belski 522dbc0818 Merge branch 'PHP-7.1'
* PHP-7.1:
  Clear FG(user_stream_current_filename) when bailing out
  Fix tests
  fix tsrm
  Fix bug #73284 - heap overflow in php_ereg_replace function
  Fix bug #73276 - crash in openssl_random_pseudo_bytes function
  Fix bug #73293 - NULL pointer dereference in SimpleXMLElement::asXML()
  fix bug #73275 - crash in openssl_encrypt function
  Fix for #73240 - Write out of bounds at number_format
  Bug #73218: add mitigation for ICU int overflow
  Add more locale length checks, due to ICU bugs.
  Fix bug #73208 - another missing length check
  Fix bug #73190: memcpy negative parameter _bc_new_num_ex
  Fix bug #73189 - Memcpy negative size parameter php_resolve_path
  Fixed bug #73174 - heap overflow in php_pcre_replace_impl
  Fix bug #73150: missing NULL check in dom_document_save_html
  Fix bug #73147: Use After Free in PHP7 unserialize()
  Fix bug #73082
  Fix bug #73073 - CachingIterator null dereference when convert to string
2016-10-13 01:33:38 +02:00
Anatol Belski 47e21eb517 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Clear FG(user_stream_current_filename) when bailing out
  Fix tests
  fix tsrm
  Fix bug #73284 - heap overflow in php_ereg_replace function
  Fix bug #73276 - crash in openssl_random_pseudo_bytes function
  Fix bug #73293 - NULL pointer dereference in SimpleXMLElement::asXML()
  fix bug #73275 - crash in openssl_encrypt function
  Fix for #73240 - Write out of bounds at number_format
  Bug #73218: add mitigation for ICU int overflow
  Add more locale length checks, due to ICU bugs.
  Fix bug #73208 - another missing length check
  Fix bug #73190: memcpy negative parameter _bc_new_num_ex
  Fix bug #73189 - Memcpy negative size parameter php_resolve_path
  Fixed bug #73174 - heap overflow in php_pcre_replace_impl
  Fix bug #73150: missing NULL check in dom_document_save_html
  Fix bug #73147: Use After Free in PHP7 unserialize()
  Fix bug #73082
  Fix bug #73073 - CachingIterator null dereference when convert to string
2016-10-13 01:33:07 +02:00
Nikita Popov e0116978b0 Merge branch 'PHP-7.1' 2016-10-12 23:15:57 +02:00
Nikita Popov 8e46066a27 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-12 23:15:48 +02:00
Anatol Belski a9e0d8806e Merge branch 'PHP-7.1'
* PHP-7.1:
  fix another mistake
2016-10-12 23:08:47 +02:00
Anatol Belski bec0121733 fix another mistake 2016-10-12 23:08:19 +02:00
Nikita Popov c0fbd86aec Merge branch 'PHP-7.1' 2016-10-12 23:05:19 +02:00
Nikita Popov 1119cdae42 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-12 23:05:10 +02:00
Bob Weinand 3a5e5d7731 Merge branch 'PHP-7.1' 2016-10-12 22:57:58 +02:00
Bob Weinand 457e686262 Merge remote-tracking branch 'origin/PHP-7.0' into PHP-7.1 2016-10-12 22:57:41 +02:00
Nikita Popov 0fc787cfb8 Merge branch 'PHP-7.1' 2016-10-12 22:46:40 +02:00
Nikita Popov 9669ec707a Merge branch 'PHP-7.0' into PHP-7.1 2016-10-12 22:46:28 +02:00
Nikita Popov f47b36cc5c Merge branch 'PHP-7.1' 2016-10-12 22:26:34 +02:00
Nikita Popov 26964ccea0 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-12 22:26:28 +02:00
Anatol Belski 829ae1dfa0 Merge branch 'PHP-7.1'
* PHP-7.1:
  export symbol missing by phpdbg
2016-10-12 22:23:26 +02:00
Anatol Belski c762c8f3c0 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  export symbol missing by phpdbg
2016-10-12 22:21:19 +02:00
Bob Weinand 1f147e3a55 Merge branch 'PHP-7.1' 2016-10-12 22:18:38 +02:00
Bob Weinand 8c01eef70f Merge branch 'PHP-7.0' into PHP-7.1 2016-10-12 22:17:41 +02:00
Anatol Belski 1f964e11ba Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73189 - Memcpy negative size parameter php_resolve_path
2016-10-12 21:33:27 +02:00
Anatol Belski f7aa911d9b Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #73189 - Memcpy negative size parameter php_resolve_path
2016-10-12 21:33:13 +02:00
Anatol Belski 03da9ba617 Merge branch 'PHP-7.1'
* PHP-7.1:
  update len in fallback cases
2016-10-12 20:55:16 +02:00
Anatol Belski d46673d9ce Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  update len in fallback cases
2016-10-12 20:54:43 +02:00
Anatol Belski dba6969a93 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix wrong merge
2016-10-12 20:26:38 +02:00
Anatol Belski 821a230f29 fix wrong merge 2016-10-12 20:21:50 +02:00
Bob Weinand 92db1c81b3 Merge branch 'PHP-7.1' 2016-10-12 20:19:33 +02:00
Bob Weinand 37ae5f3931 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-12 20:19:10 +02:00
Anatol Belski 76ff13d148 Merge branch 'master' of git.php.net:php-src 2016-10-12 20:12:08 +02:00
Anatol Belski 6a98b21e69 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73190: memcpy negative parameter _bc_new_num_ex
  fix test
  finish 7.1 port
2016-10-12 20:09:57 +02:00
Anatol Belski af1bf873fe Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #73190: memcpy negative parameter _bc_new_num_ex
2016-10-12 20:09:24 +02:00
Anatol Belski 4a39df1261 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2016-10-12 19:29:42 +02:00
Anatol Belski fa9370db03 fix test 2016-10-12 19:28:15 +02:00
Anatol Belski 10fe10ee1f Merge branch 'PHP-7.1'
* PHP-7.1:
  finish 7.1 port
2016-10-12 18:33:28 +02:00
Anatol Belski f1fff032fc finish 7.1 port 2016-10-12 18:31:59 +02:00
Adam Baratz 0eeb06bf17 Addendum to #73234: Assume param types are nullable 2016-10-12 11:59:01 -04:00
Anatol Belski cba18b61c1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73147: Use After Free in PHP7 unserialize()
2016-10-12 17:57:07 +02:00
Anatol Belski b1ef60f90e Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #73147: Use After Free in PHP7 unserialize()
2016-10-12 17:56:13 +02:00
Anatol Belski 7ed614a1be Merge branch 'PHP-7.1'
* PHP-7.1:
  fix typo
2016-10-12 17:13:38 +02:00
Anatol Belski 929b04520e Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  fix typo
2016-10-12 17:13:23 +02:00
Anatol Belski c9d0a0a87c Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Fix for #73240 - Write out of bounds at number_format"
  followup with #73276 merge
  fix test
  Fix bug #73276 - crash in openssl_random_pseudo_bytes function
  Fix bug #73293 - NULL pointer dereference in SimpleXMLElement::asXML()
  Fix for #73240 - Write out of bounds at number_format
  avoid strlen
  Bug #73218: add mitigation for ICU int overflow
  Add more locale length checks, due to ICU bugs.
  Fix bug #73150: missing NULL check in dom_document_save_html
  Clear FG(user_stream_current_filename) when bailing out
  set versions and release date
  sync NEWS
  Revert "Fixed bug #73067 (__debugInfo crashes when throwing an exception)"
  Fix for #73240 - Write out of bounds at number_format
  Fix bug #73257 and bug #73258 - SplObjectStorage unserialize allows use of non-object as key
  set versions
  Fix bug #73091 - Unserializing DateInterval object may lead to __toString invocation
2016-10-12 16:24:51 +02:00
Anatol Belski b184eeefe4 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Revert "Fix for #73240 - Write out of bounds at number_format"
2016-10-12 16:14:58 +02:00
Anatol Belski d103a41679 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  followup with #73276 merge
  fix test
  Fix bug #73276 - crash in openssl_random_pseudo_bytes function
  Fix bug #73293 - NULL pointer dereference in SimpleXMLElement::asXML()
  Fix for #73240 - Write out of bounds at number_format
  avoid strlen
  Bug #73218: add mitigation for ICU int overflow
  Add more locale length checks, due to ICU bugs.
  Fix bug #73150: missing NULL check in dom_document_save_html
  Clear FG(user_stream_current_filename) when bailing out
  set versions and release date
  sync NEWS
  Revert "Fixed bug #73067 (__debugInfo crashes when throwing an exception)"
  Fix for #73240 - Write out of bounds at number_format
  Fix bug #73257 and bug #73258 - SplObjectStorage unserialize allows use of non-object as key
  set versions
  Fix bug #73091 - Unserializing DateInterval object may lead to __toString invocation
2016-10-12 16:06:11 +02:00
Xinchen Hui b48d6e0c5a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73288 (Segfault in __clone > Exception.toString > __get)
2016-10-12 16:08:41 +08:00
Xinchen Hui d19898b298 Fixed bug #73288 (Segfault in __clone > Exception.toString > __get)
Actually this is caused by optimization(opcache)
2016-10-12 16:07:56 +08:00
Sara Golemon 2ad38bfae3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Clear FG(user_stream_current_filename) when bailing out
2016-10-11 21:53:09 -07:00
Sara Golemon 9f86cdaf7f Clear FG(user_stream_current_filename) when bailing out
If a userwrapper opener E_ERRORs then FG(user_stream_current_filename)
would remain set until the next request and would not be pointing
at unallocated memory.

Catch the bailout, clear the variable, then continue bailing.

Closes https://bugs.php.net/bug.php?id=73188
2016-10-11 21:46:02 -07:00
Sara Golemon b041bebb88 Change Big Endian backup implementations to use signed indexes
load64() counted down from 7..0, but the decrement turned 0 into 255.
This means the loop would never terminate on Big Endian systems.

Just use signed char integers since we're only dealing with values from 0..7 anyway.

Closes https://bugs.php.net/bug.php?id=73282
2016-10-11 20:43:02 -07:00
Adam Baratz 6ddfce116b Fix tests affected by 32b6154a61 2016-10-11 10:15:50 -04:00
Fabrice Fontaine e6bbc00964 Fix pthreads detection when cross-compiling
pthreads are not working when cross-compiling, indeed configure
sets pthreads_working to no if cross_compiling is detected.
This behavior is implemented in PTHREADS_CHECK. This function call
AC_CACHE_CHECK twice to retrieve ac_cv_pthreads_cflags and
ac_cv_pthreads_lib.
In these calls, the function PTHREADS_CHECK_COMPILE will call AC_TRY_RUN
function which will update the global pthreads_working variable.
This is not compliant with autoconf AC_CACHE_CHECK rules which specify
that "The commands-to-set-it must have no side effects except for
setting the variable cache-id".

So, this patch replaces pthread_working assignments with assignments on
a new local pthread_checked variable. Value of ptreads_working is
computed outside AC_CACHE_CHECK function depending on value of
ac_cv_pthreads_cflags and ac_cv_pthreads_lib.

Moreover, AC_TRY_RUN call is replaced by AC_TRY_LINK which will work
when cross-compiling.

Without this modification, thread safety option (--enable-maintainer-zts)
can not be enabled on embedded buildsystems such as buildroot.

Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
2016-10-11 15:16:26 +02:00
Dmitry Stogov 087eef5e61 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed referencecounter inference rules
2016-10-11 15:43:42 +03:00
Dmitry Stogov 6046a99b97 Fixed referencecounter inference rules 2016-10-11 15:43:23 +03:00
Anatol Belski ca6e35f7a5 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-10-11 11:42:43 +02:00
Anatol Belski b76aa08935 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  update NEWS
2016-10-11 11:42:27 +02:00
Anatol Belski 05f394b950 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  restore NEWS to the state before breach
  update NEWS
  update NEWS
2016-10-11 11:03:42 +02:00
Anatol Belski 44fb123e5b Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  update NEWS
  update NEWS
2016-10-11 11:03:00 +02:00
Anatol Belski 076aa3c410 update NEWS 2016-10-11 11:01:55 +02:00
Anatol Belski 2629d24c38 restore NEWS to the state before breach 2016-10-11 11:00:52 +02:00
Dmitry Stogov c8e392c085 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed referencecounter inference rules
2016-10-11 01:58:59 +03:00
Dmitry Stogov fae7d6b9bb Fixed referencecounter inference rules 2016-10-11 01:58:30 +03:00
Adam Baratz 32b6154a61 Fix #73234: Emulated statements let value dictate parameter type
The prepared statement emulator (pdo_sql_parser.*) figures out how to quote
each query parameter. The intended type is specified by the PDO::PARAM_*
consts, but this direction wasn't always followed. In practice, queries could
work as expected, but subtle errors could result. For example, a numeric string
bound as PDO::PARAM_INT would be sent to a driver's quote function. While these
functions are told which type is expected, they generally assume values are
being quoted as strings. This can result in implicit casts, which are bad for
performance.

This commit includes the following changes:
 - Cast values marked as bool/int/null to the appropriate type and bypass the
   driver's quote function.
 - Save some memory by dropping the temporary zval used for casting.
 - Avoid a memory leak if the driver's quote function produces an error.
 - Appropriate test suite updates.
2016-10-10 18:16:17 -04:00
Anatol Belski f51405cd7e Merge branch 'PHP-7.1'
* PHP-7.1:
  add test for bug #73037
2016-10-10 16:04:35 +02:00
Anatol Belski a8a308f627 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  add test for bug #73037
2016-10-10 16:04:09 +02:00
Joe Watkins bce17764be Merge branch 'master' of https://github.com/php/php-src 2016-10-10 12:18:40 +01:00
Joe Watkins fb92482c8a Merge branch 'PHP-7.1' of https://github.com/php/php-src into PHP-7.1 2016-10-10 12:17:11 +01:00
Joe Watkins b0cacee303 Merge branch 'pull-request/2082' 2016-10-10 12:14:26 +01:00
Danack 9bbda76ca6 Added news entry. 2016-10-10 12:21:59 +01:00
Anatol Belski 63c7a09786 Merge branch 'PHP-7.1'
* PHP-7.1:
  add zend_bailout to cppcheck conf
2016-10-10 13:12:34 +02:00
Nikita Popov fcbfd9835d Merge branch 'PHP-7.1' 2016-10-10 12:21:25 +02:00
Christoph M. Becker 4be36b536e Merge branch 'PHP-7.1' 2016-10-10 12:13:07 +02:00
Dmitry Stogov 38e765d710 Merge branch 'PHP-7.1'
* PHP-7.1:
  Removed deprecated flag
  Fixed information about possible return value
2016-10-10 11:49:12 +03:00
Christoph M. Becker 7ce90014e2 Merge branch 'PHP-7.1' 2016-10-09 15:27:14 +02:00
Anatol Belski 3efea8aed2 since libdb isn't bundled, it needs a config option as well 2016-10-08 20:44:35 +02:00
Christoph M. Becker 1f0346d26d Merge branch 'PHP-7.1' 2016-10-08 19:48:43 +02:00
Anatol Belski fd9aaed943 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak
2016-10-08 19:29:08 +02:00
Nikita Popov 3dda7bf7d0 Merge branch 'PHP-7.1' 2016-10-08 17:01:21 +02:00
Christoph M. Becker ee2b1e38ef Merge branch 'PHP-7.1' 2016-10-08 15:10:40 +02:00
Christoph M. Becker 0e8cd8ab16 Merge branch 'PHP-7.1' 2016-10-08 11:27:11 +02:00
Christoph M. Becker 8a68d93995 Merge branch 'PHP-7.1' 2016-10-08 10:42:25 +02:00
Nikita Popov 9df6112e01 Merge branch 'PHP-7.1' 2016-10-08 01:10:56 +02:00
Christoph M. Becker c8fe175c50 Merge branch 'PHP-7.1' 2016-10-08 00:03:32 +02:00
Derick Rethans aed25395e5 Merge branch 'PHP-7.1' 2016-10-07 13:49:08 -04:00
Christoph M. Becker 35cdc215e3 Merge branch 'PHP-7.1' 2016-10-07 16:36:38 +02:00
Christoph M. Becker 35c5c4b43f Merge branch 'PHP-7.1' 2016-10-07 16:22:23 +02:00
Christoph M. Becker 432e16cb58 Unify error handling of bundled and external libgd
There's no need anymore to call an own error handler directly. Instead we
register our error handler and call libgd's error functions (which will
forward). We do this regardless of compiling with the bundled or an external
libgd.
2016-10-07 01:13:49 +02:00
Nikita Popov 8754b191f7 Fix "already in use" check inconsistencies/bugs
This fixes the following issues:
 * "use function" and "use const" inside namespaced code were checking
   for conflicts against class imports. Now they always check against
   the correct symbol type.
 * Symbol conflicts are now always checked within a single file only.
   Previously class uses inside namespaced code were checked globally.
   This behavior is illegal because symbols from other files are not
   visible if opcache is used, resulting in behavioral discrepancies.
   Additionally this made the presence/absence of symbol errors dependent
   on autoloading order, which is volatile.
 * The "single file" restriction is now enforced by collecting defined
   symbols inside a separate hash table. Previously it was enforced
   (for the non-namespaced case) by comparing the filename of the
   symbol declaration. However this is inaccurate if the same filename
   is used multiple times, such as may happen if eval() is used.
 * Additionally the previous approach relies on symbols being registered
   at compile-time, which is not the case for late-bound classes, which
   makes the behavior dependent on class declaration order, as well as
   opcache (which may cause delayed early-binding).
 * Lastly, conflicts are now consistently checked for conditionally
   defined symbols. Previously only declaration-after-use conflicts were
   checked in this case. Now use-after-declaration conflicts are
   detected as well.
2016-10-07 00:12:55 +02:00
Anatol Belski 940731df04 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix datatype
2016-10-06 11:03:45 +02:00
Bob Weinand d7474e13bd Merge branch 'PHP-7.1' 2016-10-06 10:36:40 +02:00
Anatol Belski 46f4470e0d ensure the flag doesn't overflow
In certain case, it could take more than just 0/1, but 2 bits should
be enough.
2016-10-06 10:18:31 +02:00
Dmitry Stogov f924893ab9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Updated reference-counting inferece rules. The previous rules refected PHP-5 behavior and were completely wrong for PHP-7. (e.g. scalars don't have reference counters at all). This change shouldn't affect anything, because results of this inference are not used yet.
  Fix NEWS after re-roll of RC3
2016-10-06 11:16:43 +03:00
Anatol Belski 1e986c709c handle the stream->__exposed flag correctly
as it's a flag now, just set the value
2016-10-06 02:15:29 +02:00
Anatol Belski 269707f2f6 Enable QDBM support in ext/dba on Windows 2016-10-05 22:53:21 +02:00
Anatol Belski 42b7912f03 catch up with stream datatypes 2016-10-05 22:53:21 +02:00
Anatol Belski 02acb056b3 uint vs. uint32_t 2016-10-05 22:53:21 +02:00
Anatol Belski 0ca15cbeba reduce size of stream struct
32 bytes are spared on 64-bit build
2016-10-05 22:53:21 +02:00
Anatol Belski 4b41973ba1 prevent flags overflows
Sometimes int is overflown. That might still come out with a right
result, but is ofc not clean.
2016-10-05 22:53:21 +02:00
Anatol Belski 41d04079e3 reduce size of stream bucket struct by 8 bytes on 64-bit 2016-10-05 22:53:21 +02:00
Derick Rethans 6e806b4560 Merge branch 'PHP-7.1' 2016-10-05 15:32:24 -04:00
Anatol Belski 7c71b64eec Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73037, second round
2016-10-05 15:05:56 +02:00
Christoph M. Becker 52b9ea9795 Merge branch 'PHP-7.1' 2016-10-05 13:13:04 +02:00
Bob Weinand 38beb0e8d8 Merge branch 'PHP-7.1' 2016-10-05 12:22:39 +02:00
Stanislav Malyshev eb990a014c Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed test
  Added validation to parse_url() to prohibit restricted characters inside login/pass components based on RFC3986
  Apparently negative wordwrap is a thing and should work as length = 0.
2016-10-04 21:57:43 -07:00
Leigh bc4676e050 Remove mcrypt 2016-10-04 13:20:36 +01:00
Stanislav Malyshev 3f04ee0b8b Merge branch 'PHP-7.1'
* PHP-7.1:
  Really fix bug #73017
2016-10-03 18:39:20 -07:00
Christoph M. Becker 9e88d3e431 Merge branch 'PHP-7.1' 2016-10-03 18:56:36 +02:00
Bob Weinand 007cf7d7d3 Merge branch 'PHP-7.1' 2016-10-03 12:55:45 +02:00
Christoph M. Becker 2b134a1dcb Move freeing of truecolor pixels to a function
We port <https://github.com/libgd/libgd/commit/81675d39>.
2016-10-03 12:11:46 +02:00
Christoph M. Becker ec591b555f Change gdImageTrueColorToPalette() to return success/failure
We're porting the relevant changes from
<https://github.com/libgd/libgd/commit/34a00a40>.

We also check the return value in the PHP binding, and throw E_WARNING if
the conversion failed.
2016-10-03 12:02:31 +02:00
Christoph M. Becker 2a305b38b7 Implement request #33066: Add GD Image Function gdImageOpenPolygon()
gdImageOpenPolygon() has been introduced with líbgd 2.0.29, so we finally
add a PHP binding for it, and port the respective libgd functionality to
PHP's bundled libgd.
2016-10-02 20:27:58 +02:00
Christoph M. Becker 82a8e57f37 Add support for gdEffectMultiply
gdLayerMultiply() has been introduced in libgd 2.1.1, and as such would have
been already available for imagelayereffect() with a system libgd. We port
the respective code to the bundled libgd, and also make IMG_EFFECT_MULTIPLY
available to userland.
2016-10-02 19:10:13 +02:00
Bob Weinand 29941e1811 Merge branch 'PHP-7.1' 2016-10-02 12:46:45 +01:00
Christoph M. Becker d0f14a4429 Switch to libgd anti-aliased drawing API
Instead of rolling our own in the bundled libgd, we use libgd's anti-aliased
drawing API. This way imageantialias() is also available, when built against
a system libgd.
2016-10-02 13:16:40 +02:00
Bob Weinand 1c74398520 Merge branch 'PHP-7.1' 2016-10-01 19:14:46 +01:00
Nikita Popov ca5bb5fc7a Merge branch 'PHP-7.1' 2016-10-01 19:06:13 +02:00
Bob Weinand 948c1a912a Merge branch 'PHP-7.1' 2016-10-01 10:47:53 +01:00
Michael Orlitzky f3db3a80b4 acinclude.m4: fix krb5-config detection and usage in PHP_SETUP_KERBEROS.
When building with kerberos support (--with-kerberos), a few libraries
and flags need to be added to various parts of the build system. The
most reliable way to get those flags is through the krb5-config
program that ships with both major implementations of kerberos. The
PHP_SETUP_KERBEROS macro in acinclude.m4 attempts to detect
krb5-config, and use it.

However, there's a bug in that macro. The --with-kerberos parameter
accepts a directory where the kerberos libraries can be found. When a
directory is given, it is stored in the PHP_KERBEROS variable. The
following test,

  if test "$PHP_KERBEROS" = "yes" && test -x "$KRB5_CONFIG"; then

thus fails whenever a directory is passed to --with-kerberos, since it
compares a directory name against the string "yes". This causes
krb5-config to go unused, and some unreliable fallback logic is
attempted instead. One consequence of this is that the Heimdal
kerberos implementation cannot be substituted for the MIT one, at
least when a directory is passed to --with-kerberos.

This commit reverses the logic and checks for "$PHP_KERBEROS" != "no".
To confirm that this fixes the issue, one can inspect the "-l" library
flags that get appended to the command-line. On a machine with Heimdal
and the unmodified acinclude.m4, running

  ./configure --with-openssl --with-kerberos=/usr

will log (for example) to config.log,

  configure:18082: checking for krb5-config
  configure:18101: found /usr/bin/krb5-config
  configure:18114: result: /usr/bin/krb5-config
  configure:18450: checking for RAND_egd
  configure:18450: cc ... conftest.c ... -lgssapi_krb5 -lkrb5 ...

which are the library names for the MIT implementation. After patching
acinclude.m4 to negate the logic, the same command on the same machine
outputs (to config.log):

  configure:18450: cc ... conftest.c -lgssapi -lheimntlm ...

These are the correct library names for the Heimdal implementation.

PHP-Bug: 73214
2016-09-30 19:47:20 -04:00
Christoph M. Becker 0e38932d14 Merge branch 'PHP-7.1' 2016-10-01 00:02:05 +02:00
Nikita Popov 9f92bb80e4 Merge branch 'PHP-7.1' 2016-09-30 22:10:32 +02:00
Derick Rethans 14d96d93bd Merge branch 'PHP-7.1' 2016-09-30 20:50:13 +01:00
Derick Rethans c2310be5ed Merge branch 'PHP-7.1' 2016-09-30 20:31:26 +01:00
Christoph M. Becker c60cdac636 Fix overflow checks
We check for the proper sizeofs, cf.
<https://github.com/libgd/libgd/commit/c3cf674c>.
2016-09-30 20:15:15 +02:00
Christoph M. Becker e3b889700b Remove further remains of the old antialiasing support
Curiously, while the external GD claims "just a few vestiges after switching
to the fast, memory-cheap implementation from PHP-gd", that stuff was still
in the bundled GD.
2016-09-30 17:04:37 +02:00
Christoph M. Becker 04400b19fc Remove basically effectless gdImageAABlend()
This had already be done for GD 2.0.26 as part of the improved antialiasing
support (<https://boutell.com/gd/manual2.0.26.html#whatsnew2.0.26>).
2016-09-30 16:12:47 +02:00
Christoph M. Becker f72c27590f Merge branch 'PHP-7.1' 2016-09-30 11:50:57 +02:00
Xinchen Hui ac7285dace Merge branch 'PHP-7.1'
* PHP-7.1:
  Cleanup exception handling after zend_fetch_class_by_name
  fix user filter bug
2016-09-30 16:01:43 +08:00
Joe Watkins 8ee842b0ea Merge branch 'master' of https://github.com/php/php-src 2016-09-30 07:23:19 +01:00
Joe Watkins 160832e311 fix user filter bug 2016-09-30 07:22:07 +01:00
Xinchen Hui 1bc3e1b4c3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Use smart branch
2016-09-30 13:19:39 +08:00
Dmitry Stogov 6a0f73902a Merge branch 'PHP-7.1'
* PHP-7.1:
  Special handling for $php_errormsg and $http_response_header.
2016-09-30 02:42:05 +03:00
Christoph M. Becker 9f128ef5f4 Merge branch 'PHP-7.1' 2016-09-29 14:42:48 +02:00
Anatol Belski e017b940ab Merge branch 'PHP-7.1'
* PHP-7.1:
  sync win32 makefile with makedist zendparse exports
2016-09-29 13:02:54 +02:00
Dmitry Stogov 3e0e404173 Merge branch 'PHP-7.1'
* PHP-7.1:
  zval_dtor_func_for_ptr() -> zval_dtor_func()
2016-09-29 11:00:13 +03:00
Dmitry Stogov 02a6c3a343 Merge branch 'PHP-7.1'
* PHP-7.1:
  Better fix for bug #72854 (avoid extra copy and creating reference to stack variable)
2016-09-29 10:57:39 +03:00
Ferenc Kovacs c7f322181b Merge branch 'PHP-7.1' 2016-09-29 01:02:20 +02:00
Derick Rethans ccc75b4299 Updated to version 2016.7 (2016g) 2016-09-28 23:30:29 +01:00
Derick Rethans 5492d99b0e Empty merge 2016-09-28 23:30:29 +01:00
Nikita Popov 6ec5816899 Merge branch 'PHP-7.1' 2016-09-28 23:23:01 +02:00
Nikita Popov 5bdd732d21 Merge branch 'PHP-7.1' 2016-09-28 22:39:17 +02:00
Nikita Popov 208fcee115 Merge branch 'PHP-7.1' 2016-09-28 21:43:58 +02:00
Anatol Belski 3e7739a2db Merge branch 'PHP-7.1'
* PHP-7.1:
  fix exports which are now referenced by phpdbg
  Update UPGRADING to reflect new reality
  Update NEWS for 7.1.0RC4
  Update NEWS
2016-09-28 21:30:59 +02:00
Anatol Belski cd0f1c8a5e fix exports which are now referenced by phpdbg 2016-09-28 20:06:10 +02:00
Nikita Popov 3d04b5c288 Merge branch 'PHP-7.1' 2016-09-28 19:23:09 +02:00
Nikita Popov e81a5a0d1b Merge branch 'PHP-7.1' 2016-09-28 19:20:30 +02:00
Bob Weinand b1a1902a0f Merge branch 'PHP-7.1' 2016-09-28 13:26:49 +02:00
Nikita Popov 2083007813 Merge branch 'PHP-7.1' 2016-09-27 19:49:01 +02:00
Anatol Belski f115bf19fe Merge branch 'PHP-7.1'
* PHP-7.1:
  prepare next
2016-09-27 12:51:56 +02:00
Adam Baratz 49412756df Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  Ignore potentially misleading dberr values
2016-09-26 17:14:51 -04:00
Anatol Belski b89592c67a Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-09-26 19:56:12 +02:00
Anatol Belski f493bdc7eb Merge branch 'master' of git.php.net:php-src 2016-09-26 18:55:20 +02:00
Anatol Belski 59c490b19f Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73172 parse error: Invalid numeric literal
2016-09-26 18:50:06 +02:00
Christoph M. Becker da69037b5f Merge branch 'PHP-7.1' 2016-09-26 18:45:53 +02:00
Dmitry Stogov 97628da24a Expose information about calls to "fake" closures (created through ReflectionFunction::getClosure), to allow extra specialization of RETRUN opcode handler. 2016-09-26 17:44:28 +03:00
Anatol Belski 558f684e60 Merge branch 'PHP-7.1'
* PHP-7.1:
  update libs_versions.txt
  update libs_versions.txt
2016-09-26 15:42:56 +02:00
Dmitry Stogov 5e8be7df99 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Revert "update NEWS"
2016-09-26 16:17:39 +03:00
Dmitry Stogov d3a790b610 Merge branch 'PHP-7.1'
* PHP-7.1:
  On PHP-7.1 and above we have to check CALL_INFO instead of symbol_table.
2016-09-26 16:16:59 +03:00
Adam Baratz e075e867c9 Revert "update NEWS"
This reverts commit fdbc673f8c.

These changes were applied to earlier versions so these notes shouldn't have
been added here.
2016-09-26 09:15:59 -04:00
Dmitry Stogov 3ba1016a24 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73156 (segfault on undefined function)
2016-09-26 14:18:59 +03:00
Anatol Belski 56ff613974 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add an include path for freetype which is relevant for cmake builds
2016-09-25 20:58:09 +02:00
Nikita Popov ebaba26d39 Merge branch 'PHP-7.1' 2016-09-25 12:39:33 +02:00
Christoph M. Becker 65ee87f20d Refactor imagegammacorrect()
We apply the law `(b**r)**s == b**(r*s)` which holds for all non-negative b
and positive r,s, so a single pow() suffices. Furthermore, we precompute the
gamma, so the refactored code is simpler and faster.
2016-09-25 11:28:39 +02:00
Christoph M. Becker 47f1666f7c Merge branch 'PHP-7.1' 2016-09-25 10:57:23 +02:00
Nikita Popov 8c26762baf Merge branch 'PHP-7.1' 2016-09-24 22:46:43 +02:00
Christoph M. Becker c1bc26c0e2 Merge branch 'PHP-7.1' 2016-09-24 18:22:43 +02:00
Christoph M. Becker 2e1d20a28b Merge branch 'pull-request/2026' 2016-09-24 15:41:55 +02:00
Christoph M. Becker d95b8eaf31 Don't enforce palette conversion when writing GD images
The GD image format is able to handle truecolor images as of libgd 2.0.12
(<https://github.com/libgd/libgd/blob/gd-2.2.3/src/gd_gd.c#L31-L33>).
Therefore we don't need the potentially lossy and time consuming palette
conversion.

This way, imagegd() can also be used to export raw truecolor image data.
2016-09-24 14:46:37 +02:00
Nikita Popov 96305b456b Merge branch 'PHP-7.1' 2016-09-24 13:23:54 +02:00
Christoph M. Becker 68b1d4c299 Merge branch 'PHP-7.1' 2016-09-24 12:52:14 +02:00
Christoph M. Becker 9e7ccba7c9 Merge branch 'PHP-7.1' 2016-09-24 11:42:55 +02:00
Christoph M. Becker cf5c2acbb4 Merge branch 'PHP-7.1' 2016-09-24 11:03:46 +02:00
Christoph M. Becker 0308f96732 Merge branch 'PHP-7.1' 2016-09-24 00:38:04 +02:00
Christoph M. Becker 9482932251 Merge branch 'PHP-7.1' 2016-09-24 00:13:36 +02:00
Adam Baratz fdbc673f8c update NEWS 2016-09-23 17:53:58 -04:00
Anatol Belski 3529f2814d Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Fixed bug #73037 SoapServer reports Bad Request when gzipped"
2016-09-23 18:48:41 +02:00
Anatol Belski 292b64c172 Merge branch 'PHP-7.1'
* PHP-7.1:
  skip this test for now as it seems to have issues running dev server
  Fixed bug #73037 SoapServer reports Bad Request when gzipped
2016-09-23 18:11:15 +02:00
Christoph M. Becker 661dca594b Merge branch 'PHP-7.1' 2016-09-23 16:27:59 +02:00
Anatol Belski f59ea5d6a1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73037 SoapServer reports Bad Request when gzipped
2016-09-23 16:08:09 +02:00
Christoph M. Becker c1eb7d7bf0 Merge branch 'PHP-7.1' 2016-09-23 15:50:25 +02:00
Julien Pauli 983f1e3618 Merge branch 'PHP-7.1'
* PHP-7.1:
  Formatting. Fix possible memory corruption in FPM SHM management
  fix every work call mmap
2016-09-23 13:54:46 +02:00
Christoph M. Becker 4ba11af40f Merge branch 'PHP-7.1' 2016-09-23 13:11:14 +02:00
Dmitry Stogov 18b09733f5 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  update NEWS
  update NEWS
2016-09-23 12:27:15 +03:00
Dmitry Stogov ab1b32f81a Removed redundand code 2016-09-23 12:26:30 +03:00
Anatol Belski 28104137cd Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-09-23 11:26:24 +02:00
Bob Weinand a137a1e255 Merge branch 'PHP-7.0' 2016-09-23 03:29:56 +02:00
Anatol Belski a3ca6b09cd Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73121 Bundled PCRE doesn't compile because JIT isn't supported on s390
2016-09-23 01:55:35 +02:00
Anatol Belski 27c2273ae3 Merge branch 'master' of git.php.net:php-src 2016-09-22 17:05:51 +02:00
Anatol Belski 59c72a6edb Merge branch 'PHP-7.1'
* PHP-7.1:
  update libs versions
  update libs versions
2016-09-22 17:04:06 +02:00
Dmitry Stogov 42db69058a Removed impossible condition 2016-09-22 17:58:45 +03:00
Nikita Popov d02e2605a8 Merge branch 'PHP-7.1' 2016-09-22 12:50:36 +02:00
Nikita Popov 785064af05 Merge branch 'PHP-7.1' 2016-09-22 12:39:00 +02:00
Nikita Popov 328ecb486f Merge branch 'PHP-7.1' 2016-09-22 12:35:29 +02:00
Anatol Belski fc92130aa7 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-09-22 12:08:06 +02:00
Anatol Belski d3e08187e0 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-09-22 12:06:44 +02:00
Anatol Belski b8ae0f7cb2 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73126 Cannot pass parameter 1 by reference
2016-09-22 11:51:53 +02:00
Adam Baratz 923d69590f Merge branch 'PHP-7.1'
* PHP-7.1:
  Limit size of result set for test query
2016-09-21 16:24:15 -04:00
Adam Baratz 7f7cff9f02 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  PHP bug 67130: nextRowset should work with unfetched rows
2016-09-21 15:15:54 -04:00
Adam Baratz ddab94040b Merge branch 'PHP-7.1'
* PHP-7.1:
  Move dtor before memory freed to avoid invalid read
2016-09-21 12:02:42 -04:00
Xinchen Hui 474c38efda Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed skip
2016-09-21 17:20:48 +08:00
Christoph M. Becker ea52b84635 Merge branch 'PHP-7.1' 2016-09-20 12:18:55 +02:00
Dmitry Stogov 6860ce3ce9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed inconsistent meaning of zend_startup_module_ex() return value used in zend_hash_apply()
2016-09-20 12:35:14 +03:00
Christoph M. Becker dc59aafa77 Merge branch 'PHP-7.1' 2016-09-20 01:38:28 +02:00
Christoph M. Becker be30c34fb8 Sync with libgd wrt. compilation units
* integrate gd_arc.c into gd.c (as of gd-2.1.0-alpha1)
 * rename gd_color.c to gd_color_match.c (as of gd-2.1.0-alpha1)
 * remove mathmake.c (as of GD_2_0_34RC1)
 * rename xbm.c to gd_xbm.c (as of gd-2.1.0-alpha1)
2016-09-20 00:34:19 +02:00
Christoph M. Becker a14c220fd9 Remove unused compilation unit
gd_arc_f_buggy.c has already been removed in GD 2.0.34RC, so we're also
getting rid of the file.
2016-09-19 23:48:23 +02:00
Christoph M. Becker 932c20fb8d Port variable image resolution support from libgd 2.1.0
The PHP binding for this feature will be submitted as a separate PR.
2016-09-19 19:00:58 +02:00
Christoph M. Becker 77ba2483d9 Port gdImageSetStyle() overflow check from libgd 2.0.29 2016-09-19 16:56:07 +02:00
George Wang 6f7479251b Merge branch 'PHP-7.1' 2016-09-19 10:52:58 -04:00
Julien Pauli f1f3544419 Merge branch 'PHP-7.1'
* PHP-7.1:
  Do not wrap user exception in case of custom JSON serialization
2016-09-19 16:43:17 +02:00
Julien Pauli 502dad39ba Merge branch 'PHP-7.1'
* PHP-7.1:
  Updated NEWS
  Fix 73113 - Segfault with throwing JsonSerializable
2016-09-19 15:25:47 +02:00
Xinchen Hui fa5dda4db0 Merge branch 'PHP-7.1'
* PHP-7.1:
  when needle is short, Sunday algorithm is slower than glibc memchr()
2016-09-18 16:37:20 +08:00
TAKEKOSHI Akishige 15735678c3 when needle is short, Sunday algorithm is slower than glibc memchr() 2016-09-18 15:46:40 +09:00
Nikita Popov 925c251c7b Merge branch 'PHP-7.1' 2016-09-17 22:57:07 +02:00
Anatol Belski f3032fe359 fix argon2 lib names 2016-09-17 13:10:01 +02:00
Christoph M. Becker e1a3541ef8 Merge branch 'PHP-7.1' 2016-09-17 00:02:30 +02:00
Nikita Popov 1a94b24ca5 Use zend_string_free instead of efree
Fingers crossed I didn't break the build.
2016-09-16 21:30:26 +02:00
Nikita Popov dd7affa9ff Merge branch 'PHP-7.1' 2016-09-16 21:06:52 +02:00
Xinchen Hui bc61ba1133 Merge branch 'PHP-7.1'
* PHP-7.1:
  Updte NEWS
  Fixed bug #72505 (readfile() mangles files larger than 2G)
2016-09-16 20:56:55 +08:00
Dmitry Stogov a05cdd03ff Merge branch 'PHP-7.1'
* PHP-7.1:
  Prevent optimization of huge functions.
2016-09-16 14:03:56 +03:00
Christoph M. Becker 3c2de0a534 Merge branch 'PHP-7.1' 2016-09-16 11:54:18 +02:00
Remi Collet 22127b7502 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test (32bits)
2016-09-15 15:36:47 +02:00
Remi Collet 4cc2b7efa0 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix ZTS build
2016-09-15 13:30:08 +02:00
Christoph M. Becker ba2b50d097 Port optimization from external libgd
The functionality is identical, but we save two function calls for partially
transparent pixels.
2016-09-15 13:24:43 +02:00
Christoph M. Becker 04b166a6c5 Removed unused function
The earlier gdAlphaBlend() has been replaced with commit 1286d9e2, and has
been renamed to gdAlphaBlendOld(). The old function is, however, not used,
and after more than 9 years we're pretty sure we won't need it anymore.
2016-09-15 13:04:30 +02:00
Ferenc Kovacs d6f9c49e89 Merge branch 'PHP-7.1' 2016-09-15 11:40:22 +02:00
Dmitry Stogov 902e9ad014 Special handling for $php_errormsg and $http_response_header. 2016-09-15 03:07:31 +03:00
Christoph M. Becker fca15a6b75 Merge branch 'PHP-7.1' 2016-09-15 01:08:29 +02:00
Yasuo Ohgaki 838eb6398e Fix bug number in NEWS 2016-09-15 06:57:29 +09:00
Yasuo Ohgaki 6e530502d2 Implemented Bug #68776 mail() does not have mail header injection prevention for additional headers
(PR 2060)
2016-09-15 06:43:57 +09:00
Christoph M. Becker dbdc7cb057 Remove unnecessary #ifdef
The bundled libgd also defines gdImageAlphaBlending(), and this is the
preferred way to set the alphaBlendingFlag member anyway.
2016-09-14 23:38:02 +02:00
Christoph M. Becker 10fe6afc35 Merge branch 'PHP-7.1' 2016-09-14 20:03:42 +02:00
Michael Orlitzky 672178ff2c Ship AX_CHECK_COMPILE_FLAG in a separate file to preserve its license.
In commit 086f9ad, I added a new macro AX_CHECK_COMPILE_FLAG from the
autoconf archive. Jakub Zelenka pointed out that the license of the
macro (GPL-3+ with exception) does not agree with the license of PHP
itself (PHP-3.01). We should therefore ship the macro in a separate
file with its own license header. That is allowed and is done for
many other files in the PHP repository.

This commit adds a new top-level "m4" directory and places the
upstream ax_check_compile_flag.m4 file in it. The macro is no longer
inlined; instead, our acinclude.m4 now includes the aforementioned
file with m4_include.

PHP-Bug: 73062
Pull-Request: 2124
2016-09-14 13:21:19 -04:00
Adam Baratz 0c7f62a37b Merge branch 'PHP-7.1'
* PHP-7.1:
  Skip test for early TDS versions
2016-09-14 11:07:57 -04:00
Christoph M. Becker f81f40fbd3 Remove unused code which is also not there in external libgd 2016-09-14 17:01:41 +02:00
Christoph M. Becker aad54b7c5f Merge branch 'PHP-7.1' 2016-09-14 16:11:04 +02:00
Jakub Zelenka 7d71a0a608 Merge branch 'PHP-7.1' 2016-09-14 12:35:53 +01:00
Christoph M. Becker 6053987bc2 Merge branch 'PHP-7.1' 2016-09-14 12:43:59 +02:00
Anatol Belski e3ba3d703b Merge branch 'PHP-7.1'
* PHP-7.1:
  fix erroneous resource destruction
  Sync NEWS
2016-09-14 12:09:58 +02:00
Christoph M. Becker 494c5dc77a Remove effectless --enable-gd-native-ttf and USE_GD_IMGSTRTTF
--enable-gd-native-ttf did set USE_GD_IMGSTRTTF, which is otherwise unused
as of commit 8a90aad3 (i.e. PHP 5.5.0), at least.
2016-09-14 01:01:19 +02:00
Adam Baratz 6dd4efb70a Merge branch 'PHP-7.1'
* PHP-7.1:
  Add special case for earlier versions of TDS
  Adjust error formatting so ext/pdo/tests/bug_43130.phpt passes with pdo_dblib
  Free error and message strings when cleaning up PDO instances that use pdo_dblib
  Add common suite
2016-09-13 17:16:46 -04:00
Adam Baratz 5f534e09c3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Explicitly allow NULL values for dblib compatibility
  Add dblib-specific query
  Remove test cases don't test distinct behavior
2016-09-13 16:39:29 -04:00
Adam Baratz 0b75b3761b Merge branch 'PHP-7.1'
* PHP-7.1:
  Handle SQLDECIMAL/SQLNUMERIC types, which are used by later TDS versions
2016-09-13 16:34:27 -04:00
Adam Baratz 033018890d Merge branch 'PHP-7.1'
* PHP-7.1:
  Allow \PDO::setAttribute() to set pdo_dblib query timeouts
2016-09-13 16:19:25 -04:00
Jakub Zelenka 539463395c Merge branch 'PHP-7.1' 2016-09-13 18:28:56 +01:00
Dmitry Stogov c7149b92d7 Micro-optimization 2016-09-13 17:10:30 +03:00
Christoph M. Becker 4781980c85 Merge branch 'PHP-7.1' 2016-09-13 16:00:36 +02:00
Anatol Belski 97907b0281 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-09-13 15:56:37 +02:00
Anatol Belski 0b5aaeefc3 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  upgrade bundled sqlite to 3.14.2
2016-09-13 15:47:21 +02:00
Anatol Belski b1cd3ade55 Merge branch 'PHP-7.1'
* PHP-7.1:
  add test for bug #73068
2016-09-13 15:31:02 +02:00
Christoph M. Becker 4cec961170 Merge branch 'PHP-7.1' 2016-09-13 13:40:48 +02:00
Anatol Belski 537a335345 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-09-13 12:35:22 +02:00
Anatol Belski ba086fbb41 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test portability
2016-09-13 12:11:11 +02:00
Anatol Belski c97129f8f5 Merge branch 'PHP-7.1'
* PHP-7.1:
  pick up the safe alloc pieces from 19866fb76c
2016-09-13 11:51:43 +02:00
Anatol Belski 4dd0849465 Merge branch 'PHP-7.1'
* PHP-7.1:
  missed semicolon
  fix C89 conformity
  Fix bug #72293 - Heap overflow in mysqlnd related to BIT fields
  Fix test
  Fix bug #73065: Out-Of-Bounds Read in php_wddx_push_element of wddx.c
  Fix bug #73035 (Out of bound when verify signature of tar phar in phar_parse_tarfile)
  Fix bug #73052 - Memory Corruption in During Deserialized-object Destruction
  Add check in fgetcsv in case sizeof(unit) != sizeof(size_t)
  Fix bug #73029 - Missing type check when unserializing SplArray
  Fix bug #72860: wddx_deserialize use-after-free
  Also fix overflow in wordwrap
  Fix bug #73007: add locale length check
  Add more checks for int overflow
  Fix bug #72928 - Out of bound when verify signature of zip phar in phar_parse_zipfile
  Fix various int size overflows.
2016-09-13 10:58:22 +02:00
Stanislav Malyshev 9cb5b7575b Merge branch 'PHP-7.1'
* PHP-7.1: (23 commits)
  Fix bug #72293 - Heap overflow in mysqlnd related to BIT fields
  Fix bug #72293 - Heap overflow in mysqlnd related to BIT fields
  I don't think 8cceb012a7 is needed
  Fix test
  Add check in fgetcsv in case sizeof(unit) != sizeof(size_t)
  Fix bug #73065: Out-Of-Bounds Read in php_wddx_push_element of wddx.c
  Fix bug #73035 (Out of bound when verify signature of tar phar in phar_parse_tarfile)
  Fix bug #73052 - Memory Corruption in During Deserialized-object Destruction
  Fix bug #73029 - Missing type check when unserializing SplArray
  Fix bug #72860: wddx_deserialize use-after-free
  Fix bug #73007: add locale length check
  Fix bug #72928 - Out of bound when verify signature of zip phar in phar_parse_zipfile
  sync NEWS
  Revert "Merge branch 'PHP-5.6' into PHP-7.0"
  Merge branch 'PHP-5.6' into PHP-7.0
  Merge branch 'PHP-5.6' into PHP-7.0
  Revert "Revert "Merge branch 'PHP-5.6' into PHP-7.0""
  fix version
  sync NEWS
  Fix bug #72957
  ...
2016-09-12 21:11:01 -07:00
Xinchen Hui 40f0184564 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #73067 (__debugInfo crashes when throwing an exception)
2016-09-13 10:59:41 +08:00
Adam Baratz 409ff32463 Merge branch 'PHP-7.0'
* PHP-7.0:
  Never quote values as raw binary data
2016-09-12 17:36:33 -04:00
Christoph M. Becker abb90fbc34 Refactor according to libgd
Cf. <https://github.com/libgd/libgd/commit/a3016ad0>.
2016-09-12 22:37:32 +02:00
Christoph M. Becker 01e798fa36 Merge branch 'PHP-7.1' 2016-09-12 13:45:26 +02:00
Christoph M. Becker e3e4932040 Merge branch 'PHP-7.1' 2016-09-12 12:50:45 +02:00
Christoph M. Becker ca5cfacffc Merge branch 'PHP-7.1' 2016-09-12 00:08:16 +02:00
Andrea Faulds 3cc9090101 Remove remaining zpp fallback code (master branch)
Follow-up to d690014bf3
2016-09-11 22:50:24 +01:00
Andrea Faulds 695176458f Merge branch 'PHP-7.1' 2016-09-11 22:46:48 +01:00
Christoph M. Becker 7b21230663 Merge branch 'PHP-7.1' 2016-09-11 23:08:44 +02:00
Christoph M. Becker f425a0d234 Merge branch 'PHP-7.1' 2016-09-11 18:44:59 +02:00
Christoph M. Becker 30d2f99526 Merge branch 'PHP-7.1' 2016-09-11 14:57:17 +02:00
Christoph M. Becker e878930c94 Merge branch 'PHP-7.1' 2016-09-11 14:20:13 +02:00
Anatol Belski 3d405fdc6b Merge branch 'PHP-7.1'
* PHP-7.1:
  fix bug category
  update NEWS
2016-09-11 13:21:28 +02:00
Christoph M. Becker ec09c790c5 Merge branch 'PHP-7.1' 2016-09-11 00:19:05 +02:00
Michael Orlitzky 086f9adc4d Use AX_CHECK_COMPILE_FLAG macro to check for -fvisibility=hidden support.
The existing check for -fvisibility=hidden support came from a time
when only GCC had it. The test for it used a regular expression to
parse the GCC major version from the output of `$CC --version`, and
would look for version 4 or greater.

The regular expression used to accomplish this is doomed, however,
since GCC can be built with a custom version string
(--with-pkgversion). Moreover, the $CC variable can be set to
something that confuses it but is otherwise valid. For example, it
would fail with CC=x86_64-pc-linux-gnu-gcc.

This commit fixes two aspects of the feature test. First, it no longer
limits the test to GCC. At least clang now supports the flag, and can
make use of it when GCC is its backend. Second, support for the flag
is tested directly, by attempting to pass it to the compiler, rather
than by parsing its version string. The latter is accomplished with a
new macro, AX_CHECK_COMPILE_FLAG, taken from the autoconf archive.
The new macro has been added to acinclude.m4, and the test stanza in
configure.in has been replaced with a single call to the new macro.

Note that the new macro calls AC_PREREQ(2.64) -- a more stringent
requirement than the existing AC_PREREQ(2.59) in configure.in. The
difference represents about six years of autoconf releases, from v2.59
in December of 2003 to v2.64 in July of 2009.

This problem was noticed by Brian Evans, who also suggested the fix.

PHP-Bug: 73062
2016-09-10 11:31:49 -04:00
Anatol Belski 6f793669b7 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  update NEWS
2016-09-10 11:05:19 +02:00
Anatol Belski 7eb38de04b Merge branch 'PHP-7.1'
* PHP-7.1:
  Bug #73058 crypt broken when salt is 'too' long
2016-09-10 02:50:12 +02:00
Nikita Popov 9a0bb40670 Remove handling for defined() and strlen() in opcache
These are converted by the compiler into DEFINED and STRLEN, no
need to handle the function forms.
2016-09-09 17:11:25 +02:00
Xinchen Hui 3a9d45a12b Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
2016-09-09 22:41:42 +08:00
Xinchen Hui 9862c8d847 Merge branch 'PHP-7.1'
* PHP-7.1:
  Don't optimize (string) cast on arrays
2016-09-09 22:41:17 +08:00
Xinchen Hui 1ecdca1f3a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed function info
2016-09-09 22:40:26 +08:00
Nikita Popov c7f83223bb Merge branch 'PHP-7.1' 2016-09-09 16:39:06 +02:00
Christoph M. Becker 04fb35172b Merge branch 'PHP-7.1' 2016-09-09 16:33:17 +02:00
Nikita Popov d1535da7e6 Merge branch 'PHP-7.1' 2016-09-09 16:03:21 +02:00
Nikita Popov a499cfc9cc Merge branch 'PHP-7.1' 2016-09-09 15:47:04 +02:00
Nikita Popov 53b3ef54d2 Merge branch 'PHP-7.1' 2016-09-09 15:31:54 +02:00
Christoph M. Becker 9c7ba794cf Merge branch 'PHP-7.1' 2016-09-09 14:48:27 +02:00
Christoph M. Becker 6baaa2bb1b Merge branch 'PHP-7.1' 2016-09-09 12:58:14 +02:00
Yasuo Ohgaki ce61f5e5d4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed Bug #68015 Session does not report invalid uid for files save handler
2016-09-09 11:40:25 +09:00
Christoph M. Becker fd5f0e49cf Fix broken test case
Patch provided by Charles R. Portwood II.
2016-09-08 20:04:10 +02:00
Christoph M. Becker 8bea911f79 Update UPGRADING wrt. [RFC]: Add Argon2 to password_* 2016-09-08 19:59:21 +02:00
Christoph M. Becker 6cd06d34d8 Fix skip messages 2016-09-08 18:55:40 +02:00
Anatol Belski a5c2940fe3 Merge branch 'master' of git.php.net:php-src 2016-09-08 17:53:21 +02:00
Anatol Belski bb89f75f07 Merge branch 'PHP-7.1'
* PHP-7.1:
  backport 59444347 and 3d7343f6
2016-09-08 17:51:24 +02:00
Christoph M. Becker 1305fdaa3b Merge branch 'pull-request/1997' 2016-09-08 17:00:07 +02:00
Yasuo Ohgaki a85024ff91 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug26639.phpt
2016-09-08 14:11:37 +09:00
Yasuo Ohgaki 8c26b0a6d2 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix Bug #72992 mbstring.internal_encoding doesn't inherit default_charset
2016-09-08 13:33:07 +09:00
Dmitry Stogov 8cce8172af Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed type inference bug
2016-09-07 11:36:44 +03:00
Nikita Popov 5fccf64956 Merge branch 'PHP-7.1' 2016-09-06 22:20:25 +02:00
Christoph M. Becker fcc6f2df59 Merge branch 'PHP-7.1' 2016-09-06 14:15:05 +02:00
Nikita Popov 2b71c98b3b Merge branch 'PHP-7.1' 2016-09-06 13:00:39 +02:00
Christoph M. Becker dec8c7e9d8 Merge branch 'PHP-7.1' 2016-09-06 12:20:20 +02:00
Yasuo Ohgaki 98bc11b0cd Fix memleak. 2016-09-06 18:34:52 +09:00
Oleg Efimov ba65b37b26 Allow to configure php-fpm slow log trace callers limit 2016-09-06 12:27:57 +03:00
Yasuo Ohgaki 96e59a200e Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed Bug #66964 mb_convert_variables() cannot detect recursion
2016-09-06 18:22:04 +09:00
Yasuo Ohgaki 2605ceeaca Added array parameter support to mb_convert_encoding() 2016-09-06 18:20:24 +09:00
Stanislav Malyshev ddce37b199 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #72785 - allowed_classes only applies to outermost unserialize()
2016-09-05 19:57:49 -07:00
Christoph M. Becker b15de5c0dc Merge branch 'PHP-7.1' 2016-09-06 01:28:59 +02:00
Andrea Faulds 642526cc4e Merge branch 'PHP-7.1' 2016-09-05 22:13:42 +01:00
Julien Pauli d4beaea4a9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Updated NEWS
  Fixes #72590: Opcache restart with kill_all_lockers does not work
2016-09-05 17:04:31 +02:00
Nikita Popov daa2b75c76 Fix some sizeof(zend_long) > sizeof(size_t) issues
Fix a couple of mistakes that are only relevant if
sizeof(zend_long) > sizeof(size_t).

* Fix cast order in string offset check: Negation should happen
  after the (zend_long) cast, otherwise sign extension does not
  occur.
* Use Z_UL in zend_inference.
* Use aligned size for HT_USED_SIZE in zend_persist: The issue is
  that on x86-32 uint64_t is considered to be 4-aligned, so the
  alignment assumption does not hold.
2016-09-05 15:33:02 +02:00
David Walker 750f3d3f65 Improve getaddrinfo implementation
* Fix some leaks
* Improve some comparisons and casts
* Raise a notice when an unknown hint is provided
2016-09-05 14:27:31 +02:00
Nikita Popov b8b47ed49c Merge branch 'PHP-7.1'
[ci skip]
2016-09-05 14:23:54 +02:00
Christoph M. Becker cc8691cc4b Update UPGRADING wrt. commit c4fe264b 2016-09-05 11:27:46 +02:00
Julien Pauli 345a032769 Merge branch 'PHP-7.1'
* PHP-7.1:
  Updated NEWS
  Updated NEWS
  Updated NEWS
2016-09-05 10:19:29 +02:00
Julien Pauli 2fff8196a4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #72972, Bad filter for the flags FILTER_FLAG_NO_RES_RANGE and FILTER_FLAG_NO_PRIV_RANGE
2016-09-05 10:13:31 +02:00
Stanislav Malyshev 9470cdd4c3 Merge branch 'pull-request/1864'
* pull-request/1864:
  Tiny tweak for `$header` initialization, it should always be an array
  Minor tweaks
2016-09-05 00:51:01 -07:00
Stanislav Malyshev 28bc2d797e Merge branch 'pull-request/2025'
* pull-request/2025:
  Change the name of the second parameter of image writer functions
2016-09-05 00:44:01 -07:00
Stanislav Malyshev 6e7d4fdde4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Change the name of the second parameter of image writer functions
2016-09-05 00:43:52 -07:00
Stanislav Malyshev bd81216768 Merge branch 'pull-request/1958'
* pull-request/1958:
  Added editorconfig file
2016-09-05 00:41:57 -07:00
Stanislav Malyshev 3e69fa2ad1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added editorconfig file
2016-09-05 00:41:29 -07:00
Stanislav Malyshev 7abd0cada0 Merge branch 'pull-request/2018'
* pull-request/2018:
  Implement #47456: Missing PCRE option 'J'
2016-09-05 00:39:46 -07:00
Stanislav Malyshev 2213c43e17 Merge branch 'PHP-7.1'
* PHP-7.1:
  Implement #47456: Missing PCRE option 'J'
2016-09-05 00:39:06 -07:00
Stanislav Malyshev 20edfee907 Merge branch 'PHP-7.1'
* PHP-7.1:
  Recognize TDS versions 7.3 and 7.4
2016-09-05 00:29:24 -07:00
Stanislav Malyshev a482739cc0 Merge branch 'pull-request/2095'
* pull-request/2095:
  Use integer placeholders, since values can vary with the TDS version
2016-09-05 00:19:59 -07:00
Stanislav Malyshev c9b7d0d65b Merge branch 'PHP-7.1'
* PHP-7.1:
  Use integer placeholders, since values can vary with the TDS version
2016-09-05 00:19:39 -07:00
Stanislav Malyshev 013425fa37 Merge branch 'PHP-7.1'
* PHP-7.1:
  phpdbg: couple of network function return checks. Possible overflow when copy the socket_path configuration.
2016-09-04 23:24:36 -07:00
Stanislav Malyshev f856cdb32b Merge branch 'PHP-7.1'
* PHP-7.1:
  Same issue as #72926 in another place.
2016-09-04 20:59:00 -07:00
Stanislav Malyshev fca8c2772b Merge branch 'PHP-7.1'
* PHP-7.1:
  Sync fix for bug #72910 with current upstream
2016-09-04 19:16:05 -07:00
Christoph M. Becker 880c13cd03 Merge branch 'PHP-7.1' 2016-09-04 16:53:45 +02:00
Nikita Popov c0e9ecd558 Merge branch 'PHP-7.1' 2016-09-04 14:28:47 +02:00
Nikita Popov e0e5063173 Drop some pieces of commented-out code 2016-09-04 12:56:06 +02:00
Nikita Popov bbdff7ea24 Sync convert_to_null with VM cast behavior
Do not call cast_object, this is useless and we haven't been doing
it in the VM as of 7.0.
2016-09-04 12:36:16 +02:00
Nikita Popov bbe0cca221 Drop SXE_ELEMENT_BY_NAME
Effectively commented out code
2016-09-04 12:31:06 +02:00
Nikita Popov f1fc531e74 Drop unnecessary macro redefinition 2016-09-04 12:28:00 +02:00
Nikita Popov 57180cd306 Merge branch 'PHP-7.1' 2016-09-03 23:31:20 +02:00
Christoph M. Becker 5b011b0d8a Remove support for ORIGINAL_LIB_JPEG
This had already been removed in GD 2.1.0, and wouldn't compile anyway.
2016-09-03 21:33:40 +02:00
Christoph M. Becker ee86b5c254 Merge branch 'PHP-7.1' 2016-09-03 20:11:15 +02:00
Anatol Belski 950a4ef0e9 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak and error check order
2016-09-03 17:05:28 +02:00
Christoph M. Becker af69021f67 Merge branch 'PHP-7.1' 2016-09-03 14:01:39 +02:00
Christoph M. Becker 2f6d3e914e Merge branch 'PHP-7.1' 2016-09-03 12:01:15 +02:00
Christoph M. Becker 2c91684394 Replace dirname(__FILE__) with __DIR__ in tests 2016-09-03 00:56:09 +02:00
Christoph M. Becker f2ee4dec99 Merge branch 'PHP-7.1' 2016-09-03 00:41:33 +02:00
Anatol Belski 54ef995ed6 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix double free
2016-09-03 00:06:36 +02:00
Anatol Belski 5a0b45ab10 Merge branch 'PHP-7.1'
* PHP-7.1:
  improve fix
  fix leak
  fix leak
2016-09-02 23:55:22 +02:00
Christoph M. Becker 272ba2b738 Update UPGRADING wrt. RFC: Implement socket_getaddrinfo() 2016-09-02 20:19:09 +02:00
Christoph M. Becker 3a2286422e Merge branch 'pull-request/2078' 2016-09-02 20:12:55 +02:00
Anatol Belski 8bf4eb461a Merge branch 'PHP-7.1'
* PHP-7.1:
  Add skipifs to some mb path tests
  fix leak
  fix mem leak
2016-09-02 19:47:08 +02:00
Christoph M. Becker 0bf11d1e71 Implement FAST_ZPP support for imagecolorat() and imagesetpixel()
These functions may be used in tight loops to do image manipulation in
userland. Using FAST_ZPP is supposed to bring considerable performance
improvements in this case; we've been able to measure up to 25%.
2016-09-02 19:06:26 +02:00
Christoph M. Becker a565f06d89 Merge branch 'PHP-7.1' 2016-09-02 18:00:06 +02:00
Julien Pauli 94ed034827 Revert "Fixes #52384: Adds parameter value to dumped output. Also adds output flag indicating presence of PDO::PARAM_INPUT_OUTPUT."
This reverts commit 04115b4e3f.
2016-09-02 17:57:17 +02:00
Julien Pauli 0dbcdceb28 Revert "PHP 7 compat"
This reverts commit 24a57ee03b.
2016-09-02 17:57:09 +02:00
Christoph M. Becker 67153d644d Fix typo 2016-09-02 17:34:11 +02:00
Julien Pauli 85ff5f9572 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix warning about sign-mismatch comparisons
2016-09-02 17:02:43 +02:00
Julien Pauli 24a57ee03b PHP 7 compat 2016-09-02 17:02:39 +02:00
Bishop Bettini 04115b4e3f Fixes #52384: Adds parameter value to dumped output. Also adds output flag indicating presence of PDO::PARAM_INPUT_OUTPUT.
Conflicts:
	ext/pdo/pdo_stmt.c
2016-09-02 17:02:39 +02:00
Stanislav Malyshev 3a53194da9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Fix closure tests using ReflectionType::__toString()"
  Revert "Append \ to class name returned from ReflectionType::__toString()"
2016-09-01 23:29:45 -07:00
Stanislav Malyshev 9ca79ad832 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #72910
  5.6.27 will be next
2016-09-01 23:29:34 -07:00
Yasuo Ohgaki b651b96738 Allow array input for mb_check_encoding() 2016-09-02 14:18:34 +09:00
Anatol Belski edc4de58b7 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix useless assignment
  avoid needless function call
  remove useless assignment
  remove unused assignment
  rewrite the getcwd part
  fix leak
  fix unused assignment
  remove duplicated symbol
2016-09-01 23:54:33 +02:00
Remi Collet 72ac143f9f Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert 	39587c4817 	8b7f594a2b Because of 	24fdffdacb
2016-09-01 15:23:35 +02:00
Nikita Popov b25d6b3c8a Merge branch 'PHP-7.1' 2016-09-01 13:01:58 +02:00
Nikita Popov 0ac3b46212 Merge branch 'PHP-7.1'
[skip ci]
2016-09-01 12:58:41 +02:00
Xinchen Hui 4b1bc2bd29 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #72982 (Memory leak in zend_accel_blacklist_update_regexp() function)
  Update NEWS and UPGRADING
  Revert "Revert "Implement RFC Add session_gc() https://wiki.php.net/rfc/session-gc""
  Revert "Revert "Merge RFC https://wiki.php.net/rfc/session-create-id""
  Revert "Revert "Add tests""
  Revert "Fix NEWS"
2016-09-01 12:11:39 +08:00
Yasuo Ohgaki a3c162665d Revert "Update UPGRADING"
This reverts commit 567f19dd89.
2016-09-01 10:42:03 +09:00
Yasuo Ohgaki 991d66052b Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #72940 properly. Reduce needless branches
2016-09-01 08:10:35 +09:00
Yasuo Ohgaki 567f19dd89 Update UPGRADING 2016-09-01 05:56:09 +09:00
Davey Shafik 6b16e8f3c1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS for 7.1.0RC2
2016-08-31 10:41:10 -07:00
Christoph M. Becker b51dca5eb4 Merge branch 'PHP-7.1' 2016-08-31 16:52:37 +02:00
Christoph M. Becker 3877e127f9 Merge branch 'PHP-7.1' 2016-08-31 14:55:58 +02:00
Christoph M. Becker b0eeb33f73 Merge branch 'PHP-7.1' 2016-08-31 14:33:43 +02:00
Yasuo Ohgaki 61769e275b Merge branch 'PHP-7.1'
* PHP-7.1:
  Add tests
2016-08-31 21:03:38 +09:00
Yasuo Ohgaki ef8004db3d Merge branch 'PHP-7.1'
* PHP-7.1:
  Merge RFC https://wiki.php.net/rfc/session-create-id
2016-08-31 20:34:43 +09:00
Anatol Belski 1dac6c7b96 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync tests
2016-08-31 12:27:14 +02:00
Anatol Belski 40b49a7f9e Merge branch 'PHP-7.1'
* PHP-7.1:
  add more defs for resource alloc/dealloc
  add yet one define
2016-08-31 12:11:19 +02:00
Anatol Belski c563db6b44 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Implement \ArgumentCountError exception
2016-08-31 12:07:38 +02:00
Nikita Popov abe3ce511f Merge branch 'PHP-7.1' 2016-08-30 18:07:28 +02:00
Nikita Popov 358c9e545f Merge branch 'PHP-7.1' 2016-08-30 17:21:42 +02:00
Christoph M. Becker 4c75b00025 Merge branch 'PHP-7.1' 2016-08-30 15:13:30 +02:00
Anatol Belski 4562ace9d6 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix typo
  prepare for next
2016-08-30 14:16:56 +02:00
Nikita Popov 10ca6884da Merge branch 'PHP-7.1' 2016-08-30 13:45:58 +02:00
Nikita Popov 7782fd1717 Merge branch 'PHP-7.1' 2016-08-30 13:06:38 +02:00
Nikita Popov f90f1f9cf1 Merge branch 'PHP-7.1' 2016-08-30 10:56:25 +02:00
Yasuo Ohgaki 60ec8dcc11 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72940 SID always return "name=ID", even if session cookie exist
2016-08-30 15:59:53 +09:00
Christoph M. Becker 2d72fcc5cd Merge branch 'PHP-7.1' 2016-08-30 02:28:37 +02:00
Christoph M. Becker af9cde0f71 Merge branch 'PHP-7.1' 2016-08-30 01:19:54 +02:00
Anatol Belski 41b502c8c7 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix HANDLE leak
2016-08-29 21:49:28 +02:00
Anatol Belski 9a7976526b Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  update NEWS
2016-08-29 21:26:36 +02:00
Anatol Belski 2a71140d54 Merge branch 'PHP-7.1'
* PHP-7.1:
  ensure null termination
2016-08-29 21:16:24 +02:00
Anatol Belski dc8be198cf Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72703 Out of bounds global memory read in BF_crypt triggered by password_verify
2016-08-29 20:35:16 +02:00
Dmitry Stogov 73d497a865 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  fix double free
2016-08-29 20:37:15 +03:00
Dmitry Stogov 8d533934e3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Allow optional splitting of basic blocks at RECV/RECV_INIT opcodes.
2016-08-29 20:36:08 +03:00
Anatol Belski 7632610926 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix double free
2016-08-29 19:34:43 +02:00
Anatol Belski d3321e0370 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix double free
2016-08-29 18:58:15 +02:00
Anatol Belski f04687da84 Merge branch 'PHP-7.1'
* PHP-7.1:
  add note to UPGRADING.INTERNALS
2016-08-29 18:38:23 +02:00
Anatol Belski 5101bd026c Merge branch 'PHP-7.1'
* PHP-7.1:
  extend help message
2016-08-29 18:25:38 +02:00
Anatol Belski 8bb2dd8027 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak
2016-08-29 18:08:31 +02:00
Anatol Belski 90c38299fd Merge branch 'PHP-7.1'
* PHP-7.1:
  fix search path
  support also cppcheck for static analyze
2016-08-29 17:47:21 +02:00
Anatol Belski 646d3f66a3 Merge branch 'PHP-7.1'
* PHP-7.1:
  add error check and fix leak
  fix leak
2016-08-29 17:26:41 +02:00
Jakub Zelenka 9580f5da56 Merge branch 'PHP-7.1' 2016-08-29 15:19:10 +01:00
Jakub Zelenka a2a0c0de69 Merge branch 'PHP-7.1' 2016-08-29 15:03:14 +01:00
Anatol Belski 1e3012281f Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak
2016-08-29 15:44:59 +02:00
Anatol Belski 1ac5564c65 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix possible memory leak
2016-08-29 15:30:49 +02:00
Anatol Belski 3e938cd8a9 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix dealloc mismatch
2016-08-29 13:49:20 +02:00
Dmitry Stogov 6318c80347 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72944 (Null pointer deref in zval_delref_p).
2016-08-29 12:15:37 +03:00
George Wang 698b88fb17 Merge branch 'PHP-7.1' 2016-08-28 22:32:42 -04:00
Yasuo Ohgaki 07d1f0c912 Merge branch 'PHP-7.1'
* PHP-7.1:
  Implement RFC Add session_gc() https://wiki.php.net/rfc/session-gc
2016-08-29 05:58:33 +09:00
Anatol Belski d2ac2cd40d Merge branch 'PHP-7.1'
* PHP-7.1:
  extend help msg
  fix leak
  extend clang vs compat options
  fix leak
  integrate clang analyzer
2016-08-28 21:20:31 +02:00
Xinchen Hui 727571c630 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72936 (Zend API's zend_symtable_str_update() asserts key should end with '\0')
2016-08-29 00:11:09 +08:00
Charles R. Portwood II 35a74b9e4a Fixing typo in tests 2016-08-27 21:57:09 -05:00
Anatol Belski f407707bd6 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak
  add parentheses
  fix clang compat
  fix leak
2016-08-27 22:30:06 +02:00
Christoph M. Becker 534598894c Merge branch 'PHP-7.1' 2016-08-27 01:32:23 +02:00
Anatol Belski e6b9446301 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak
2016-08-26 22:05:50 +02:00
Christoph M. Becker 22a88d5e9a Merge branch 'PHP-7.1' 2016-08-26 18:52:37 +02:00
Xinchen Hui 5ac49731cf Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72943 (assign_dim on string doesn't reset hval)
2016-08-26 18:33:10 +08:00
Anatol Belski 9950485d32 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  pdo_dblib: stringify uniqidentifier field
2016-08-25 19:46:16 +02:00
Christoph M. Becker f2ed298506 Merge branch 'PHP-7.1' 2016-08-25 18:48:05 +02:00
Anatol Belski 8adddabbeb Merge branch 'PHP-7.1'
* PHP-7.1:
  fix check for args by ref
2016-08-25 18:10:18 +02:00
Christoph M. Becker fe13ee05bd Merge branch 'PHP-7.1' 2016-08-25 16:55:46 +02:00
Anatol Belski 7b44d60dd6 Merge branch 'PHP-7.1'
* PHP-7.1:
  backport relevant part from bug #72858 patch in 7.0
2016-08-25 12:54:05 +02:00
Anatol Belski 36f2c8249b Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  Fixed bug #72922 COM called from PHP does not return out parameters
2016-08-25 12:14:54 +02:00
Xinchen Hui aefd3e4d8b Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove redundant \t
2016-08-25 13:29:55 +08:00
Christoph M. Becker 502fe5d0e5 Merge branch 'pull-request/2094' 2016-08-25 01:44:38 +02:00
Adam Baratz 037ddd0541 Use integer placeholders, since values can vary with the TDS version 2016-08-24 18:44:55 -04:00
Adam Baratz 0785a5e6dc Fix message typos in PDO tests 2016-08-24 18:39:37 -04:00
David Walker d59af68fd9 Make sure to copy the right amount of mem over. IPv6 can be larger than struct sockaddr 2016-08-24 11:22:05 -06:00
Aaron Piotrowski 6dccadaac6 Remove accidental NEWS and UPGRADING entries
Merge mistake from PHP-7.1.
2016-08-23 11:49:57 -05:00
Bob Weinand 600bf56d88 Merge branch 'PHP-7.1' 2016-08-23 18:44:08 +02:00
Dmitry Stogov 7edaed6fba Merge branch 'PHP-7.1'
* PHP-7.1:
  op_arrays may be optimized independetly and "script" might be NULL
2016-08-23 13:18:51 +03:00
Dmitry Stogov 6e7c37228f Merge branch 'PHP-7.1'
* PHP-7.1:
  Don't keep dangling pointers.
2016-08-23 12:59:23 +03:00
Dmitry Stogov 0e3e3ec7b6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added tests and NEWS entry Fixed bug #72598 (Reference is lost after array_slice())
2016-08-23 12:16:36 +03:00
Dmitry Stogov c1e0c665f5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Run ext/opcache/tests/*.phpt by default
2016-08-23 11:51:52 +03:00
Dmitry Stogov 93b8592092 Merge branch 'PHP-7.1'
* PHP-7.1:
  call_user_func(_array): Don't abort on reference warning
2016-08-23 10:56:55 +03:00
Xinchen Hui f2dd85606b Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  sync shm* implementation signatures with POSIX
2016-08-23 11:33:12 +08:00
Xinchen Hui 7d079253b8 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed tests
2016-08-23 11:32:30 +08:00
Anatol Belski becc5cd11b sync shm* implementation signatures with POSIX 2016-08-23 00:27:17 +02:00
Xinchen Hui 6790932eaa Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72920 (Accessing a private constant using constant() creates an exception AND warning)
2016-08-22 23:44:50 +08:00
Dmitry Stogov d79492c218 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed CFG construction for stackless execution (split basic blocks after calls)
2016-08-22 16:49:31 +03:00
Yasuo Ohgaki 7cb784fcca Merge branch 'PHP-7.1'
* PHP-7.1:
  Adjust test so that it passes on more restrictive filesystems
2016-08-22 17:01:40 +09:00
Sara Golemon fd8e203fa2 Add .gitignore for fpm generated files 2016-08-21 12:53:01 -07:00
Jakub Zelenka 745bf979cd Merge branch 'PHP-7.1' 2016-08-21 20:29:55 +01:00
Christoph M. Becker 2c74a5282e Merge branch 'PHP-7.1' 2016-08-21 20:04:18 +02:00
Anatol Belski e8ae2ba122 Merge branch 'PHP-7.1'
* PHP-7.1:
  extend readdir utf-8 name test
2016-08-21 18:22:49 +02:00
Christoph M. Becker f2d26f917c Merge branch 'PHP-7.1' 2016-08-21 17:52:16 +02:00
Christoph M. Becker 222cf29921 Merge branch 'PHP-7.1' 2016-08-21 16:21:44 +02:00
Xinchen Hui 9121c872e9 Merge branch 'PHP-7.1'
* PHP-7.1:
  This is unecessary for 7.1 (IS_ERROR is an internal type)
  Fixed bug  #72911 (Memleak in zend_binary_assign_op_obj_helper)
  Fixed bug #72907 (null pointer deref, segfault in gc_remove_zval_from_buffer (zend_gc.c:260))
2016-08-21 17:40:45 +08:00
Aaron Piotrowski 83bdcf075b Merge branch 'PHP-7.1'
# Conflicts:
#	NEWS
#	UPGRADING
2016-08-21 00:34:00 -05:00
Anatol Belski 0eac646ad1 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix TS issues with url rewrite globals
2016-08-20 22:47:40 +02:00
Nikita Popov 329435611f Merge branch 'PHP-7.1' 2016-08-20 19:00:50 +02:00
Christoph M. Becker 70e6b9cc3f Merge branch 'PHP-7.1' 2016-08-20 13:01:16 +02:00
Christoph M. Becker 9cb560f158 Merge branch 'PHP-7.1' 2016-08-20 03:17:14 +02:00
Christoph M. Becker 754a3defb8 Merge branch 'PHP-7.1' 2016-08-20 02:28:57 +02:00
Anatol Belski 14987f2423 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  update NEWS
  Fixed bug #72852 imap_mail null dereference
2016-08-20 01:39:14 +02:00
Christoph M. Becker 2c6f88aab0 Fix dba configuration for Windows
To be able to build the dba extension on Windows, libdb was required. This
is contrary to *nix where each handler can be configured individually. We
only do minimal modifications, instead of adjusting the Windows configuration
to match the *nix configuration, for now.
2016-08-19 16:45:37 +02:00
Christoph M. Becker 62896a89a5 Merge branch 'PHP-7.1' 2016-08-19 16:40:50 +02:00
Anatol Belski f9b3faa783 Merge branch 'PHP-7.1'
* PHP-7.1:
  Improve fix for bug #72837
2016-08-19 12:52:51 +02:00
Christoph M. Becker c8495062cf Merge branch 'PHP-7.1' 2016-08-19 11:51:25 +02:00
Xinchen Hui 1c187f6e0a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72888 (Segfault on clone on splFileObject)
  Sync NEWS
2016-08-19 11:28:48 +08:00
Nikita Popov 6416312f9b Merge branch 'PHP-7.1' 2016-08-19 00:34:38 +02:00
Christoph M. Becker 235e7001f0 Merge branch 'PHP-7.1' 2016-08-18 18:12:50 +02:00
Anatol Belski e0866b1374 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-08-18 17:54:04 +02:00
Anatol Belski 6b12c6a417 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix format
2016-08-18 16:31:09 +02:00
Anatol Belski de570f5017 Merge branch 'PHP-7.1'
* PHP-7.1:
  avoid other efforts if memory mapping fails
2016-08-18 16:02:22 +02:00
Julien Pauli 3bb3ca339e Merge branch 'PHP-7.1'
* PHP-7.1:
  Updated UPGRADING about function call args
2016-08-18 15:46:26 +02:00
Anatol Belski 4016c1973f Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2016-08-18 15:36:38 +02:00
Anatol Belski 61bc6618b7 Merge branch 'PHP-7.1'
* PHP-7.1:
  map ell the err code
2016-08-18 15:31:36 +02:00
Anatol Belski 634b382e47 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72858 shm_attach null dereference
2016-08-18 14:41:08 +02:00
Ferenc Kovacs 4fa7e875be Merge branch 'PHP-7.1' 2016-08-18 13:05:28 +02:00
Nikita Popov 59edefa5dc Update GIT-RULES release list
[ci skip]
2016-08-18 12:31:09 +02:00
Xinchen Hui dd16fea06a Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove leftover of previous change
2016-08-18 15:45:50 +08:00
Xinchen Hui eefe3ec786 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed segfault introduced in 447e57a1e1
  Remove outdate checks

Conflicts:
	ext/opcache/Optimizer/zend_inference.c
2016-08-18 15:39:23 +08:00
Stanislav Malyshev 9468016a5b Update support - Stefan is no longer maintaining FTP 2016-08-18 00:03:23 -07:00
Christopher Jones ab3ec73311 Merge branch 'PHP-7.1' 2016-08-18 15:47:55 +10:00
Christopher Jones 00d683cef2 Merge branch 'PHP-7.1' 2016-08-18 13:54:40 +10:00
Anatol Belski b97dc0bab4 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2016-08-18 00:20:48 +02:00
Anatol Belski 2198b1c985 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync NEWS
2016-08-18 00:17:13 +02:00
Kalle Sommer Nielsen fea6d5d18f Make this inline like the many other variants we got of this function (win32/time.c, Zend/zend_virtual_cwd.c, ...) 2016-08-17 23:52:44 +02:00
Christoph M. Becker 2eaf6ce5d8 Merge branch 'PHP-7.1' 2016-08-17 22:14:33 +02:00
Kalle Sommer Nielsen 24d0fcf8bc Merge branch 'PHP-7.1' 2016-08-17 21:09:46 +02:00
Kalle Sommer Nielsen af8283dd50 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Further fix bug #72627 from Stas
2016-08-17 21:01:05 +02:00
Kalle Sommer Nielsen 15b7b1a510 Further fix bug #72627 from Stas
There is another code path with almost the same identical code that also leaks memory in case of invalid reads, fix this as well
2016-08-17 20:51:50 +02:00
Charles R. Portwood II 0e3b3b031f Changing m_cost and t_cost to memory_cost and time_cost
- Updating tests
- Adjusting cost factors:
 - memory_cost = 1 MiB
 - time_cost = 2
 - threads = 2
2016-08-17 13:45:06 -05:00
Kalle Sommer Nielsen 5b30f08809 Fixed master build, decls first please! 2016-08-17 20:33:07 +02:00
Christoph M. Becker bb904f3e31 Merge branch 'PHP-7.1' 2016-08-17 19:10:13 +02:00
Christoph M. Becker 3a1fb790ac Merge branch 'PHP-7.1' 2016-08-17 18:37:55 +02:00
Anatol Belski cec9fb1717 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix char * vs zend_string *
2016-08-17 13:24:07 +02:00
Christoph M. Becker 505dd776be Merge branch 'PHP-7.1' 2016-08-17 12:50:16 +02:00
Anatol Belski f89dd84f12 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix tests
2016-08-17 12:41:54 +02:00
Xinchen Hui 3051a6a7f8 Merge branch 'PHP-7.1'
* PHP-7.1:
  Avoid duplicating string
2016-08-17 18:20:07 +08:00
Anatol Belski d1fb4f9bb1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "fix tests"
2016-08-17 12:08:19 +02:00
Anatol Belski b2cbcf1fa8 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak
2016-08-17 11:53:14 +02:00
Xinchen Hui 660d8f1622 Merge branch 'PHP-7.1'
* PHP-7.1: (49 commits)
  Update NEWs
  Update NEWs
  Unused label
  Fixed bug #72853 (stream_set_blocking doesn't work)
  fix test
  Bug #72663 - part 3
  Bug #72663 - part 2
  Bug #72663 - part 1
  Update NEWS
  BLock test with memory leak
  fix tests
  Fix TSRM build
  Fix bug #72850 - integer overflow in uuencode
  Fixed bug #72849 - integer overflow in urlencode
  Fix bug #72848 - integer overflow in quoted_printable_encode caused heap corruption
  Fix bug #72838 - 	Integer overflow lead to heap corruption in sql_regcase
  Fix bug #72837 - integer overflow in bzdecompress caused heap corruption
  Fix bug #72836 - integer overflow in base64_decode caused heap corruption
  Fix for bug #72807 - do not produce strings with negative length
  Fix for bug #72790 and bug #72799
  ...
2016-08-17 17:15:11 +08:00
Xinchen Hui 63380a7b9c Merge branch 'PHP-7.1'
* PHP-7.1:
  Unused var
2016-08-17 11:18:57 +08:00
Anatol Belski cf3a798cf5 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-08-17 01:44:58 +02:00
Christoph M. Becker f659b1a14e Merge branch 'PHP-7.1' 2016-08-17 01:23:45 +02:00
Anatol Belski 8666d185cd Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
  fix blocking pipe stream option value
2016-08-17 00:59:25 +02:00
Anatol Belski 9a2f2a6412 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test cleanup
2016-08-16 22:56:05 +02:00
Anatol Belski 86dab127dc Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #72857 stream_socket_recvfrom read access violation
2016-08-16 22:51:36 +02:00
Nikita Popov 339cafa035 Merge branch 'PHP-7.1' 2016-08-16 21:07:46 +02:00
Aaron Piotrowski 40dcc1b57c Merge branch 'PHP-7.1' 2016-08-16 13:06:06 -05:00
Aaron Piotrowski 4e36c01adb Merge branch 'PHP-7.1' 2016-08-16 11:28:44 -05:00
Nikita Popov 70eeafa326 Merge branch 'PHP-7.1' 2016-08-16 15:51:32 +02:00
Nikita Popov befca6a283 Merge branch 'PHP-7.1' 2016-08-16 12:43:46 +02:00
Dmitry Stogov 0980017ff4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed use after free
2016-08-16 11:45:13 +03:00
Christopher Jones d7604090b7 Merge branch 'PHP-7.1' 2016-08-16 17:00:06 +10:00
Nikita Popov 89f6377971 Return true for is_object() on Incomplete_Class 2016-08-15 23:13:09 +02:00
Nikita Popov 34824b70f8 gettype(): Use "resource (closed)" instead of "unknown type" 2016-08-15 23:12:24 +02:00
Nikita Popov 0374a98e14 Scrub UPGRADING and UPGRADING.INTERNALS
There were already some master-only entries in there -- I hope I
didn't remove anything that was supposed to be there.

[skip ci]
2016-08-15 23:01:19 +02:00
Nikita Popov 777d11a8cc Merge branch 'PHP-7.1' 2016-08-15 22:50:46 +02:00
Nikita Popov 4219626ac5 Merge branch 'PHP-7.1' 2016-08-15 22:43:33 +02:00
Xinchen Hui ad1fda3dc9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72846 (getConstant for a array constant with constant values returns NULL/NFC/UKNOWN)
2016-08-15 23:25:19 +08:00
Anatol Belski 7cca39e18b Merge branch 'PHP-7.1'
* PHP-7.1:
  put missing prototype and fix ts build
2016-08-14 22:40:51 +02:00
Jakub Zelenka f13fd9e72a Merge branch 'PHP-7.1' 2016-08-14 20:44:08 +01:00
Anatol Belski 42906d3211 Merge branch 'master' of git.php.net:php-src 2016-08-14 21:01:21 +02:00
Anatol Belski 2379e96657 Merge branch 'PHP-7.1'
* PHP-7.1:
  update UPGRADING
  update NEWS
  update NEWS
2016-08-14 20:56:10 +02:00
Jakub Zelenka fba632e6d0 Merge branch 'PHP-7.1' 2016-08-14 19:37:29 +01:00
Anatol Belski 004cb3cdfe Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72759 Regression in pgo_pgsql
2016-08-14 20:07:07 +02:00
Jakub Zelenka 6dbe436244 Merge branch 'PHP-7.1' 2016-08-14 14:03:08 +01:00
Masaki Kagaya c28a6f44bb add declaration of functions 2016-08-14 08:09:14 +09:00
Danack beb1190996 Fixed ext/standard test that calls get_class() 2016-08-13 22:53:03 +01:00
Masaki Kagaya f49a5a67cf delete duplicate functions 2016-08-14 06:29:23 +09:00
Danack 0fbaf3c820 Add test. 2016-08-13 21:59:31 +01:00
Nikita Popov 84a94ca62f Merge branch 'PHP-7.1' 2016-08-13 21:44:00 +02:00
Christoph M. Becker e47f21bb0f Merge branch 'PHP-7.1' 2016-08-13 16:36:06 +02:00
Christoph M. Becker b8f528f78e Merge branch 'PHP-7.1' 2016-08-13 12:13:45 +02:00
Christoph M. Becker abfe712f1a Merge branch 'PHP-7.1' 2016-08-13 01:34:33 +02:00
David Walker 7373ce9149 Fix #72733: Expose getaddrinfo C function, and supporting connect/bind
Feature request was to expose getaddrinfo().  I accomplish this
by having an array of resources that are the addrinfo structures.
The resources can be used in new functions to connect/bind, and
one function to examine the contents of the resource.
2016-08-12 11:29:34 -06:00
Christoph M. Becker 0254417082 Merge branch 'PHP-7.1' 2016-08-12 12:56:49 +02:00
Xinchen Hui 7ec53e8ff2 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWs
  Fixed bug #72813 (Segfault with __get returned by ref)
  Fix URL rewriter partially
2016-08-12 16:37:14 +08:00
Yasuo Ohgaki 66f0694c4a Merge branch 'PHP-7.1'
* PHP-7.1:
  Merge RFC: Session ID without hashing https://wiki.php.net/rfc/session-id-without-hashing
2016-08-12 12:31:45 +09:00
Danack 86aa1c784d Require parameter to be an object if passed. 2016-08-11 23:21:04 +01:00
Nikita Popov d4bbbc4aa6 Merge branch 'PHP-7.1' 2016-08-11 18:45:42 +02:00
Nikita Popov b6a69f239d Merge branch 'PHP-7.1' 2016-08-11 18:30:18 +02:00
Nikita Popov f6824ca400 Merge branch 'PHP-7.1' 2016-08-11 18:26:38 +02:00
Nikita Popov 852a5ff23c Fix typos 2016-08-11 17:57:58 +02:00
Anatol Belski 4a08836d47 fix borked interbase patch 2016-08-11 15:08:26 +02:00
Anatol Belski ddfbe07e28 Merge branch 'PHP-7.1'
* PHP-7.1:
  add missing chunk to support mb path in symlink()
  pull ps_title behind the logic to support the current codepage
  fix typo
  add missing mb path support chunk
2016-08-11 14:49:18 +02:00
Xinchen Hui a6090dc593 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  ReflectionType improvements
  Fix #72810. Add check for SKIP_ONLINE_TESTS
  msql > mysqli, use a better extension name as an example in php.ini, as we do not have msql support anymore (Sorry Rasmus!)
  Remove sql.safe_mode
2016-08-11 19:58:02 +08:00
Xinchen Hui 75017520c3 Check them in autoconf 2016-08-11 19:57:30 +08:00
Nikita Popov 0fdf28bbf4 Merge branch 'PHP-7.1' 2016-08-11 12:20:02 +02:00
Nikita Popov df9378d3e1 Merge branch 'PHP-7.1' 2016-08-11 12:01:55 +02:00
Xinchen Hui afd11643c3 Merge branch 'intrinsics_backport' of https://github.com/TazeTSchnitzel/php-src
* 'intrinsics_backport' of https://github.com/TazeTSchnitzel/php-src:
  Use checked add/sub intrinsics instead of asm for ++ and --
  Use checked arithmetic intrinsics instead of asm, when possible
2016-08-11 11:34:56 +08:00
Kalle Sommer Nielsen 9fc0a5e049 msql > mysqli, use a better extension name as an example in php.ini, as we do not have msql support anymore (Sorry Rasmus!) 2016-08-11 05:11:17 +02:00
Kalle Sommer Nielsen 197051f3ab Remove sql.safe_mode
This is one of the last old and odd deprecated settings we still have in PHP, it was never fully implemented in all the database extensions and should probably have been gone back in 5.4, along with safe_mode. Although if my memory strikes me right, mysql was also supporting it back then, but not mysqli.

So far only interbase was supporting this feature, and the removal of it causes two effects for interbase:
 - CREATE DATABASE is now allowed no matter
 - The default database set by php.ini (ibase.default_db) is no longer forced

http://php.net/ini.core#ini.sql.safe-mode
2016-08-11 05:06:55 +02:00
Kalle Sommer Nielsen 13e076f446 We do not need to check the return value of php_win32_init_gettimeofday() anymore, as the symbol is always going to be available to us 2016-08-11 04:35:51 +02:00
Kalle Sommer Nielsen 0baab6c051 Merge branch 'master' of git.php.net:php-src 2016-08-11 04:14:01 +02:00
Kalle Sommer Nielsen ff1a3cecae The call to FreeLibrary() should be within the if, so we don't pass INVALID_HANDLE_VALUE to it, in case LoadLibrary() fails 2016-08-11 04:13:34 +02:00
Yasuo Ohgaki 052e69e50a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix URL rewriter issues
2016-08-11 09:17:57 +09:00
Kalle Sommer Nielsen 36b050c2c5 Get rid of these slow calls to LoadLibrary()/GetProcAddress() calls on Windows, we require Windows Vista as bare minimum for PHP anyway, so it does not make any sense to do this slow emulation anyway.
GD:
 - PrintWindow() is available as of Windows XP, it requires linking to User32.lib, which config.w32 for ext/gd already.

CLI:
 - The borrowed functions from PostgreSQL to set the titles of the console window uses SetConsoleTitle() and GetConsoleTitle(), both are available as of Windows 2000 from Kernel32.lib which we already are linking against.

Standard:
 - The disk space utility functions uses GetDiskFreeSpaceExA() which is available as of Windows XP, again links to Kernel32.lib.
 - The symlink() PHP function uses CreateSymbolicLinkA() which is available from Windows Vista, again from Kernel32.lib.
 - php_get_windows_name() in info.c uses GetNativeSystemInfo() which is available as of Windows XP and GetProductInfo() which is available as of Windows Vista, both are again from Kernel32.lib.

Notes:
 - ext/interbase & ext/pdo_firebird uses GetProcAddress(), I'm not entirely sure how to handle this one.
 - ext/sqlite3, this is apart of the bundled libsqlite3, I don't really wanna play around with our bundled libs and make it a bigger issue for those who maintain and upgrade them.
 - ext/readline, the call to GetProcAddress() here does not do any system calls, so it is left as is.
 - win32/ioutil.c uses GetProcAddress(), but the function it attempts to load (PathCchCanonicalizeEx()) is only available from Windows 8 and greater (Pathcch.lib linkage).
 - win32/time.c uses GetSystemTimePreciseAsFileTime() which is available from Windows 8 and greater to get the current system date and time which the highest possible precision and falls back to GetSystemTimeAsFileTime() (available as of Windows 2000), again Kernel32.lib, the GetSystemTimePreciseAsFileTime() is left in a GetProcAddress().
2016-08-11 02:09:50 +02:00
Yasuo Ohgaki ec2dd0217d Merge branch 'PHP-7.1'
* PHP-7.1:
  Support "git worktree"
2016-08-11 08:10:08 +09:00
Leigh 42cf1a83fe Merge branch 'PHP-7.1' 2016-08-10 23:34:14 +01:00
Christoph M. Becker faea487eff Merge branch 'PHP-7.1' 2016-08-10 18:11:11 +02:00
Yasuo Ohgaki 3fcd8ac255 Fixed typo 2016-08-10 15:20:45 +09:00
Yasuo Ohgaki ee797e7ecc Update NEWS and UPGRADING 2016-08-10 14:53:27 +09:00
Yasuo Ohgaki 850a0b5fb6 Merge pull request #1098
Fix bug #69086 enhancement for mb_convert_encoding
2016-08-10 14:39:23 +09:00
Yasuo Ohgaki 8ad4ef98b6 pull-request/1099
Request #65081 - implemeting mb_scrub
2016-08-10 14:09:48 +09:00
Yasuo Ohgaki 087dcd9381 pull-request/1100
Request #65081 mb_chr() and mb_ord()

Added test cases and little optimization.
2016-08-10 11:32:10 +09:00
Yasuo Ohgaki 4a3188f093 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src: (1423 commits)
  Add NEWS
  Fix ASSERT logic
  Bugfix 72791: fix memory leak in PDO persistent connections
  Don't copy mime types in CLI server
  Class constant visibility modifiers are now supported
  Remove obsolete Id tags
  Bump version in OCI8 test
  Update NEWS
  Fixed bug #72788 (Invalid memory access when using persistent PDO connection)
  Remove typo'd commit
  Fix bug 72788: Invalid memory access when database_object_handle is undefined. Also fix memory leak in dbh_free when using persistent PDO connections.
  Swap min/max if min > max
  Allow min > max for mt_rand(). Bug #72784
  Replace dead branch with ZEND_ASSERT()
  Fix array_column() packed hash initialization
  Add test for bug #69107: finfo no longer detects PHP files
  check malloc result
  Implement #38992: invoke() and invokeArgs() static method calls should match
  Fix bug #55451
  Fix stream_socket_enable_crypto() test
  ...
2016-08-10 09:39:17 +09:00
Andrea Faulds 9bbbb1bd80 Use checked add/sub intrinsics instead of asm for ++ and -- 2016-08-10 00:46:05 +01:00
Andrea Faulds 0987737397 Use checked arithmetic intrinsics instead of asm, when possible 2016-08-10 00:46:05 +01:00
Keyur f41b69e814 Add NEWS 2016-08-09 18:18:32 +00:00
Keyur c7f0613666 Fix ASSERT logic 2016-08-09 18:16:58 +00:00
Keyur 1aca1771ff Bugfix 72791: fix memory leak in PDO persistent connections 2016-08-09 18:16:58 +00:00
Nikita Popov bf7d7ec48a Merge branch 'PHP-7.1' 2016-08-09 15:35:22 +02:00
Christoph M. Becker a55ea4f519 Merge branch 'PHP-7.1' 2016-08-09 11:55:30 +02:00
Christopher Jones e2e723b3f4 Merge branch 'PHP-7.1' 2016-08-09 16:14:53 +10:00
Christopher Jones 8a6a470a89 Merge branch 'PHP-7.1' 2016-08-09 16:01:46 +10:00
Xinchen Hui d13c3b1ee4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #72788 (Invalid memory access when using persistent PDO connection)
  Remove typo'd commit
  Fix bug 72788: Invalid memory access when database_object_handle is undefined. Also fix memory leak in dbh_free when using persistent PDO connections.
2016-08-09 11:33:38 +08:00
Leigh a5bec3a240 Merge branch 'PHP-7.1' 2016-08-08 22:33:18 +01:00
Leigh e78795e842 Merge branch 'PHP-7.1' 2016-08-08 22:18:08 +01:00
Andrea Faulds 863cdf627e Merge branch 'PHP-7.1' 2016-08-08 21:01:28 +01:00
Christoph M. Becker 5f6081e310 Merge branch 'PHP-7.1' 2016-08-08 18:57:14 +02:00
Nikita Popov cc13a56356 Merge branch 'PHP-7.1' 2016-08-08 18:48:32 +02:00
Anatol Belski e20e9c6998 Merge branch 'PHP-7.1'
* PHP-7.1:
  check malloc result
2016-08-08 12:18:57 +02:00
Christoph M. Becker dbf63cb98d Merge branch 'PHP-7.1' 2016-08-08 01:47:05 +02:00
Nikita Popov 61fb4f40aa Merge branch 'PHP-7.1' 2016-08-07 18:50:34 +02:00
Nikita Popov 38955e9e81 Merge branch 'PHP-7.1' 2016-08-07 18:38:49 +02:00
Nikita Popov 3dbb834993 Update php_version.h 2016-08-07 17:52:37 +02:00
Nikita Popov 1392e07cfc Merge branch 'PHP-7.1' 2016-08-07 17:47:17 +02:00
Kalle Sommer Nielsen 7cce4496e5 Note about the recent change to the WSA version check on Windows 2016-08-07 05:40:56 +02:00
Kalle Sommer Nielsen af56fed73b Fixed bug #71534 (Type confusion in exif_read_data() leading to heap overflow in debug mode)
Unlike the original patch, this does not return an unknown format in case an unsigned compatible type cannot be found (cases for SINGLE and DOUBLE removed), as these seems rare cases according to the inline comments.

Note, the test does not test if PHP is in debug mode, although the report originally states it only occurs there only.

The fix is based on a patch by hlt99 at blinkenshell dot org
2016-08-07 05:35:46 +02:00
Kalle Sommer Nielsen b0263db457 Added some extended info about ext/exif to phpinfo() 2016-08-07 05:11:40 +02:00
Kalle Sommer Nielsen 94cc0c8919 Remove void comment 2016-08-07 04:58:29 +02:00
Kalle Sommer Nielsen 8ac784ff13 Fix tests, although I was not able to reproduce these failures on an x86 build/Windows, this should hopefully make travis happy 2016-08-07 04:22:27 +02:00
Christopher Jones 5f0be8a3a5 Merge branch 'PHP-7.1' 2016-08-07 10:25:41 +10:00
Christopher Jones 2b79a75615 Merge branch 'PHP-7.1' 2016-08-07 10:21:46 +10:00
Christopher Jones 6daa9dec67 Merge branch 'PHP-7.1' 2016-08-07 10:02:53 +10:00
Sara Golemon 9c3865eb6a [ast] Fix exporting **= in expansion of assign op 2016-08-06 15:35:45 -07:00
Kalle Sommer Nielsen aabe1e0b1a Merge branch 'master' of git.php.net:php-src 2016-08-06 12:40:12 +02:00
Kalle Sommer Nielsen b944a7a549 NEWS + UPGRADING for recent EXIF additions 2016-08-06 12:39:05 +02:00
Kalle Sommer Nielsen 8fd640f957 Added support for Sigma/Foveon EXIF tags
Note, the tag_info_array is re-used for both SIGMA and FOVEON, as their IFD headers can differ
2016-08-06 12:37:10 +02:00
Kalle Sommer Nielsen 57faafeb89 Added support for Minolta EXIF tags 2016-08-06 12:31:01 +02:00
Kalle Sommer Nielsen 1456f6a447 Added support for PENTAX EXIF tags 2016-08-06 12:24:19 +02:00
Kalle Sommer Nielsen b147ef2bec Remove this redundant entry for Canon 2016-08-06 12:18:12 +02:00
Leigh 8def3ec6fc Merge branch 'PHP-7.1' 2016-08-06 11:17:10 +01:00
Kalle Sommer Nielsen a402d0bdab Added a warning in case --with-mp is combined with --enable-debug
This causes a D9030 since we specify a minimal build using /Gm in case we make a debug build
2016-08-06 11:00:22 +02:00
Kalle Sommer Nielsen 7813e9de11 Fixed bug #5453 (WSA cleanup executes before MSHUTDOWN)
This moves the WSACleanup() call to after zend_shutdown() in main.c, I did some testing and I could not find any issues with this. I don't expect this to cause any issues on Netware either, although untested as I do not have such an env available (do we even support Netware anymore? Last release was in 2009 and it is now discontinued)

Besides the movie, then this commit also contains a fix to the check of WSAStartup() where we don't actually confirm we get the desired version of the winsock.dll (We use 2.0).
2016-08-06 04:06:50 +02:00
Kalle Sommer Nielsen 25437255d7 Merge branch 'master' of git.php.net:php-src 2016-08-06 03:39:10 +02:00
Nikita Popov 324da6f765 Merge branch 'PHP-7.1' 2016-08-05 23:10:32 +02:00
Nikita Popov da2c2fb22f Merge branch 'PHP-7.1' 2016-08-05 19:56:48 +02:00
Nikita Popov f29149b419 Merge branch 'PHP-7.1' 2016-08-05 16:32:25 +02:00
Christoph M. Becker 67786d343a Merge branch 'PHP-7.1' 2016-08-05 13:25:30 +02:00
Kalle Sommer Nielsen 5db7f1ea7e pefree() these (with persistent=0), as internally in zend_multibyte.c they do the same, and at the same time also cast them to void pointers to silence the compiler warnings. 2016-08-05 11:17:26 +02:00
Kalle Sommer Nielsen b3124dbe12 Fix line endings, getting a little annoyed with VS' warning about mismatch 2016-08-05 11:12:51 +02:00
Kalle Sommer Nielsen 1740823864 Fixed bug #68547 (Exif Header component value check error) (Patch by sjh21a at gmail dot com)
This patch changes processing a little and causes some crafted tags to not be parsed and generate a warning.

This is a slight BC break from earlier versions, since it will no longer return the tags of that it was mismatching (see bug68799.phpt), namely the "WINXP" section and the "Author" tag is no longer returned due to this. Although this BC break is merely only for crafted tags, this can also have some real life effects on pictures re-saved from editors that can cause bad exif data writes, so lets keep it here.
2016-08-05 10:03:14 +02:00
Kalle Sommer Nielsen d9e4d5116b NEWS and UPGRADING for recent fixes and additions to ext/exif 2016-08-05 07:54:36 +02:00
Kalle Sommer Nielsen aaa136e25d Added support for Sony pictures in EXIF as per requested in bug #72735
Sony is a little more interesting, as it is have a large range of tags it support in different models. For now I have added all the tags found within the Exif.Sony1 namespace.
2016-08-05 07:45:02 +02:00
Kalle Sommer Nielsen 93c0e97602 Split this test up to a 64bit version for more coverage
The 32bit version does not have the 64bit float values here, we already have 3 float tests which I guess will do for now at least
2016-08-05 07:15:34 +02:00
Nikita Popov 65b6f2013b Fix exif_imagetype() test after zpp change 2016-08-04 22:27:42 +02:00
Nikita Popov 919d208626 Merge branch 'PHP-7.1' 2016-08-04 14:23:16 +02:00
Xinchen Hui 1ff8856d03 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72743 (Out-of-bound read in php_stream_filter_create)
2016-08-04 19:10:56 +08:00
Christoph M. Becker ddc9a44b09 Merge branch 'PHP-7.1' 2016-08-04 12:11:02 +02:00
Matteo Beccati 3e5dbdc3e8 Merge branch 'PHP-7.1'
* PHP-7.1:
  Clean up FR #72633
  Fixed invalid handle error with Implicit Result Sets and bump OCI8 version.
2016-08-04 09:38:10 +02:00
Christopher Jones eec630d068 Merge branch 'PHP-7.1' 2016-08-04 17:02:44 +10:00
Christopher Jones 6aeb9ba447 Merge branch 'PHP-7.0' into PHP-7.1 2016-08-04 17:02:08 +10:00
Christopher Jones b15f4aea02 Merge branch 'master' of https://git.php.net/repository/php-src 2016-08-04 16:45:31 +10:00
Stanislav Malyshev 2eb182b35d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #72716 - initialize buffer before read
2016-08-03 23:04:07 -07:00
Ferenc Kovacs 69a72df936 Merge branch 'PHP-7.1' 2016-08-04 01:44:18 +02:00
Kalle Sommer Nielsen 4d90b1b5ea Use 'p' to validate a path in exif_imagetype() (like the other exif function already does) 2016-08-03 23:57:51 +02:00
Nikita Popov 372d0457b5 Merge branch 'PHP-7.1' 2016-08-03 23:10:29 +02:00
Jakub Zelenka 9ed2a70757 Merge branch 'PHP-7.1' 2016-08-03 20:07:57 +01:00
Remi Collet 456e10eb9b - add a test for makernote (#72682)
- reduce image size
- add panasonic.jpg sample
2016-08-03 18:33:26 +02:00
Anatol Belski be8f1580cf Merge branch 'PHP-7.1'
* PHP-7.1:
  improve the check, avoid strlen on NULL
2016-08-03 18:30:18 +02:00
Anatol Belski 7740a54ce5 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  update NEWS
  Changed the way MAKERNOTE is handled in case we do not have a matching signature (Remi).
2016-08-03 17:45:43 +02:00
Anatol Belski 77d1fbdf64 update NEWS
Fix for 72735 is now merged in 5.6 up
2016-08-03 17:44:50 +02:00
Kalle Sommer Nielsen c6bd054b86 Fixed bug #72682 (exif_read_data() fails to read all data for some images)
This is fixed by adding DJI signatures to the MAKERNOTE and its supported tags, list is credits to ExifTool documentation.
2016-08-03 17:33:18 +02:00
Kalle Sommer Nielsen d40e5e7cbd NEWS 2016-08-03 17:06:39 +02:00
Kalle Sommer Nielsen aabcb5481d Changed the way MAKERNOTE is handled in case we do not have a matching signature (Remi).
Before this patch, exif_process_IFD_in_MAKERNOTE() would return false, then causing the rest of the EXIF parsing to be interrupted. This is a regression from earlier which was most likely a part of a security fix for MAKERNOTE.

The new behavior is to instead of stopping to parse, to continue so we can still fetch data like thumbnail and GPS, thrus allowing yet unsupported formats to parse. If EXIF's debugging mode is enabled, a notice will display in case we do not match against a valid MAKERNOTE signature.

This should temporarily fix bug #72682 (exif_read_data() fails to read all data for some images) until I get around to debug it further.
2016-08-03 17:05:31 +02:00
Kalle Sommer Nielsen 7c1b3842f6 Merge branch 'master' of git.php.net:php-src 2016-08-03 16:42:01 +02:00
Anatol Belski ff71137bef Merge branch 'PHP-7.1'
* PHP-7.1:
  update libs_versions.txt
  update libs_versions.txt
2016-08-03 15:07:10 +02:00
Remi Collet ada7ef6a11 Merge branch 'PHP-7.1'
* PHP-7.1:
  Minor revert of be3640150c
2016-08-03 14:28:45 +02:00
Remi Collet 9c728981ca Merge branch 'PHP-7.1'
* PHP-7.1:
  fix paths in tests
2016-08-03 14:24:46 +02:00
Remi Collet 593c1542e8 Merge branch 'PHP-7.1'
* PHP-7.1:
  clean removed functions (since they are alias)
2016-08-03 12:59:21 +02:00
Remi Collet 90ceb6ebf8 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix 32bits tests
2016-08-03 12:56:52 +02:00
Kalle Sommer Nielsen 544f0dab1f NEWS 2016-08-03 12:29:09 +02:00
Anatol Belski 9ebfc28c7a Merge branch 'PHP-7.1'
* PHP-7.1:
  fix ts build
2016-08-03 12:20:52 +02:00
Kalle Sommer Nielsen de3be17703 Merge branch 'master' of git.php.net:php-src 2016-08-03 11:59:58 +02:00
Kalle Sommer Nielsen fbb1690198 Fixed Redhat bug #1362571 (PHP not returning full results for exif_read_data function)
There are two factors for this bug fix:
 - First of all, the maximum nesting level has been increased to 150 (previously 100), I'm not sure how much an impact this will have, but increasing this value also seems to resolve PHP bug #66443 (Corrupt EXIF header: maximum directory nesting level reached for some cameras.)
  - Second, this adds support for most common Panasonic EXIF tags, again this list is based off the Exiv2 website

Note about Panasonic's format:
From what I could find, then the offset was always 12 bytes for such, the signature always had the 'P' capitalized, and the rest lower cased, followed by 3 NULL bytes

@Remi, can you review this? I'm gonna look into Sony (which is huge btw!) and your patch next
2016-08-03 11:59:30 +02:00
Remi Collet 0c94a93057 Merge branch 'PHP-7.1'
* PHP-7.1:
  add skipif (needs json)
2016-08-03 11:03:35 +02:00
Kalle Sommer Nielsen 71ad192c1f NEWS 2016-08-03 10:05:33 +02:00
Kalle Sommer Nielsen d9613a850f Merge branch 'master' of git.php.net:php-src 2016-08-03 10:02:54 +02:00
Kalle Sommer Nielsen 9c8c37854e Fixed bug #72735 (Samsung picture thumb not read (zero size))
It seems like there is no maker data for "Samsung", this causes the IDF tag parsing to fail, and it bails early on, despite there still is valid remaining data in image, such as the thumbnail data as reported in the bug.

I used the Exiv2 website as a reference guide for tags that's specific to Samsung's EXIF data, which should also mean that we will be able to name some of those tags more specifically now.

I have chosen again not to commit this to other branches, simply because I'm not 100% sure on the byte order and offsets for Samsung, I did some research and it seems like there are many variants, but this (very copy/pasted), entry works for this particular image and does not break any other tests. This does add a new feature I suppose, while also fixing a bug, but I will leave it to the other branch RMs to decide on how far down they will want to merge this.
2016-08-03 10:02:22 +02:00
Xinchen Hui bd9858ead2 Merge branch 'PHP-7.1'
* PHP-7.1:
  It's packed array
2016-08-03 12:37:42 +08:00
Xinchen Hui f451a2358d Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fixed compiler warning (Sorry Anatol, but this one was killing me)
  Revert "Fixed bug #72735 (Samsung picture thumb not read (zero size))"
  Fixed bug #72735 (Samsung picture thumb not read (zero size))
  Minor touches to the exif build script on Windows; ADD_EXTENSION_DEP() will already ERROR() out, so the WARNING() statement would never be returned anyway.
2016-08-03 12:17:35 +08:00
Kalle Sommer Nielsen 1e02e52859 Fixed compiler warning (Sorry Anatol, but this one was killing me) 2016-08-03 06:16:48 +02:00
Kalle Sommer Nielsen aa821d8cad Revert "Fixed bug #72735 (Samsung picture thumb not read (zero size))"
This reverts commit 406dff2a02.

This seems to break more than expected and other tests seems to fail:
 - bug60150.phpt
 - bug62523_2.phpt
 - bug72603.phpt
 - bug72618.phpt

I'm gonna go do around of thinking and see if I can come up with a better fix
2016-08-03 06:10:56 +02:00
Xinchen Hui 33a30691b2 Merge branch 'PHP-7.1'
* PHP-7.1:
  Optmized array_rand
  Optimized array_pad
  Update NEWS for 7.1.0beta3
2016-08-03 12:06:38 +08:00
Kalle Sommer Nielsen 406dff2a02 Fixed bug #72735 (Samsung picture thumb not read (zero size))
This fix is only committed to master for now. I'm no exif expert on this matter, so someone else might want to take a look over this and merge as wanted in case this will break something.

In exif_process_IFD_in_JPEG() we loop over the tag entries and try to process the IFD tag, this is fine and all, however in case one fail to process correctly, the entire routine is aborted, which means that other possible data, such as the thumbnail data as reported in #72735 may not be read, despite it is there, perfectly valid.

Also, big props to whoever added EXIF_DEBUG, this rocks!
2016-08-03 05:39:39 +02:00
Kalle Sommer Nielsen 3e921aa9df Minor touches to the exif build script on Windows; ADD_EXTENSION_DEP() will already ERROR() out, so the WARNING() statement would never be returned anyway.
There are probably other similar cases around ext/, however the main reason for fixing this was for the typo (libxml > mbstring).
2016-08-03 04:24:17 +02:00
Nikita Popov 6a748c2f4b Merge branch 'PHP-7.1' 2016-08-03 00:35:16 +02:00
Christoph M. Becker a970da0890 Merge branch 'PHP-7.1' 2016-08-02 18:59:48 +02:00
Anatol Belski 09e4116810 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  cleanup table after test
  - lastInsertId using Postgres Lastval() function
2016-08-02 14:43:44 +02:00
Xinchen Hui ced184a870 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed warning: "operation on ‘s’ may be undefined"
2016-08-02 20:29:05 +08:00
Xinchen Hui 1cd9b1a34e Merge branch 'PHP-7.1'
* PHP-7.1:
  Folder marks
2016-08-02 20:08:25 +08:00
Xinchen Hui ff6a14a907 Merge branch 'PHP-7.1'
* PHP-7.1:
  Optimized array_merge and cleanup
2016-08-02 20:02:49 +08:00
Xinchen Hui a006363aea Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  increase versions for 7.2
2016-08-02 17:45:22 +08:00
Xinchen Hui 4bb4b13c5c Merge branch 'PHP-7.1'
* PHP-7.1:
  Optimized array_merge
  prepare next
  fix php_version.h
2016-08-02 17:40:47 +08:00
Anatol Belski 7fb529bf10 Merge branch 'PHP-7.1'
* PHP-7.1:
  prepare next
2016-08-02 11:15:28 +02:00
Anatol Belski 7868b5caaf Merge branch 'PHP-7.1'
* PHP-7.1:
  fix php_version.h
2016-08-02 11:08:51 +02:00
Anatol Belski 845f66ba64 increase versions for 7.2 2016-08-02 11:01:57 +02:00
Xinchen Hui 5047a119b0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Optimized array_column (thanks to Benjamin Coutu)
2016-08-02 12:42:06 +08:00
Xinchen Hui b5313160c6 Merge branch 'PHP-7.1'
* PHP-7.1:
  fixed IS_REFERENCE handling
2016-08-02 11:05:59 +08:00
Charles R. Portwood II d883f65d31 Fixing issue with config.m4 script not correctly checking for PHP_PASSWORD_ARGON2 2016-08-01 19:03:34 -05:00
Charles R. Portwood II 0d4d8eab53 Removing Argon2d, changing config arg to --with-password-argon2
Argon2d is not suitable for password_hashing. To ensure best practices
within password_*, Argon2d was removed.

--with-argon2 implies the full feature set of Argon2, whereas this
feature only implements Argon2i within password_*. Consequently
the feature flag was renamed to --with-password-argon2
2016-08-01 18:53:24 -05:00
Xinchen Hui 7b4157d2c4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Make the expression more reasonble (by nikic)
2016-08-01 20:20:27 +08:00
Xinchen Hui d4ac54b791 Merge branch 'PHP-7.1'
* PHP-7.1:
  Optimized array_reverse
2016-08-01 20:11:28 +08:00
Anatol Belski b6f3efd396 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  Revert "upgraded to PCRE 8.39"
2016-07-31 15:02:44 +02:00
Nikita Popov d938cefa7b Merge branch 'PHP-7.1' 2016-07-30 18:36:15 +02:00
Nikita Popov be8b19bb48 Merge branch 'PHP-7.1' 2016-07-30 18:25:09 +02:00
Kalle Sommer Nielsen 59a7da7b49 Fix opcache build 2016-07-30 17:55:20 +02:00
Kalle Sommer Nielsen 040331c364 Fix ext/standard build with the recent fixes to array.c
This solution might not be canon, but it works by re-using _php_math_round() from math.c, since round() is not available
in the C++98 Standard Library on Windows at least. At the same
time it seems like the symbol export for it was missing from
php_math.h.
2016-07-30 17:52:57 +02:00
Kalle Sommer Nielsen c192bdecd5 Also fix TSRM on Windows 2016-07-30 17:32:53 +02:00
Kalle Sommer Nielsen bfba840e42 Fix build on Windows 2016-07-30 17:30:49 +02:00
Nikita Popov 6b55e7324e Merge branch 'PHP-7.1' 2016-07-30 16:29:41 +02:00
Nikita Popov 0a0c3174fd Merge branch 'PHP-7.1' 2016-07-30 16:08:44 +02:00
Nikita Popov f7ff0a1ff6 Merge branch 'PHP-7.1' 2016-07-30 15:55:10 +02:00
Christoph M. Becker 3de6441bf5 Merge branch 'PHP-7.1' 2016-07-30 12:16:49 +02:00
Nikita Popov e4daba6b29 Merge branch 'PHP-7.1' 2016-07-30 00:38:10 +02:00
Nikita Popov 3ce2bc1138 Merge branch 'PHP-7.1' 2016-07-30 00:15:50 +02:00
Nikita Popov 2b9194f7b9 Merge branch 'PHP-7.1' 2016-07-29 19:08:23 +02:00
Anatol Belski a849dad687 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  add test for bug #72701
2016-07-29 17:34:20 +02:00
Anatol Belski 64feff88f1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72701 mysqli_get_host_info() wrong output
  fix typo
  add more errno handling
  set errno in ioutil access routine
2016-07-29 17:02:24 +02:00
Anatol Belski 364575b813 Merge branch 'PHP-7.1'
* PHP-7.1:
  move error check to right place
2016-07-29 14:02:04 +02:00
Anatol Belski 22620a63e7 Merge branch 'PHP-7.1'
* PHP-7.1:
  document file cache fallback ini directive
2016-07-29 13:08:10 +02:00
Anatol Belski bcc40a7e85 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix and improve the ioutil cwd routine for nts
2016-07-29 02:41:30 +02:00
Christoph M. Becker 608a35d7c3 Merge branch 'PHP-7.1' 2016-07-29 01:29:31 +02:00
Christoph M. Becker 7114185295 Merge branch 'PHP-7.1' 2016-07-28 20:15:19 +02:00
Christoph M. Becker 3535d7656d Merge branch 'PHP-7.1' 2016-07-28 19:30:48 +02:00
Nikita Popov 4dbea1adb4 Merge branch 'PHP-7.1' 2016-07-28 18:52:19 +02:00
Christoph M. Becker ba3e93ce86 Merge branch 'PHP-7.1' 2016-07-28 18:26:06 +02:00
Christoph M. Becker 5bb2925608 Merge branch 'PHP-7.1' 2016-07-28 17:31:35 +02:00
Christoph M. Becker fc56f369a4 Merge branch 'PHP-7.1' 2016-07-28 17:08:51 +02:00
Christoph M. Becker a5adee4648 Merge branch 'PHP-7.1' 2016-07-28 16:41:22 +02:00
Christoph M. Becker cc23792fa1 Merge branch 'PHP-7.1' 2016-07-28 15:52:30 +02:00
Christoph M. Becker b43957e2ac Merge branch 'PHP-7.1' 2016-07-28 14:19:48 +02:00
Christoph M. Becker b00bf7aecc Merge branch 'PHP-7.1' 2016-07-28 13:27:36 +02:00
Christoph M. Becker 3ec37f8ebb Merge branch 'PHP-7.1' 2016-07-28 12:30:35 +02:00
Pierrick Charron f7df40f45a Merge branch 'PHP-7.1' 2016-07-27 23:40:12 -04:00
Pierrick Charron a05b56051e Merge branch 'PHP-7.1' 2016-07-27 18:26:19 -04:00
Anatol Belski 5de5cbb8b9 Merge branch 'PHP-7.1'
* PHP-7.1:
  cleanup the table after the test run
2016-07-27 23:53:40 +02:00
Anatol Belski af2a507c0b Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-07-27 23:32:57 +02:00
Anatol Belski 13a1811380 Merge branch 'PHP-7.1'
* PHP-7.1:
  Implemented FR #72633 Postgres PDO lastInsertId() should work without specifying a sequence
2016-07-27 23:03:53 +02:00
Anatol Belski 421d3f77d9 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  Fixed bug #72683 getmxrr broken
2016-07-27 20:50:02 +02:00
Anatol Belski d02e923912 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-07-27 20:42:26 +02:00
Christoph M. Becker 20940dd358 Merge branch 'PHP-7.1' 2016-07-27 19:10:28 +02:00
Bob Weinand 94c32a5fbe Merge branch 'PHP-7.1' 2016-07-27 18:19:18 +02:00
Christoph M. Becker c5c56639a2 Merge branch 'PHP-7.1' 2016-07-27 16:58:19 +02:00
Nikita Popov 30d46c4739 Merge branch 'PHP-7.1' 2016-07-27 15:59:44 +02:00
Sara Golemon 665050787c Bugfix#70896 gmp_fact() silently ignores non-integer inputs
Factorials only make sense for integer inputs.
To do something factorial-like, the Gamma Function
should be used instead.
However, at this point it's no longer a factorial.

For PHP/GMP, we'll raise a warning on trying to use
a non-integer input, but carry on returning the truncated
value as we used to (avoiding BC breakage).
2016-07-26 22:04:18 -07:00
Pierrick Charron 256d69cf8a Merge branch 'PHP-7.1' 2016-07-27 00:40:23 -04:00
Pierrick Charron 687f983613 Merge branch 'PHP-7.1' 2016-07-26 20:38:26 -04:00
Pierrick Charron 28faebd87a Merge branch 'PHP-7.1' 2016-07-26 19:24:04 -04:00
Anatol Belski 495e586482 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix broken proto doc
2016-07-26 16:29:54 +02:00
Anatol Belski 22f7124a5f Merge branch 'PHP-7.1'
* PHP-7.1:
  upgraded to PCRE 8.39
2016-07-26 15:12:47 +02:00
Anatol Belski 0b9146e17f Merge branch 'PHP-7.1'
* PHP-7.1:
  fix missing header and conflicting symbol
  fix compiler warning
  fix data type
2016-07-26 14:59:58 +02:00
Nikita Popov 91f22a2088 Merge branch 'PHP-7.1' 2016-07-25 23:04:25 +02:00
Nikita Popov 5d0ae32c35 Cleanup gmp_sqrtrem() test 2016-07-25 22:07:56 +02:00
Nikita Popov a166d9677b Merge branch 'PHP-7.1' 2016-07-25 22:00:11 +02:00
Christoph M. Becker ac026a8130 Merge branch 'PHP-7.1' 2016-07-25 17:21:42 +02:00
Anatol Belski 5374acd1d5 Merge branch 'PHP-7.1'
* PHP-7.1:
  use more suitable types here, too
  change to more suitable datatypes
2016-07-25 14:49:07 +02:00
Xinchen Hui be72694d3d Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWs
  Fixed bug #72668 (Spurious warning when exception is thrown in user defined function)
2016-07-25 20:29:37 +08:00
Anatol Belski c086333d6b Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  Fixed bug #72658 Locale::lookup() / locale_lookup() hangs if no match found
2016-07-25 12:51:04 +02:00
Christoph M. Becker f081922eb8 Merge branch 'PHP-7.1' 2016-07-25 10:28:21 +02:00
Anatol Belski 8f189e8bc8 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  Make phpize use PHP_PREFIX as the default location (windows)
  Enable 'nmake test' on building extensions
2016-07-25 10:18:19 +02:00
Anatol Belski b4a358b152 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NeWS
  update NEWS
  Enable 'nmake test' on building extensions
  Make phpize use PHP_PREFIX as the default location (windows)
2016-07-25 09:52:58 +02:00
Christoph M. Becker abb228e589 Merge branch 'PHP-7.1' 2016-07-25 02:04:29 +02:00
Christoph M. Becker b1070033be Merge branch 'PHP-7.1' 2016-07-25 00:31:20 +02:00
Xinchen Hui e70f9fa01a Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #72660 (NULL Pointer dereference in zend_virtual_cwd)
2016-07-24 23:59:22 +08:00
Anatol Belski 39ac632a8a Merge branch 'PHP-7.1'
* PHP-7.1:
  regenerate date parser with re2c 0.15.3
  regenerate date parser with re2c 0.15.3
2016-07-24 14:55:42 +02:00
Jakub Zelenka dc6ea028b5 Fix indent in opnenssl_decrypt tests 2016-07-24 13:40:54 +01:00
Xinchen Hui e06331931d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72661 (ReflectionType::__toString crashes with iterable)
2016-07-24 11:01:34 +08:00
Anatol Belski 59381e2083 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix compiler warning
  rework long path normalization stuf
2016-07-24 04:03:54 +02:00
Nikita Popov 8af431a790 Merge branch 'PHP-7.1' 2016-07-24 00:18:57 +02:00
Nikita Popov ade99115ca Merge branch 'PHP-7.1' 2016-07-24 00:08:42 +02:00
Anatol Belski 05f8d1f8d0 Merge branch 'PHP-7.1'
* PHP-7.1:
  add folds
  improve typedef and fix the fake function
  add missing cast
2016-07-23 23:25:22 +02:00
Nikita Popov 307e4bfca1 Merge branch 'PHP-7.1' 2016-07-23 23:14:40 +02:00
Anatol Belski 7964c5c060 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72625 realpath() fails on non canonical long path
  correct comment
  don't return long path prefix to script
2016-07-23 21:31:36 +02:00
Anatol Belski 99bc1407c8 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
  fix test
2016-07-23 21:06:46 +02:00
Christoph M. Becker cbb4e424e8 Merge branch 'PHP-7.1' 2016-07-23 19:46:19 +02:00
Christoph M. Becker 95a87c3f82 Merge branch 'PHP-7.1' 2016-07-23 18:13:59 +02:00
Christoph M. Becker e13abc1fd7 Merge branch 'PHP-7.1' 2016-07-23 17:05:30 +02:00
Bob Weinand 72d1d416fe Merge branch 'PHP-7.1' 2016-07-23 16:40:29 +02:00
Christoph M. Becker d795a6bf97 Implement #52857: Access to gdImageSetClip() and gdImageGetClip()
We add the necessary PHP bindings for both functions which are available
as of GD_2_0_12 (released 2006-04-05). The API of imagegetclip() is modelled
according to imageftbbox().
2016-07-23 16:14:36 +02:00
Mark Jones e63ceacfca Remove unused DEFAULT_KEY_LENGTH define 2016-07-23 16:04:55 +02:00
Christoph M. Becker f294a82ccb Change the name of the second parameter of image writer functions
As of PHP 5.4.0 the second parameter of all image writer functions (except
imagexbm) accepts also a stream resource. Therefore the parameter name
`filename` is inappropriate. We change it to `to` according to what it's
already called in _php_image_output_ctx().

We consider the reflection only related BC break acceptable for a minor version.
2016-07-23 15:38:54 +02:00
Nikita Popov 3bfea88ad8 Merge branch 'PHP-7.1' 2016-07-23 13:31:04 +02:00
Nikita Popov 50b485d94b Merge branch 'PHP-7.1' 2016-07-23 00:12:39 +02:00
Nikita Popov 54414dab33 Merge branch 'PHP-7.1' 2016-07-23 00:05:25 +02:00
Andrey Hristov 49d0478549 Merge branch 'PHP-7.1' 2016-07-23 00:30:35 +03:00
Andrey Hristov 671d22f5de Fix for bug #71863 Segfault when EXPLAIN with "Unknown column" error
The reason was that after the big refactoring of mysqlnd at the end of
last year code that is initializing the error_info structure in the
result set was not added. It existed already for connections and PS.
The code that segfaults is hit only with MariaDB because MariaDB sends
full metadata about the EXPLAIN query + EOF packet and only then it sends
an error packet. MySQL doesn't do that but sends directly an error which
is caught (by different code path). As errors during execution (which means
after sending meta) are pretty rare there was no test case of MySQL to
catch it.
2016-07-23 00:26:26 +03:00
Nikita Popov 7527658a4d Merge branch 'PHP-7.1' 2016-07-22 18:30:48 +02:00
Nikita Popov 5af5ef8538 Merge branch 'PHP-7.1' 2016-07-22 18:21:10 +02:00
Nikita Popov a41c91d32e Merge branch 'PHP-7.1' 2016-07-22 18:09:35 +02:00
Nikita Popov 43d2decabc Merge branch 'PHP-7.1' 2016-07-22 17:22:50 +02:00
Xinchen Hui 43d45e8d38 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72647 (xmlrpc_encode() unexpected output after referencing array elements)
  Update NEWs
  Fixed bug #72647 (xmlrpc_encode() unexpected output after referencing array elements)
2016-07-22 23:15:36 +08:00
Christoph M. Becker c82e3c1c8e Merge branch 'PHP-7.1' 2016-07-22 15:29:50 +02:00
Remi Collet 67d1aec92b Merge branch 'PHP-7.1'
* PHP-7.1:
  FPM: add test for CVE-2016-5385
2016-07-22 09:37:15 +02:00
Páll Haraldsson 98d8c70a91 Typo..
[skip ci]
2016-07-21 20:56:18 +00:00
Christoph M. Becker 49ddd0331e Merge branch 'PHP-7.1' 2016-07-21 19:03:44 +02:00
Christoph M. Becker 434e9e1589 Merge branch 'PHP-7.1' 2016-07-21 16:51:49 +02:00
Christoph M. Becker 05d57d743f Merge branch 'PHP-7.1' 2016-07-21 16:33:42 +02:00
Christoph M. Becker c4fe264b40 Implement #47456: Missing PCRE option 'J'
While it is possible to force the same behavior by setting the internal
option (?J), having a dedicated modifier appears to be useful. After all,
J is even listed on the "Pattern Modifiers" man page[1], but the description
referrs to (?J).

[1] <http://php.net/manual/en/reference.pcre.pattern.modifiers.php>
2016-07-21 15:36:42 +02:00
Davey Shafik 09b4ab4bb6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS for 7.1.0beta1
2016-07-21 02:39:55 -07:00
Remi Collet 9c9bb2e1b1 Merge branch 'PHP-7.1'
* PHP-7.1:
  bump zip extension version
2016-07-21 08:43:58 +02:00
Xinchen Hui b5317b7b71 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #72639 (Segfault when instantiating class that extends IntlCalendar and adds a property)
  Prepare NEWS for beta2
2016-07-21 14:26:05 +08:00
Davey Shafik 1495455d14 Prepare NEWS for 7.2 2016-07-20 20:09:52 -07:00
Anatol Belski 6c6567f79f Merge branch 'PHP-7.1'
* PHP-7.1:
  update libs_version.txt
  update libs_versions.txt
2016-07-21 01:57:23 +02:00
Ferenc Kovacs 4b07662cfa Merge branch 'PHP-7.1' 2016-07-21 00:42:05 +02:00
Charles R. Portwood II ab837a6a0a Fixing potential memory leak with encoded in password_hash
Using zend_string_alloc instead of char* for out and encoded
variables
2016-07-18 13:15:29 -05:00
Charles R. Portwood II 98722089a0 Updating config.w32 to correctly add Argon2RefLib to LIBS flag 2016-07-13 07:59:33 -05:00
Charles R. Portwood II 1c954c9549 Untouching old tests 2016-07-12 16:38:49 -05:00
Charles R. Portwood II 9bedcb7a61 Adding to PHP library includes 2016-07-12 10:24:11 -05:00
Charles R. Portwood II f4aa3a465b Fixing linker issue on linux when DIR is specified on --with-argon2 2016-07-11 23:13:07 -05:00
Charles R. Portwood II d3986572a9 Adding Windows build flag for --with-argon2 2016-07-11 22:12:27 -05:00
Charles R. Portwood II 9f37be5c43 Fixing failing tests for Argon2
- Added "Skipped:" flag so argon2 tests would be skipped when
  PHP is compiled without Argon2 support
2016-07-11 18:39:04 -05:00
Charles R. Portwood II bcfccdd9f4 Removing argon2 library files in favor of --with-argon2[=DIR]
- Configure flag now accepts --with-argon2 for dynamic linking with
  libargon2. Argon2 will be enabled in password_* only if this
  flag is passed.
- --with-argon2 config flag allows user passed directory for linking
- Added Argon2 specific tests to ensure existing tests do not fail
  when argon2 is disable
2016-07-11 16:44:40 -05:00
Charles R. Portwood II 1bc381848a Reverting PASSWORD_DEFAULT to PASSWORD_BCRYPT
Indicating constants as defaults
Minor coding standards change
2016-07-10 08:16:55 -05:00
Charles R. Portwood II deba2b4572 Fixing spacing in php_password.h 2016-07-09 13:23:58 -05:00
Charles R. Portwood II 0a1274f2b1 Adding test cases for Argon2i and Argon2d
Added Windows config.w32 changes
Updated constants in php_password.h
2016-07-09 13:18:45 -05:00
Charles R. Portwood II c2551a74d4 Working implementation with password_hash, password_verify 2016-07-08 23:45:19 -05:00
Charles R. Portwood II 3c7fb71a90 Introducing Argon2 memory, time, and lanes constants
PASSWORD_ARGON2_MEMORY_COST
PASSWORD_ARGON2_TIME_COST
PASSWORD_ARGON2_LANES
2016-07-08 15:31:30 -05:00
Charles R. Portwood II de85c2e526 Implementing password_verify and password_get_info for Argon2 2016-07-08 15:27:20 -05:00
Richard Fussenegger 3b43b829c4 Added editorconfig file 2016-06-26 17:51:44 +02:00
Nazar Mokrynskyi ddf1c0891b Tiny tweak for $header initialization, it should always be an array 2016-06-22 22:01:34 +03:00
sskaje 788a2d0226 Add entry to UPGRADING 2016-06-01 09:28:20 +08:00
sskaje b1e9515d8b Merge remote-tracking branch 'upstream/master' 2016-05-31 20:08:13 +08:00
sskaje cb2bae018f better but longer way processing float/double and memory 2016-05-31 20:08:09 +08:00
sskaje b56352aa1d PR#1905: directly copy to target memory 2016-05-13 17:41:59 +08:00
sskaje 267ddb3abd missing efree() 2016-05-13 15:55:41 +08:00
sskaje aa850a533b Changed invalid pack format in unpack_error.phpt 2016-05-13 15:11:17 +08:00
sskaje a273b7307d Changed invalid pack format in unpack_error.phpt 2016-05-13 15:02:57 +08:00
sskaje 92bcc10e10 comments for e,E,g,G 2016-05-12 19:16:29 +08:00
sskaje 540f4b5cf6 pack()/unpack() for Big Endian float/double and Little Endian float/double 2016-05-12 19:13:21 +08:00
Nazar Mokrynskyi d69fd5d41a Minor tweaks
Few unused variables removed.
One ambiguous situation resolved.
`join(...)` > `implode(...)`.
One case of 2 `isset()` statements combined together.
2016-04-15 10:14:47 +03:00
Andrea Faulds 1c1e20d771 Deduplicate NAN/INF portability, move to Zend 2016-03-20 01:32:44 +00:00
marcosptf 38b21fc2fa Update curl_multi_info_read.phpt 2016-03-17 10:45:54 -03:00
marcosptf c66161d061 Update curl_multi_info_read.phpt 2016-03-16 18:18:04 -03:00
marcosptf 547118e2f1 test to function hash_update_file();
was added new test to uncoverage function from hash module
2016-03-13 14:14:03 -03:00
marcosptf e609b05d5b Update hash_update_stream.phpt 2016-03-13 14:00:01 -03:00
marcosptf 1b683c34ae test to function hash_update_stream();
was added a new function to module hash
2016-03-13 12:46:48 -03:00
marcosptf 5cd9c3bd71 test to function openssl_free_key($loaded_key);
was added a new test to openssl module to coverage openssl_free_key($loaded_key); function
2016-03-13 10:53:34 -03:00
marcosptf 252cfa5720 Update curl_multi_info_read.phpt 2016-03-13 10:26:48 -03:00
marcosptf 190ec3651f Update curl_multi_info_read.phpt 2016-03-13 05:10:59 -03:00
marcosptf 4e07a0eef9 test to function curl_multi_info_read();
was added a new function to module curl
2016-03-13 02:47:41 -03:00
marcosptf 651f3cf23a test to function dns_get_mx();
was added a new function to standard module a network function dns_get_mx();
2016-03-13 01:55:27 -03:00
Rob Thomas 2854f3292d Fix patch to work against PHP7
This also updates the testcases so they now return correct data
with the extra return value.
2016-02-05 10:19:02 +10:00
Rob Thomas 73bae6b065 Add 'serialNumberHex' variable to openssl_x509_parse
Currently, openssl_x509_parse returns an integer. This can be
unexpected, as the common way of handling serial numbers is with
a hex string.

This is compounded as  php's dechex() function cannot handle >32
bit numbers which will leave people trying to handle large serial
numbers frustrated.

By adding this extra return variable to openssl_x509_parse, the
consumer of the variable is certain that the serialNumberHex that
is returned is the exact Hex Serial number as OpenSSL returns
everywhere else.
2016-02-05 08:21:47 +10:00
Christoph M. Becker 5ca664abbf added test to clearly show distinction between unset (aka unmatched) subpattern and an empty match 2015-05-23 20:34:06 +02:00
Christoph M. Becker 303b3655e6 adjusted other tests to cater to changed behavior 2015-05-23 19:47:47 +02:00
Christoph M. Becker 6f33594978 changed preg_*() to yield NULL instead of '' for unset substrings 2015-05-23 19:44:42 +02:00
Christoph M. Becker 911366eb5f added failing tests for bug #61780 2015-05-23 19:28:14 +02:00
Masaki Kagaya 15e32fdc58 generate utf-8 string directly instead of using php_mb_convert_encoding 2015-03-08 02:17:17 +09:00
Masaki Kagaya b8468adad6 introduce fast zpp 2015-03-08 02:03:47 +09:00
Masaki Kagaya d24dacc594 replace AND operator with OR operator 2015-03-08 02:03:47 +09:00
Masaki Kagaya 905dfb9179 add argument for output_len 2015-03-08 02:03:47 +09:00
Masaki Kagaya 70e241f1a3 replace zend_string_alloc with safe_emalloc 2015-03-08 02:03:46 +09:00
Masaki Kagaya 29d09b7d97 update the functions for checking the names of encodings 2015-03-08 02:03:46 +09:00
Masaki Kagaya 84100270fb fix memory leak in php_mb_check_encoding 2015-03-08 02:03:46 +09:00
Masaki Kagaya bdb7a59a4b fix memory leak 2015-03-08 02:03:46 +09:00
Masaki Kagaya 2a3c08b834 fix php_mb_ord for better handling the value of MBSTRG(current_filter_illegal_substchar) 2015-03-08 02:03:45 +09:00
Masaki Kagaya 1033bad01e add php_mb_check_unicode_encoding 2015-03-08 02:03:45 +09:00
Masaki Kagaya 00324a379c add test for mb_chr and mb_ord 2015-03-08 02:03:45 +09:00
Masaki Kagaya 325faea56f rename php_mb_check_forbidden_encoding to php_mb_check_unsupported_encoding 2015-03-08 02:03:45 +09:00
Masaki Kagaya 2e97d7be3b changed the position of calling php_mb_check_forbidden_encoding 2015-03-08 02:03:44 +09:00
Masaki Kagaya 08443b2bab use php_mb_convert_encoding instead of php_mb_check_encoding 2015-03-08 02:03:44 +09:00
Masaki Kagaya ae838e6e4c added various encoding support other than unicode 2015-03-08 02:03:44 +09:00
Masaki Kagaya 09b5bfc71a added check by php_mb_check_forbidden_encoding 2015-03-08 02:03:44 +09:00
Masaki Kagaya 32383114d5 added mb_chr 2015-03-08 02:03:44 +09:00
Masaki Kagaya 421f7fcfa8 added php_mb_check_forbidden_encoding 2015-03-08 02:03:43 +09:00
Masaki Kagaya 1c1c64a591 added support for various encodings other than unicode 2015-03-08 02:03:43 +09:00
Masaki Kagaya 590e6f0cda added utf16 and ucs2 for supported encodings 2015-03-08 02:03:43 +09:00
Masaki Kagaya c55dea018f added check for forbidden encodings 2015-03-08 02:03:43 +09:00
Masaki Kagaya f008db6f4c added utf32 and ucs4 for available encodings 2015-03-08 02:03:42 +09:00
Masaki Kagaya f6be936e10 added mb_ord 2015-03-08 02:03:42 +09:00
Masaki Kagaya 5f41bff45b added php_mb_check_encoding 2015-03-08 02:03:42 +09:00
Masaki Kagaya a22d27df4c replace emalloc with safe_emalloc 2015-03-01 16:07:18 +09:00
Masaki Kagaya 45a8a9c685 update the functions for checking the names of encodings 2015-02-27 19:31:34 +09:00
Masaki Kagaya 32de1cf57a delete unnecessary functions 2015-02-22 19:55:13 +09:00
Masaki Kagaya 6be0f8dc9a fix return type 2015-02-22 16:58:22 +09:00
Masaki Kagaya 99d90f1358 fix memory leak 2015-02-22 16:13:32 +09:00
Masaki Kagaya aa7eceb3a5 added php_mb_check_code_point for mb_substitute_character 2015-02-19 22:49:13 +09:00
Masaki Kagaya f303f59813 changed the position of calling php_mb_check_forbidden_encoding 2015-02-19 19:16:14 +09:00
Masaki Kagaya 89e9746f74 use php_mb_convert_encoding instead of php_mb_check_encoding 2015-02-19 19:08:50 +09:00
Masaki Kagaya f10a182674 added various encoding support other than unicode 2015-02-19 18:59:13 +09:00
Masaki Kagaya a8ef8a25e5 added check by php_mb_check_forbidden_encoding 2015-02-19 18:43:55 +09:00
Masaki Kagaya c6e94bfb4c added mb_chr 2015-02-19 16:01:47 +09:00
Masaki Kagaya a0890c7c59 added php_mb_check_forbidden_encoding 2015-02-19 15:13:17 +09:00
Masaki Kagaya b9b47c84a0 added support for various encodings other than unicode 2015-02-19 15:03:35 +09:00
Masaki Kagaya 674b67ce0c added utf16 and ucs2 for supported encodings 2015-02-19 14:45:33 +09:00
Masaki Kagaya ec4f74b296 added check for forbidden encodings 2015-02-19 14:37:12 +09:00
Masaki Kagaya b065956754 added utf32 and ucs4 for available encodings 2015-02-19 14:32:54 +09:00
Masaki Kagaya c948e44807 added mb_ord 2015-02-19 13:18:39 +09:00
Masaki Kagaya cb02838147 added php_mb_check_encoding 2015-02-19 12:42:19 +09:00
12088 changed files with 418099 additions and 257726 deletions

No files matched your search

+13 -3
View File
@@ -1,22 +1,31 @@
version: "{branch}.build.{build}"
image: Visual Studio 2015
image: Visual Studio 2017
branches:
except:
- PHP-5.6
- PHP-7.0
skip_commits:
files:
- NEWS
- UPGRADING*
- README.*
clone_depth: 64
cache:
- c:\build-cache
- c:\build-cache\sdk -> .appveyor.yml
environment:
PHP_BUILD_CACHE_BASE_DIR: c:\build-cache
PHP_BUILD_CACHE_BASE_DIR: c:\build-cache
PHP_BUILD_OBJ_DIR: c:\obj
PHP_BUILD_CACHE_SDK_DIR: c:\build-cache\sdk
PHP_BUILD_SDK_BRANCH: php-sdk-2.1.9beta1
PHP_BUILD_SDK_BRANCH: php-sdk-2.0.7
PHP_BUILD_CRT: vc15
# ext and env setup for tests
#MYSQL_TEST_PASSWD: Password12!
#MYSQL_TEST_USER: root
@@ -46,3 +55,4 @@ build_script:
test_script:
- appveyor\test.bat
+6 -25
View File
@@ -1,35 +1,16 @@
# http://editorconfig.org/
; http://editorconfig.org/
root = true
[*.{c,h,awk,w32,bat,mk,frag}]
charset = utf-8
end_of_line = lf
[*.{c,h}]
charset = UTF-8
end_of_line = LF
indent_size = 4
indent_style = tab
insert_final_newline = true
tab_width = 4
trim_trailing_whitespace = true
insert_final_newline = true
[*.{php,phpt}]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
trim_trailing_whitespace = true
insert_final_newline = true
[*.{yml,m4,sh}]
charset = utf-8
end_of_line = lf
[*.yml]
indent_size = 2
indent_style = space
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
charset = utf-8
end_of_line = lf
indent_style = space
trim_trailing_whitespace = false
insert_final_newline = true
+51 -62
View File
@@ -5,7 +5,7 @@ end
document set_ts
set the ts resource, it is impossible for gdb to
call ts_resource_ex while no process is running,
but we could get the resource from the argument
but we could get the resource from the argument
of frame info.
end
@@ -16,11 +16,9 @@ define ____executor_globals
end
set $eg = ((zend_executor_globals*) (*((void ***) $tsrm_ls))[executor_globals_id-1])
set $cg = ((zend_compiler_globals*) (*((void ***) $tsrm_ls))[compiler_globals_id-1])
set $eg_ptr = $eg
else
set $eg = executor_globals
set $cg = compiler_globals
set $eg_ptr = (zend_executor_globals*) &executor_globals
end
end
@@ -153,7 +151,7 @@ end
define printzv
set $ind = 1
____printzv $arg0 0
____printzv $arg0 0
end
document printzv
@@ -173,7 +171,7 @@ define ____printzv_contents
printf "UNDEF"
end
if $type == 1
printf "NULL"
printf "NULL"
end
if $type == 2
printf "bool: false"
@@ -181,16 +179,16 @@ define ____printzv_contents
if $type == 3
printf "bool: true"
end
if $type == 4
if $type == 4
printf "long: %ld", $zvalue->value.lval
end
if $type == 5
printf "double: %f", $zvalue->value.dval
end
if $type == 6
printf "string: %s", $zvalue->value.str->val
end
if $type == 7
end
if $type == 5
printf "double: %f", $zvalue->value.dval
end
if $type == 6
printf "string: %s", $zvalue->value.str->val
end
if $type == 7
printf "array: "
if ! $arg1
set $ind = $ind + 1
@@ -247,31 +245,25 @@ define ____printzv_contents
printf "const: %s", $zvalue->value.str->val
end
if $type == 12
printf "CONSTANT_AST"
printf "const_ast"
end
if $type == 13
printf "_BOOL"
printf "_IS_BOOL"
end
if $type == 14
printf "CALLABLE"
printf "IS_CALLABLE"
end
if $type == 15
printf "indirect: "
____printzv $zvalue->value.zv $arg1
end
if $type == 16
printf "string_offset"
end
if $type == 17
printf "pointer: %p", $zvalue->value.ptr
end
if $type == 18
printf "ITERABLE"
end
if $type == 19
printf "VOID"
end
if $type == 20
printf "_ERROR"
end
if $type == 16 || $type > 20
if $type > 17
printf "unknown type %d", $type
end
printf "\n"
@@ -287,32 +279,42 @@ define ____printzv
if $arg1
____printzv_contents $zcontents $arg1
else
____printzv_contents $zcontents 0
____printzv_contents $zcontents 0
end
end
define print_global_vars
____executor_globals
set $symtable = ((HashTable *)&($eg_ptr->symbol_table))
print_ht $symtable
end
define ____print_const_table
set $ht = $arg0
set $p = $ht->pListHead
document print_global_vars
Prints the global variables
while $p != 0
set $const = (zend_constant *) $p->pData
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
if $p->nKeyLength > 0
____print_str $p->arKey $p->nKeyLength
printf " => "
else
printf "%d => ", $p->h
end
____printzv_contents &$const->value 0
set $p = $p->pListNext
end
end
define print_const_table
set $ind = 1
printf "[%p] {\n", $arg0
____print_ht $arg0 4
____print_const_table $arg0
printf "}\n"
end
document print_const_table
Dumps elements of Constants HashTable
Example: print_const_table executor_globals.zend_constants
end
define ____print_ht
set $ht = (HashTable*)$arg0
set $n = $ind
@@ -340,7 +342,7 @@ define ____print_ht
set $n = $n - 1
end
printf "[%d] ", $i
if $p->key
if $p->key
printf "%s => ", $p->key->val
else
printf "%d => ", $p->h
@@ -359,10 +361,6 @@ define ____print_ht
set $func = (zend_function*)$p->val.value.ptr
printf "\"%s\"\n", $func->common.function_name->val
end
if $arg1 == 4
set $const = (zend_constant *)$p->val.value.ptr
____printzv $const 1
end
end
set $i = $i + 1
end
@@ -389,7 +387,7 @@ document print_htptr
end
define print_htstr
set $ind = 0
set $ind = 0
____print_ht $arg0 2
end
@@ -474,12 +472,9 @@ end
define print_pi
set $pi = (zend_property_info *)$arg0
set $initial_offset = ((uint32_t)(zend_uintptr_t)(&((zend_object*)0)->properties_table[(0)]))
set $ptr_to_val = (zval*)((char*)$pi->ce->default_properties_table + $pi->offset - $initial_offset)
printf "[%p] {\n", $pi
printf " offset = %p\n", $pi->offset
printf " ce = [%p] %s\n", $pi->ce, $pi->ce->name->val
printf " flags = 0x%x (", $pi->flags
printf " flags = %d (", $pi->flags
if $pi->flags & 0x100
printf "ZEND_ACC_PUBLIC"
else
@@ -490,11 +485,7 @@ define print_pi
printf "ZEND_ACC_PRIVATE"
else
if $pi->flags & 0x800
printf "ZEND_ACC_EARLY_BINDING"
else
if $pi->flags & 0x20000
printf "ZEND_ACC_SHADOW"
end
printf "ZEND_ACC_CHANGED"
end
end
end
@@ -502,8 +493,6 @@ define print_pi
printf ")\n"
printf " name = "
print_zstr $pi->name
printf " default value: "
printzv $ptr_to_val
printf "}\n"
end
@@ -543,10 +532,10 @@ define printzn
if $znode->op_type == 1
set $optype = "IS_CONST"
end
if $znode->op_type == 2
if $znode->op_type == 2
set $optype = "IS_TMP_VAR"
end
if $znode->op_type == 4
if $znode->op_type == 4
set $optype = "IS_VAR"
end
if $znode->op_type == 8
@@ -576,11 +565,11 @@ end
document printzn
print type and content of znode.
usage: printzn &opline->op1
usage: printzn &opline->op1
end
define printzops
printf "op1 => "
printf "op1 => "
printzn &execute_data->opline.op1
printf "op2 => "
printzn &execute_data->opline.op2
+4
View File
@@ -15,8 +15,11 @@ ext/dba/libflatfile/flatfile.c ident
ext/dba/libcdb/cdb_make.c ident
ext/dba/libcdb/cdb.c ident
ext/filter/filter.c ident
ext/zip/php_zip.c ident
README.input_filter ident
run-tests.php ident
sapi/nsapi/nsapi.c ident
sapi/continuity/capi.c ident
Zend/RFCs/002.txt ident
Zend/RFCs/003.txt ident
ext/exif/exif.c ident
@@ -29,6 +32,7 @@ UPGRADING.INTERNALS merge=NEWS
/ext/bz2/tests/with_strings.phpt -crlf
/ext/dom/tests/bug40836.phpt -crlf
/ext/dom/tests/domelement.phpt -crlf
/ext/ereg/tests/eregi_basic_002.phpt -crlf
/ext/iconv/tests/iconv004.phpt -crlf
/ext/iconv/tests/iconv_basic.phpt -crlf
/ext/iconv/tests/iconv_strpos.phpt -crlf
+37 -86
View File
@@ -26,21 +26,14 @@
*.tar.xz.asc
.FBCIndex
.FBCLockFolder
.deps
.libs
phpt.*
core
dynlib.m4
Debug
Debug_TS
Makefile
Makefile.fragments
Makefile.objects
Release
Release_TS
Release_TSDbg
Release_TS_inline
Release_inline
ZendEngine1
_libs
acconfig.h
aclocal.m4
@@ -55,7 +48,6 @@ config.cache
config.h.in
config.log
config.nice
config.nice.bat
config.status
config.sub
config_vars.mk
@@ -64,8 +56,6 @@ configuration-parser.h
configuration-parser.output
configuration-scanner.c
configure
configure.bat
configure.js
conftest
conftest.c
debug.log
@@ -95,7 +85,6 @@ stamp-h
test.php3
tmp-php.ini
want_dependencies
x64
stamp-h.in
scan_makefile_in.awk
TSRM/tsrm_config.h
@@ -114,65 +103,9 @@ ext/phar/phar.php
main/php_config.h
main/php_config.h.in
# Test specific Ignores
tests/*/*.diff
tests/*/*.out
tests/*/*.php
tests/*/*.exp
tests/*/*.log
tests/*/*.sh
tests/*/*/*.diff
tests/*/*/*.out
tests/*/*/*.php
tests/*/*/*.exp
tests/*/*/*.log
tests/*/*/*.sh
*/tests/*.diff
*/tests/*.out
*/tests/*.php
*/tests/*.exp
*/tests/*.log
*/tests/*.sh
*/tests/*/*.diff
*/tests/*/*.out
*/tests/*/*.php
*/tests/*/*.exp
*/tests/*/*.log
*/tests/*/*.sh
*/tests/*/*/*.diff
*/tests/*/*/*.out
*/tests/*/*/*.php
*/tests/*/*/*.exp
*/tests/*/*/*.log
*/tests/*/*/*.sh
*/*/tests/*.diff
*/*/tests/*.out
*/*/tests/*.out.png
*/*/tests/*.php
*/*/tests/*.exp
*/*/tests/*.log
*/*/tests/*.sh
*/*/tests/*/*.diff
*/*/tests/*/*.out
*/*/tests/*/*.php
*/*/tests/*/*.exp
*/*/tests/*/*.log
*/*/tests/*/*.sh
*/*/tests/*/*/*.diff
*/*/tests/*/*/*.out
*/*/tests/*/*/*.php
*/*/tests/*/*/*.exp
*/*/tests/*/*/*.log
*/*/tests/*/*/*.sh
*/*/tests/*/*/*/*.diff
*/*/tests/*/*/*/*.out
*/*/tests/*/*/*/*.php
*/*/tests/*/*/*/*.exp
*/*/tests/*/*/*/*.log
*/*/tests/*/*/*/*.sh
# Extension specifc ignores
ext/*/configure.in
ext/*/configure.ac
ext/*/ltmain.sh
ext/*/libs.mk
ext/*/build
@@ -213,32 +146,21 @@ ext/mssql/Makefile.global
ext/mssql/acinclude.m4
ext/mssql/config.sub
ext/mssql/configure.in
ext/mssql/configure.ac
ext/mssql/ltmain.sh
ext/mysql/weztest.sqlite
ext/oci8/tests/*.tmp
ext/oci8/tests/*.vglog
ext/pdo/conftest*
ext/pdo/tests/*.db
ext/pdo/tests/*.tmp
ext/pdo_firebird/conftest*
ext/pdo_mysql/conftest*
ext/pdo_mysql/tests/*.db
ext/pdo_mysql/tests/*.tmp
ext/pdo_oci/conftest*
ext/pdo_odbc/tests/*.db
ext/pdo_odbc/tests/*.tmp
ext/pdo_odbc/tests/*.mdb
ext/pdo_pgsql/conftest*
ext/pdo_pgsql/tests/*.db
ext/pdo_pgsql/tests/*.tmp
ext/pdo_sqlite/conftest*
ext/pdo_sqlite/sqlite3.h
ext/pdo_sqlite/tests/*.db
ext/pdo_sqlite/tests/*.tmp
ext/phar/phar.phar
ext/phar/phar.1
ext/phar/phar.phar.1
ext/pspell/tests/*.tmp
ext/reflection/xml
ext/reflection/html
ext/reflection/spl.chm
@@ -246,10 +168,6 @@ ext/simplexml/examples/security.new.xml
ext/spl/examples/.htaccess
ext/spl/examples/*.phps
ext/sqlite3/tests/phpsql*
ext/sqlite3/tests/*.db
ext/sqlite3/tests/*.tmp
ext/standard/tests/misc/*.txt
ext/standard/tests/strings/*.txt
main/build-defs.h
main/internal_functions_cli.c
main/config.w32.h
@@ -261,7 +179,9 @@ pear/phpize
pear/run-tests
pear/php-config
pear/scripts
sapi/apache/libphp7.module
sapi/apache2handler/libphp7.module
sapi/apache_hooks/libphp7.module
sapi/cgi/php-cgi
sapi/cgi/php-cgi.1
sapi/cli/php.1
@@ -273,7 +193,6 @@ sapi/fpm/fpm/php-cgi
sapi/phpdbg/phpdbg_parser.c
sapi/phpdbg/phpdbg_parser.h
sapi/phpdbg/phpdbg
sapi/phpdbg/phpdbg.1
scripts/php-config
scripts/phpize
scripts/man1/*.1
@@ -283,3 +202,35 @@ win32/*.positions
win32/ext
win32/phpts.def
win32/wsyslog.h
# ------------------------------------------------------------------------------ Windows
# Generated by `/buildconf.bat`
/configure.bat
/configure.js
# Generated by `/configure.(bat|js)` (architecture dependend)
/config.nice.bat
/Debug/
/Debug_TS/
/Release/
/Release_TS/
/x64/
# ------------------------------------------------------------------------------ Tests
# Generated by `/run-tests.php` upon failure.
**/tests/**/*.diff
**/tests/**/*.out*
**/tests/**/*.php
**/tests/**/*.exp
**/tests/**/*.log
**/tests/**/*.sh
# Used by some test cases.
**/tests/**/*.db
**/tests/**/*.txt
**/tests/**/*.tmp
# special cases to invert previous ignore rules
!ext/fileinfo/libmagic.patch
!ext/mbstring/oniguruma.patch
+12 -12
View File
@@ -1,9 +1,5 @@
git:
quiet: true
dist: trusty
language: c
sudo: required
sudo: false
addons:
apt:
packages:
@@ -12,7 +8,6 @@ addons:
- re2c
- libgmp-dev
- libicu-dev
- libmcrypt-dev
- libtidy-dev
- libenchant-dev
- libaspell-dev
@@ -23,7 +18,7 @@ addons:
- libt1-dev
notifications:
email:
email:
on_failure: change
irc:
template:
@@ -34,7 +29,8 @@ notifications:
on_failure: always
cache:
- apt
apt: true
ccache: true
env:
global:
@@ -50,8 +46,9 @@ env:
- ENABLE_MAINTAINER_ZTS=1 ENABLE_DEBUG=1
before_script:
# Enable IPv6
- sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
- ccache --version
- ccache --zero-stats
- export USE_CCACHE=1
# Compile PHP
- ./travis/compile.sh
# Setup Extensions
@@ -61,6 +58,9 @@ before_script:
- . ./travis/ext/pgsql/setup.sh
- . ./travis/ext/pdo_pgsql/setup.sh
# Run PHPs run-tests.php
# Run PHPs run-tests.php
script:
- ./sapi/cli/php run-tests.php -p `pwd`/sapi/cli/php $(if [ $ENABLE_DEBUG == 0 ]; then echo "-d opcache.enable_cli=1 -d zend_extension=`pwd`/modules/opcache.so"; fi) -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP" --offline --show-diff --set-timeout 120
- ./sapi/cli/php run-tests.php -p `pwd`/sapi/cli/php $(if [ $ENABLE_DEBUG == 0 ]; then echo "-d opcache.enable_cli=1 -d zend_extension=`pwd`/modules/opcache.so"; fi) -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP" --offline --show-diff --show-slow 1000 --set-timeout 120
after_success:
- ccache --show-stats
+1 -1
View File
@@ -113,7 +113,7 @@ User Functions/Methods Naming Conventions
of ``parent_*``::
A family of 'foo' functions, for example:
Good:
'foo_select_bar'
'foo_insert_baz'
+13 -8
View File
@@ -11,15 +11,20 @@ co-ordination.
PHP welcomes pull requests to [add tests](#writing-tests), fix bugs and to
implement RFCs. Please be sure to include tests as appropriate!
If you are fixing a bug, then please submit your PR against the lowest branch
of PHP that the bug affects, or the oldest fully supported version (the first
green branch on
[the supported version page](http://php.net/supported-versions.php). For
example, at the time of writing in mid-2015, this is PHP 5.5, which corresponds
to the `PHP-5.5` branch in Git. Please also make sure you add a link to the PR
in the bug on [the bug tracker](https://bugs.php.net/).
If you are fixing a bug, then please submit your PR against the lowest actively
supported branch of PHP that the bug affects (only green branches on
[the supported version page](http://php.net/supported-versions.php) are supported).
For example, at the time of writing in mid-2017, the lowest supported version is
PHP 7.0, which corresponds to the `PHP-7.0` branch in Git. Please also make sure you
add a link to the PR in the bug on [the bug tracker](https://bugs.php.net/).
Pull requests to implement RFCs should be submitted against `master`.
Pull requests implementing RFCs should be submitted against `master`.
Pull requests should *never* be submitted against `PHP-x.y.z` branches, as
these are only used for release management.
If your pull request exhibits conflicts with the base branch, please resolve them
by using `git rebase` instead of `git merge`.
## Filing bugs
+20 -13
View File
@@ -47,7 +47,7 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: fpm
PRIMARY MAINTAINER: Jakub Zelenka <bukka@php.net>
PRIMARY MAINTAINER: Antony Dovgal <tony2001@php.net>, Jerome Loyet <fat@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3.3
@@ -79,13 +79,13 @@ MAINTENANCE: Odd fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mysqli
PRIMARY MAINTAINER: Georg Richter <georg@php.net>, Andrey Hristov <andrey@php.net>, Johannes Schlüter <johannes@php.net>, Ulf Wendel <uw@php.net>
PRIMARY MAINTAINER: Georg Richter <georg@php.net>, Andrey Hristov <andrey@php.net>, Johannes Schlüter <johannes@php.net>, Ulf Wendel <uw@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: mysqlnd
PRIMARY MAINTAINER: Andrey Hristov <andrey@php.net>, Johannes Schlüter <johannes@php.net>, Ulf Wendel <uw@php.net>
PRIMARY MAINTAINER: Andrey Hristov <andrey@php.net>, Johannes Schlüter <johannes@php.net>, Ulf Wendel <uw@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
@@ -99,7 +99,7 @@ EXTENSION: odbc
PRIMARY MAINTAINER: Daniel R. Kalowsky <kalowsky@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Working
COMMENT: Working
-------------------------------------------------------------------------------
EXTENSION: pdo
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>, Wez Furlong <wez@php.net>
@@ -195,12 +195,12 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: libxml
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net>, Christian Stocker <chregu@php.net>
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net>, Christian Stocker <chregu@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xmlreader
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net>, Christian Stocker <chregu@php.net>
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net>, Christian Stocker <chregu@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -262,8 +262,14 @@ PRIMARY MAINTAINER: Derick Rethans <derick@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: enchant
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: exif
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>
PRIMARY MAINTAINER: Kalle Sommer Nielsen <kalle@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.2
@@ -281,7 +287,7 @@ STATUS: Working
SINCE: 5.2
-------------------------------------------------------------------------------
EXTENSION: ftp
PRIMARY MAINTAINER: Stefan Esser <sesser@php.net>
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
-------------------------------------------------------------------------------
@@ -338,11 +344,6 @@ PRIMARY MAINTAINER: Rui Hirokawa <hirokawa@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mcrypt
PRIMARY MAINTAINER: Derick Rethans <derick@derickrethans.nl>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: opcache
PRIMARY MAINTAINER: Dmitry Stogov <dmitry@zend.com>, Xinchen Hui <laruence@php.net>
MAINTENANCE: Maintained
@@ -418,6 +419,12 @@ MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: sodium
PRIMARY MAINTAINER: Frank Denis <jedisct1@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 7.2.0
-------------------------------------------------------------------------------
EXTENSION: spl
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>, Etienne Kneuss <colder@php.net>
MAINTENANCE: Maintained
+14 -14
View File
@@ -1,7 +1,7 @@
--------------------------------------------------------------------
--------------------------------------------------------------------
The PHP License, version 3.01
Copyright (c) 1999 - 2018 The PHP Group. All rights reserved.
--------------------------------------------------------------------
Copyright (c) 1999 - 2017 The PHP Group. All rights reserved.
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
modification, is permitted provided that the following conditions
@@ -9,22 +9,22 @@ are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The name "PHP" must not be used to endorse or promote products
derived from this software without prior written permission. For
written permission, please contact group@php.net.
4. Products derived from this software may not be called "PHP", nor
may "PHP" appear in their name, without prior written permission
from group@php.net. You may indicate that your software works in
conjunction with PHP by saying "Foo for PHP" instead of calling
it "PHP Foo" or "phpfoo"
5. The PHP Group may publish revised and/or new versions of the
license from time to time. Each version will be given a
distinguishing version number.
@@ -41,27 +41,27 @@ are met:
"This product includes PHP software, freely available from
<http://www.php.net/software/>".
THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP
DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------
--------------------------------------------------------------------
This software consists of voluntary contributions made by many
individuals on behalf of the PHP Group.
The PHP Group can be contacted via Email at group@php.net.
For more information on the PHP Group and the PHP project,
For more information on the PHP Group and the PHP project,
please see <http://www.php.net>.
PHP includes the Zend Engine, freely available at
+1
View File
@@ -1,3 +1,4 @@
#
# Zend
#
+2 -1
View File
@@ -1,3 +1,4 @@
#
# LCOV
#
@@ -61,7 +62,7 @@ php_lcov.info: lcov-test
rm -rf lcov_data/$$dir ; \
fi; \
done
@echo
@echo
@echo "Generating $@"
@$(LTP) --directory lcov_data/ --capture --base-directory=lcov_data --output-file $@
+5 -5
View File
@@ -5,7 +5,7 @@ INSTALL_DATA = $(INSTALL) -m 644
DEFS = -DPHP_ATOM_INC -I$(top_builddir)/include -I$(top_builddir)/main -I$(top_srcdir)
COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(PHP_FRAMEWORKPATH)
all: $(all_targets)
all: $(all_targets)
@echo
@echo "Build complete."
@echo "Don't forget to run 'make test'."
@@ -112,16 +112,16 @@ test: all
clean:
find . -name \*.gcno -o -name \*.gcda | xargs rm -f
find . -name \*.lo -o -name \*.o | xargs rm -f
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(SAPI_CGI_PATH) $(SAPI_MILTER_PATH) $(SAPI_LITESPEED_PATH) $(SAPI_FPM_PATH) $(OVERALL_TARGET) modules/* libs/*
distclean: clean
rm -f Makefile config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h main/internal_functions_cli.c main/internal_functions.c stamp-h buildmk.stamp Zend/zend_dtrace_gen.h Zend/zend_dtrace_gen.h.bak Zend/zend_config.h TSRM/tsrm_config.h
rm -f Makefile config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h main/internal_functions_cli.c main/internal_functions.c stamp-h sapi/apache/libphp$(PHP_MAJOR_VERSION).module sapi/apache_hooks/libphp$(PHP_MAJOR_VERSION).module buildmk.stamp Zend/zend_dtrace_gen.h Zend/zend_dtrace_gen.h.bak Zend/zend_config.h TSRM/tsrm_config.h
rm -f php7.spec main/build-defs.h scripts/phpize
rm -f ext/date/lib/timelib_config.h ext/mbstring/oniguruma/config.h ext/mbstring/libmbfl/config.h ext/oci8/oci8_dtrace_gen.h ext/oci8/oci8_dtrace_gen.h.bak
rm -f scripts/man1/phpize.1 scripts/php-config scripts/man1/php-config.1 sapi/cli/php.1 sapi/cgi/php-cgi.1 sapi/phpdbg/phpdbg.1 ext/phar/phar.1 ext/phar/phar.phar.1
rm -f scripts/man1/phpize.1 scripts/php-config scripts/man1/php-config.1 sapi/cli/php.1 sapi/cgi/php-cgi.1 ext/phar/phar.1 ext/phar/phar.phar.1
rm -f sapi/fpm/php-fpm.conf sapi/fpm/init.d.php-fpm sapi/fpm/php-fpm.service sapi/fpm/php-fpm.8 sapi/fpm/status.html
rm -f ext/iconv/php_have_bsd_iconv.h ext/iconv/php_have_glibc_iconv.h ext/iconv/php_have_ibm_iconv.h ext/iconv/php_have_iconv.h ext/iconv/php_have_libiconv.h ext/iconv/php_iconv_aliased_libiconv.h ext/iconv/php_iconv_supports_errno.h ext/iconv/php_php_iconv_h_path.h ext/iconv/php_php_iconv_impl.h
rm -f ext/phar/phar.phar ext/phar/phar.php
@@ -135,7 +135,7 @@ prof-gen:
prof-clean:
find . -name \*.lo -o -name \*.o | xargs rm -f
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(SAPI_CGI_PATH) $(SAPI_MILTER_PATH) $(SAPI_LITESPEED_PATH) $(SAPI_FPM_PATH) $(OVERALL_TARGET) modules/* libs/*
+304 -3989
View File
File diff suppressed because it is too large. Load diff
+10 -9
View File
@@ -1,6 +1,6 @@
(NOTE: you may also want to take a look at the pear package
PECL_Gen, a PHP-only alternative for this script that
supports way more extension writing tasks and is
supports way more extension writing tasks and is
supposed to replace ext_skel completely in the long run ...)
WHAT IT IS
@@ -17,16 +17,16 @@ HOW TO USE IT
./ext_skel --extname=module_name
and everything you need is placed in directory module_name.
and everything you need is placed in directory module_name.
[ Note that GNU awk is likely required for this script to work. Debian
systems seem to default to using mawk, so you may need to change the
[ Note that GNU awk is likely required for this script to work. Debian
systems seem to default to using mawk, so you may need to change the
#! line in skeleton/create_stubs and the cat $proto | awk line in
ext_skel to use gawk explicitly. ]
If you don't need to test the existence of any external header files,
libraries or functions in them, the module is already almost ready to be
compiled in PHP. Just remove 3 comments in your_module_name/config.m4,
If you don't need to test the existence of any external header files,
libraries or functions in them, the module is already almost ready to be
compiled in PHP. Just remove 3 comments in your_module_name/config.m4,
change back up to PHP sources top directory, and do
./buildconf; ./configure --enable-module_name; make
@@ -83,7 +83,7 @@ FORMAT OF FUNCTION DEFINITIONS FILE
']'s as there where '['s. Currently, it does not harm if you forget to do it
or there is a wrong amount of ']'s, but this may change in the future.
An additional short description may be added after the parameters.
An additional short description may be added after the parameters.
If present it will be filled into the 'proto' header comments in the stubs
code and the <refpurpose> tag in the XML documentation.
@@ -135,7 +135,7 @@ CURRENT LIMITATIONS, BUGS AND OTHER ODDITIES
handled. For other types you must write the code yourself. And for type
mixed, it wouldn't even be possible to write anything, because only you
know what to expect.
It can't handle correctly, and probably never will, variable list of
of arguments. (void foo(int bar [, ...])
@@ -185,3 +185,4 @@ PHP_FUNCTION(module_name_drawtext)
php_error(E_WARNING, "module_name_drawtext: not yet implemented");
}
/* }}} */
+13 -8
View File
@@ -38,21 +38,26 @@ Having said that, here are the organizational rules::
6. Test your changes before committing them. We mean it. Really.
To do so use "make test".
7. For development use the --enable-maintainer-zts switch to ensure your
code handles TSRM correctly and doesn't break for those who need that.
7. For development use the --enable-debug switch to avoid memory leaks
and the --enable-maintainer-zts switch to ensure your code handles
TSRM correctly and doesn't break for those who need that.
Currently we have the following branches in use::
master The active development branch.
master The active development branch.
PHP-7.1 Is used to release the PHP 7.1.x series. This is a prerelease
version.
PHP-7.0 Is used to release the PHP 7.0.x series. This is a current
stable version and is open for bugfixes only.
PHP-5.6 Is used to release the PHP 5.6.x series. This is a current
stable version and is open for bugfixes only.
PHP-5.5 Is used to release the PHP 5.5.x series. This is an old
stable version and is open for security fixes only.
PHP-5.5 This branch is closed.
PHP-5.4 Is used to release the PHP 5.4.x series. This is an old
stable version and is open for security fixes only.
PHP-5.4 This branch is closed.
PHP-5.3 This branch is closed.
@@ -105,7 +110,7 @@ The format of the commit messages is pretty simple.
An Example from the git project (commit 2b34e486bc):
pack-objects: Fix compilation with NO_PTHREDS
It looks like commit 99fb6e04 (pack-objects: convert to use
parse_options(), 2012-02-01) moved the #ifdef NO_PTHREDS around but
hasn't noticed that the 'arg' variable no longer is available.
+3 -3
View File
@@ -3,7 +3,7 @@ $Id: README.NEW-OUTPUT-API 219039 2006-08-30 07:39:09Z mike $
API adjustment to the old output control code:
Everything now resides beneath the php_output namespace,
Everything now resides beneath the php_output namespace,
and there's an API call for every output handler op.
Checking output control layers status:
@@ -18,7 +18,7 @@ API adjustment to the old output control code:
// php_start_ob_buffer(zhandler, chunk_size, erase);
php_output_start_user(zhandler, chunk_size, flags);
Starting an internal handler whithout context:
Starting an internal handler without context:
// php_ob_set_internal_handler(my_php_output_handler_func_t, buffer_size, "output handler name", erase);
php_output_start_internal(handler_name, handler_name_len, my_php_output_handler_func_t, chunk_size, flags);
@@ -134,7 +134,7 @@ Output handler hooks
Open questions
Should the userland API be adjusted and unified?
Many bits of the manual (and very first implementation) do not comply
with the behaviour of the current (to be obsoleted) code, thus should
the manual or the behaviour be adjusted?
+9 -9
View File
@@ -42,11 +42,11 @@ See also https://wiki.php.net/rfc/zpp_improv#expose_zend_parse_arg_as_zend_parse
Type specifiers
---------------
The following list shows the type specifier, its meaning and the parameter
The following list shows the type specifier, its meaning and the parameter
types that need to be passed by address. All passed parameters are set
if the PHP parameter is non optional and untouched if optional and the
if the PHP parameter is non optional and untouched if optional and the
parameter is not present. The only exception is O where the zend_class_entry*
has to be provided on input and is used to verify the PHP parameter is an
has to be provided on input and is used to verify the PHP parameter is an
instance of that class.
a - array (zval*)
@@ -54,7 +54,7 @@ Type specifiers
b - boolean (zend_bool)
C - class (zend_class_entry*)
d - double (double)
f - function or array containing php method call info (returned as
f - function or array containing php method call info (returned as
zend_fcall_info and zend_fcall_info_cache)
h - array (returned as HashTable*)
H - array or HASH_OF(object) (returned as HashTable*)
@@ -88,9 +88,9 @@ Type specifiers
Note on 64bit compatibility
---------------------------
Please note that since version 7 PHP uses zend_long as integer type and
zend_string with size_t as length, so make sure you pass zend_longs to "l"
and size_t to strings length (i.e. for "s" you need to pass char * and size_t),
Please note that since version 7 PHP uses zend_long as integer type and
zend_string with size_t as length, so make sure you pass zend_longs to "l"
and size_t to strings length (i.e. for "s" you need to pass char * and size_t),
not the other way round!
Both mistakes might cause memory corruptions and segfaults:
@@ -103,7 +103,7 @@ Both mistakes might cause memory corruptions and segfaults:
int num; /* XXX THIS IS WRONG!! Use zend_long instead. */
zend_parse_parameters(ZEND_NUM_ARGS(), "l", &num)
If you're in doubt, use check_parameters.php script to the parameters
If you're in doubt, use check_parameters.php script to the parameters
and their types (it can be found in ./scripts/dev/ directory of PHP sources):
# php ./scripts/dev/check_parameters.php /path/to/your/sources/
@@ -152,7 +152,7 @@ if (zend_parse_parameters(ZEND_NUM_ARGS(), "a/!",
/* Get either a set of 3 longs or a string. */
zend_long l1, l2, l3;
char *s;
/*
/*
* The function expects a pointer to a size_t in this case, not a long
* or any other type. If you specify a type which is larger
* than a 'size_t', the upper bits might not be initialized
+22 -21
View File
@@ -46,7 +46,7 @@ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
6. ext/standard crypt's blowfish implementation
@@ -92,7 +92,7 @@ http://www.usenix.org/events/usenix99/provos.html
Some of the tricks in BF_ROUND might be inspired by Eric Young's
Blowfish library (I can't be sure if I would think of something if I
hadn't seen his code).
7. Sqlite/Sqlite3 ext/sqlite3 ext/sqlite
@@ -126,7 +126,7 @@ Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30.
Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
Copyright (C) 2000 - 2003, Richard J. Wagner
All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
@@ -139,8 +139,8 @@ are met:
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The names of its contributors may not be used to endorse or promote
products derived from this software without specific prior written
3. The names of its contributors may not be used to endorse or promote
products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@@ -261,26 +261,26 @@ SUCH DAMAGE.
12. libxmlrpc ext/xmlrpc
Copyright 2000 Epinions, Inc.
Copyright 2000 Epinions, Inc.
Subject to the following 3 conditions, Epinions, Inc. permits you, free
of charge, to (a) use, copy, distribute, modify, perform and display this
software and associated documentation files (the "Software"), and (b)
permit others to whom the Software is furnished to do so as well.
Subject to the following 3 conditions, Epinions, Inc. permits you, free
of charge, to (a) use, copy, distribute, modify, perform and display this
software and associated documentation files (the "Software"), and (b)
permit others to whom the Software is furnished to do so as well.
1) The above copyright notice and this permission notice shall be included
without modification in all copies or substantial portions of the
Software.
1) The above copyright notice and this permission notice shall be included
without modification in all copies or substantial portions of the
Software.
2) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY OR CONDITION OF
ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY
IMPLIED WARRANTIES OF ACCURACY, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE OR NONINFRINGEMENT.
2) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY OR CONDITION OF
ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY
IMPLIED WARRANTIES OF ACCURACY, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE OR NONINFRINGEMENT.
3) IN NO EVENT SHALL EPINIONS, INC. BE LIABLE FOR ANY DIRECT, INDIRECT,
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR LOST PROFITS ARISING OUT
OF OR IN CONNECTION WITH THE SOFTWARE (HOWEVER ARISING, INCLUDING
NEGLIGENCE), EVEN IF EPINIONS, INC. IS AWARE OF THE POSSIBILITY OF SUCH
3) IN NO EVENT SHALL EPINIONS, INC. BE LIABLE FOR ANY DIRECT, INDIRECT,
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR LOST PROFITS ARISING OUT
OF OR IN CONNECTION WITH THE SOFTWARE (HOWEVER ARISING, INCLUDING
NEGLIGENCE), EVEN IF EPINIONS, INC. IS AWARE OF THE POSSIBILITY OF SUCH
DAMAGES.
13. libzip ext/zip
@@ -414,3 +414,4 @@ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+67 -35
View File
@@ -32,7 +32,7 @@ team (Bjori) on hand.
6. Verify the tags to be extra sure everything was tagged properly.
7. Moving extensions from/to PECL requires write access to the destination.
Most developers should have this.
Most developers should have this.
Moving extensions from php-src to PECL
- Checkout the pecl directory, most likely you want a sparse-root checkout
@@ -65,7 +65,7 @@ credits files in ext/standard.
4. Checkout the release branch for this release (e.g., PHP-5.4.2) from the main branch.
5. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``.
5. Bump the version numbers in ``main/php_version.h``, ``configure.ac`` and possibly ``NEWS``.
Do not use abbreviations for alpha and beta. Do not use dashes, you should
``#define PHP_VERSION "5.4.22RC1"`` and not ``#define PHP_VERSION "5.4.22-RC1"``
@@ -79,7 +79,7 @@ Do not use abbreviations for alpha and beta. Do not use dashes, you should
9. Tag the repository release branch with the version, e.g.:
``git tag -u YOURKEYID php-5.4.2RC2``
10. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and ``NEWS``
10. Bump the version numbers in ``main/php_version.h``, ``configure.ac`` and ``NEWS``
in the *main* branch (PHP-5.4 for example) to prepare for the **next** version.
F.e. if the RC is "5.4.1RC1" then the new one should be "5.4.2-dev" - regardless if we get
a new RC or not. This is to make sure ``version_compare()`` can correctly work.
@@ -97,25 +97,55 @@ and build three tarballs (gz, bz2 and xz).
and output verification information to be included in announcement email
14. Copy those tarballs (scp, rsync) to downloads.php.net, in your homedir there should be a
directory "downloads/". Copy them into there, so that the system can generate
MD5 sums. If you do not have this directory, talk to Derick or Dan.
directory "public_html/". Copy them into there, so that the system can generate
MD5 sums. If you do not have this directory, create it.
15. Now the RC can be found on http://downloads.php.net/yourname,
f.e. http://downloads.php.net/derick/
15. Now the RC can be found on http://downloads.php.net/~yourname,
f.e. http://downloads.php.net/~derick/
16. Once the release has been tagged, contact the PHP Windows development team
(internals-win@lists.php.net) so that Windows binaries can be created. Once
those are made, they should be placed into the same directory as the source snapshots.
16. Once the release has been tagged, contact the release-managers@ distribution list
so that Windows binaries can be created. Once those are made, they can be found at
http://windows.php.net/download
Getting the non stable release (alpha/beta/RC) announced
--------------------------------------------------------
1. Send an email **To** ``internals@lists.php.net`` and ``php-general@lists.php.net``
1. Update ``qa.git/include/release-qa.php`` with the appropriate information.
See the documentation within release-qa.php for more information, but all releases
and RCs are configured here. Only $QA_RELEASES needs to be edited.
Example: When rolling an RC, set the 'rc' with appropriate information for the
given version.
Note: Remember to update the MD5 and sha256 checksum information.
2. Update ``web/php.git/include/version.inc`` (x=major version number)
a. ``$PHP_x_RC`` = "5.4.0RC1" (should be set to "false" before)
b. ``$PHP_x_RC_DATE`` = "06 September 2007"
3. Add a short notice to phpweb stating that there is a new release, and
highlight the major important things (security fixes) and when it is important
to upgrade.
a. Call php bin/createNewsEntry in your local phpweb checkout
Use category "releases" for all stable releases.
Use category "frontpage" for X.Y.0 non-stable releases only (news only).
b. Add the content for the news entry. Be sure to include the text:
"THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION!"
4. Commit and push changes to qa and web
*Wait for web and qa sites to update with new information before sending announce*
5. Send an email **To** ``internals@lists.php.net`` and ``php-general@lists.php.net``
lists pointing out "the location of the release" and "the possible release date of
either the next RC, or the final release". Include in this information the verification
information output by ``gen_verify_stub``.
2. Send an email (see example here http://news.php.net/php.pear.qa/5201) **To**
6. Send an email (see example here http://news.php.net/php.pear.qa/5201) **To**
``php-qa@lists.php.net`` and ``primary-qa-tester@lists.php.net``.
This email is to notify the selected projects about a new release so that they
can make sure their projects keep working. Make sure that you have been setup
@@ -126,33 +156,14 @@ Derick) run the following commands for you:
``sudo -u ezmlm ezmlm-sub ~ezmlm/primary-qa-tester/mod moderator-email-address``
3. Update ``qa.git/include/release-qa.php`` with the appropriate information.
See the documentation within release-qa.php for more information, but all releases
and RCs are configured here. Only $QA_RELEASES needs to be edited.
Example: When rolling an RC, set the 'rc' with appropriate information for the
given version.
Note: Remember to update the MD5 checksum information.
4. Update ``web/php.git/include/version.inc`` (x=major version number)
a. ``$PHP_x_RC`` = "5.4.0RC1" (should be set to "false" before)
b. ``$PHP_x_RC_DATE`` = "06 September 2007"
5. Commit and push those changes:
a. ``git commit -a && git push origin master``
6. For the first RC, write the doc team (phpdoc@lists.php.net) about updating the
7. For the first RC, write the doc team (phpdoc@lists.php.net) about updating the
INSTALL and win32/install.txt files which are generated from the PHP manual sources.
Rolling a stable release
------------------------
1. Checkout your release branch, you should have created when releasing previous RC
and bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``.
and bump the version numbers in ``main/php_version.h``, ``configure.ac`` and possibly ``NEWS``.
2. If a CVE commit needs to be merged to the release, then have it committed to
the base branches and merged upwards as usual (f.e commit the CVE fix to 5.3,
@@ -182,7 +193,7 @@ Check if the pear files are updated (phar).
``gpg -u YOUREMAIL --armor --detach-sign php-X.Y.Z.tar.xxx``
11. Commit and push all the tarballs and signature files to web/php-distributions.git,
then update the git submodule reference in web/php.git:
then update the git submodule reference in web/php.git:
``git submodule init;
git submodule update;
cd distributions;
@@ -252,7 +263,7 @@ f.e. ``ChangeLog-5.php`` from the NEWS file
IV. ``s/Fixed PECL bug #\([0-9]\+\)/<?php peclbugfix(\1); ?>/``
V. ``s/FR #\([0-9]\+\)/FR <?php bugl(\1); ?>/``
e. You may want to try php-web/bin/news2html to automate this task
6. Add a short notice to phpweb stating that there is a new release, and
@@ -315,3 +326,24 @@ the news entry.
Please make sure that the mail to php-announce@ is its own completely separate email.
This is to make sure that replies to the announcement on php-general@ or internals@
will not accidentally hit the php-announce@ mailinglist.
New Release Manager Checklist
-----------------------------
1. Email systems@ to get setup for access to downloads.php.net and to be added to the
release-managers@ distribution list.
2. Create a GPG key for your @php.net address and publish it by editing `include/gpg-keys.inc`
in the `web-php` repository, adding the output of `gpg --fingerprint "$USER@php.net"`. Let
one or more of the previous RMs sign your key. Publish your public key to pgp.mit.edu with:
`gpg --keyserver pgp.mit.edu --send-keys $KEYID`
3. Request karma to eding main/php_version.h. Possibly karma for other restricted parts of
php-src might come in question.
4. Request karma for web/qa.git and web/php.git for publishing release announcements.
5. Request moderation access to announce@php.net and primary-qa-tester@lists.php.net lists, to
be able to moderate your release announcements. All the announcements should be sent from
the @php.net alias.
+9 -8
View File
@@ -23,7 +23,7 @@ PREPARING YOUR SYSTEM
GNU libtool
GNU m4
All of these are available from
All of these are available from
ftp://ftp.gnu.org/pub/gnu/
@@ -33,7 +33,7 @@ CONVERTING AN EXISTING EXTENSION
extension, we will convert an embedded extension into a
self-contained one. Install PHP and execute the following
commands.
$ mkdir /tmp/newext
$ cd /tmp/newext
@@ -56,7 +56,7 @@ CONVERTING AN EXISTING EXTENSION
[--with-mysql=MYSQL-DIR]
$ make install
The MySQL module will either use the embedded MySQL client
The MySQL module will either use the embedded MySQL client
library or the MySQL installation in MYSQL-DIR.
@@ -67,8 +67,8 @@ DEFINING THE NEW EXTENSION
It consists of two source files "foo.c" and "bar.c"
(and any arbitrary amount of header files, but that is not
important here).
The demo extension does not reference any external
The demo extension does not reference any external
libraries (that is important, because the user does not
need to specify anything).
@@ -78,7 +78,7 @@ DEFINING THE NEW EXTENSION
CREATING THE M4 CONFIGURATION FILE
The m4 configuration can perform additional checks. For a
The m4 configuration can perform additional checks. For a
self-contained extension, you do not need more than a few
macro calls.
@@ -97,7 +97,7 @@ fi
The first argument of PHP_NEW_EXTENSION describes the name of the
extension. The second names the source-code files. The third passes
$ext_shared which is set by PHP_ARG_ENABLE/WITH to PHP_NEW_EXTENSION.
Please use always PHP_ARG_ENABLE or PHP_ARG_WITH. Even if you do not
plan to distribute your module with PHP, these facilities allow you
to integrate your module easily into the main PHP module framework.
@@ -138,7 +138,7 @@ INSTALLING A SELF-CONTAINED EXTENSION
ADDING SHARED MODULE SUPPORT TO A MODULE
In order to be useful, a self-contained extension must be loadable
as a shared module. I will explain now how you can add shared module
as a shared module. I will explain now how you can add shared module
support to an existing module called foo.
1. In config.m4, use PHP_ARG_WITH/PHP_ARG_ENABLE. Then you will
@@ -167,3 +167,4 @@ PECL SITE CONFORMITY
This macros has to be used within your foo_module_entry to indicate the
extension version.
+5 -5
View File
@@ -28,7 +28,7 @@ The main functions are:
PHPAPI size_t php_stream_read(php_stream * stream, char * buf, size_t count);
PHPAPI size_t php_stream_write(php_stream * stream, const char * buf, size_t
count);
PHPAPI size_t php_stream_printf(php_stream * stream,
PHPAPI size_t php_stream_printf(php_stream * stream,
const char * fmt, ...);
PHPAPI int php_stream_eof(php_stream * stream);
PHPAPI int php_stream_getc(php_stream * stream);
@@ -63,7 +63,7 @@ Where:
file/URL, use this option to arrange for the stream
to be copied (if needed) into a stream that can
be seek()ed.
opened_path is used to return the path of the actual file opened,
but if you used STREAM_MUST_SEEK, may not be valid. You are
responsible for efree()ing opened_path. opened_path may be (and usually
@@ -95,7 +95,7 @@ PHPAPI php_stream *php_stream_sock_open_host(const char *host, unsigned short po
PHPAPI php_stream *php_stream_sock_open_unix(const char *path, int persistent,
struct timeval *timeout);
Open a UNIX domain socket.
Stream Utilities
================
@@ -246,7 +246,7 @@ PHPAPI php_stream * php_stream_fopen(const char * filename, const char * mode)
{
FILE * fp = fopen(filename, mode);
php_stream * ret;
if (fp) {
ret = php_stream_alloc(&php_stream_stdio_ops, fp, 0, 0, mode);
if (ret)
@@ -347,7 +347,7 @@ static size_t php_mysqlop_read(php_stream * stream, char * buf, size_t count)
else
return 0;
}
/* pull out some data from the stream and put it in buf */
... mysql_fetch_row(state->result) ...
/* we could do something strange, like format the data as XML here,
+1 -1
View File
@@ -128,7 +128,7 @@ How to create your PHP, PHP Documentation or PECL patch
-------------------------------------------------------
PHP and most PECL packages use Git for revision control. Some PECL
packages use Subversion (SVN) Read http://www.php.net/git.php for help
on using Git to get and build PHP source code. We recommend to look
on using Git to get and build PHP source code. We recommend to look
at our workflow on https://wiki.php.net/vcs/gitworkflow and our FAQ
https://wiki.php.net/vcs/gitfaq.
+8 -8
View File
@@ -9,7 +9,7 @@ it failed on your system without providing substantial backup information
on *why* the test failed on your special setup. Thank you :-)
[Testing Basics]
[Testing Basics]
----------------
The easiest way to test your PHP build is to run "make test" from the
command line after successfully compiling. This will run the complete
@@ -36,7 +36,7 @@ If you are running the run-tests.php script from the command line (as above)
you must set the TEST_PHP_EXECUTABLE environment variable to explicitly
select the PHP executable that is to be tested, that is, used to run the test scripts.
If you run the tests using make test, the PHP CLI and CGI executables are
If you run the tests using make test, the PHP CLI and CGI executables are
automatically set for you. "make test" executes "run-tests.php" script with the CLI binary. Some
test scripts such as session must be executed by CGI SAPI. Therefore,
you must build PHP with CGI SAPI to perform all tests.
@@ -62,7 +62,7 @@ from the source root and any subdirectories below. If there are files,
which have a "phpt" extension, "run-tests.php" looks at the sections
in these files, determines whether it should run it, by evaluating
the 'SKIP' section. If the test is eligible for execution, the 'FILE'
section is extracted into a ".php" file (with the same name besides
section is extracted into a ".php" file (with the same name besides
the extension) and gets executed.
When an argument is given or TESTS environment variable is set, the
GLOB is expanded by the shell and any file with extension "*.phpt" is
@@ -77,9 +77,9 @@ Examples:
[Test results]
--------------
Test results are printed to standard output. If there is a failed test,
Test results are printed to standard output. If there is a failed test,
the "run-tests.php" script saves the result, the expected result and the
code executed to the test script directory. For example, if
code executed to the test script directory. For example, if
ext/myext/tests/myext.phpt fails to pass, the following files are created:
ext/myext/tests/myext.php - actual test file executed
@@ -151,20 +151,20 @@ advised to test for non-zero, rather then a specific value.
[Creating new test files]
-------------------------
Writing test file is very easy if you are used to PHP.
Writing test file is very easy if you are used to PHP.
See the HOWTO at http://qa.php.net/write-test.php
[How to help us]
----------------
If you find bug in PHP, you can submit bug report AND test script
If you find bug in PHP, you can submit bug report AND test script
for us. You don't have to write complete script, just give us test
script with following format. Please test the script and make sure
you write the correct ACTUAL OUTPUT and EXPECTED OUTPUT before you
submit.
<?php
/*
/*
Bug #12345
substr() bug. Do not return expected string.
+11 -8
View File
@@ -1,13 +1,13 @@
[IMPORTANT NOTICE]
------------------
This is an addendum to README.TESTING with additional information
This is an addendum to README.TESTING with additional information
specific to server-tests.php.
server-tests.php is backward compatible with tests developed for
the original run-tests.php script. server-tests is *not* used by
'make test'. server-tests was developed to provide support for
testing PHP under it's primary environment, HTTP, and can run the
PHP tests under any of the SAPI modules that are direct executables,
PHP tests under any of the SAPI modules that are direct executables,
or are accessible via HTTP.
[New features]
@@ -25,7 +25,7 @@ or are accessible via HTTP.
can be configured to run test scripts through an HTTP server running
on localhost. localhost is required since either the web server must
alias a directory to the php source directory, or the test scripts
must be copied to a directory under the web server
must be copied to a directory under the web server
(see config options TEST_WEB_BASE_URL, TEST_BASE_PATH, and TEST_WEB_EXT)
* New sections supported for test files (see below)
@@ -49,7 +49,7 @@ Some (but not all!) examples of usage:
4. run tests over http, php sources have been aliased in web server
php server-tests.php -w -u http://localhost/test
5. run tests using configuration file
php server-tests.php -c /path/to/server-tests-config.php
@@ -59,10 +59,10 @@ Some (but not all!) examples of usage:
NOTE: configuration as described in README.TESTING still works.
[New Test Sections]
[New Test Sections]
----------------
In addition to the traditional test sections
(see http://qa.php.net/write-test.php), several new sections are available
In addition to the traditional test sections
(see http://qa.php.net/write-test.php), several new sections are available
under server-tests.
--POST--
@@ -78,7 +78,7 @@ in the test file.
Not used for anything, just a section for documenting the test
--ENV--
This section get's eval()'d to help build an environment for the
This section get's eval()'d to help build an environment for the
execution of the test. This can be used to change environment
vars that are used for CGI emulation, or simply to set env vars
for cli testing. A full example looks like:
@@ -132,3 +132,6 @@ regular expect sections. For example:
--EXPECTHEADERS--
Status: 404
+2 -1
View File
@@ -1,5 +1,6 @@
The Win32 Build System.
See http://wiki.php.net/internals/windows/stepbystepbuild
See http://wiki.php.net/internals/windows/stepbystepbuild
vim:tw=78:sw=1:ts=1:et
+1 -1
View File
@@ -12,7 +12,7 @@ enforced. It is implemented as a SAPI hook and is called from the
treat_data and post handler functions. To implement your own security
policy you will need to write a standard PHP extension. There is also
a powerful standard implementation in ext/filter that should suit most
peoples' needs. However, if you want to implement your own security
peoples' needs. However, if you want to implement your own security
policy, read on.
A simple implementation might look like the following. This stores the
+1
View File
@@ -37,3 +37,4 @@ Guidelines for contributors
- [README.GIT-RULES](/README.GIT-RULES)
- [README.MAILINGLIST_RULES](/README.MAILINGLIST_RULES)
- [README.RELEASE_PROCESS](/README.RELEASE_PROCESS)
-173
View File
@@ -1,173 +0,0 @@
Design
======
Main assumption of the model is that the problem that we are to solve is the
problem of the very long class names in PHP libraries. We would not attempt
to take autoloader's job or create packaging model - only make names
manageable.
Namespaces are defined the following way:
Zend/DB/Connection.php:
<?php
namespace Zend\DB;
class Connection {
}
function connect() {
}
?>
Namespace definition does the following:
All class and function names inside are automatically prefixed with
namespace name. Inside namespace, local name always takes precedence over
global name. Several files may be using the same namespace.
The namespace declaration statement must be the very first statement in
the file. The only exception is "declare" statement that can be used before.
Every class and function in a namespace can be referred to by the full name
- e.g. Zend\DB\Connection or Zend\DB\connect - at any time.
<?php
require 'Zend/Db/Connection.php';
$x = new Zend\DB\Connection;
Zend\DB\connect();
?>
Namespace or class name can be imported:
<?php
require 'Zend/Db/Connection.php';
use Zend\DB;
use Zend\DB\Connection as DbConnection;
$x = new Zend\DB\Connection();
$y = new DB\connection();
$z = new DbConnection();
DB\connect();
?>
The use statement only defines name aliasing. It may create name alias for
namespace or class. The simple form of statement "use A\B\C\D;" is
equivalent to "use A\B\C\D as D;". The use statement can be used at any
time in the global scope (not inside function/class) and takes effect from
the point of definition down to the end of file. It is recommended however to
place the use statements at the beginning of the file. The use statements have
effect only on the file where they appear.
The special "empty" namespace (\ prefix) is useful as explicit global
namespace qualification. All class and function names started from \
interpreted as global.
<?php
namespace A\B\C;
$con = \mysql_connect(...);
?>
A special constant __NAMESPACE__ contains the name of the current namespace.
It can be used to construct fully-qualified names to pass them as callbacks.
<?php
namespace A\B\C;
function foo() {
}
set_error_handler(__NAMESPACE__ . "\foo");
?>
In global namespace __NAMESPACE__ constant has the value of empty string.
Names inside namespace are resolved according to the following rules:
1) all qualified names are translated during compilation according to
current import rules. So if we have "use A\B\C" and then "C\D\e()"
it is translated to "A\B\C\D\e()".
2) unqualified class names translated during compilation according to
current import rules. So if we have "use A\B\C" and then "new C()" it
is translated to "new A\B\C()".
3) inside namespace, calls to unqualified functions that are defined in
current namespace (and are known at the time the call is parsed) are
interpreted as calls to these namespace functions.
4) inside namespace, calls to unqualified functions that are not defined
in current namespace are resolved at run-time. The call to function foo()
inside namespace (A\B) first tries to find and call function from current
namespace A\B\foo() and if it doesn't exist PHP tries to call internal
function foo(). Note that using foo() inside namespace you can call only
internal PHP functions, however using \foo() you are able to call any
function from the global namespace.
5) unqualified class names are resolved at run-time. E.q. "new Exception()"
first tries to use (and autoload) class from current namespace and in case
of failure uses internal PHP class. Note that using "new A" in namespace
you can only create class from this namespace or internal PHP class, however
using "new \A" you are able to create any class from the global namespace.
6) Calls to qualified functions are resolved at run-time. Call to
A\B\foo() first tries to call function foo() from namespace A\B, then
it tries to find class A\B (__autoload() it if necessary) and call its
static method foo()
7) qualified class names are interpreted as class from corresponding
namespace. So "new A\B\C()" refers to class C from namespace A\B.
Examples
--------
<?php
namespace A;
foo(); // first tries to call "foo" defined in namespace "A"
// then calls internal function "foo"
\foo(); // calls function "foo" defined in global scope
?>
<?php
namespace A;
new B(); // first tries to create object of class "B" defined in namespace "A"
// then creates object of internal class "B"
new \B(); // creates object of class "B" defined in global scope
?>
<?php
namespace A;
new A(); // first tries to create object of class "A" from namespace "A" (A\A)
// then creates object of internal class "A"
?>
<?php
namespace A;
B\foo(); // first tries to call function "foo" from namespace "A\B"
// then calls method "foo" of internal class "B"
\B\foo(); // first tries to call function "foo" from namespace "B"
// then calls method "foo" of class "B" from global scope
?>
The worst case if class name conflicts with namespace name
<?php
namespace A;
A\foo(); // first tries to call function "foo" from namespace "A\A"
// then tries to call method "foo" of class "A" from namespace "A"
// then tries to call function "foo" from namespace "A"
// then calls method "foo" of internal class "A"
\A\foo(); // first tries to call function "foo" from namespace "A"
// then calls method "foo" of class "A" from global scope
?>
TODO
====
* Support for namespace constants?
* performance problems
- calls to internal functions in namespaces are slower, because PHP first
looks for such function in current namespace
- calls to static methods are slower, because PHP first tries to look
for corresponding function in namespace
* Extend the Reflection API?
* Add ReflectionNamespace class
+ getName()
+ getClasses()
+ getFunctions()
+ getFiles()
* Add getNamespace() methods to ReflectionClass and ReflectionFunction
* Rename namespaces to packages?
+86 -67
View File
@@ -55,8 +55,9 @@ static int resource_types_table_size;
static MUTEX_T tsmm_mutex; /* thread-safe memory manager mutex */
/* New thread handlers */
static tsrm_thread_begin_func_t tsrm_new_thread_begin_handler;
static tsrm_thread_end_func_t tsrm_new_thread_end_handler;
static tsrm_thread_begin_func_t tsrm_new_thread_begin_handler = NULL;
static tsrm_thread_end_func_t tsrm_new_thread_end_handler = NULL;
static tsrm_shutdown_func_t tsrm_shutdown_handler = NULL;
/* Debug support */
int tsrm_error(int level, const char *format, ...);
@@ -93,12 +94,7 @@ static FILE *tsrm_error_file;
}
#endif
#if defined(GNUPTH)
static pth_key_t tls_key;
# define tsrm_tls_set(what) pth_key_setdata(tls_key, (void*)(what))
# define tsrm_tls_get() pth_key_getdata(tls_key)
#elif defined(PTHREADS)
#if defined(PTHREADS)
/* Thread local storage */
static pthread_key_t tls_key;
# define tsrm_tls_set(what) pthread_setspecific(tls_key, (void*)(what))
@@ -125,12 +121,13 @@ static int32 tls_key;
# warning tsrm_set_interpreter_context is probably broken on this platform
#endif
TSRM_TLS uint8_t in_main_thread = 0;
/* Startup TSRM (call once for the entire process) */
TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debug_level, char *debug_filename)
{
{/*{{{*/
#if defined(GNUPTH)
pth_init();
pth_key_create(&tls_key, 0);
#elif defined(PTHREADS)
pthread_key_create( &tls_key, 0 );
#elif defined(TSRM_ST)
@@ -142,6 +139,9 @@ TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debu
tls_key = tls_allocate();
#endif
/* ensure singleton */
in_main_thread = 1;
tsrm_error_file = stderr;
tsrm_error_set(debug_level, debug_filename);
tsrm_tls_table_size = expected_threads;
@@ -164,18 +164,21 @@ TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debu
tsmm_mutex = tsrm_mutex_alloc();
tsrm_new_thread_begin_handler = tsrm_new_thread_end_handler = NULL;
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Started up TSRM, %d expected threads, %d expected resources", expected_threads, expected_resources));
return 1;
}
}/*}}}*/
/* Shutdown TSRM (call once for the entire process) */
TSRM_API void tsrm_shutdown(void)
{
{/*{{{*/
int i;
if (!in_main_thread) {
/* ensure singleton */
return;
}
if (tsrm_tls_table) {
for (i=0; i<tsrm_tls_table_size; i++) {
tsrm_tls_entry *p = tsrm_tls_table[i], *next_p;
@@ -218,12 +221,18 @@ TSRM_API void tsrm_shutdown(void)
#elif defined(TSRM_WIN32)
TlsFree(tls_key);
#endif
}
if (tsrm_shutdown_handler) {
tsrm_shutdown_handler();
}
tsrm_new_thread_begin_handler = NULL;
tsrm_new_thread_end_handler = NULL;
tsrm_shutdown_handler = NULL;
}/*}}}*/
/* allocates a new thread-safe-resource id */
TSRM_API ts_rsrc_id ts_allocate_id(ts_rsrc_id *rsrc_id, size_t size, ts_allocate_ctor ctor, ts_allocate_dtor dtor)
{
{/*{{{*/
int i;
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Obtaining a new resource id, %d bytes", size));
@@ -274,11 +283,11 @@ TSRM_API ts_rsrc_id ts_allocate_id(ts_rsrc_id *rsrc_id, size_t size, ts_allocate
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Successfully allocated new resource id %d", *rsrc_id));
return *rsrc_id;
}
}/*}}}*/
static void allocate_new_resource(tsrm_tls_entry **thread_resources_ptr, THREAD_T thread_id)
{
{/*{{{*/
int i;
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Creating data structures for thread %x", thread_id));
@@ -314,25 +323,16 @@ static void allocate_new_resource(tsrm_tls_entry **thread_resources_ptr, THREAD_
}
tsrm_mutex_unlock(tsmm_mutex);
}
}/*}}}*/
/* fetches the requested resource for the current thread */
TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id)
{
{/*{{{*/
THREAD_T thread_id;
int hash_value;
tsrm_tls_entry *thread_resources;
#ifdef NETWARE
/* The below if loop is added for NetWare to fix an abend while unloading PHP
* when an Apache unload command is issued on the system console.
* While exiting from PHP, at the end for some reason, this function is called
* with tsrm_tls_table = NULL. When this happened, the server abends when
* tsrm_tls_table is accessed since it is NULL.
*/
if(tsrm_tls_table) {
#endif
if (!th_id) {
/* Fast path for looking up the resources for the current
* thread. Its used by just about every call to
@@ -386,15 +386,12 @@ TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id)
* changes to the structure as we read it.
*/
TSRM_SAFE_RETURN_RSRC(thread_resources->storage, id, thread_resources->count);
#ifdef NETWARE
} /* if(tsrm_tls_table) */
#endif
}
}/*}}}*/
/* frees an interpreter context. You are responsible for making sure that
* it is not linked into the TSRM hash, and not marked as the current interpreter */
void tsrm_free_interpreter_context(void *context)
{
{/*{{{*/
tsrm_tls_entry *next, *thread_resources = (tsrm_tls_entry*)context;
int i;
@@ -413,10 +410,10 @@ void tsrm_free_interpreter_context(void *context)
free(thread_resources);
thread_resources = next;
}
}
}/*}}}*/
void *tsrm_set_interpreter_context(void *new_ctx)
{
{/*{{{*/
tsrm_tls_entry *current;
current = tsrm_tls_get();
@@ -429,12 +426,12 @@ void *tsrm_set_interpreter_context(void *new_ctx)
/* return old context, so caller can restore it when they're done */
return current;
}
}/*}}}*/
/* allocates a new interpreter context */
void *tsrm_new_interpreter_context(void)
{
{/*{{{*/
tsrm_tls_entry *new_ctx, *current;
THREAD_T thread_id;
@@ -448,12 +445,12 @@ void *tsrm_new_interpreter_context(void)
/* switch back to the context that was in use prior to our creation
* of the new one */
return tsrm_set_interpreter_context(current);
}
}/*}}}*/
/* frees all resources allocated for the current thread */
void ts_free_thread(void)
{
{/*{{{*/
tsrm_tls_entry *thread_resources;
int i;
THREAD_T thread_id = tsrm_thread_id();
@@ -490,12 +487,12 @@ void ts_free_thread(void)
thread_resources = thread_resources->next;
}
tsrm_mutex_unlock(tsmm_mutex);
}
}/*}}}*/
/* frees all resources allocated for all threads except current */
void ts_free_worker_threads(void)
{
{/*{{{*/
tsrm_tls_entry *thread_resources;
int i;
THREAD_T thread_id = tsrm_thread_id();
@@ -536,12 +533,12 @@ void ts_free_worker_threads(void)
}
}
tsrm_mutex_unlock(tsmm_mutex);
}
}/*}}}*/
/* deallocates all occurrences of a given id */
void ts_free_id(ts_rsrc_id id)
{
{/*{{{*/
int i;
int j = TSRM_UNSHUFFLE_RSRC_ID(id);
@@ -570,7 +567,7 @@ void ts_free_id(ts_rsrc_id id)
tsrm_mutex_unlock(tsmm_mutex);
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Successfully freed resource id %d", id));
}
}/*}}}*/
@@ -581,7 +578,7 @@ void ts_free_id(ts_rsrc_id id)
/* Obtain the current thread id */
TSRM_API THREAD_T tsrm_thread_id(void)
{
{/*{{{*/
#ifdef TSRM_WIN32
return GetCurrentThreadId();
#elif defined(GNUPTH)
@@ -597,12 +594,12 @@ TSRM_API THREAD_T tsrm_thread_id(void)
#elif defined(BETHREADS)
return find_thread(NULL);
#endif
}
}/*}}}*/
/* Allocate a mutex */
TSRM_API MUTEX_T tsrm_mutex_alloc(void)
{
{/*{{{*/
MUTEX_T mutexp;
#ifdef TSRM_WIN32
mutexp = malloc(sizeof(CRITICAL_SECTION));
@@ -628,12 +625,12 @@ TSRM_API MUTEX_T tsrm_mutex_alloc(void)
printf("Mutex created thread: %d\n",mythreadid());
#endif
return( mutexp );
}
}/*}}}*/
/* Free a mutex */
TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
{
{/*{{{*/
if (mutexp) {
#ifdef TSRM_WIN32
DeleteCriticalSection(mutexp);
@@ -657,7 +654,7 @@ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
#ifdef THR_DEBUG
printf("Mutex freed thread: %d\n",mythreadid());
#endif
}
}/*}}}*/
/*
@@ -665,7 +662,7 @@ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
A return value of 0 indicates success
*/
TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp)
{
{/*{{{*/
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Mutex locked thread: %ld", tsrm_thread_id()));
#ifdef TSRM_WIN32
EnterCriticalSection(mutexp);
@@ -689,7 +686,7 @@ TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp)
return acquire_sem(mutexp->sem);
return 0;
#endif
}
}/*}}}*/
/*
@@ -697,7 +694,7 @@ TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp)
A return value of 0 indicates success
*/
TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp)
{
{/*{{{*/
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Mutex unlocked thread: %ld", tsrm_thread_id()));
#ifdef TSRM_WIN32
LeaveCriticalSection(mutexp);
@@ -721,14 +718,14 @@ TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp)
return release_sem(mutexp->sem);
return 0;
#endif
}
}/*}}}*/
/*
Changes the signal mask of the calling thread
*/
#ifdef HAVE_SIGPROCMASK
TSRM_API int tsrm_sigmask(int how, const sigset_t *set, sigset_t *oldset)
{
{/*{{{*/
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Changed sigmask in thread: %ld", tsrm_thread_id()));
/* TODO: add support for other APIs */
#ifdef PTHREADS
@@ -736,28 +733,36 @@ TSRM_API int tsrm_sigmask(int how, const sigset_t *set, sigset_t *oldset)
#else
return sigprocmask(how, set, oldset);
#endif
}
}/*}}}*/
#endif
TSRM_API void *tsrm_set_new_thread_begin_handler(tsrm_thread_begin_func_t new_thread_begin_handler)
{
{/*{{{*/
void *retval = (void *) tsrm_new_thread_begin_handler;
tsrm_new_thread_begin_handler = new_thread_begin_handler;
return retval;
}
}/*}}}*/
TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread_end_handler)
{
{/*{{{*/
void *retval = (void *) tsrm_new_thread_end_handler;
tsrm_new_thread_end_handler = new_thread_end_handler;
return retval;
}
}/*}}}*/
TSRM_API void *tsrm_set_shutdown_handler(tsrm_shutdown_func_t shutdown_handler)
{/*{{{*/
void *retval = (void *) tsrm_shutdown_handler;
tsrm_shutdown_handler = shutdown_handler;
return retval;
}/*}}}*/
/*
* Debug support
@@ -765,7 +770,7 @@ TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread
#if TSRM_DEBUG
int tsrm_error(int level, const char *format, ...)
{
{/*{{{*/
if (level<=tsrm_error_level) {
va_list args;
int size;
@@ -780,12 +785,12 @@ int tsrm_error(int level, const char *format, ...)
} else {
return 0;
}
}
}/*}}}*/
#endif
void tsrm_error_set(int level, char *debug_filename)
{
{/*{{{*/
tsrm_error_level = level;
#if TSRM_DEBUG
@@ -802,11 +807,25 @@ void tsrm_error_set(int level, char *debug_filename)
tsrm_error_file = stderr;
}
#endif
}
}/*}}}*/
TSRM_API void *tsrm_get_ls_cache(void)
{
{/*{{{*/
return tsrm_tls_get();
}
}/*}}}*/
TSRM_API uint8_t tsrm_is_main_thread(void)
{/*{{{*/
return in_main_thread;
}/*}}}*/
#endif /* ZTS */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
+12 -2
View File
@@ -128,6 +128,7 @@ TSRM_API void ts_free_id(ts_rsrc_id id);
typedef void (*tsrm_thread_begin_func_t)(THREAD_T thread_id);
typedef void (*tsrm_thread_end_func_t)(THREAD_T thread_id);
typedef void (*tsrm_shutdown_func_t)(void);
TSRM_API int tsrm_error(int level, const char *format, ...);
@@ -145,6 +146,7 @@ TSRM_API int tsrm_sigmask(int how, const sigset_t *set, sigset_t *oldset);
TSRM_API void *tsrm_set_new_thread_begin_handler(tsrm_thread_begin_func_t new_thread_begin_handler);
TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread_end_handler);
TSRM_API void *tsrm_set_shutdown_handler(tsrm_shutdown_func_t shutdown_handler);
/* these 3 APIs should only be used by people that fully understand the threading model
* used by PHP/Zend and the selected SAPI. */
@@ -153,6 +155,7 @@ TSRM_API void *tsrm_set_interpreter_context(void *new_ctx);
TSRM_API void tsrm_free_interpreter_context(void *context);
TSRM_API void *tsrm_get_ls_cache(void);
TSRM_API uint8_t tsrm_is_main_thread(void);
#ifdef TSRM_WIN32
# define TSRM_TLS __declspec(thread)
@@ -174,10 +177,8 @@ TSRM_API void *tsrm_get_ls_cache(void);
#define TSRMLS_CACHE_DEFINE() TSRM_TLS void *TSRMLS_CACHE = NULL;
#if ZEND_DEBUG
#define TSRMLS_CACHE_UPDATE() TSRMLS_CACHE = tsrm_get_ls_cache()
#define TSRMLS_CACHE_RESET()
#else
#define TSRMLS_CACHE_UPDATE() if (!TSRMLS_CACHE) TSRMLS_CACHE = tsrm_get_ls_cache()
#define TSRMLS_CACHE_RESET() TSRMLS_CACHE = NULL
#endif
#define TSRMLS_CACHE _tsrm_ls_cache
@@ -215,3 +216,12 @@ TSRM_API void *tsrm_get_ls_cache(void);
#endif /* ZTS */
#endif /* TSRM_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
+2
View File
@@ -1,3 +1,5 @@
AC_DEFUN([AM_SET_LIBTOOL_VARIABLE],[
LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'
])
+5 -5
View File
@@ -5,7 +5,7 @@
#
# Written by Sascha Schumann
#
# $Id$
# $Id$
LT_TARGETS = ltmain.sh ltconfig
@@ -30,14 +30,14 @@ $(LT_TARGETS):
$(makefile_in_files): $(makefile_am_files)
automake -a -i $(AMFLAGS) $(makefile_files)
aclocal.m4: configure.in acinclude.m4
aclocal.m4: configure.ac acinclude.m4
aclocal
$(config_h_in): configure.in
# explicitly remove target since autoheader does not seem to work
$(config_h_in): configure.ac
# explicitly remove target since autoheader does not seem to work
# correctly otherwise (timestamps are not updated)
@rm -f $@
autoheader
configure: aclocal.m4 configure.in
configure: aclocal.m4 configure.ac
autoconf
+1
View File
@@ -3,3 +3,4 @@
ADD_SOURCES("TSRM", "TSRM.c tsrm_strtok_r.c tsrm_win32.c");
ADD_FLAG("CFLAGS_BD_TSRM", "/D ZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
+3 -3
View File
@@ -1,6 +1,6 @@
dnl $Id$
dnl
dnl Minimalistic configure.in for TSRM.
dnl Minimalistic configure.ac for TSRM.
dnl
AC_INIT(TSRM.c)
@@ -12,10 +12,10 @@ AH_TOP([
])
sinclude(tsrm.m4)
TSRM_BASIC_CHECKS
TSRM_THREADS_CHECKS
AM_PROG_LIBTOOL
if test "$enable_debug" != "yes"; then
AM_SET_LIBTOOL_VARIABLE([--silent])
+1
View File
@@ -194,3 +194,4 @@ esac
AC_LANG_POP
]) dnl end AC_DEFUN
+3 -45
View File
@@ -1,45 +1,3 @@
#ifndef READDIR_H
#define READDIR_H
/*
* Structures and types used to implement opendir/readdir/closedir
* on Windows 95/NT.
*/
#include <windows.h>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <direct.h>
/* struct dirent - same as Unix */
struct dirent {
long d_ino; /* inode (always 1 in WIN32) */
off_t d_off; /* offset to this dirent */
unsigned short d_reclen; /* length of d_name */
char d_name[_MAX_FNAME + 1]; /* filename (null terminated) */
};
/* typedef DIR - not the same as Unix */
typedef struct {
HANDLE handle; /* _findfirst/_findnext handle */
short offset; /* offset into directory */
short finished; /* 1 if there are not more files */
WIN32_FIND_DATA fileinfo; /* from _findfirst/_findnext */
char *dir; /* the dir we are reading */
struct dirent dent; /* the dirent to return */
} DIR;
/* Function prototypes */
DIR *opendir(const char *);
struct dirent *readdir(DIR *);
int readdir_r(DIR *, struct dirent *, struct dirent **);
int closedir(DIR *);
int rewinddir(DIR *);
#endif /* READDIR_H */
/* Keep this header for compatibility with external code, it's currently not
used anywhere in the core and there are no implementations in TSRM. */
#include "win32/readdir.h"
+6 -6
View File
@@ -1,17 +1,17 @@
dnl Copyright (c) 1999, 2000 Sascha Schumann. All rights reserved.
dnl
dnl
dnl Redistribution and use in source and binary forms, with or without
dnl modification, are permitted provided that the following conditions
dnl are met:
dnl
dnl
dnl 1. Redistributions of source code must retain the above copyright
dnl notice, this list of conditions and the following disclaimer.
dnl
dnl
dnl 2. Redistributions in binary form must reproduce the above copyright
dnl notice, this list of conditions and the following disclaimer in
dnl the documentation and/or other materials provided with the
dnl distribution.
dnl
dnl
dnl THIS SOFTWARE IS PROVIDED BY SASCHA SCHUMANN ``AS IS'' AND ANY
dnl EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
@@ -97,7 +97,7 @@ dnl -Kthread UDK cc (UnixWare)
dnl -mt WorkShop cc (Solaris)
dnl -mthreads gcc (AIX)
dnl -pthread gcc (Linux, FreeBSD, NetBSD, OpenBSD)
dnl -pthreads gcc (Solaris)
dnl -pthreads gcc (Solaris)
dnl -qthreaded AIX cc V5
dnl -threads gcc (HP-UX)
dnl
@@ -117,7 +117,7 @@ else
AC_CACHE_CHECK(for pthreads_cflags,ac_cv_pthreads_cflags,[
ac_cv_pthreads_cflags=
if test "$pthreads_working" != "yes"; then
for flag in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded; do
for flag in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded; do
ac_save=$CFLAGS
CFLAGS="$CFLAGS $flag"
PTHREADS_CHECK_COMPILE
+4 -4
View File
@@ -1,6 +1,6 @@
m4_include([TSRM/m4/gethostbyname.m4])
dnl TSRM_CHECK_GCC_ARG(ARG, ACTION-IF-FOUND, ACTION-IF-NOT_FOUND)
dnl TSRM_CHECK_GCC_ARG(ARG, ACTION-IF-FOUND, ACTION-IF-NOT_FOUND)
AC_DEFUN([TSRM_CHECK_GCC_ARG],[
gcc_arg_name=[ac_cv_gcc_arg]translit($1,A-Z-,a-z_)
AC_CACHE_CHECK([whether $CC supports $1], [ac_cv_gcc_arg]translit($1,A-Z-,a-z_), [
@@ -75,12 +75,12 @@ AC_DEFUN([TSRM_CHECK_ST],[
sinclude(threads.m4)
AC_DEFUN([TSRM_CHECK_PTHREADS],[
PTHREADS_CHECK
if test "$beos_threads" = "1"; then
if test "$beos_threads" = "1"; then
AC_DEFINE(BETHREADS, 1, Whether to use native BeOS threads)
else
else
if test "$pthreads_working" != "yes"; then
AC_MSG_ERROR(Your system seems to lack POSIX threads.)
fi
+9
View File
@@ -13,3 +13,12 @@
#include <crtdbg.h>
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
+9 -2
View File
@@ -25,9 +25,7 @@
#pragma alloca
# else
# ifndef alloca /* predefined by HP cc +Olibcalls */
# ifndef NETWARE
char *alloca ();
# endif
# endif
# endif
# endif
@@ -71,3 +69,12 @@ char *alloca ();
#endif
#endif /* TSRM_CONFIG_COMMON_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
-240
View File
@@ -1,240 +0,0 @@
/*
+----------------------------------------------------------------------+
| PHP Version 7 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2018 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Venkat Raghavan S <rvenkat@novell.com> |
| Anantha Kesari H Y <hyanantha@novell.com> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include "TSRM.h"
#ifdef NETWARE
#ifdef USE_MKFIFO
#include <sys/stat.h>
#elif !defined(USE_PIPE_OPEN) /* NXFifoOpen */
#include <nks/fsio.h>
#endif
#include <nks/vm.h>
#include <nks/memory.h>
#include <string.h>
#include "mktemp.h"
/* strtok() call in LibC is abending when used in a different address space
* -- hence using PHP's version itself for now
*/
#include "tsrm_strtok_r.h"
#define tsrm_strtok_r(a,b,c) strtok((a),(b))
#define WHITESPACE " \t"
#define MAX_ARGS 10
TSRM_API FILE* popen(const char *commandline, const char *type)
{
char *command = NULL, *argv[MAX_ARGS] = {'\0'}, **env = NULL;
char *tempName = "sys:/php/temp/phpXXXXXX.tmp";
char *filePath = NULL;
char *ptr = NULL;
int ptrLen = 0, argc = 0, i = 0, envCount = 0, err = 0;
FILE *stream = NULL;
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
int pipe_handle;
int mode = O_RDONLY;
#else
NXHandle_t pipe_handle;
NXMode_t mode = NX_O_RDONLY;
#endif
NXExecEnvSpec_t envSpec;
NXNameSpec_t nameSpec;
NXVmId_t newVM = 0;
/* Check for validity of input parameters */
if (!commandline || !type)
return NULL;
/* Get temporary file name */
filePath = mktemp(tempName);
if (!filePath)
return NULL;
/* Set pipe mode according to type -- for now allow only "r" or "w" */
if (strcmp(type, "r") == 0)
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
mode = O_RDONLY;
#else
mode = NX_O_RDONLY;
#endif
else if (strcmp(type, "w") == 0)
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
mode = O_WRONLY;
#else
mode = NX_O_WRONLY;
#endif
else
return NULL;
#ifdef USE_PIPE_OPEN
pipe_handle = pipe_open(filePath, mode);
if (pipe_handle == -1)
return NULL;
#elif defined(USE_MKFIFO)
pipe_handle = mkfifo(filePath, mode);
if (pipe_handle == -1)
return NULL;
#else
/* - NetWare doesn't require first parameter
* - Allowing LibC to choose the buffer size for now
*/
err = NXFifoOpen(0, filePath, mode, 0, &pipe_handle);
if (err)
return NULL;
#endif
/* Copy the environment variables in preparation for the spawn call */
envCount = NXGetEnvCount() + 1; /* add one for NULL */
env = (char **) NXMemAlloc(sizeof(char *) * envCount, 0);
if (!env)
return NULL;
err = NXCopyEnv(env, envCount);
if (err) {
NXMemFree (env);
return NULL;
}
/* Separate commandline string into words */
ptr = tsrm_strtok_r((char*)commandline, WHITESPACE, NULL);
ptrLen = strlen(ptr);
command = (char*)malloc(ptrLen + 1);
if (!command) {
NXMemFree (env);
return NULL;
}
strcpy (command, ptr);
ptr = tsrm_strtok_r(NULL, WHITESPACE, NULL);
while (ptr && (argc < MAX_ARGS)) {
ptrLen = strlen(ptr);
argv[argc] = (char*)malloc(ptrLen + 1);
if (!argv[argc]) {
NXMemFree (env);
if (command)
free (command);
for (i = 0; i < argc; i++) {
if (argv[i])
free (argv[i]);
}
return NULL;
}
strcpy (argv[argc], ptr);
argc++;
ptr = tsrm_strtok_r(NULL, WHITESPACE, NULL);
}
/* Setup the execution environment and spawn new process */
envSpec.esFlags = 0; /* Not used */
envSpec.esArgc = argc;
envSpec.esArgv = (void **) argv;
envSpec.esEnv = (void **) env;
/* envSpec.esStdin.ssType = */
envSpec.esStdout.ssType = NX_OBJ_FIFO;
envSpec.esStderr.ssType = NX_OBJ_FILE;
/* 'ssHandle' is not a struct/union/class member */
/*
envSpec.esStdin.ssHandle =
envSpec.esStdout.ssHandle =
envSpec.esStderr.ssHandle = -1;
*/
envSpec.esStdin.ssPathCtx = NULL;
envSpec.esStdout.ssPathCtx = NULL;
envSpec.esStderr.ssPathCtx = NULL;
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
if (mode == O_RDONLY) {
#else
if (mode == NX_O_RDONLY) {
#endif
envSpec.esStdin.ssPath = filePath;
envSpec.esStdout.ssPath = stdout;
} else { /* Write Only */
envSpec.esStdin.ssPath = stdin;
envSpec.esStdout.ssPath = filePath;
}
envSpec.esStderr.ssPath = stdout;
nameSpec.ssType = NX_OBJ_FIFO;
/* nameSpec.ssHandle = 0; */ /* 'ssHandle' is not a struct/union/class member */
nameSpec.ssPathCtx = NULL; /* Not used */
nameSpec.ssPath = argv[0];
err = NXVmSpawn(&nameSpec, &envSpec, 0, &newVM);
if (!err)
/* Get file pointer corresponding to the pipe (file) opened */
stream = fdopen(pipe_handle, type);
/* Clean-up */
if (env)
NXMemFree (env);
if (pipe_handle)
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
close(pipe_handle);
#else
NXClose(pipe_handle);
#endif
if (command)
free (command);
for (i = 0; i < argc; i++) {
if (argv[i])
free (argv[i]);
}
return stream;
}
TSRM_API int pclose(FILE* stream)
{
int err = 0;
NXHandle_t fd = 0;
/* Get the process associated with this pipe (file) handle and terminate it */
fd = fileno(stream);
NXClose (fd);
err = fclose(stream);
return err;
}
#endif /* NETWARE */
+13 -4
View File
@@ -4,7 +4,7 @@
#include "tsrm_strtok_r.h"
static inline int in_character_class(char ch, const char *delim)
{
{/*{{{*/
while (*delim) {
if (*delim == ch) {
return 1;
@@ -12,10 +12,10 @@ static inline int in_character_class(char ch, const char *delim)
delim++;
}
return 0;
}
}/*}}}*/
TSRM_API char *tsrm_strtok_r(char *s, const char *delim, char **last)
{
{/*{{{*/
char *token;
if (s == NULL) {
@@ -41,7 +41,7 @@ TSRM_API char *tsrm_strtok_r(char *s, const char *delim, char **last)
*last = s + 1;
}
return token;
}
}/*}}}*/
#if 0
@@ -61,3 +61,12 @@ main()
}
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
+70 -58
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 7 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2018 The PHP Group |
| Copyright (c) 1997-2017 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -42,7 +42,7 @@ static tsrm_win32_globals win32_globals;
#endif
static void tsrm_win32_ctor(tsrm_win32_globals *globals)
{
{/*{{{*/
#ifdef ZTS
TSRMLS_CACHE_UPDATE();
#endif
@@ -61,10 +61,10 @@ TSRMLS_CACHE_UPDATE();
*/
globals->impersonation_token = INVALID_HANDLE_VALUE;
globals->impersonation_token_sid = NULL;
}
}/*}}}*/
static void tsrm_win32_dtor(tsrm_win32_globals *globals)
{
{/*{{{*/
shm_pair *ptr;
if (globals->process) {
@@ -89,51 +89,48 @@ static void tsrm_win32_dtor(tsrm_win32_globals *globals)
if (globals->impersonation_token_sid) {
free(globals->impersonation_token_sid);
}
}
}/*}}}*/
TSRM_API void tsrm_win32_startup(void)
{
{/*{{{*/
#ifdef ZTS
ts_allocate_id(&win32_globals_id, sizeof(tsrm_win32_globals), (ts_allocate_ctor)tsrm_win32_ctor, (ts_allocate_ctor)tsrm_win32_dtor);
#else
tsrm_win32_ctor(&win32_globals);
#endif
}
}/*}}}*/
TSRM_API void tsrm_win32_shutdown(void)
{
{/*{{{*/
#ifndef ZTS
tsrm_win32_dtor(&win32_globals);
#endif
}
}/*}}}*/
char * tsrm_win32_get_path_sid_key(const char *pathname)
{
char * tsrm_win32_get_path_sid_key(const char *pathname, size_t pathname_len, size_t *key_len)
{/*{{{*/
PSID pSid = TWG(impersonation_token_sid);
TCHAR *ptcSid = NULL;
char *ptcSid = NULL;
char *bucket_key = NULL;
size_t ptc_sid_len, pathname_len;
pathname_len = strlen(pathname);
size_t ptc_sid_len;
if (!pSid) {
bucket_key = (char *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, pathname_len + 1);
if (!bucket_key) {
return NULL;
}
memcpy(bucket_key, pathname, pathname_len);
return bucket_key;
*key_len = pathname_len;
return pathname;
}
if (!ConvertSidToStringSid(pSid, &ptcSid)) {
*key_len = 0;
return NULL;
}
ptc_sid_len = strlen(ptcSid);
bucket_key = (char *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, pathname_len + ptc_sid_len + 1);
*key_len = pathname_len + ptc_sid_len;
bucket_key = (char *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, *key_len + 1);
if (!bucket_key) {
LocalFree(ptcSid);
*key_len = 0;
return NULL;
}
@@ -142,11 +139,11 @@ char * tsrm_win32_get_path_sid_key(const char *pathname)
LocalFree(ptcSid);
return bucket_key;
}
}/*}}}*/
PSID tsrm_win32_get_token_sid(HANDLE hToken)
{
{/*{{{*/
DWORD dwLength = 0;
PTOKEN_USER pTokenUser = NULL;
DWORD sid_len;
@@ -193,10 +190,10 @@ Finished:
HeapFree(GetProcessHeap(), 0, (LPVOID)pTokenUser);
}
return NULL;
}
}/*}}}*/
TSRM_API int tsrm_win32_access(const char *pathname, int mode)
{
{/*{{{*/
time_t t;
HANDLE thread_token = NULL;
PSID token_sid;
@@ -208,6 +205,7 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode)
DWORD sec_desc_length = 0, desired_access = 0, granted_access = 0;
BYTE * psec_desc = NULL;
BOOL fAccess = FALSE;
realpath_cache_bucket * bucket = NULL;
char * real_path = NULL;
@@ -295,14 +293,14 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode)
if (CWDG(realpath_cache_size_limit)) {
t = time(0);
bucket = realpath_cache_lookup(pathname, (int)strlen(pathname), t);
bucket = realpath_cache_lookup(pathname, strlen(pathname), t);
if(bucket == NULL && real_path == NULL) {
/* We used the pathname directly. Call tsrm_realpath */
/* so that entry is created in realpath cache */
real_path = (char *)malloc(MAXPATHLEN);
if(tsrm_realpath(pathname, real_path) != NULL) {
pathname = real_path;
bucket = realpath_cache_lookup(pathname, (int)strlen(pathname), t);
bucket = realpath_cache_lookup(pathname, strlen(pathname), t);
PHP_WIN32_IOUTIL_REINIT_W(pathname);
}
}
@@ -396,11 +394,11 @@ Finished:
return 0;
}
}
}
}/*}}}*/
static process_pair *process_get(FILE *stream)
{
{/*{{{*/
process_pair *ptr;
process_pair *newptr;
@@ -423,10 +421,10 @@ static process_pair *process_get(FILE *stream)
ptr = newptr + TWG(process_size);
TWG(process_size)++;
return ptr;
}
}/*}}}*/
static shm_pair *shm_get(int key, void *addr)
{
static shm_pair *shm_get(key_t key, void *addr)
{/*{{{*/
shm_pair *ptr;
shm_pair *newptr;
@@ -455,24 +453,25 @@ static shm_pair *shm_get(int key, void *addr)
TWG(shm_size)++;
memset(ptr, 0, sizeof(*ptr));
return ptr;
}
}/*}}}*/
static HANDLE dupHandle(HANDLE fh, BOOL inherit) {
static HANDLE dupHandle(HANDLE fh, BOOL inherit)
{/*{{{*/
HANDLE copy, self = GetCurrentProcess();
if (!DuplicateHandle(self, fh, self, &copy, 0, inherit, DUPLICATE_SAME_ACCESS|DUPLICATE_CLOSE_SOURCE)) {
return NULL;
}
return copy;
}
}/*}}}*/
TSRM_API FILE *popen(const char *command, const char *type)
{
{/*{{{*/
return popen_ex(command, type, NULL, NULL);
}
}/*}}}*/
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env)
{
{/*{{{*/
FILE *stream = NULL;
int fno, type_len, read, mode;
STARTUPINFOW startup;
@@ -616,10 +615,10 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
proc->prochnd = process.hProcess;
proc->stream = stream;
return stream;
}
}/*}}}*/
TSRM_API int pclose(FILE *stream)
{
{/*{{{*/
DWORD termstat = 0;
process_pair *process;
@@ -636,19 +635,15 @@ TSRM_API int pclose(FILE *stream)
CloseHandle(process->prochnd);
return termstat;
}
}/*}}}*/
TSRM_API int shmget(int key, int size, int flags)
{
TSRM_API int shmget(key_t key, size_t size, int flags)
{/*{{{*/
shm_pair *shm;
char shm_segment[26], shm_info[29];
HANDLE shm_handle, info_handle;
BOOL created = FALSE;
if (size < 0) {
return -1;
}
snprintf(shm_segment, sizeof(shm_segment), "TSRM_SHM_SEGMENT:%d", key);
snprintf(shm_info, sizeof(shm_info), "TSRM_SHM_DESCRIPTOR:%d", key);
@@ -657,7 +652,14 @@ TSRM_API int shmget(int key, int size, int flags)
if (!shm_handle && !info_handle) {
if (flags & IPC_CREAT) {
shm_handle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, size, shm_segment);
#if SIZEOF_SIZE_T == 8
DWORD high = size >> 32;
DWORD low = (DWORD)size;
#else
DWORD high = 0;
DWORD low = size;
#endif
shm_handle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, high, low, shm_segment);
info_handle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof(shm->descriptor), shm_info);
created = TRUE;
}
@@ -716,10 +718,10 @@ TSRM_API int shmget(int key, int size, int flags)
}
return key;
}
}/*}}}*/
TSRM_API void *shmat(int key, const void *shmaddr, int flags)
{
{/*{{{*/
shm_pair *shm = shm_get(key, NULL);
if (!shm->segment) {
@@ -739,10 +741,10 @@ TSRM_API void *shmat(int key, const void *shmaddr, int flags)
shm->descriptor->shm_nattch++;
return shm->addr;
}
}/*}}}*/
TSRM_API int shmdt(const void *shmaddr)
{
{/*{{{*/
shm_pair *shm = shm_get(0, (void*)shmaddr);
if (!shm->segment) {
@@ -754,9 +756,10 @@ TSRM_API int shmdt(const void *shmaddr)
shm->descriptor->shm_nattch--;
return UnmapViewOfFile(shm->addr) ? 0 : -1;
}
}/*}}}*/
TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf) {
TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf)
{/*{{{*/
shm_pair *shm = shm_get(key, NULL);
if (!shm->segment) {
@@ -784,16 +787,16 @@ TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf) {
default:
return -1;
}
}
}/*}}}*/
TSRM_API char *realpath(char *orig_path, char *buffer)
{
{/*{{{*/
int ret = GetFullPathName(orig_path, _MAX_PATH, buffer, NULL);
if(!ret || ret > _MAX_PATH) {
return NULL;
}
return buffer;
}
}/*}}}*/
#if HAVE_UTIME
static zend_always_inline void UnixTimeToFileTime(time_t t, LPFILETIME pft) /* {{{ */
@@ -851,3 +854,12 @@ TSRM_API int win32_utime(const char *filename, struct utimbuf *buf) /* {{{ */
/* }}} */
#endif
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
+15 -5
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 7 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2018 The PHP Group |
| Copyright (c) 1997-2017 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -26,9 +26,10 @@
#if HAVE_UTIME
# include <sys/utime.h>
#endif
#include "win32/ipc.h"
struct ipc_perm {
int key;
key_t key;
unsigned short uid;
unsigned short gid;
unsigned short cuid;
@@ -39,7 +40,7 @@ struct ipc_perm {
struct shmid_ds {
struct ipc_perm shm_perm;
int shm_segsz;
size_t shm_segsz;
time_t shm_atime;
time_t shm_dtime;
time_t shm_ctime;
@@ -94,7 +95,7 @@ TSRMLS_CACHE_EXTERN()
#define SHM_RND FILE_MAP_WRITE
#define SHM_REMAP FILE_MAP_COPY
char * tsrm_win32_get_path_sid_key(const char *pathname );
char * tsrm_win32_get_path_sid_key(const char *pathname, size_t pathname_len, size_t *key_len);
TSRM_API void tsrm_win32_startup(void);
TSRM_API void tsrm_win32_shutdown(void);
@@ -105,10 +106,19 @@ TSRM_API int pclose(FILE *stream);
TSRM_API int tsrm_win32_access(const char *pathname, int mode);
TSRM_API int win32_utime(const char *filename, struct utimbuf *buf);
TSRM_API int shmget(int key, int size, int flags);
TSRM_API int shmget(key_t key, size_t size, int flags);
TSRM_API void *shmat(int key, const void *shmaddr, int flags);
TSRM_API int shmdt(const void *shmaddr);
TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf);
TSRM_API char *realpath(char *orig_path, char *buffer);
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
+252 -431
View File
@@ -1,4 +1,4 @@
PHP 7.1 UPGRADE NOTES
PHP 7.2 UPGRADE NOTES
1. Backward Incompatible Changes
2. New Features
@@ -20,269 +20,236 @@ PHP 7.1 UPGRADE NOTES
========================================
- Core:
. 'void' can no longer be used as the name of a class, interface, or trait.
This applies to declarations, class_alias() and use statements.
. 'iterable' can no longer be used as the name of a class, interface, or
trait. This applies to declarations, class_alias() and use statements.
(RFC: https://wiki.php.net/rfc/iterable)
. (int), intval() where $base is 10 or unspecified, settype(), decbin(),
decoct(), dechex(), integer operators and other conversions now always
respect scientific notation in numeric strings.
(RFC: https://wiki.php.net/rfc/invalid_strings_in_arithmetic)
. The ASCII 0x7F Delete control character is no longer permitted in unquoted
identifiers in source code.
. The following functions may no longer be called dynamically using $func(),
call_user_func(), array_map() or similar:
. extract()
. compact()
. get_defined_vars()
. func_get_args()
. func_get_arg()
. func_num_args()
. parse_str() with one argument
. mb_parse_str() with one argument
. assert() with a string argument
(RFC: https://wiki.php.net/rfc/forbid_dynamic_scope_introspection)
. If the error_log is set to syslog, the PHP error levels are mapped to the
syslog error levels. This brings finer differentiation in the error logs
in contrary to the previous approach where all the errors are loggged with
the notice level only.
. Don't call destructors of incompletely constructed objects, even if they
are kept referenced. See bug #29368 and Zend/tests/bug29368_1.phpt.
. call_user_func() will now consistently throw a warning if a function with
reference arguments is called. However, call_user_func() will no longer
abort the call in this case.
. rand() and srand() are now aliases of mt_rand() and mt_srand().
Consequently the output of the following functions has changed:
. rand()
. shuffle()
. str_shuffle()
. array_rand()
. Fixes to random number generators mean that mt_rand() now produces a
different sequence of outputs to previous versions. If you relied on
mt_srand() to produce a deterministic sequence, it can be called using
mt_srand($seed, MT_RAND_PHP) to produce the old sequences.
. URL rewriter has been improved.
. Use dedicated buffer for Session module rewrite and User rewrite.
. Full path URL rewrite is supported. Allowed domain can be specified.
$_SERVER['HTTP_HOST'] is allowed by default when host whitelist is empty.
. Use session.trans_sid_tags and session.trans_sid_hosts to control
session rewrite.
. Use url_rewriter.tags and url_rewriter.hosts to control user rewrite.
. <form>'s "action" attribute is used to check if URL rewrite is allowed
and listed under hosts whitelist.
. <fieldset> is no longer considered as a special tag. <form> is the
only tag considered special.
. Calling a function with less arguments than mandatory declared ones in
signature now issues a Fatal Error (Error Exception) instead of a Warning.
(RFC https://wiki.php.net/rfc/too_few_args).
. The error message for E_RECOVERABLE errors has been changed from "Catchable
fatal error" to "Recoverable fatal error".
. The empty index operator (e.g. $str[] = $x) is not supported for strings
anymore, and throws a fatal error instead of silently converting to array.
. Array elements or object properties that are automatically created during
by-reference assignments will now result in a different order. For example
. gettype() will now return "resource (closed)" instead of "unknown type" for
closed resources.
. is_object() will now return true for objects of class
__PHP_Incomplete_Class.
. Support for Netware operating systems have been removed.
. Casting arrays to objects (with (object) or settype()) will now covert
integer keys to string property names. This fixes the behaviour of previous
versions, where integer keys would become inaccessible properties with
integer names.
. Casting objects to arrays (with (array) or settype()), and retrieving
object properties in an array with get_object_vars(), will now convert
numeric string property names (that is, property names of the format
/^(0|(-?[1-9][0-9]*))$/ where PHP_INT_MIN <= n <= PHP_INT_MAX) to integer
keys. This fixes the behaviour of previous versions, where numeric string
property names would become inaccessible string keys.
. Unqualified references to undefined constants now generate a Warning instead
of a notice. They will generate an Error in a future version of PHP.
(https://wiki.php.net/rfc/deprecate-bareword-strings)
. Minimum supported Windows versions are Windows 7/Server 2008 R2.
. Initial trait property value compatibility check will no longer perform
any casts. (Bug #74269)
. "object" (in any case) can no longer be used as a class name.
$array = [];
$array["a"] =& $array["b"];
$array["b"] = 1;
var_dump($array);
- BCMath:
. The bcmod() function no longer truncates fractional numbers to integers. As
such, its behavior now follows fmod() rather than the `%` operator. For
example `bcmod('4', '3.5')` now returns '0.5' instead of '1'.
now results in the array ["b" => 1, "a" => 1], while for PHP 7.0 the result
was ["a" => 1, "b" => 1].
. The allowed_classes element of the $options parameter of unserialize() is
now strictly typed, i.e. if anything other than an array or a boolean is
given, unserialize() returns FALSE and issues an E_WARNING.
. $this, autoglobals, and variables with the same name as a parameter can no
longer be bound to a closure via the use construct.
- Hash:
. The hash_hmac(), hash_hmac_file(), hash_pbkdf2() and hash_init() (with
HASH_HMAC) functions no longer accept non-cryptographic hashes.
- JSON:
. The serialize_precision is used instead of precision when encoding double
values.
. An empty key is decoded as an empty property name instead of using _empty_
property name when decoding object to stdClass.
. When calling json_encode with JSON_UNESCAPED_UNICODE option, U+2028 and
U+2029 are escaped.
- mbstring:
. mb_ereg() and mb_eregi() will now set the $regs argument to an empty array,
if nothing matched. Formerly, $regs was not modified in that case.
- OpenSSL:
. Dropped sslv2 stream.
- JSON
. The json_decode() option JSON_OBJECT_AS_ARRAY is used if the second
parameter (assoc) is null. Previously JSON_OBJECT_AS_ARRAY was always
ignored.
- Session:
. Session ID is generated from CSPRNG directly. As a result, Session ID length
could be any length between 22 and 256. Note: Max size of session ID depends
on save handler you are using.
. Following INIs are removed
. session.hash_function
. session.hash_bits_per_character
. session.entropy_file
. session.entropy_length
. New INIs and defaults
. session.sid_length (Number of session ID characters - 22 to 256.
php.ini-* default: 26 Compiled default: 32)
. session.sid_bits_per_character (Bits used per character - 4 to 6.
php.ini-* default: 5 Compiled default: 4)
. Length of old session ID string is determined as follows
. Used hash function's bits.
. session.hash_function=0 - MD5 128 bits (This was default)
. session.hash_function=1 - SHA1 160 bits
. Bits per character. (4, 5 or 6 bits per character)
. Examples
MD5 and 4 bits = 32 chars, ceil(128/4)=32
MD5 and 5 bits = 26 chars, ceil(128/5)=26
MD5 and 6 bits = 22 chars, ceil(128/6)=22
SHA1 and 4 bits = 40 chars, ceil(160/4)=40
SHA1 and 5 bits = 32 chars, ceil(160/5)=32
SHA1 and 6 bits = 27 chars, ceil(160/6)=27
and so on.
. session_start() returns FALSE and no longer initializes $_SESSION when
it failed to start session.
. Removed register_globals related code and "!" can be used as $_SESSION key name.
. Session is made to manage session status correctly and prevents invalid operations.
Only inappropriate codes are affected by this change. If you have problems with this,
it means you have problem in your code.
. Functions are made to set or return correct session status.
session_start(), session_status(), session_regenerate_id()
. Functions are made to return bool from null. These functions have void parameter
and void parameter is checked.
session_unset(), session_write_close()/session_commit(), session_abort(),
session_reset()
. Functions prohibit invalid operations with regard to session status and
HTTP header status, returns correct bool return value.
session_start(), session_set_cookie_params(), session_name(), session_module_name(),
session_set_save_handler(), session_regenerate_id(), session_cache_limiter(),
session_cache_expire(), session_unset(), session_destroy(),
session_write_close()/session_commit(), session_reset()
. INI value change by ini_set() returns update status correctly. Invalid INI modifications
are checked and made to fail.
session.name, session.save_path, session.cookie_lifetime, session.cookie_path,
session.cookie_domain, session.cookie_httponly, session.cookie_secure,
session.use_cookies, session.use_only_cookies, session.use_strict_mode,
session.referer_check, session.cache_limiter, session.cache_expire,
session.lazy_write, session.save_handler, session.serialize_handler,
session.gc_probability, session.gc_divior, session.gc_maxlifetime,
. Some E_ERRORs are changed to E_WARNING since session status is managed correctly.
session_start()
. Session no longer initialize $_SESSION for invalid and useless session.
session_start()
. When headers are already sent and try to set new INI values, session_name(),
session_module_name(), session_save_path(), session_cache_limiter() and
session_cache_expire() are no longer works. Older PHPs accepts new values even
if new values will not be effective.
This new corrected behavior may affect command line mode CLI scripts that manage
sessions. Use output buffer just like web applications to resolve problems on
CLI scripts.
- Reflection:
. The behavior of ReflectionMethod::invoke() and ::invokeArgs() has been
aligned, which causes slightly different behavior than before for some
pathological cases.
- IMAP:
Starting with 7.1.25, rsh/ssh logins are disabled by default. Use
imap.enable_insecure_rsh if you want to enable them. Note that the IMAP
library does not filter mailbox names before passing them to rsh/ssh
command, thus passing untrusted data to this function with rsh/ssh enabled
is insecure.
========================================
2. New Features
========================================
- Core
. Added void return type, which requires that a function not return a value.
(RFC: https://wiki.php.net/rfc/void_return_type)
. Added iterable pseudo-type accepting any array or object implementing
Traversable.
(RFC: https://wiki.php.net/rfc/iterable)
. String offset access now supports negative references, which will be
counted from the end of the string.
(RFC: https://wiki.php.net/rfc/negative-string-offsets)
. Added a form of the list() construct where keys can be specified.
(RFC: https://wiki.php.net/rfc/list_keys)
. Added [] = as alternative construct to list() =.
(RFC: https://wiki.php.net/rfc/short_list_syntax)
. Number operators taking numeric strings now emit "A non well formed numeric
value encountered" E_NOTICEs for leading-numeric strings, and "A
non-numeric value encountered" E_WARNINGs for non-numeric strings.
This always applies to the +, -, *, /, **, %, << and >> operators, and
their assignment counterparts +=, -=, *=, /=, **=, %=, <<= and >>=.
For the bitwise operators |, & and ^, and their assignment counterparts
|=, &= and ^=, this only applies where only one operand is a string.
Note that this never applies to the bitwise NOT operator, ~, which does not
handle numeric strings, nor to the increment and decrement operators
++ and --, which have a unique approach to handling numeric strings.
(RFC: https://wiki.php.net/rfc/invalid_strings_in_arithmetic)
. Closure::fromCallable (RFC: https://wiki.php.net/rfc/closurefromcallable)
. Added support for class constant visibility modifiers.
(RFC: https://wiki.php.net/rfc/class_const_visibility)
. TypeError messages for arg_info type checks will now say "must be ...
or null", or "must ... or be null" where the parameter or return type
accepts null. arg_info type checks are used by all userland functions with
type declarations, and some internal functions. Both nullable type
declarations (?int) and parameters with default values of null
(int $foo = NULL) are considered to "accept null" for this purpose.
. The simple syntax for variable parsing inside of string literals now
supports negative offsets.
- Core:
. It is now possible to remove argument type annotations when overriding an
inherited method. This complies with contravariance of method argument types
under the Liskov Substitution Principle.
(https://wiki.php.net/rfc/parameter-no-type-variance)
. It is now allowed to override an abstract method with another abstract
method in a child class.
(https://wiki.php.net/rfc/allow-abstract-function-override)
. A trailing comma in group use statements is now allowed.
(https://wiki.php.net/rfc/list-syntax-trailing-commas)
. The "object" type annotation is now supported.
(https://wiki.php.net/rfc/object-typehint)
- DBA:
. Implemented support for the LMDB backend.
- OCI8:
. Added Oracle Database Transparent Application Failover (TAF) callback support.
- PCRE:
. Added `J` modifier for setting PCRE_DUPNAMES.
. Added `PREG_UNMATCHED_AS_NULL` flag to allow distinguish between unmatched
subpatterns and empty matches by reporting NULL and "" (empty string),
respectively.
- Sodium
. New cryptographic extension
- SQLite3:
. Implemented writing to BLOBs.
- Standard:
. Simplified password hashing API updated to support Argon2i hashes when PHP is compiled with libargon2
(https://wiki.php.net/rfc/argon2_password_hash).
. proc_nice() is now supported on Windows platforms.
- Zip:
. read/write encrypted archive, relying on libzip 1.2.0,
using new methods:
ZipArchive::setEncryptionName($name, $method [, $password]);
ZipArchive::setEncryptionIndex($index, $method [, $password]);
and new constants:
ZipArchive::EM_NONE
ZipArchive::EM_AES_128
ZipArchive::EM_AES_192
ZipArchive::EM_AES_256
. accept 'password' from zip stream context
. ZipArchive implements countable, added ZipArchive::count() method.
========================================
3. Changes in SAPI modules
========================================
- apache2handler:
. Implemented per module logging.
. Implemented error level mapping between PHP and Apache for the error logs.
========================================
4. Deprecated Functionality
========================================
- 'e' option of mb_ereg_replace() and mb_eregi_replace().
- ext/mcrypt is now fully deprecated.
All the deprecated functionality listed in the following will be removed in
PHP 8.0.
- Core:
. The trace_errors ini directive has been deprecated.
. The __autoload() mechanism has been deprecated, use spl_autoload_register()
instead.
. The (unset) cast has been deprecated. This does not affect the unset($var)
language construct.
. The create_function() function has been deprecated, use anonymous functions
instead.
. The each() function has been deprecated, use a foreach loop instead.
- EXIF:
. The read_exif_data() alias have been deprecated, use exif_read_data() instead.
- GD:
. png2wbmp() and jpeg2wbmp() have been deprecated.
- GMP:
. The gmp_random() function has been deprecated, use gmp_random_bits() or
gmp_random_range() instead.
- Intl:
. INTL_IDNA_VARIANT_2003 has been deprecated; use INTL_IDNA_VARIANT_UTS46
instead.
- Mbstring:
. The mbstring.func_overload ini directive has been deprecated.
- Standard:
. Calling parse_str() without the result argument has been deprecated.
. Calling assert() with a string argument has been deprecated, use an ordinary
expression instead.
See also: https://wiki.php.net/rfc/deprecations_php_7_2
========================================
5. Changed Functions
========================================
- get_headers() has an extra parameter which allows passing a custom stream
context.
- The first $varname argument for getenv() is no longer mandatory, the
current environment variables will be returned as an associative array
when omitted.
- json_encode() accepts new option JSON_UNESCAPED_LINE_TERMINATORS that
disables escaping of U+2028 and U+2029 characters when
JSON_UNESCAPED_UNICODE is supplied.
- long2ip() accepts integer as parameter now
- openssl_encrypt and openssl_decrypt have extra parameters for handling
authenticated encryption (tag, aad, tag_length) and decryption (tag, aad).
- pg_last_notice() accepts optional long parameter to specify operation.
PGSQL_NOTICE_LAST - Get last notice (Default)
PGSQL_NOTICE_ALL - Get all stored notices
PGSQL_NOTICE_CLEAR - Remove all stored notices
It returns empty string or array on successful PGSQL_NOTICE_LAST/ALL calls.
It returned FALSE for empty notice previously.
- pg_fetch_all() accepts 2nd optional result type parameter like
pg_fetch_row().
- pg_select() accepts 4th optional result type parameter like pg_fetch_row().
- parse_url() is more restrictive now and supports RFC3986.
- unpack() accepts an additional optional $offset argument. '@' format code
(that specifes an absolute position) is applyed to input data after
the $offset argument.
- strpos(), stripos(), substr_count(), grapheme_strpos(), grapheme_stripos(),
grapheme_extract(), iconv_strpos(), mb_strimwidth(), mb_ereg_search_setpos(),
mb_strpos() and mb_stripos() now accept negative string offsets.
- substr_count() and mb_strimwidth() additionally also accept negative length.
- file_get_contents() accepts a negative seek offset if the stream is seekable.
- tempnam() throws a notice when failing back to the system temp dir.
- getopt() has an extra by-ref parameter : optind
- mb_ereg() and mb_ereg_replace() reject illegal byte sequences.
- FILTER_FLAG_EMAIL_UNICODE can be used with filter_var() for email validation
according to RFC 6531.
- output_reset_rewrite_vars() no longer reset session URL rewrite vars.
- the lasinsertid() in pdo_pgsql extension triggers an error, when no nextval()
were called in in the current session.
- fopen()
Since 7.1.2, mode 'e' was added, which sets the close-on-exec flag
on the opened file descriptor. This mode is only available in PHP compiled on
POSIX.1-2008 conform systems.
- Standard:
. password_hash() can generate Argon2i hashes when the algorithm is set to PASSWORD_ARGON2I.
When using PASSWORD_ARGON2I, the following cost factors may be set: 'memory_cost', 'time_cost',
and 'threads'. These cost factors will default to 'PASSWORD_ARGON2_DEFAULT_MEMORY_COST',
'PASSWORD_ARGON2_DEFAULT_TIME_COST', and 'PASSWORD_ARGON2_DEFAULT_THREADS' respectively if not set.
. password_verify() can verify Argon2i hashes.
. password_get_info() and password_needs_rehash() can accept Argon2i hashes.
. mail()/mb_send_mail() accept array $extra_header. Array parameter is checked against RFC 2822.
Array format is
$extra_headers = [
'Header-Name' => 'Header value',
'Multiple' => ['One header', 'Another header'],
'Multiline' = "FirstLine\r\n SecondLine",
];
. count() now raises a warning when an invalid parameter is passed.
Only arrays and objects implementing the Countable interface should be passed.
. pack() and unpack() now support float and double in both little and big endian.
. number_format() ensures zero values never contain a negative sign.
- XML:
. utf8_encode() and utf8_decode() have been moved to the Standard extension
as string functions.
========================================
6. New Functions
========================================
- Core:
. Added sapi_windows_cp_set(), sapi_windows_cp_get(), sapi_windows_cp_is_utf8(),
sapi_windows_cp_conv() for codepage handling.
. Added stream_isatty().
. Added sapi_windows_vt100_support().
- cURL:
. Added curl_multi_errno() and curl_share_errno() to return the last error
number of curl_multi and curl_share resources.
. Added curl_share_strerror() to convert error code to error message text
describing the error.
- DOM:
. DomNodeList implements Countable, added DomNodeList::count().
. DOMNamedNodeMap implements Countable, added DOMNamedNodeMap::count().
- Hash:
. In PHP 7.1.2: Added hash_hkdf() function, which implements the HMAC-based
Key Derivation Function (HKDF) algorithm according to RFC 5869. The
implementation combines the Extract and Expand steps.
- GD:
. Added imagesetclip() and imagegetclip().
. Added imageopenpolygon().
. Added imageresolution().
. Added imagecreatefrombmp() and imagebmp().
- pcntl:
. Added pcntl_signal_get_handler() that returns the current signal handler
for a particular signal.
- Mbstring:
. Added mb_chr() and mb_ord().
. Added mb_scurb() that scrub broken multibyte strings.
- Session:
. Added session_gc() that performs session data garbage collection.
https://wiki.php.net/rfc/session-gc
. Added session_create_id() for creating custom session ID.
https://wiki.php.net/rfc/session-create-id
- OCI8:
. Added oci_register_taf_callback() and oci_disable_taf_callback() for
Oracle Database TAF callback support.
- Standard:
. Added is_iterable() that determines if a value will be accepted by the new
iterable pseudo-type.
- Sockets:
. Added socket_addrinfo_lookup(), socket_addrinfo_connect(),
socket_addrinfo_bind() and socket_addrinfo_explain().
========================================
7. New Classes and Interfaces
@@ -292,151 +259,79 @@ PHP 7.1 UPGRADE NOTES
8. Removed Extensions and SAPIs
========================================
- Mcrypt:
. The deprecated mcrypt extension has been moved to PECL.
. libmcrypt has not been maintained since 2007 and the continued use of this
extension is strongly discouraged.
. Users are advised to use alternatives such as OpenSSL or libsodium.
========================================
9. Other Changes to Extensions
========================================
- Date:
. Invalid serialization data for a DateTime or DatePeriod object will now
throw an instance of Error from __wakeup() or __set_state() instead of
resulting in a fatal error.
. Timezone initialization failure from serialized data will now throw an
instance of Error from __wakeup() or __set_state() instead of resulting in
a fatal error.
. DateTime and DateTimeImmutable now properly incorporate microseconds when
constructed from the current time, either explicitly or with a relative
string (e.g. "first day of next month"). This means that naive comparisons
of two newly created instances will now more likely return FALSE instead of
TRUE:
new DateTime() == new DateTime();
- DBA:
. Data modification functions (e.g.: dba_insert()) now throw an instance of
Error instead of triggering a catchable fatal error if the key does not
contain exactly two elements.
- DOM:
. Invalid schema or RelaxNG validation contexts will throw an instance of
Error instead of resulting in a fatal error.
. Attempting to register a node class that does not extend the appropriate
base class will now throw an instance of Error instead of resulting in a
fatal error.
. Attempting to read an invalid or write to a readonly property will throw
an instance of Error instead of resulting in a fatal error.
- EXIF:
. Added extended exif tag support for the following formats:
Samsung, DJI, Panasonic, Sony, Pentax, Minolta, Sigma/Foveon,
AGFA, Kyocera, Ricoh & Epson.
. exif_read_data() and exif_thumbnail() now supports a passed streams as their
first parameter.
- GD:
. Changed the default of the ini setting gd.jpeg_ignore_warning to 1.
. Removed --enable-gd-native-ttf configuration option which was unused as
of PHP 5.5.0 anyway.
. imagegd() stores truecolor images as real truecolor images. Formerly, they
have been converted to palette.
. imageantialias() is now also available if compiled with a system libgd.
- IMAP:
. An email address longer than 16385 bytes will throw an instance of Error
instead of resulting in a fatal error.
- Mbstring
. mb_check_encoding() accepts array parameter. Both key and value
encodings are checked recursively.
. mb_convert_encoding() accepts array parameter. Only value encodings
are converted recursively.
- Intl:
. Failure to call the parent constructor in a class extending Collator
before invoking the parent methods will throw an instance of Error
instead of resulting in a recoverable fatal error.
. Cloning a Transliterator object may will now throw an instance of Error
instead of resulting in a fatal error if cloning the internal
transliterator fails.
- PDO_OCI:
. The '--with-pdo-oci' configure syntax no longer needs the vesion number of the
Oracle Instant Client.
- LDAP:
. Providing an unknown modification type to ldap_batch_modify() will now
throw an instance of Error instead of resulting in a fatal error.
- Mbstring:
. mb_ereg() and mb_eregi() will now throw an instance of ParseError if an
invalid PHP expression is provided and the 'e' option is used.
- Mcrypt:
. mcrypt_encrypt() and mcrypt_decrypt() will throw an instance of Error
instead of resulting in a fatal error if mcrypt cannot be initialized.
- Mysqli:
. Attempting to read an invalid or write to a readonly property will throw
an instance of Error instead of resulting in a fatal error.
- PDO_Firebird
As of PHP 7.1.2, the fetched data for integer fields is aware of the Firebird
datatypes. Previously all integers was fetched as strings, starting with
aforementioned PHP version integer fields are translated to the PHP integer
datatype. The 64-bit integers are still fetched as strings in 32-bit PHP
builds.
- Reflection:
. Failure to retrieve a reflection object or retrieve an object property
will now throw an instance of Error instead of resulting in a fatal error.
- Session:
. Custom session handlers that do not return strings for session IDs will
now throw an instance of Error instead of resulting in a fatal error
when a function is called that must generate a session ID.
. Only CSPRNG is used to generate session ID.
- SimpleXML:
. Creating an unnamed or duplicate attribute will throw an instance of Error
instead of resulting in a fatal error.
- SPL:
. Attempting to clone an SplDirectory object will throw an instance of Error
instead of resulting in a fatal error.
. Calling ArrayIterator::append() when iterating over an object will throw an
instance of Error instead of resulting in a fatal error.
- SQLite3:
. Upgraded bundled SQLite lib to 3.13.0
- Standard:
. assert() will throw a ParseError when evaluating a string given as the first
argument if the PHP code is invalid instead of resulting in a catchable
fatal error.
. Calling forward_static_call() outside of a class scope will now throw an
instance of Error instead of resulting in a fatal error.
- Tidy:
. Creating a tidyNode manually will now throw an instance of Error instead of
resulting in a fatal error.
- WDDX:
. A circular reference when serializing will now throw an instance of Error
instead of resulting in a fatal error.
- XML-RPC:
. A circular reference when serializing will now throw an instance of Error
instead of resulting in a fatal error.
- Zip:
. ZipArchive::addGlob() will throw an instance of Error instead of resulting
in a fatal error if glob support is not available.
- pdo_sqlite
. Use sqlite3_prepare_v2() and sqlite3_close_v2() functions instead of their
legacy counterparts.
========================================
10. New Global Constants
========================================
- Core:
. PHP_FD_SETSIZE
. PHP_FLOAT_DIG number of decimal digits, that can be rounded into a
float and back without precision loss
. PHP_FLOAT_EPSILON smallest representable positive number x, so then
x + 1.0 != 1.0
. PHP_FLOAT_MIN min representable float number
. PHP_FLOAT_MAX max representable float number
. PHP_OS_FAMILY current operating system family
- JSON:
. JSON_UNESCAPED_LINE_TERMINATORS
- Fileinfo:
. FILEINFO_EXTENSION include list of possible file extensions
- Pgsql:
PGSQL_NOTICE_LAST
PGSQL_NOTICE_ALL
PGSQL_NOTICE_CLEAR
- GD:
. IMG_EFFECT_MULTIPLY
. IMG_BMP
- PCRE
. PREG_UNMATCHED_AS_NULL
- Standard:
. IMAGETYPE_WEBP
. PASSWORD_ARGON2_DEFAULT_MEMORY_COST
. PASSWORD_ARGON2_DEFAULT_TIME_COST
. PASSWORD_ARGON2_DEFAULT_THREADS
. PASSWORD_ARGON2I
========================================
11. Changes to INI File Handling
========================================
- serialize_precision
. If the value is set to -1, then the dtoa mode 0 is used. The value -1
is now used by default.
- precision
. If the value is set to -1, then the dtoa mode 0 is used. No changes
in default value which is still 14.
- sql.safe_mode
. This INI directive have been removed.
- realpath_cache_size
. Set to 4096k by default
@@ -445,88 +340,14 @@ PHP 7.1 UPGRADE NOTES
12. Windows Support
========================================
- Core:
. Support for long and UTF-8 path;
- Support for VT100 console mode
If a web application is UTF-8 conform, no further action is required. For
applications depending on paths in non UTF-8 encodings for I/O, an explicit
INI directive has to be set. The encoding INI settings check relies on the
order in the core:
- internal_encoding
- default_charset
- zend.multibyte
Several functions for codepage handling were itroduced:
- sapi_windows_cp_set() to set the default codepage
- sapi_windows_cp_get() to retrieve the current codepage
- sapi_windows_cp_is_utf8()
- sapi_windows_cp_conv() to convert between codepages, using iconv()
compatible signature
These functions are thread safe.
The console output codepage is adjusted depending on the encoding used in
PHP. Depending on the concrete system OEM codepage, the visible output
might or might be not correct. For example, in the default cmd.exe and on
a system with the OEM codepage 437, outputs in codepages 1251, 1252, 1253
and some others can be shown correctly when using UTF-8. On the same system,
chars in codepage like 20932 probably won't be shown correctly. This refers
to the particular system rules for codepage, font compatibility and the
particular console program used. PHP automatically sets the console codepage
according to the encoding rules from php.ini. Using alternative consoles
instead of cmd.exe directly might bring better experience in some cases.
Nevertheless be aware, runtime codepage switch after the request start
might bring unexpected side effects on CLI. The preferrable way is php.ini,
When PHP CLI is used in a console emulator, that doesn't support Unicode,
it might possibly be required, to avoid changing the console codepage. The
best way to achieve it is by setting the default or internal encoding to
correspond the ANSI codepage. Another method is to set the INI directives
output_encoding and input_encoding to the required codepage, in which case
however the difference between internal and I/O codepage is likely to cause
mojibake. In rare cases, if PHP happens to crash gracefully, the original
console codepage might be not restored. In this case, the chcp command
can be used, to restore it manually.
Special awareness for the DBCS systems - the codepage switch on runtime
using ini_set() is likely to cause display issues. The difference to the
non DBCS systems is, that the extended characters require two console cells
to be displayed. In certain case, only the mapping of the characters into
the glyph set of the font could happen, no actual font change. This is the
nature of DBCS systems, the most simple way to prevent display issues is
to avoid usage of ini_set() for the codepage change.
As a result of UTF-8 support in the streams, PHP scripts are not limited
to ASCII or ANSI filenames anymore. This is supported out of the box on
CLI. For other SAPI, the documentation for the corresponding server
is useful.
Long paths support is transparent. Paths longer than 260 bytes get
automatically prefixed with \\?\. The max path length is limited to
2048 bytes. Be aware, that the path segment limit (basename length) still
persists.
For the best portability, it is strongely recommended to handle filenames,
I/O and other related topics UTF-8. Additionally, for the console applications,
the usage of a TrueType font is preferrable and the usage of ini_set() for
the codepage change is discouraged.
. Support for ftok()
- FCGI
. PHP_FCGI_CHILDREN is respected. If this environment variable is defined,
the first php-fcgi.exe process will exec the specified number of children.
Those will share the same TCP socket.
- readline:
. The readline extension is supported through the WinEditLine library
(http://mingweditline.sourceforge.net/). Thereby, the interactive CLI
shell is supported as well (php.exe -a).
It is well known, but nevertheless is worth mentioning again, that
the readline extension is not thread safe and will never be. Thus,
the usage of it with any true thread safe SAPI (like Apache mod_winnt) is
strongely discouraged.
On systems starting with 10.0.10586, cmd.exe supports ANSI escape sequences.
The corresponding console mode is enabled by default on CLI on suitable
systems. As well, the function sapi_windows_vt100_support() is provided,
to control and query the corresponding information in the scripts.
========================================
13. Other Changes
========================================
+51 -58
View File
@@ -1,79 +1,52 @@
PHP 7.1 INTERNALS UPGRADE NOTES
PHP 7.2 INTERNALS UPGRADE NOTES
0. Wiki Examples
1. Internal API changes
e. Codepage handling on Windows
f. Path handling on Windows
g. SAPI logging
a. Path related functions
b. php_win32_get_random_bytes()
c. nice() Windows implementation
d. ZEND_ACC_CLONE removed
e. IS_TYPE_IMMUTABLE removed
f. zend_arg_info.class_name removed
g. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX changed
h. valid_symbol_table removed
2. Build system changes
a. Unix build system changes
b. Windows build system changes
3. Module changes
================
0. Wiki Examples
================
The wiki contains multiple examples and further explanations of the internal
changes. See: https://wiki.php.net/phpng-upgrading
========================
1. Internal API changes
========================
e. Codepage handling on Windows
a. Path related functions
- CWD_API void realpath_cache_del(const char *path, size_t path_len);
- CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, size_t path_len, time_t t);
- PHPAPI void php_clear_stat_cache(zend_bool clear_realpath_cache, const char *filename, size_t filename_len);
- PHPAPI void php_stat(const char *filename, size_t filename_length, int type, zval *return_value);
A set of new APIs was introduced, which allows to handle codepage
conversions. The corresponding prototypes and macros are contained
in win32/codepage.h.
b. php_win32_get_random_bytes()
The internal randomness source on Windows switched to use CNG API.
Functions with php_win32_cp_* signatures provide handling for various
codepage aspects. Primarily they are in use at various places in the
I/O utils code and directly in the core where necessary, providing
conversions to/from UTF-16. Arbitrary conversions between codepages
are possible as well, whereby UTF-16 will be always an intermediate
state in this case.
c. nice() now have a Windows alternative that is implemented in win32/nice.c, using
SetPriorityClass(). See the implementation for more in-depth details. This also
defines HAVE_NICE.
For input length arguments, the macro PHP_WIN32_CP_IGNORE_LEN can be
passed, then the API will calculate the length. For output length
arguments, the macro PHP_WIN32_CP_IGNORE_LEN_P can be passed, then
the API won't set the output length.
d. ZEND_ACC_CLONE is removed, but was not used in previous versions
The mapping between encodings and codepages is provided by the predefined
array of data contained in win32/cp_enc_map.c. To change the data,
a generator win32/cp_enc_map_gen.c needs to be edited and run.
e. IS_TYPE_IMMUTABLE is removed, IS_TYPE_COPYABLE can be used instead
Z_IMMUTABLE() check function is still available
f. Path handling on Windows
f. zend_arg_info class_name member is removed, use ZEND_TYPE_NAME instead
A set of new APIs was introduced, which allows to handle UTF-8 paths. The
corresponding prototypes and macros are contained in win32/ioutil.h.
Functions with php_win32_ioutil_* signatures provide POSIX I/O analogues.
These functions are integrated in various places across the code base to
support Unicode filenames. While accepting char * arguments, internally
the conversion to wchar_t * happens. Internally almost no ANSI APIs are
used, but directly their wide equivalents. The string conversion rules
correspond to those already present in the core and depend on the current
encoding settings. Doing so allows to move away from the ANSI Windows API
with its dependency on the system OEM/ANSI codepage.
Thanks to the wide API usage, the long paths are now supported as well. The
PHP_WIN32_IOUTIL_MAXPATHLEN macro is defined to 2048 bytes and will override
the MAXPATHLEN in files where the header is included.
The most optimal use case for scripts is utilizing UTF-8 for any I/O
related functions. UTF-8 filenames are supported on any system disregarding
the system OEM/ANSI codepage.
g. SAPI logging
The log_message callback in the SAPI struct was extended with the severity
argument. This allows SAPI modules to implement mapping between PHP and
corresponding server error levels. A reference mapping implementation
can be found in apache2handler.
g. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX classname option is removed
use ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX for simple type
use ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX for object
h. valid_symbol_table is removed from executor_globals.
Use EG(active) instead of removed EG(valid_symbol_table)
========================
2. Build system changes
@@ -82,9 +55,29 @@ changes. See: https://wiki.php.net/phpng-upgrading
a. Unix build system changes
b. Windows build system changes
Static analysis with clang and Cppcheck is supported by passing "clang" or
"cppcheck" keyword to the --with-analyzer configure option.
. Minimum supported Windows versions are Windows 7/Server 2008 R2.
. --enable-one-shot configure option is removed, --with-mp is usable.
. The new binary tools SDK is required for Windows builds, the
documentation is available under https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2
. Visual Studio 2017 is utilized for the Windows builds
. Clang build with ASAN is supported with clang 5+
========================
3. Module changes
========================
- Pcre:
. php_pcre_replace and php_pcre_replace_impl expect a zend_string instead of a zval and
is_callable_replace options is removed:
- PHPAPI zend_string *php_pcre_replace(zend_string *regex, zend_string *subject_str, char *subject, int subject_len, zend_string *replace_str, int limit, int *replace_count);
- PHPAPI zend_string *php_pcre_replace_impl(pcre_cache_entry *pce, zend_string *subject_str, char *subject, int subject_len, zend_string *replace_str, int limit, int *replace_count);
- Session:
. php_session_start()/session_reset_id() return value is changed from void to int.
It returns SUCCESS/FAILURE.
. Session module manages session status correctly.
- OpenSSL:
. Windows builds ship with OpenSSL 1.1 by default, lower versions are still supported with custom deps.
+12 -12
View File
@@ -1,25 +1,25 @@
--------------------------------------------------------------------
--------------------------------------------------------------------
The Zend Engine License, Version 2.00
Copyright (c) 1999-2006 Zend Technologies Ltd. All rights reserved.
--------------------------------------------------------------------
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
modification, is permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
3. The names "Zend" and "Zend Engine" must not be used to endorse
or promote products derived from this software without prior
permission from Zend Technologies Ltd. For written permission,
please contact license@zend.com.
please contact license@zend.com.
4. Zend Technologies Ltd. may publish revised and/or new versions
of the license from time to time. Each version will be given a
distinguishing version number.
@@ -40,9 +40,9 @@ are met:
software must display the following acknowledgment:
"The Zend Engine is freely available at http://www.zend.com"
THIS SOFTWARE IS PROVIDED BY ZEND TECHNOLOGIES LTD. ``AS IS'' AND
THIS SOFTWARE IS PROVIDED BY ZEND TECHNOLOGIES LTD. ``AS IS'' AND
ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ZEND
TECHNOLOGIES LTD. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
@@ -53,4 +53,4 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
--------------------------------------------------------------------
--------------------------------------------------------------------
+1
View File
@@ -53,3 +53,4 @@ depend:
zend_execute.lo: $(srcdir)/zend_execute.c
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(CPPFLAGS) $(INLINE_CFLAGS) -c $(srcdir)/zend_execute.c
+9 -8
View File
@@ -21,7 +21,7 @@ ZEND_VM_HANDLER(<OPCODE-NUMBER>, <OPCODE>, <OP1_TYPES>, <OP2_TYPES>)
<OPCODE-NUMBER> is a opcode number (0, 1, ...)
<OPCODE> is an opcode name (ZEN_NOP, ZEND_ADD, :)
<OP1_TYPES> & <OP2_TYPES> are masks for allowed operand op_types. Specializer
will generate code only for defined combination of types. You can use any
will generate code only for defined combination of types. You can use any
combination of the following op_types UNUSED, CONST, VAR, TMP and CV also
you can use ANY mask to disable specialization according operand's op_type.
<HANDLER'S CODE> is a handler's code itself. For most handlers it stills the
@@ -34,9 +34,9 @@ EXECUTE_DATA
execute_data
ZEND_VM_DISPATCH_TO_HANDLER(<OP>)
return <OP>_helper(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_DISPATCH_TO_HELPER(<NAME>)
ZEND_VM_DISPATCH_TO_HELPER(<NAME>)
return <NAME>(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_DISPATCH_TO_HELPER_EX(<NAME>,<PARAM>,<VAL>)
ZEND_VM_DISPATCH_TO_HELPER_EX(<NAME>,<PARAM>,<VAL>)
return <NAME>(<VAL>, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_CONTINUE()
return 0
@@ -72,7 +72,7 @@ FREE_OP<X>_VAR_PTR()
FREE_VAR_PTR(free_op<X>)
Executor's helpers can be defined without parameters or with one parameter.
Executor's helpers can be defined without parameters or with one parameter.
This is done with the following constructs:
ZEND_VM_HELPER(<HELPER-NAME>, <OP1_TYPES>, <OP2_TYPES>)
@@ -86,13 +86,13 @@ ZEND_VM_HELPER_EX(<HELPER-NAME>, <OP1_TYPES>, <OP2_TYPES>, <PARAM_SPEC>)
}
Executor's code is generated by PHP script zend_vm_gen.php it uses zend_vm_def.h
and zend_vm_execute.skl as input and produces zend_vm_opcodes.h and
zend_vm_execute.h. The first file is a list of opcode definitions. It is
and zend_vm_execute.skl as input and produces zend_vm_opcodes.h and
zend_vm_execute.h. The first file is a list of opcode definitions. It is
included from zend_compile.h. The second one is an executor code itself. It is
included from zend_execute.c.
zend_vm_gen.php can produce different kind of executors. You can select
different opcode threading model using --with-vm-kind=CALL|SWITCH|GOTO. You can
zend_vm_gen.php can produce different kind of executors. You can select
different opcode threading model using --with-vm-kind=CALL|SWITCH|GOTO. You can
disable opcode specialization using --without-specializer. You can include or
exclude old executor together with specialized one using --without-old-executor.
At last you can debug executor using original zend_vm_def.h or generated file
@@ -105,3 +105,4 @@ Zend Engine II currently includes two executors during the build process, one
is the specialized version and the other is the old one non-specialized with
function handlers. By default Zend Engine II uses the specialized one but you
can switch to the old executor at runtime by calling zend_vm_use_old_executor().
-135
View File
@@ -1,135 +0,0 @@
Revamped object model using object handles
===========================================
Background
----------
In the Zend Engine 1.0 (and its predecessor the PHP 3 scripting
engine) the object model's design is that instantiated objects are
language values. This means that when programmers are performing
operations, such variable assignment and passing parameters to
functions, objects are handled very similarly to the way other
primitive types are handled such as integers and strings.
Semantically this means that the whole object is being copied. The
approach Java takes is different where one refers to objects by handle
and not by value (one can think of a handle as an objects' ID).
Need
----
Unfortunately, the approach taken up to now has severely limited the
Zend Engine's object oriented model, both feature and simplicity
wise. One of the main problems with the former approach is that object
instantiation and duplication is very hard to control, a problem which
can not only lead to inefficient development but also often to strange
run-time behavior. Changing the object model to a handle oriented
model will allow the addressing of many needs such as destructors,
de-referencing method return values, tight control of object
duplication and more.
Overview
--------
The proposed object model is very much influenced by the Java
model. In general, when you create a new object you will be getting a
handle to the object instead of the object itself. When this handle is
sent to functions, assigned and copied it is only the handle which is
copied/sent/assigned. The object itself is never copied nor
duplicated. This results in all handles of this object to always point
at the same object making it a very consistent solution and saving
unnecessary duplication and confusing behavior.
Functionality
-------------
After this change the basic use of objects will be almost identical to
previous versions of the scripting engine. However, you won't bump
into awkward and confusing copying & destructing of objects. In order
to create and use a new object instance you will do the following:
$object = new MyClass(); $object->method();
The previous code will assign $object the handle of a new instance of
the class MyClass and call one of its methods.
Consider the following code:
1 class MyClass
2 {
3 function setMember($value)
4 {
5 $this->member = $value;
6 }
7
8 function getMember()
9 {
10 return $this->member;
11 }
12 }
13
14 function foo($obj)
15 {
16 $obj->setMember("foo");
17 }
18
19 $object = new MyClass();
20 $object->setMember("bar");
21 foo($object);
22 print $object->getMember();
Without the new Java-like handles, at line 20 the objects' data member
member is set to the string value of "bar". Because of the internal
representation of objects in the Zend Engine 1.0, the object is marked
as a reference, and when it is sent by value to the function foo, it
is duplicated (!). Therefore, the call to foo() on line 21 will
result in the $obj->setMember("foo") call being called on a duplicate
of $object. Line 22 will then result in "bar" being printed.
This is how the scripting engine has worked until today. Most
developers are probably unaware of the fact that they aren't always
talking to the same object but often duplicates; others may have
realized this can usually be solved by always passing objects by
reference (unless a replica is actually desired, which is uncommon).
The new object model will allow for a much more intuitive
implementation of the code. On line 21, the object's handle (ID) is
passed to foo() by value. Inside foo(), the object is fetched
according to this handle and, therefore, the setMember() method is
called on the originally instantiated object and not a copy. Line 22
will therefore result in "foo" being printed. This approach gives
developers tighter control of when objects are created and duplicated.
An additional not-as-important benefit is that the object handle will
be passed to foo() by value, which most probably will also save
unnecessary duplication of the value containing the ID itself and thus
additionally improving run-time performance.
This was just a simple description of why the new object model solves
awkward behavior and makes object handling much easier, intuitive and
efficient. The importance of this change goes far beyond what is
mentioned in this section as you will see in further sections which
describe new features with a majority of them being based on this
change.
Compatibility Notes
--------------------
Many PHP programmers aren't even aware of the copying quirks of the
current object model and, therefore, there is a relatively good chance
that the amount of PHP applications that will work out of the box or
after a very small amount of modifications would be high.
To simplify migration, version 2.0 will support an optional
'auto-clone' feature, which will perform a cloning of the object
whenever it would have been copied in version 1.0. Optionally, it
will also be possible to request that the engine will emit an E_NOTICE
message whenever such an automatic clone occurs, in order to allow
developers to gradually migrate to the version 2.0-style behavior
(without automatic clones).
Dependencies
------------
The new object model is not dependent on other features. Many of the
other Zend Engine 2.0 features, such as the $foo->bar()->barbara()
syntax, destructors and others completely rely on this new object
model.
-169
View File
@@ -1,169 +0,0 @@
Title: Zend 2.0 Namespaces
Version: $Id$
Status: declined
Maintainer: Stig S. Bakken <ssb@php.net>
Created: 2001-09-08
Modified: 2001-09-08
1. Background/Need
==================
PHP and Zend 1.0 have come to a point where a lot of reusable code is
being written; from simple functions and classes to entire application
frameworks. It is becoming increasingly difficult to avoid symbol
name collisions with the current scoping methods.
The symbol scopes available in Zend 1.0 are the global scope, the
class scope and the function scope. All scopes but classes may
contain variables, only the class and global scopes may contain
functions, while only the global scope may contain constants and
classes. This means that all of Zend 1.0's scoping methods are
inherently limited for solving symbol name collision problems.
2. Overview
===========
Namespaces in Zend 2.0 provide a way to manage the symbol collision
problem by making it possible to define multiple symbol tables able to
contain all types of symbols. Zend will get the notion of a current
namespace, defaulting to the current global one. The current name
space may be changed on a file-by-file basis. Symbols in other name
spaces than the current one may be referenced using a new namespace
operator. It will be possible to "import" symbols from one namespace
into another.
3. Functionality
================
3.1. Namespace Syntax
=====================
The namespace operator ":" is used to refer to symbols in other
namespaces than the current one:
Class: Namespace:class
Function: Namespace:function
Static method: Namespace:class::method
Variable: $Namespace:variable
Constant: Namespace:CONSTANT
Class variable: $Namespace:class::variable
To refer to symbols in the global namespace, symbols are prefixed with
only the namespace operator:
Class: :class
Function: :function
Static method: :class::method
Variable: $:variable
Constant: :CONSTANT
Class variable: $:class::variable
Note: $:variable will effectively be just another syntax for
$GLOBALS['variable'].
A namespace may have a name containing a ":", it is always the last
":" character in the symbol qualifier that is the actual namespace
operator:
Class: Name:Space:class
Function: Name:Space:function
Static method: Name:Space:class::method
Variable: $Name:Space:variable
Constant: Name:Space:CONSTANT
Class variable: $Name:Space:class::variable
(Here, the ":" between "Name" and "Space" is part of the name, it is
the one after "Space" that is the namespace operator.)
3.2. Defining Namespaces
========================
Individual files may define a namespace that will apply to the entire
file. If no "namespace" operator occurs in the file, it will be in
the global namespace:
1 namespace HTML;
2
3 class Form {
4 function Form() {
5 // constructor
6 }
7 // ...
8 }
Or with the "nested" name syntax:
1 namespace HTML:Form;
2
3 class Image {
4 var $src;
5 function Image($src) {
6 $this->src = $src;
7 }
8 // ...
9 }
Code executed within the "HTML" namespace may refer to the Form class
as just "Form". Code executed from within other namespaces has to
refer to it as "HTML:Form". The "namespace" statement must occur
before any other statements in the file.
# [ssb 2001-09-08]:
# Should it be possible to "add" symbols to a namespace by including a
# second file with the same namespace statement?
3.3. Importing Symbols
======================
It is possible to import symbols from another namespace into the
current one with the "import" statement:
import * from HTML; // all symbols
import Form from HTML; // single symbols
import Form,Table from HTML; // multiple symbols
There is a potential for name clashes between symols of different
types that have the same qualifier syntax. These are resolved in this
order: class, function, constant.
Optionally, the symbol type may be explicitly given to import (as
"class", "function", "variable" or "constant"):
import class Form from HTML;
And finally, you may import all symbols of a given type:
import constant * from HTML:Table;
The namespace with its symbols must already be defined before using
"import".
4. Compatibility Notes
======================
Old code that does not take advantage of namespaces will run without
modifications.
5. Dependencies
===============
The class variable syntax depends on this class variables being
implemented in the new ZE2 object model.
6. Acknowledgements
===================
Andi Gutmans <andi@zend.com> and Zeev Suraski <zeev@zend.com> for
initial ZE2 namespaces proposal
Dean Hall <php@apt7.com> for the initial symbol qualification syntax
-68
View File
@@ -1,68 +0,0 @@
Title: Loose type requirements for functions
Version: $Id$
Status: draft
Maintainer: Brian Moon <brianm@dealnews.com>
Created: 2001-09-17
Modified: 2001-09-17
1. Background/Need
==================
Many internal functions of PHP will reject parameters because of their
type (the array and variable function come to mind). For userland
this is not an easy task as there is no uniform way to do it. An
addition to the engine for requiring loose types would allow
developers to know that the data passed to their functions are of the
correct type and reduce the need for duplicating the same code in
every function to check for the type of data.
2. Overview
===========
Loose typing mostly means evaluating the contents of the variable and
not the type of the variable itself. The requirements for this would
and should work much like several of the is_* functions do now.
The typing of parameters would be optional and those not typed would
simply continue to be treated as they are now.
3. Functionality
================
3.1. Allowed Types
==================
Only loose types should be needed to ensure the data is usable by the
function. Duplicating the functionallity of is_scalar, is_resource,
is_array and is_object should give developers all the information they
need to use a variable correctly.
3.2. Syntax
===========
The current function syntax should be expanded to allow typing of
variables inline in a C style.
function foo ($var){
}
could be changed to require an array such as:
function foo (array $var){
}
3.3. Errors
===========
Mis-matches in type should be reported as fatal errors and should halt
the execution of a script as that function cannot be run and code
following could not reliably run.
4. Compatibility Notes
======================
Old code that does not take advantage of this will run without
modifications.
-1166
View File
File diff suppressed because it is too large. Load diff
+159 -22
View File
@@ -7,10 +7,10 @@ dnl
AC_DEFUN([LIBZEND_CHECK_INT_TYPE],[
AC_MSG_CHECKING(for $1)
AC_TRY_COMPILE([
#if HAVE_SYS_TYPES_H
#if HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#if HAVE_INTTYPES_H
#if HAVE_INTTYPES_H
#include <inttypes.h>
#elif HAVE_STDINT_H
#include <stdint.h>
@@ -137,7 +137,7 @@ int main()
], [
AC_MSG_RESULT(no)
])
])
AC_DEFUN([LIBZEND_ENABLE_DEBUG],[
@@ -147,7 +147,7 @@ AC_ARG_ENABLE(debug,
ZEND_DEBUG=$enableval
],[
ZEND_DEBUG=no
])
])
])
@@ -158,10 +158,10 @@ AC_ARG_ENABLE(maintainer-zts,
ZEND_MAINTAINER_ZTS=$enableval
],[
ZEND_MAINTAINER_ZTS=no
])
])
AC_ARG_ENABLE(inline-optimization,
[ --disable-inline-optimization
[ --disable-inline-optimization
If building zend_execute.lo fails, try this switch],[
ZEND_INLINE_OPTIMIZATION=$enableval
],[
@@ -196,7 +196,7 @@ if test "$ZEND_MAINTAINER_ZTS" = "yes"; then
AC_DEFINE(ZTS,1,[ ])
CFLAGS="$CFLAGS -DZTS"
LIBZEND_CPLUSPLUS_CHECKS
fi
fi
changequote({,})
if test -n "$GCC" && test "$ZEND_INLINE_OPTIMIZATION" != "yes"; then
@@ -249,7 +249,7 @@ int main()
}
fp = fopen("conftest.zend", "w");
fprintf(fp, "%d %d\n", ZEND_MM_ALIGNMENT, zeros);
fprintf(fp, "%d %d\n", ZEND_MM_ALIGNMENT, zeros);
fclose(fp);
exit(0);
@@ -258,7 +258,7 @@ int main()
LIBZEND_MM_ALIGN=`cat conftest.zend | cut -d ' ' -f 1`
LIBZEND_MM_ALIGN_LOG2=`cat conftest.zend | cut -d ' ' -f 2`
AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT, $LIBZEND_MM_ALIGN, [ ])
AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT_LOG2, $LIBZEND_MM_ALIGN_LOG2, [ ])
AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT_LOG2, $LIBZEND_MM_ALIGN_LOG2, [ ])
], [], [
dnl cross-compile needs something here
LIBZEND_MM_ALIGN=8
@@ -374,7 +374,7 @@ AC_ARG_ENABLE(zend-signals,
ZEND_SIGNALS=$enableval
],[
ZEND_SIGNALS=yes
])
])
AC_CHECK_FUNC(sigaction, [
AC_DEFINE(HAVE_SIGACTION, 1, [Whether sigaction() is available])
@@ -395,24 +395,24 @@ AC_DEFUN([LIBZEND_CPLUSPLUS_CHECKS],[
])
AC_MSG_CHECKING(whether /dev/urandom exists)
if test -r "/dev/urandom" && test -c "/dev/urandom"; then
AC_MSG_CHECKING(whether /dev/urandom exists)
if test -r "/dev/urandom" && test -c "/dev/urandom"; then
AC_DEFINE([HAVE_DEV_URANDOM], 1, [Define if the target system has /dev/urandom device])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING(whether /dev/arandom exists)
if test -r "/dev/arandom" && test -c "/dev/arandom"; then
AC_MSG_CHECKING(whether /dev/arandom exists)
if test -r "/dev/arandom" && test -c "/dev/arandom"; then
AC_DEFINE([HAVE_DEV_ARANDOM], 1, [Define if the target system has /dev/arandom device])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_ARG_ENABLE(gcc-global-regs,
[ --disable-gcc-global-regs
[ --disable-gcc-global-regs
whether to enable GCC global register variables],[
ZEND_GCC_GLOBAL_REGS=$enableval
],[
@@ -466,3 +466,140 @@ else
HAVE_GCC_GLOBAL_REGS=no
fi
AC_MSG_RESULT($ZEND_GCC_GLOBAL_REGS)
dnl
dnl Check if atof() accepts NAN
dnl
AC_CACHE_CHECK(whether atof() accepts NAN, ac_cv_atof_accept_nan,[
AC_TRY_RUN([
#include <math.h>
#include <stdlib.h>
#ifdef HAVE_ISNAN
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
#else
#define zend_isnan(a) 0
#endif
int main(int argc, char** argv)
{
return zend_isnan(atof("NAN")) ? 0 : 1;
}
],[
ac_cv_atof_accept_nan=yes
],[
ac_cv_atof_accept_nan=no
],[
ac_cv_atof_accept_nan=no
])])
if test "$ac_cv_atof_accept_nan" = "yes"; then
AC_DEFINE([HAVE_ATOF_ACCEPTS_NAN], 1, [whether atof() accepts NAN])
fi
dnl
dnl Check if atof() accepts INF
dnl
AC_CACHE_CHECK(whether atof() accepts INF, ac_cv_atof_accept_inf,[
AC_TRY_RUN([
#include <math.h>
#include <stdlib.h>
#ifdef HAVE_ISINF
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
#define zend_isinf(a) (((a)==INFINITY)?1:0)
#elif defined(HAVE_FPCLASS)
#define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF))
#else
#define zend_isinf(a) 0
#endif
int main(int argc, char** argv)
{
return zend_isinf(atof("INF")) && zend_isinf(atof("-INF")) ? 0 : 1;
}
],[
ac_cv_atof_accept_inf=yes
],[
ac_cv_atof_accept_inf=no
],[
ac_cv_atof_accept_inf=no
])])
if test "$ac_cv_atof_accept_inf" = "yes"; then
AC_DEFINE([HAVE_ATOF_ACCEPTS_INF], 1, [whether atof() accepts INF])
fi
dnl
dnl Check if HUGE_VAL == INF
dnl
AC_CACHE_CHECK(whether HUGE_VAL == INF, ac_cv_huge_val_inf,[
AC_TRY_RUN([
#include <math.h>
#include <stdlib.h>
#ifdef HAVE_ISINF
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
#define zend_isinf(a) (((a)==INFINITY)?1:0)
#elif defined(HAVE_FPCLASS)
#define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF))
#else
#define zend_isinf(a) 0
#endif
int main(int argc, char** argv)
{
return zend_isinf(HUGE_VAL) ? 0 : 1;
}
],[
ac_cv_huge_val_inf=yes
],[
ac_cv_huge_val_inf=no
],[
ac_cv_huge_val_inf=yes
])])
dnl This is the most probable fallback so we assume yes in case of cross compile.
if test "$ac_cv_huge_val_inf" = "yes"; then
AC_DEFINE([HAVE_HUGE_VAL_INF], 1, [whether HUGE_VAL == INF])
fi
dnl
dnl Check if HUGE_VAL + -HUGEVAL == NAN
dnl
AC_CACHE_CHECK(whether HUGE_VAL + -HUGEVAL == NAN, ac_cv_huge_val_nan,[
AC_TRY_RUN([
#include <math.h>
#include <stdlib.h>
#ifdef HAVE_ISNAN
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
#else
#define zend_isnan(a) 0
#endif
int main(int argc, char** argv)
{
#if defined(__sparc__) && !(__GNUC__ >= 3)
/* prevent bug #27830 */
return 1;
#else
return zend_isnan(HUGE_VAL + -HUGE_VAL) ? 0 : 1;
#endif
}
],[
ac_cv_huge_val_nan=yes
],[
ac_cv_huge_val_nan=no
],[
ac_cv_huge_val_nan=yes
])])
dnl This is the most probable fallback so we assume yes in case of cross compile.
if test "$ac_cv_huge_val_nan" = "yes"; then
AC_DEFINE([HAVE_HUGE_VAL_NAN], 1, [whether HUGE_VAL + -HUGEVAL == NAN])
fi
+3 -3
View File
@@ -7,7 +7,7 @@ AC_DEFUN([LIBZEND_BISON_CHECK],[
# min: 2.4 (i.e. 204, major * 100 + minor for easier comparison)
bison_version_min="204"
# non-working versions, e.g. "3.0 3.2";
# remove "none" when introducing the first incompatible bison version an
# remove "none" when introducing the first incompatible bison version an
# separate any following additions by spaces
bison_version_exclude=""
@@ -107,7 +107,7 @@ int main(void)
], [ac_cv_c_bigendian_php=yes], [ac_cv_c_bigendian_php=no], [ac_cv_c_bigendian_php=unknown])
])
if test $ac_cv_c_bigendian_php = yes; then
AC_DEFINE(WORDS_BIGENDIAN, [], [Define if processor uses big-endian word])
AC_DEFINE(WORDS_BIGENDIAN, 1, [Define if processor uses big-endian word])
fi
])
@@ -139,7 +139,7 @@ AC_DEFUN([ZEND_CHECK_FLOAT_PRECISION],[
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING([for usable fpsetprec])
AC_TRY_LINK([
#include <machine/ieeefp.h>
+5 -5
View File
@@ -5,18 +5,18 @@ if (function_exists("date_default_timezone_set")) {
function simple() {
$a = 0;
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
$a++;
$thisisanotherlongname = 0;
for ($thisisalongname = 0; $thisisalongname < 1000000; $thisisalongname++)
for ($thisisalongname = 0; $thisisalongname < 1000000; $thisisalongname++)
$thisisanotherlongname++;
}
/****/
function simplecall() {
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
strlen("hallo");
}
@@ -26,14 +26,14 @@ function hallo($a) {
}
function simpleucall() {
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
hallo("hallo");
}
/****/
function simpleudcall() {
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
hallo2("hallo");
}
+5 -5
View File
@@ -5,7 +5,7 @@
#
# Written by Sascha Schumann
#
# $Id$
# $Id$
LT_TARGETS = ltmain.sh ltconfig
@@ -30,14 +30,14 @@ $(LT_TARGETS):
$(makefile_in_files): $(makefile_am_files)
automake -a -i $(AMFLAGS) $(makefile_files)
aclocal.m4: configure.in acinclude.m4
aclocal.m4: configure.ac acinclude.m4
aclocal
$(config_h_in): configure.in
# explicitly remove target since autoheader does not seem to work
$(config_h_in): configure.ac
# explicitly remove target since autoheader does not seem to work
# correctly otherwise (timestamps are not updated)
@rm -f $@
autoheader
configure: aclocal.m4 configure.in
configure: aclocal.m4 configure.ac
autoconf
+1
View File
@@ -30,3 +30,4 @@ if cmp configure.old configure > /dev/null 2>&1; then
else
echo "buildconf: created or modified ${1}configure"
fi
+3 -19
View File
@@ -24,9 +24,6 @@ AH_TOP([
#undef uint
#undef ulong
/* Define if you want to enable memory limit support */
#define MEMORY_LIMIT 0
])
AH_BOTTOM([
@@ -62,15 +59,8 @@ int zend_sprintf(char *buffer, const char *format, ...);
#include <math.h>
/* To enable the is_nan, is_infinite and is_finite PHP functions */
#ifdef NETWARE
#define HAVE_DECL_ISNAN 1
#define HAVE_DECL_ISINF 1
#define HAVE_DECL_ISFINITE 1
#endif
#ifndef zend_isnan
#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
#if HAVE_DECL_ISNAN
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
@@ -79,7 +69,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
#endif
#endif
#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
#if HAVE_DECL_ISINF
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
@@ -90,7 +80,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
#define zend_isinf(a) 0
#endif
#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
#if HAVE_DECL_ISFINITE
#define zend_finite(a) isfinite(a)
#elif defined(HAVE_FINITE)
#define zend_finite(a) finite(a)
@@ -102,12 +92,6 @@ int zend_sprintf(char *buffer, const char *format, ...);
#endif /* ifndef ZEND_ACCONFIG_H_NO_C_PROTOS */
#ifdef NETWARE
#ifdef USE_WINSOCK
#/*This detection against winsock is of no use*/ undef HAVE_SOCKLEN_T
#/*This detection against winsock is of no use*/ undef HAVE_SYS_SOCKET_H
#endif
#endif
])
dnl We want this one before the checks, so the checks can modify CFLAGS.
+3 -3
View File
@@ -4,12 +4,12 @@ function hallo() {
}
function simpleucall($n) {
for ($i = 0; $i < $n; $i++)
for ($i = 0; $i < $n; $i++)
hallo();
}
function simpleudcall($n) {
for ($i = 0; $i < $n; $i++)
for ($i = 0; $i < $n; $i++)
hallo2();
}
@@ -17,7 +17,7 @@ function hallo2() {
}
function simpleicall($n) {
for ($i = 0; $i < $n; $i++)
for ($i = 0; $i < $n; $i++)
func_num_args();
}
+1 -1
View File
@@ -44,7 +44,7 @@ var_dump(func_num_args());
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
int(0)
int(1)
Exception: Too few arguments to function test2(), 0 passed in %s001.php on line 18 and exactly 1 expected
+1 -1
View File
@@ -50,7 +50,7 @@ var_dump(func_get_arg(1));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: func_get_arg(): The argument number should be >= 0 in %s on line %d
bool(false)
+1 -1
View File
@@ -44,7 +44,7 @@ var_dump(func_get_args());
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
array(0) {
}
array(1) {
+1 -1
View File
@@ -12,7 +12,7 @@ var_dump(strncmp("qwerty", "qwerty123", 7));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: strncmp() expects exactly 3 parameters, 2 given in %s on line %d
NULL
int(0)
+1 -1
View File
@@ -14,7 +14,7 @@ var_dump(strcasecmp("01", "01"));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: strcasecmp() expects exactly 2 parameters, 1 given in %s on line %d
NULL
int(0)
+1 -1
View File
@@ -15,7 +15,7 @@ var_dump(strncasecmp("01", "01", 1000));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: strncasecmp() expects exactly 3 parameters, 1 given in %s on line %d
NULL
+3 -1
View File
@@ -21,10 +21,12 @@ var_dump(each($a));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: each() expects exactly 1 parameter, 0 given in %s on line %d
NULL
Deprecated: The each() function is deprecated. This message will be suppressed on further calls in %s on line %d
Warning: Variable passed to each() is not an array or object in %s on line %d
NULL
+1 -1
View File
@@ -22,7 +22,7 @@ var_dump(constant("test const"));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: define() expects at least 2 parameters, 0 given in %s on line %d
NULL
+10 -1
View File
@@ -7,6 +7,10 @@ class foo {
function bar () {
var_dump(get_class());
}
function testNull ()
{
var_dump(get_class(null));
}
}
class foo2 extends foo {
@@ -27,9 +31,11 @@ var_dump(get_class("qwerty"));
var_dump(get_class($f1));
var_dump(get_class($f2));
$f1->testNull();
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Deprecated: Non-static method foo::bar() should not be called statically in %s on line %d
string(3) "foo"
@@ -45,4 +51,7 @@ Warning: get_class() expects parameter 1 to be object, string given in %s on lin
bool(false)
string(3) "foo"
string(4) "foo2"
Warning: get_class() expects parameter 1 to be object, null given in %s on line %d
bool(false)
Done
+1 -1
View File
@@ -41,7 +41,7 @@ var_dump(get_parent_class(1));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
bool(false)
bool(false)
string(3) "foo"
+1 -1
View File
@@ -52,7 +52,7 @@ $bar->test();
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: property_exists() expects exactly 2 parameters, 0 given in %s on line %d
NULL
+1 -1
View File
@@ -18,7 +18,7 @@ var_dump(class_exists("stdClass"));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: class_exists() expects at least 1 parameter, 0 given in %s on line %d
NULL
bool(false)
+1 -1
View File
@@ -18,7 +18,7 @@ var_dump(interface_exists("stdClass"));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: interface_exists() expects at least 1 parameter, 0 given in %s on line %d
NULL
bool(false)
+1 -1
View File
@@ -20,7 +20,7 @@ var_dump(get_included_files());
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
array(1) {
[0]=>
string(%d) "%s"
+1 -1
View File
@@ -13,7 +13,7 @@ var_dump(trigger_error("error", E_USER_DEPRECATED));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: trigger_error() expects at least 1 parameter, 0 given in %s on line %d
NULL
+2 -2
View File
@@ -3,10 +3,10 @@ isset() with object properties when operating on non-object
--FILE--
<?php
$foo = NULL;
$foo = NULL;
isset($foo->bar->bar);
echo "Done\n";
?>
--EXPECT--
--EXPECT--
Done
+1 -1
View File
@@ -43,7 +43,7 @@ var_dump(count(get_extension_funcs("zend")));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: get_resource_type() expects exactly 1 parameter, 0 given in %s on line %d
NULL
+1 -1
View File
@@ -17,7 +17,7 @@ var_dump(constant("TEST_CONST2"));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: constant() expects exactly 1 parameter, 0 given in %s on line %d
NULL
+52 -52
View File
@@ -16,7 +16,7 @@ echo "*** Testing unset(), empty() & isset() with scalar variables ***\n";
// testing scalar variables
$scalar_variables = array(
0,
0,
1,
+1
-1,
@@ -52,23 +52,23 @@ foreach ($scalar_variables as $scalar_var) {
echo "-- Iteration $loop_counter --\n"; $loop_counter++;
// checking with isset before unsetting, expected: bool(true)
var_dump( isset($scalar_var) );
var_dump( isset($scalar_var, $set_var) );
var_dump( isset($scalar_var) );
var_dump( isset($scalar_var, $set_var) );
// checking if the var is empty, expected: bool(false) on most
// except "", 0, "0", NULL, FALSE
var_dump( empty($scalar_var) );
var_dump( empty($scalar_var) );
// destroy the variable using unset
unset( $scalar_var );
// dump and see if its destroyed, expcted: NULL
var_dump( $scalar_var );
unset( $scalar_var );
// dump and see if its destroyed, expcted: NULL
var_dump( $scalar_var );
// check using isset to see if unset, expected: bool(false)
var_dump( isset($scalar_var) );
var_dump( isset($scalar_var, $set_var) );
var_dump( isset($scalar_var) );
var_dump( isset($scalar_var, $set_var) );
// empty to check if empty, expecting bool(true)
var_dump( empty($scalar_var) );
var_dump( empty($scalar_var) );
// isset() with two args, one arg only unset, expected: bool(false)
var_dump( isset($scalar_var, $set_var) );
@@ -90,36 +90,36 @@ $array_variables = array(
array(1 => "One", 2 => "two"),
array("Name" => "Jack", "Age" => "30"),
array(1,2, "One" => "1", 2 => "two", ""=>"empty", "" => '')
);
);
$outer_loop_counter = 1;
foreach ($array_variables as $array_var) {
echo "--- Outerloop Iteration $outer_loop_counter ---\n";
// check the isset and unset on non existing key
$var = 1; // a var which is defined
// try to unset the element which is non-existent
unset($array_var['non_existent']);
unset($array_var['non_existent']);
// check using isset() & empty() on a non_existent element in the array
var_dump( isset($array_var['non_existent']) );
var_dump( isset($array_var['non_existent'], $var) );
var_dump( isset($array_var['non_existent'], $array_var['none']) );
var_dump( empty($array_var['non_existent']) );
// testing empty and isset on arrays
// testing empty and isset on arrays
var_dump( empty($array_var) ); // expecting bool(false), except: array(), which is considered empty
var_dump( isset($array_var) ); // expecting bool(true), except: array(), which is not set
// get the keys of the $array_var
// get the keys of the $array_var
$keys = array_keys($array_var);
// unset each element in the array and see the working of unset, isset & empty
$inner_loop_counter = 1;
foreach ($keys as $key_value) {
echo "-- Innerloop Iteration $inner_loop_counter of Outerloop Iteration $outer_loop_counter --\n";
echo "-- Innerloop Iteration $inner_loop_counter of Outerloop Iteration $outer_loop_counter --\n";
$inner_loop_counter++;
// unset the element
unset($array_var[$key_value]);
unset($array_var[$key_value]);
// dump the array after element was unset
var_dump($array_var);
// check using isset for the element that was unset
@@ -127,10 +127,10 @@ foreach ($array_variables as $array_var) {
// calling isset with more args
var_dump( isset($array_var[$key_val], $array_var) ); //expected: bool(false)
// calling empty, expected bool(true)
// calling empty, expected bool(true)
var_dump( empty($array_var[$key_val]) );
// dump the array to see that that array did not get modified
// dump the array to see that that array did not get modified
// because of using isset, empty and unset on its element
var_dump($array_var);
}
@@ -144,7 +144,7 @@ foreach ($array_variables as $array_var) {
// use isset to see that array is not set
var_dump( isset($array_var) ); //expected: bool(false)
var_dump( isset($array_var, $array_var[$key_val]) ); // expected: bool(false)
// empty() to see if the array is empty
var_dump( empty($array_var) ); // expected: bool(true)
}
@@ -183,12 +183,12 @@ foreach ($resources as $resource) {
unset($temp_var);
// now the isset() with both the args as unset
var_dump( isset($resource, $temp_var) ); // expected: bool(false);
// dump the resource to see if there any effect on it
// dump the resource to see if there any effect on it
var_dump($resource);
}
// unset and dump the array containing all the resources to see that
// unset works correctly
// unset works correctly
unset($resources);
var_dump($resources);
var_dump( isset($resources) ); //expected: bool(false)
@@ -200,12 +200,12 @@ class Point
var $x;
var $y;
var $lable;
function __construct($x, $y) {
$this->x = $x;
$this->y = $y;
}
function setLable($lable) {
$this->lable = $lable;
}
@@ -215,8 +215,8 @@ class Point
}
$point1 = new Point(30,40);
// use unset/empty/isset to check the object
var_dump($point1); // dump the object
// use unset/empty/isset to check the object
var_dump($point1); // dump the object
// check the object and member that is not set
var_dump( isset($point1) ); // expected: bool(true)
@@ -229,7 +229,7 @@ $point1->setLable("Point1");
var_dump( isset($point1->$lable) ); //expected: bool(true)
var_dump( empty($point1->$lable) ); //expected: bool(false)
// dump the object to see that obj was not harmed
// dump the object to see that obj was not harmed
// because of the usage of the isset & empty
var_dump($point1);
@@ -270,36 +270,36 @@ var_dump($point2);
/* testing variation in operation for isset(), empty() & unset().
Note: Most of the variation for function unset() is testing by a
set of testcases named "Zend/tests/unset_cv??.phpt", only
set of testcases named "Zend/tests/unset_cv??.phpt", only
variation not tested are attempted here */
echo "\n*** Testing possible variation in operation for isset(), empty() & unset() ***\n";
/* unset() variation1: checking unset on static variable inside a function.
/* unset() variation1: checking unset on static variable inside a function.
* unset() destroys the variable only in the context of the rest of a function
* Following calls will restore the previous value of a variable.
*/
echo "\n** Testing unset() variation 1: unset on static variable inside a function **\n";
function test_unset1() {
static $static_var;
// increment the value of the static. this change is in function context
$static_var ++;
echo "value of static_var before unset: $static_var\n";
// check using isset and empty
echo "value of static_var before unset: $static_var\n";
// check using isset and empty
var_dump( isset($static_var) );
var_dump( empty($static_var) );
// unset the static var
unset($static_var);
echo "value of static_var after unset: $static_var\n";
// check using isset and empty
echo "value of static_var after unset: $static_var\n";
// check using isset and empty
var_dump( isset($static_var) );
var_dump( empty($static_var) );
// assign a value to static var
$static_var = 20;
echo "value of static_var after new assignment: $static_var\n";
echo "value of static_var after new assignment: $static_var\n";
}
// call the functiont
test_unset1();
@@ -308,10 +308,10 @@ test_unset1();
echo "\n** Testing unset() variation 2: unset on a variable passed by ref. inside of a function **\n";
/* unset() variation2: Pass by reference
* If a variable that is PASSED BY REFERENCE is unset() inside of a function,
/* unset() variation2: Pass by reference
* If a variable that is PASSED BY REFERENCE is unset() inside of a function,
* only the local variable is destroyed. The variable in the calling environment
* will retain the same value as before unset() was called.
* will retain the same value as before unset() was called.
*/
function test_unset2( &$ref_val ) {
// unset the variable passed
@@ -329,7 +329,7 @@ var_dump($value);
test_unset2($value);
var_dump($value);
echo "\n** Testing unset() variation 3: unset on a global variable inside of a function **\n";
/* unset() variation2: unset on a global variable inside a function
* If a globalized variable is unset() inside of a function, only the
@@ -340,17 +340,17 @@ $global_var = 10;
function test_unset3() {
global $global_var;
// check the $global_var using isset and empty
var_dump( isset($global_var) );
var_dump( empty($global_var) );
// check the $global_var using isset and empty
var_dump( isset($global_var) );
var_dump( empty($global_var) );
// unset the global var
unset($global_var);
// check the $global_var using isset and empty
var_dump( isset($global_var) );
var_dump( empty($global_var) );
// check the $global_var using isset and empty
var_dump( isset($global_var) );
var_dump( empty($global_var) );
}
var_dump($global_var);
+1 -1
View File
@@ -19,7 +19,7 @@ foo(1,2);
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: func_get_arg() expects exactly 1 parameter, 3 given in %s on line %d
NULL
+4 -4
View File
@@ -7,7 +7,7 @@ class foo {
public $test = 0;
private $test_2 = 1;
protected $test_3 = 2;
public function bar() {
try {
throw new Exception('foo');
@@ -15,13 +15,13 @@ class foo {
var_dump($this);
}
$this->baz();
$this->baz();
}
public function baz() {
foreach ($this as $k => $v) {
printf("'%s' => '%s'\n", $k, $v);
}
}
print "ok\n";
}
}
+1 -1
View File
@@ -1,7 +1,7 @@
--TEST--
Testing array with '[]' passed as argument by value
--FILE--
<?php
<?php
function test($var) { }
test($arr[]);
+1 -1
View File
@@ -1,7 +1,7 @@
--TEST--
Testing array with '[]' passed as argument by reference
--FILE--
<?php
<?php
function test(&$var) { }
test($arr[]);
+2 -1
View File
@@ -1,7 +1,7 @@
--TEST--
Using undefined multidimensional array
--FILE--
<?php
<?php
$arr[1][2][3][4][5];
@@ -17,6 +17,7 @@ $arr[][]->bar = 2;
?>
--EXPECTF--
Notice: Undefined variable: arr in %s on line %d
Notice: Undefined variable: arr in %s on line %d
+1 -1
View File
@@ -1,7 +1,7 @@
--TEST--
Testing multiples 'default:' in switch
--FILE--
<?php
<?php
switch (1) {
case 2:
File diff suppressed because it is too large. Load diff
+1
View File
@@ -9,4 +9,5 @@ abstract class TestClass
?>
===DONE===
--EXPECTF--
===DONE===
+12
View File
@@ -0,0 +1,12 @@
--TEST--
Allow abstract function override
--FILE--
<?php
abstract class A { abstract function bar($x); }
abstract class B extends A { abstract function bar($x); }
echo "DONE";
?>
--EXPECT--
DONE
+12
View File
@@ -0,0 +1,12 @@
--TEST--
Allow abstract function override
--FILE--
<?php
abstract class A { abstract function bar($x); }
abstract class B extends A { abstract function bar($x, $y = 0); }
echo "DONE";
?>
--EXPECT--
DONE
+12
View File
@@ -0,0 +1,12 @@
--TEST--
Allow abstract function override
--FILE--
<?php
abstract class A { abstract function bar($x, $y = 0); }
abstract class B extends A { abstract function bar($x); }
echo "DONE";
?>
--EXPECTF--
Fatal error: Declaration of B::bar($x) must be compatible with A::bar($x, $y = 0) in %s
+1 -1
View File
@@ -10,5 +10,5 @@ class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Multiple access type modifiers are not allowed in %s on line %d
+1 -1
View File
@@ -9,5 +9,5 @@ class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Multiple access type modifiers are not allowed in %s on line %d
+1 -1
View File
@@ -9,5 +9,5 @@ final final class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Multiple final modifiers are not allowed in %s on line %d
+1 -1
View File
@@ -10,5 +10,5 @@ class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Multiple abstract modifiers are not allowed in %s on line %d
+1 -1
View File
@@ -10,5 +10,5 @@ class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Multiple final modifiers are not allowed in %s on line %d
+1 -1
View File
@@ -10,5 +10,5 @@ class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Multiple static modifiers are not allowed in %s on line %d
+1 -1
View File
@@ -9,5 +9,5 @@ class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Cannot use the final modifier on an abstract class member in %s on line %d
+1 -1
View File
@@ -21,7 +21,7 @@ abstract class b extends a {
class c extends b {
public function __construct() {
$this->test();
}
}
}
new c;
+1 -1
View File
@@ -32,7 +32,7 @@ echo $a->func1(),"\n";
echo $a->func2(),"\n";
?>
--EXPECTF--
--EXPECTF--
var1 value
var2 value
in func1
Loaded 100 of 12088 files, more files were not shown because too many files have changed in this diff. Show more