Compare commits

..
4895 Commits
Author SHA1 Message Date
Remi Collet 91d6118317 Update versions for PHP 7.2.28 2020-02-18 09:34:09 +00:00
Remi Collet 044cbc510d Update CREDITS for PHP 7.2.28 2020-02-18 09:34:09 +00:00
Remi Collet dd54fdd9a1 Update NEWS for PHP 7.2.28 2020-02-18 09:34:09 +00:00
Christoph M. Becker 5009b9811d Update NEWS [ci skip] 2020-02-17 19:21:51 +01:00
Nikita Popov 2826364298 Mark bug76348.phpt as online test 2020-02-16 22:40:25 -08:00
Stanislav Malyshev e5c95234d8 Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions 2020-02-16 22:38:38 -08:00
Stanislav Malyshev d76f7c6c63 Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress 2020-02-15 20:52:19 -08:00
Christoph M. Becker 8308196c97 Fix typo in recent bugfix 2020-02-14 09:21:13 +01:00
Christoph M. Becker cec8b24c84 Fix #77569: Write Acess Violation in DomImplementation
We must not assume that the zval IS_STRING.
2020-02-13 15:13:26 +01:00
Stanislav Malyshev 2dc170e25d More checks for php_strip_tags_ex 2020-01-22 22:37:30 -08:00
Remi Collet 7e2bd95fa5 next will be 7.2.28 2020-01-22 09:17:00 +01:00
Stanislav Malyshev 5c90f8eb66 Update NEWS 2020-01-20 22:12:32 -08:00
Stanislav Malyshev 2bcbc95f03 Fix bug #79037 (global buffer-overflow in mbfl_filt_conv_big5_wchar) 2020-01-20 21:43:42 -08:00
Stanislav Malyshev 0f79b1bf30 Fix #79099: OOB read in php_strip_tags_ex 2020-01-20 21:43:42 -08:00
Christoph M. Becker f79c774274 Fix #79091: heap use-after-free in session_create_id()
If the `new_id` is released, we must not use it again.
2020-01-20 21:43:42 -08:00
Remi Collet 864f5ef12f fix release date 2019-12-18 14:16:19 +01:00
Stanislav Malyshev 9705e631a4 [ci skip] Update NEWS 2019-12-16 23:41:04 -08:00
Stanislav Malyshev 6d5cddabaf Fix test 2019-12-16 10:03:43 -08:00
Stanislav Malyshev c14eb8de97 Fix bug #78793 2019-12-16 01:14:58 -08:00
Stanislav Malyshev d348cfb96f Fixed bug #78910 2019-12-16 00:10:39 -08:00
Christoph M. Becker eb23c60087 Fix #78878: Buffer underflow in bc_shift_addsub
We must not rely on `isdigit()` to detect digits, since we only support
decimal ASCII digits in the following processing.
2019-12-16 00:05:03 -08:00
Stanislav Malyshev b771a18133 Fix test 2019-12-16 00:03:18 -08:00
Christoph M. Becker 0e6c0654ed Fix #78862: link() silently truncates after a null byte on Windows
Since link() is supposed to accepts paths (i.e. strings without NUL
bytes), we must not accept arbitrary strings.
2019-12-16 00:03:06 -08:00
Christoph M. Becker a5a15965da Fix #78863: DirectoryIterator class silently truncates after a null byte
Since the constructor of DirectoryIterator and friends is supposed to
accepts paths (i.e. strings without NUL bytes), we must not accept
arbitrary strings.
2019-12-16 00:02:57 -08:00
Remi Collet d2cfb63f02 next is 7.2.27 2019-12-03 11:25:37 +01:00
Christoph M. Becker 600f1f898f Fix #78814: strip_tags allows / in tag name => whitelist bypass
When normalizing tags to check whether they are contained in the set
of allowable tags, we must not strip slashes, unless they come
immediately after the opening `<`, or immediately before the closing
`>`.
2019-12-02 11:37:25 +01:00
Christoph M. Becker db420cb6a1 Fix #78833: Integer overflow in pack causes out-of-bound access
We check for potential signed integer overflow, and bail out
gracefully, in that case.
2019-12-02 11:18:19 +01:00
George Wang c7141412ce Added environment LSAPI_CLEAN_SHUTDOWN to control clean shutdown. Update SAPI version to LiteSpeed v7.6 . 2019-11-21 17:57:50 -05:00
Christoph M. Becker 9b92c1d154 Fix #78849: GD build broken with -D SIGNED_COMPARE_SLOW
Apparently, this has not been tested for a long time, and might be a
refactoring relict.  Anyhow, we have to pass the context to
`GIFNextPixel` as well.
2019-11-21 09:59:26 +01:00
Christoph M. Becker f6eac76b65 Update NEWS 2019-11-18 12:46:43 +01:00
Tyson Andre a2c41c0ea6 Fix $x = (bool)$x; for undefined with opcache
And `$x = !$x`

Noticed while working on GH-4912

The included test would not emit undefined variable errors in php 8.0
with opcache enabled. The command used:

```
php -d zend_extension=opcache.so --no-php-ini -d error_reporting=E_ALL \
    -d opcache.file_cache= -d opcache.enable_cli=1  test.php
```
2019-11-18 11:24:03 +03:00
Stanislav Malyshev 2c9926f156 Fix bug #78804 - Segmentation fault in Locale::filterMatches 2019-11-11 22:32:35 -08:00
Nikita Popov ee243bc471 Remove outdated comments in test 2019-11-07 14:06:23 +01:00
Nikita Popov 5fa6dcd972 Fixed bug #78759
Handle INDIRECT values in array.
2019-11-07 11:15:29 +01:00
Sara Golemon d317e16e89 Bump for 7.2.26-dev 2019-11-05 10:57:29 -05:00
Nikita Popov 4f984a2fdb Fixed bug #78775
Clear the OpenSSL error queue before performing SSL stream operations.
As we don't control all code that could possibly be using OpenSSL,
we can't rely on the error queue being empty.
2019-11-05 12:13:46 +01:00
Christoph M. Becker e29922f054 Fix test cases for libxml2 2.9.10
Since the error reporting has been slightly changed, we have to adapt
the two affected test cases.
2019-10-31 16:07:34 +01:00
Nikita Popov 5f6eaf355c Add missing refcount increment 2019-10-30 09:22:20 +01:00
Nikita Popov f9895b4bf5 Fixed bug #78689 2019-10-29 15:06:16 +01:00
Stanislav Malyshev 2bdb13a1f7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix libmagic buffer overflow issue (CVE-2019-18218)
  bump version
  set versions for release
2019-10-28 20:47:30 -07:00
Christoph M. Becker 89c327f884 Fix #78751: Serialising DatePeriod converts DateTimeImmutable
When getting the properties of a DatePeriod instance we have to retain
the proper classes, and when restoring a DatePeriod instance we have to
cater to DateTimeImmutable instances as well.
2019-10-28 13:07:28 +01:00
Nikita Popov 16c4910876 Fix bug #78752
NULL out the execute_data before destroying it, otherwise GC may
trigger while the execute_data is partially destroyed, resulting
in double-frees.

The handling of call stack unfreezing is a bit awkward because it's
a ZEND_API function, so we can't change the signature.
2019-10-28 10:27:32 +01:00
Stanislav Malyshev 469820048d Fix libmagic buffer overflow issue (CVE-2019-18218)
Ported from https://github.com/file/file/commit/46a8443f76cec4b41ec736eca396984c74664f84
2019-10-27 16:30:38 -07:00
Nikita Popov 5249993814 Fixed bug #78747 2019-10-25 12:47:18 +02:00
Ryan Schmidt 8daf96cef3 Use ICU's CXXFLAGS when using pkg-config
This mirrors how ICU's CXXFLAGS are already used when using icu-config.
2019-10-23 11:17:37 +02:00
Nikita Popov fa89c41f37 Add "-pthread" to EXTRA_LDFLAGS_PROGRAM as well
This is a backport of c518932c03
from the PHP 7.4 branch.
2019-10-23 11:06:51 +02:00
Joe Watkins 52f049879a bump version 2019-10-22 18:58:39 +02:00
Joe Watkins 326cd05dae set versions for release 2019-10-22 18:56:55 +02:00
Remi Collet 2213bd36fd add NEWS entry 2019-10-22 09:37:35 +02:00
Stanislav Malyshev 4b5cdda0c7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #78599 (env_path_info underflow can lead to RCE) (CVE-2019-11043)
  bump versions after release
  set versions for release
2019-10-21 13:17:09 -07:00
Fabien Villepinte bea2ff88c9 Fix bug #78697: inaccurate error message 2019-10-21 09:22:09 +02:00
Jakub Zelenka ab061f95ca Fix bug #78599 (env_path_info underflow can lead to RCE) (CVE-2019-11043) 2019-10-20 22:50:04 -07:00
Christoph M. Becker 45a7723267 Fix #78694: Appending to a variant array causes segfault
`write_dimension` object handlers have to be able to handle `NULL`
`offset`s; for now we simply throw an exception instead of following
the `NULL` pointer.
2019-10-19 11:47:00 +02:00
m.yakunin d2cde0bfd3 Fix #70153 \DateInterval incorrectly unserialized
Added a separate macro for reading 'days' property, so that bool(false)
is correctly converted to the proper internal representation.
2019-10-18 15:31:14 +02:00
Mitch Hagstrand e2a6bf482f Fix checksum calculation for opcache 2019-10-14 16:46:42 +02:00
Christoph M. Becker 900bdcbd03 Fix #78665: Multicasting may leak memory 2019-10-12 14:43:43 +02:00
Nikita Popov 46561dab6a Fix leak in phar open 2019-10-10 16:14:21 +02:00
Nikita Popov 96c84b7bc1 Fix leak on static method call on non-existent class 2019-10-10 11:40:49 +02:00
Nikita Popov daf1fc6e31 Avoid float to int cast UB in exif 2019-10-09 17:33:29 +02:00
Erik Lundin 3164186d53 Fix #78656: Parse errors classified as highest log-level 2019-10-09 17:27:32 +02:00
Nikita Popov d6ca174d5b Remove redundant components < 0 check
components is an unsigned number, it cannot be smaller than zero.
2019-10-09 14:57:24 +02:00
Sergei Turchanov a8f60ac9dd Add pcre_get_compiled_regex_cache_ex() with local_aware flag
A new function `pcre_get_compiled_regex_cache_ex()` is introduced,
which allows to compile regexp pattern using the "C" locale instead
of a current locale.

This will be needed to replace setlocale() usage in fileinfo,
which is not thread-safe.
2019-10-08 16:11:55 +02:00
Fabien Villepinte 46894580b0 Add missing SKIPIFs in exif tests 2019-10-08 14:11:32 +02:00
Christoph M. Becker 195c2008e8 Fix #78642: Wrong libiconv version displayed
The high byte of `_libiconv_version` specifies the major version; the
low byte the minor version.
2019-10-08 12:09:11 +02:00
Remi Collet 05d6878b3b next is 7.2.25 2019-10-08 11:36:10 +02:00
Christoph M. Becker fd3118ffb0 Fix #78641: addGlob can modify given remove_path value
`remove_path` points to the given string, so we must not modify it.
Instead we use a duplicate, if we need the modification.

We may want to switch to `zend_string`s in master.
2019-10-08 09:45:05 +02:00
Nikita Popov 19e6abebc7 Check for object_init_ex() failure in user filter factory 2019-10-07 17:52:29 +02:00
Nikita Popov 7d19668f60 Set session.gc_probability=0 in bug78624.phpt
We only want to test manually triggered session GC.
Avoid spurious output due to automatic GC.
2019-10-07 16:43:19 +02:00
Christoph M. Becker 114c03b9a6 Fix #78623: Regression caused by "SP call yields additional empty result set"
This reverts commit 41a4379cb4.
2019-10-07 09:15:51 +02:00
Christoph M. Becker 545412a6cd Split intl tests for ICU 65 2019-10-04 13:53:22 +02:00
Christoph M. Becker abaf9a76dc Fix #78620: Out of memory error
The integer addition in `ZEND_MM_ALIGNED_SIZE_EX` can overflow, what we
have to catch early.
2019-10-04 09:08:01 +02:00
Brent Shaffer a6d219630c fix #78624: session_gc return value for user defined session handlers 2019-10-04 06:12:02 +02:00
Fábio Souto 9a2b42a5c1 Fix bug #76809 (SSL settings aren't respected when persistent connection is reused) 2019-10-03 06:56:21 +02:00
Konstantin Kopachev 05560b67bc Fix #76859 stream_get_line skips data if used with data-generating filter
stream_get-line repeatedly calls php_stream_fill_read_buffer until
enough data is accumulated in buffer. However, when stream contains
filters attached to it, then each call to fill buffer essentially
resets buffer read/write pointers and new data is written over old.
This causes stream_get_line to skip parts of data from stream
This patch fixes such behavior, so fill buffer call will append.
2019-10-03 06:50:43 +02:00
Christoph M. Becker f2fb37a772 Revert "Fix #78620: Out of memory error"
This reverts commit 8ce04df7e0.

Cf. <https://github.com/php/php-src/pull/4766#discussion_r330658679>.
2019-10-02 19:01:35 +02:00
Christoph M. Becker 8ce04df7e0 Fix #78620: Out of memory error
If the integer addition in `ZEND_MM_ALIGNED_SIZE_EX` overflows, the
macro evaluates to `0`, what we should catch early.
2019-10-02 18:18:52 +02:00
Nikita Popov a5d3620d93 Fix segfault with __COMPILER_HALT_OFFSET__ and trailing {}
Fixes OSS-Fuzz #17895.
2019-10-02 12:07:15 +02:00
Dmitry Stogov 3124129ca8 Fixed test that "fails" from time to time 2019-10-02 00:54:59 +03:00
Dmitry Stogov 2fcb5eadbb Fixed test that "fails" from time to time 2019-10-02 00:48:42 +03:00
Fabien Villepinte 209e37db7d Add missing skip keyword in tests 2019-10-01 11:13:36 +02:00
Nikita Popov 6fcde56b03 Fixed bug #78612 2019-09-30 15:06:07 +02:00
Christoph M. Becker 45db6fa567 Fix #78609: mb_check_encoding() no longer supports stringable objects
We apply type juggling for other types than array.
2019-09-30 12:42:04 +02:00
Christoph M. Becker f6bfbe9553 Fix build for libzip < 0.11.2
We must not define method entries, if the actual method definitions or
the arginfo structures are not defined.
2019-09-29 13:33:18 +02:00
Fabien Villepinte 37d27e666a Fix SKIPIF in ext/mysqli 2019-09-27 16:03:20 +02:00
Christoph M. Becker 115f6effec Fix skipif.inc 2019-09-27 12:50:04 +02:00
Nikita Popov ab938d7bbc Fix memory leak with ** on array operands 2019-09-26 13:45:45 +02:00
Nikita Popov 8a9df88597 Fix null-pointer deref in if stmt printing
Fixes OSS-Fuzz #17721.
2019-09-26 10:24:49 +02:00
Jinesh Patel d2331cc3f2 Fix hash key length in umsg_parse_format()
Fix array length passed to zend_hash_str_find_ptr() casting from
UChar array to char array requires mul by sizeof(UChar).
2019-09-25 10:30:33 +02:00
Christoph M. Becker ed099ab186 Fix NEWS entry
Cf. <https://bugs.php.net/78590>.
2019-09-23 22:59:55 +02:00
Nikita Popov 3ddb63dce1 Fix skipif condition 2019-09-23 17:17:52 +02:00
Nikita Popov bc4c4c658c Skip test on 32-bit 2019-09-23 16:42:24 +02:00
Nikita Popov 8509970e6a Fix signed integer overflow in SplObjectStorage unserialization
If count is ZEND_LONG_MIN the count-- loop underflows. This is
ultimately harmless, but results in a ubsan warning.

Fix this by adding a sanity check that the count isn't negative,
because that doesn't make sense...
2019-09-23 13:18:27 +02:00
Christoph M. Becker 697945aa89 Fix test to be skipped if dom is not available 2019-09-22 18:42:02 +02:00
Nikita Popov f989a4cd44 Fix leak of temporary buffer during exif tag reading 2019-09-22 12:10:17 +02:00
Nikita Popov 0701835c01 Fix multiple leaks in exif_read_data()
This fixes two leaks related to duplicate tags, as well as a leak
of zero-length FMT_(S)BYTE with non-null value. This can show up
for MAKERNOTE values where the original length is non-zero, but
the first character is a null byte.
2019-09-21 20:40:03 +02:00
Jinesh Patel 0d6c2448a7 Fix length of key passed to zend_hash_str_find_ptr 2019-09-21 18:11:21 +02:00
Christoph M. Becker 398b308316 Fix #78579: mb_decode_numericentity: args number inconsistency
mb_decode_numericentity() accepts a fourth optional parameter, which is
unused, however.  Since this parameter doesn't do any harm, and to avoid
the small BC break, we're keeping this parameter for PHP 7, but adjust
the arginfo.

For PHP 8, we will remove this parameter.
2019-09-21 16:15:23 +02:00
Nikita Popov 0fa13028cb Fix out-of-bounds read in exif tag reading
This issue was recently introduced in c739023a50,
when the restriction that components>0 has been relaxed. We now need
to make sure that any tags that expect at least one component check
that this is the case.
2019-09-19 21:11:57 +02:00
Nikita Popov 003c13d7bc Fix iterable return type optimization 2019-09-19 17:21:00 +02:00
Nikita Popov 3e139a4653 Fix exif leak on duplicate copyright tags 2019-09-19 14:19:31 +02:00
CJDennis e3255a4f49 Fix typo
`sizeof("data")-1` and `sizeof("date")-1` are both 4, so no change in behaviour
2019-09-19 11:36:00 +02:00
Nikita Popov 175f4f24ae Increase timeout in test 2019-09-17 17:33:46 +02:00
fancyweb e691a98c1f Fix #76342: file_get_contents waits twice specified timeout 2019-09-17 15:42:29 +02:00
Drakano 252ebce0d7 Add tilde to allowed status/ping path
Because of user specific webdirs it should be possible to set a
status/ping path like "/~username/status".

Closes GH-4698.
2019-09-17 12:19:21 +02:00
Tyson Andre 29bced9521 Fix opcache return type for get_headers in zend_func_info
https://www.php.net/manual/en/function.get-headers.php#refsect1-function.get-headers-examples
shows that it will return string keys when the second argument is
non-zero. I've verified that this is the case.

This bug was there since the initial commit in c88ffa9a56.

Closes GH-4702.
2019-09-17 12:08:29 +02:00
Nikita Popov 2f6efd835d Fixed bug #78545
By using an explicit (double) cast.
2019-09-16 15:00:20 +02:00
Nikita Popov 8873df8e86 Fix leak in SplObjectStorage unserialization
The result of php_var_unserialize always needs to be destroyed,
even if the call failed.
2019-09-16 13:02:32 +02:00
Christoph M. Becker 81cefab7b0 Stick with zend_long for ABI compatibility
Cf. <https://github.com/php/php-src/pull/4700#issuecomment-531515689>.
2019-09-15 15:11:25 +02:00
bugreportuser fdcca93056 Fix #78535: auto_detect_line_endings value not parsed as bool 2019-09-14 18:46:09 +02:00
Kalle Sommer Nielsen 716518373f NEWS 2019-09-12 06:50:53 +03:00
Kalle Sommer Nielsen 2823e938d4 Fixed bug #78442 ('Illegal component' on exif_read_data since PHP7) 2019-09-12 06:21:39 +03:00
Sara Golemon a270eb1911 Bump for 7.2.24 2019-09-10 13:04:01 -04:00
Remi Collet c43fc204b1 Raise minimal GCC version,
Test with 4.8 is OK
With 4.4: error: #pragma GCC diagnostic not allowed inside functions
2019-09-10 16:28:35 +02:00
Christoph M. Becker bca66002f1 Drop regression test
The state returned by `sodium_crypto_generichash_init()` has to be
regarded as opaque byte string; neither its size nor its exact
structure are fixed, and actually vary for diffent libsodium versions.
Therefore we drop the test altogether.
2019-09-10 10:07:39 +02:00
CHU Zhaowei 1ac6b0251b Fix bug #72884 isCloneable() on SplFileObject should return false 2019-09-09 17:27:17 +02:00
Christoph M. Becker 8ead77936e Fix #78510: Partially uninitialized buffer returned by sodium_crypto_generichash_init()
Backport jedisct1/libsodium.php@28d13bf437.
2019-09-09 15:30:28 +02:00
Christoph M. Becker 41a4379cb4 Fix #41997: SP call yields additional empty result set
When stored procedures are called, the "final result set is a status
result that includes no result set".  Calling `::nextRowset()` on the
actual last result set should return FALSE, since there is actually no
further result set to be processed.
2019-09-03 13:29:30 +02:00
Tyson Andre 9c3b7ccda5 Fix opcache return type for hash_update_stream
It can return false if the resource type is wrong.

```
php > var_export(hash_update_stream(hash_init('md5'),
        imagecreate(1,1)));

Warning: hash_update_stream(): supplied resource is not a valid stream
resource in php shell code on line 1
false
```

The return types were initially added in
c88ffa9a56
2019-09-03 09:23:39 +02:00
Christoph M. Becker cd63908ab8 Fix #76577: outdated documentation concerning track_errors 2019-09-02 15:05:01 +02:00
Nikita Popov 5a0980f1d9 Fix pkg-config version constraint for ICU
On PHP 7.2 our minimum ICU version is 4.0, not 40.
2019-09-02 09:36:20 +02:00
Sergei Turchanov 8f564e5308 Fixed bug #78469
fcgi_accept_request function is supposed to call a FastCGI implementation's
on_accept hook when entering an "accepting" stage (that is right before
calling "accept"). This hook implementation (fpm_request_accepting) updates
a worker state to an "accepting" state which is effectively an "Idle" state,
and updates counters on the scoreboard of the corresponding pool (idle++,
active--).

But this is not done when listening for client connections on a named pipe on
Windows platform. In that case a combination of
ConnectNamedPipe/WaitForSingleObject is used (to be able to catch in_shutdown
as far as I understand), but it is nonetheless functionally equivalent to
"accept" call. Also by not calling on_hook neither a worker's state is updated
to "accepting" state nor scoreboard counters are updated.
2019-08-30 16:06:50 +02:00
Nikita Popov ed749edd47 Fix use-after-free of immediately invoked closure with extra args 2019-08-29 12:32:03 +02:00
Christoph M. Becker b557265816 Fix #78473: odbc_close() closes arbitrary resources
We have to bail out, if an invalid resource is given.  For consistency
with the other `zend_fetch_resource(2)` calls, we return `FALSE`.
2019-08-28 17:55:15 +02:00
Joe Watkins fadd7f0f1e bump versions after release 2019-08-28 09:08:23 +02:00
Joe Watkins 481520d381 set versions for release 2019-08-28 09:06:38 +02:00
Christoph M. Becker 88ab374627 Update SDK version for AppVeyor 2019-08-27 13:34:35 +02:00
Nikita Popov 589542f50c Remove properties HT from nested GC data
The properties HT may be a GC root itself, so we need to remove it.
I'm not sure this issue actually applies to PHP 7.2, but committing
it there to be safe. As seen from the test case, the handling here
is rather buggy on 7.2.
2019-08-26 17:49:37 +02:00
Tyson Andre 1e82a2d659 Also fix signature for passthru
Backported from a1a8d14485
https://www.php.net/manual/en/function.passthru.php#refsect1-function.passthru-returnvalues

`passthru()` is false with invalid args
`passthru('command')` is null.
2019-08-26 11:13:26 +02:00
Tyson Andre f5bccc0eb5 Fix opcache optimizer info for time_nanosleep
This can also return an array. See
https://www.php.net/manual/en/function.time-nanosleep.php#refsect1-function.time-nanosleep-returnvalues

> If the delay was interrupted by a signal, an associative array will be
returned with the components:
>
> - seconds - number of seconds remaining in the delay
> - nanoseconds - number of nanoseconds remaining in the delay

Sending a SIGUSR1 to the below program would trigger this behavior.

```
pcntl_signal(\SIGUSR1, function ($signo, $signinfo) {
    echo "Handling a signal $signo\n";
});
echo "Sleeping for 100 seconds\n";
var_export(time_nanosleep(100, 0));
```

The incomplete signature existed since c88ffa9a5.
No phpt tests existed for time_nanosleep returning an array
2019-08-26 11:13:26 +02:00
Nikita Popov 16d35eb643 Fix overflow in memory limit checks
Due to overflows in the memory limit checks, we were missing cases
where the allocation size was close to the address space size, and
caused an OOM condition rather than a memory limit error.
2019-08-26 10:25:30 +02:00
Stanislav Malyshev 4b4a656d9e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75457: heap-use-after-free in php7.0.25
2019-08-25 19:20:59 -07:00
Christoph M. Becker 7bf1f9d561 Fix #75457: heap-use-after-free in php7.0.25
Backport <https://vcs.pcre.org/pcre?view=revision&revision=1638>.
2019-08-25 19:19:50 -07:00
Stanislav Malyshev 087cb7bab2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix CVE-2019-13224: don't allow different encodings for onig_new_deluxe()
  set version for release
2019-08-24 23:15:36 -07:00
Stanislav Malyshev 1258303e66 Fix CVE-2019-13224: don't allow different encodings for onig_new_deluxe()
Backport from https://github.com/kkos/oniguruma/commit/0f7f61ed1b7b697e283e37bd2d731d0bd57adb55
2019-08-24 23:11:45 -07:00
Christoph M. Becker ff7029b65b Suppress deprecation warning on IDNA2003 ICU methods for clang 2019-08-23 12:18:58 +02:00
Qianqian Bu cdf16c010a fix the problem for connect_attr, set db condition, and add a new attribute _server_host 2019-08-20 13:31:58 +02:00
Christoph M. Becker 81f52158b4 Fix #78220: Can't access OneDrive folder
As of Windows 1903, when the OneDrive on-demand feature is enabled, the
OneDrive folder is reported as reparse point by `FindFirstFile()`, but
trying to get information about the reparse point using
`DeviceIoControl()` fails with `ERROR_NOT_A_REPARSE_POINT`.  We work
around this problem by falling back to `GetFileInformationByHandle()`
if that happens, but only if the reparse point is reported as cloud
reparse point, and only if PHP is running on Windows 1903 or later.

The patch has been developed in collaboration with ab@php.net.

We should keep an eye on the somewhat quirky OneDrive behavior, since
it might change again in a future Windows release.
2019-08-19 19:55:35 +02:00
Sara Golemon 725f439778 Suppress deprecation warning on IDNA2003 ICU methods 2019-08-16 12:40:20 -04:00
Nikita Popov fcabe7e5e4 Fixed bug #78412
$this should only be included in the generator GC buffer, if it
will be released on destruction.
2019-08-14 17:50:58 +02:00
Sara Golemon 4b64d47c99 Bump for 7.2.23 2019-08-13 19:32:12 -04:00
Nikita Popov 4eeb41d1ea Fixed bug #77191 2019-08-13 11:19:58 +02:00
Nikita Popov 18f2918a0f Don't destroy properties array with unset GC type
As the properties array can also be a GC root, it might have
already been destroyed.
2019-08-13 09:53:25 +02:00
Nikita Popov f3fdf570b3 Intern alias old_name early
This is likely going to end up interned lateron at some point
when the new_name is referenced somewhere. However, it may be
that there are some uses that do not get interned before that.
In this case we will intern a string that already have zval
users, without updating the refcounted flag on those zvals.

In particular this can happen with something like [Foo::class],
where Foo is an imported symbol. The string it resolves to won't
get interned right away, but may be interned later.

    use Foo as Bar;
    $x = [Bar::class];
    var_dump(Bar::X);
    debug_zval_dump($x); // Will show negative refcount
    class Foo {
        const X = 1;
    }

However, this doesn't really fix the root cause, there are probably
other situations where something similar can occur.
2019-08-12 17:12:28 +02:00
Dmitry Stogov 9b43e29d9b Fixed handling of references in nested data of objects with destructor 2019-08-09 17:43:50 +03:00
Dmitry Stogov 6b1cc1252e Fixed second part of the bug #78379 (Cast to object confuses GC, causes crash) 2019-08-09 15:42:39 +03:00
Dmitry Stogov 2e2cd65d73 Added asserts to catch GC errors when refcount goes below zero. 2019-08-09 13:37:23 +03:00
Matteo Beccati 796efd849e Skip test when SIGKILL is not defined 2019-08-09 10:32:15 +02:00
Dmitry Stogov 358379be22 Fixed bug #78379 (Cast to object confuses GC, causes crash) 2019-08-08 10:00:39 +03:00
Christoph M. Becker 954543cec6 Fix #78282: atime and mtime mismatch
The fix for bug #78241 assumed that `time_t` would always be 64bit, but
actually is 32bit for x86.  We therefore enforce 64bit arithmetic to
avoid wrapping.

(cherry picked from commit bf242d58e7)
2019-08-06 17:25:54 +02:00
Christoph M. Becker f9f4a68368 Fix #78179: MariaDB server version incorrectly detected
As of MariaDB 10.0.2, the server reports a fake version number as work-
around for replication issues[1].  We apply the same "fix" as in the
MariaDB client to cater to this.

[1] <https://github.com/MariaDB/server/commit/c50ee6c23dbeb090963580754bec2f0a96ac0557#diff-5b45fa673c88c06a9651c7906364f592>
2019-08-02 16:42:49 +02:00
Nikita Popov 85e8ccd55e Fixed bug #78363 2019-08-02 10:35:24 +02:00
Joe Watkins 1c01a1579e set version for release 2019-07-31 08:21:39 +02:00
Remi Collet b29ecec4ef add security NEW entries + reorder [ci skip] 2019-07-30 09:26:50 +02:00
Stanislav Malyshev 284fb08fdc Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #77919: Potential UAF in Phar RSHUTDOWN
  Update NEWS
  Fix bug #78256 (heap-buffer-overflow on exif_process_user_comment)
  Fix bug #78222 (heap-buffer-overflow on exif_scan_thumbnail)
2019-07-29 13:19:16 -07:00
Christoph M. Becker cd1101e8c8 Fix #77919: Potential UAF in Phar RSHUTDOWN
We have to properly clean up in case phar_flush() is failing.

We also make the expectation of the respective test case less liberal
to avoid missing such bugs in the future.
2019-07-29 13:18:27 -07:00
Stanislav Malyshev 42e8b85d94 Update NEWS 2019-07-29 13:16:53 -07:00
Albert Casademont dc7aa22b18 Fix bug #78326
Similar to what fread() does, truncate the stream_get_contents()
result if the original buffer was way too large.
2019-07-29 17:33:57 +02:00
Nikita Popov 38f1288b64 Fix Zend signals unblocking
There are a few parts here:
 * opcache should not be blocking signals while invoking compile_file,
   otherwise signals may remain blocked on a compile error. While at
   it, also protect SHM memory during compile_file.
 * We should deactivate Zend signals at the end of the request, to make
   sure that we gracefully recover from a missing unblock and signals
   don't remain blocked forever.
 * We don't use a critical section in deactivation, because it should
   not be necessary. Additionally we want to clean up the signal queue,
   if it is non-empty.
 * Enable SIGG(check) in debug builds so we notice issues in the future.
2019-07-29 15:17:32 +02:00
Nikita Popov 68fd435ba8 Fixed bug #78333
Don't dereference float/double values at unknown address, instead
memcpy it into an aligned stack slot and dereference that.
2019-07-29 11:27:21 +02:00
Stanislav Malyshev aeb6d13185 Fix bug #78256 (heap-buffer-overflow on exif_process_user_comment) 2019-07-29 00:53:37 -07:00
Stanislav Malyshev dea2989ab8 Fix bug #78222 (heap-buffer-overflow on exif_scan_thumbnail) 2019-07-29 00:53:28 -07:00
Christoph M. Becker 30eb4b3563 Fix #78342: Bus error in configure test for iconv //IGNORE
We have to check the return value of iconv_open() for error, to avoid
that and potentially other undesired behavior of iconv().
2019-07-29 08:48:13 +02:00
Levi Morrison 5649267b25 Remove .post files only for passing tests
This allows the sh script for failing tests with --POST-- to work
2019-07-25 09:48:39 -06:00
Peter Kokot 8f384bea93 Update NEWS 2019-07-23 02:13:00 +02:00
George Wang eb7e45f662 Checked in LiteSpeed SAPI 7.5, addressed two main problems in "clean shutdown" introduced in 7.4.3,
1. falls in an infinite loop because PHP engine's inconsistent state, now override the ITIMER_PROF to 0.1 second, clean shutdown must finish before that.
2. generate too much error log, we completely disable "error_reporting" before calling php_request_shutdown().
2019-07-20 23:59:43 -04:00
Abyr Valg c8c183eb62 Fixed bug #77946
Save multi_info_read() result into easy handle.
2019-07-18 14:40:47 +02:00
Nikita Popov b864abfe23 Fixed bug #69100 2019-07-17 15:58:29 +02:00
Remi Collet bd0514913b move NEWS entry [ci skip] 2019-07-16 13:00:13 +02:00
Nikita Popov 8a19fe29de Fixed bug #78297 2019-07-16 11:09:17 +02:00
Remi Collet c9037421ac next is 7.2.22 2019-07-16 10:38:20 +02:00
Dmitry Stogov 9ccf3fb996 Fixed incorrect specialization (missed IS_INDIRECT handling) 2019-07-16 01:50:10 +03:00
Nikita Popov 88ffe05797 Fix bug #77124
This is a backport of 6fcae63f61
to PHP 7.2.
2019-07-15 15:19:31 +02:00
Remi Collet eab0079c90 Fix #78269 password_hash uses weak options for argon2 2019-07-15 14:10:38 +02:00
Andrew Collington 768ad70f70 Fix bug #78291 Missing opcache directives
New opcache directives have been added recently which are returned
if using `ini_get_all('zend opcache')` but are not listed in the
directives if using `opcache_get_configuration()`.  This fix adds
those missing directives as well as if `opcache.mmap_base` is used
instead of `opcache.lockfile_path`.  Also adds a test to ensure the
directives match with both methods of fetching.
2019-07-15 10:22:47 +02:00
Nikita Popov a7de2af46c Use TRY_ADDREF/TRY_DELREF in soap
The DELREF part is a possible fix for bug #78278, the ADDREF part
is a drive-by fix.
2019-07-12 16:50:43 +02:00
Nikita Popov 4a91f66b8f Fixed bug #78279
Even if we don't initialize the callback on every request, we
should still reset our globals to default values...
2019-07-12 16:29:18 +02:00
Nikita Popov 22ed362810 Revert "Fixed bug #76980"
This reverts commit 35353dc49a.

This changes causes issues for Symfony, see
https://github.com/symfony/symfony/issues/32395. I'm reverting it
from PHP 7.2 and PHP 7.3 and only leaving it in PHP 7.4.
2019-07-09 11:04:16 +02:00
Christoph M. Becker 40f7533cc1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Upgrade to SQLite 3.28.0
2019-07-09 10:02:47 +02:00
Christoph M. Becker e944ae6b2a Upgrade to SQLite 3.28.0
Over the years, multiple security vulnerabilities[1] have been found
and fixed in SQLite3, so it makes sense to update our bundled libsqlite
to the latest available version.

[1] <https://www.cvedetails.com/vulnerability-list/vendor_id-9237/Sqlite.html>
2019-07-09 09:59:46 +02:00
Peter Kokot f81be1aff6 Update NEWS [ci skip] 2019-07-08 18:47:55 +02:00
Nikita Popov 5846e85283 Backport fe_reset_rw case 2019-07-05 12:06:52 +02:00
Nikita Popov c353f17d42 Fix inference for compound object op on dim 2019-07-05 11:39:42 +02:00
George Wang 32af676bd9 Updated to LiteSpeed SAPI V7.4.3
Increased response header count limit from 100 to 1000.
Added crash handler to cleanly shutdown PHP request.
Added CloudLinux mod_lsapi mode
Fixed bug #76058
2019-07-04 12:03:21 -04:00
Nikita Popov 0e48e35e04 Fixed bug #78231 2019-07-03 12:36:06 +02:00
Christoph M. Becker 44c8b7414c Fix #78241: touch() does not handle dates after 2038 in PHP 64-bit
`time_t` defaults to `_time64` (which is 64bit signed) even on x86, but
`Int32x32To64()` truncates it to signed 32bit.  We replace the macro
with the "manual" calculation.
2019-07-03 09:59:17 +02:00
Nikita Popov 32c68428a9 Backport test fix
Closes GH-3816.
2019-07-02 16:11:54 +02:00
Alex Scott a4acff3e21 Fix bug #78138: opcache.validate_permission incorrectly works with PHAR files
opcache incorrectly handles PHAR files when opcache.validate_permission
option enabled, because it calls

  access("phar://path-to/file.phar/path/inside.php", R_OK);

rather than

  access("path-to/file.phar", R_OK)
2019-07-02 12:25:50 +02:00
Christoph M. Becker 57688ad7bf Add missing SKIPIFs
All these tests are meant to run with OPcache available, and some will
even fail inevitably without it, so we add OPcache as SKIPIF
requirement.
2019-07-01 18:11:13 +02:00
Christoph M. Becker 75bc3446f8 Add missing SKIPIFs
All these tests are meant to run with OPcache available, and some will
even fail inevitably without it, so we add OPcache as SKIPIF
requirement.
2019-07-01 17:21:16 +02:00
Christoph M. Becker be559e6c37 Fix brittle test
This test is easily tripped by former test runs with other PHP
versions.  To avoid such false positives, we check that there is at
least one respective OPcache file, and that all found OPcache user ID
folders have exactly 32 hexadecimal digits.
2019-07-01 16:42:55 +02:00
Anatol Belski a149f9f3c0 Update NEWS [ci skip] 2019-06-29 17:39:45 +02:00
Joshua Westerheide 855bbc88c9 Fix #78183: finfo_file shows wrong mime-type for .tga file
Due to a bug in the underlying libmagic 5.31, .tga images returned mime type "image/x-tgaimage/x-tga".
2019-06-29 13:24:52 +02:00
sunnyeo f7327b6244 Fix bugs in AST printer
Closes GH-4324.
2019-06-28 16:08:44 +02:00
Vincent 05c00a832c Fix bug #78192 PDO SQLite SegFault when reuse statement after schema has changed
Reset stmt->columns when column count changed on new execution of prepared statement
2019-06-28 12:36:02 +02:00
Nikita Popov 7d28a24c66 Remove stream_socket_sendto.phpt
Fails for me locally due to different number of warnings with
different messages. Rather than adding more wildcards I'm dropping
this test entirely, as it doesn't seem to test anything particularly
useful.

(cherry picked from commit 84333cad67)
2019-06-26 16:58:37 +02:00
Christoph M. Becker 4366f22dfc Fix #78202: Opcache stats for cache hits are capped at 32bit NUM
We use the proper format specifiers now.
2019-06-25 13:00:28 +02:00
Andrey Hristov 102c64e827 Add explicit cast to uint32_t.
It works even without it but explicit stuff is better. The compiler probably converts the 16-bit
uint16_t to uint32_t before doing the shift.
2019-06-21 16:31:56 +03:00
Nikita Popov 99f3e0f0ed Fix PKCS12 leak in openssl 2019-06-21 15:07:37 +02:00
Nikita Popov c939a67866 Fix d leak in ecc openssl_pkey_new 2019-06-21 15:07:32 +02:00
Nikita Popov dfe6f0c1c6 Fix netscape spki leak in openssl 2019-06-21 15:07:26 +02:00
Nikita Popov a0da2fb2b7 Fix X509 leak in openssl_pkcs7_verify() 2019-06-21 15:07:18 +02:00
Nikita Popov e0bafc6da4 Fix CSR leaks in openssl 2019-06-21 15:07:10 +02:00
Nikita Popov 90cb3743be Free cert in php_openssl_load_stream_cafile()
X509_STORE_add_cert() increments the refcount of the cert, so we
should free it here.
2019-06-21 15:07:00 +02:00
Niklas Keller fea9f93166 Fix memory leak in TLS matches_san_list 2019-06-21 12:54:30 +02:00
Christoph M. Becker fcd6f2de60 Fix #78189: file cache strips last character of uname hash
We must not forget to increase `len` by one to cater to the directory
separator.
2019-06-20 17:58:32 +02:00
Remi Collet d8202bf917 fix test for Windows and for parallel run 2019-06-20 11:58:32 +02:00
Remi Collet b3cfeda3c7 improve test clean section 2019-06-20 11:51:18 +02:00
Remi Collet c2ee2e4c74 move NEWS entry 2019-06-20 10:40:52 +02:00
Remi Collet 63f2d88088 add test for #78185 2019-06-20 10:27:33 +02:00
Dmitry Stogov cd6a6e4cf2 Fixed bug #78185 (File cache no longer works) 2019-06-20 09:04:14 +03:00
Andrey Hristov 82021ad9df Fix version comparison 2019-06-19 16:42:43 +03:00
Joe Watkins 31a1c1e67c fix setcookie Max-Age to use php_time 2019-06-19 12:42:00 +02:00
Joe Watkins 599b94ff14 export php_time 2019-06-19 12:39:51 +02:00
Joe Watkins 65067dff01 Resolve discrepencies between second value yielded by gettimeofday and time, fixes #69044 2019-06-19 08:56:20 +02:00
Asher Baker d54220bc79 Fix #78173: XML-RPC mutates immutable objects during encoding
With opcache.protect_memory=1 enabled, the XML-RPC extension causes a
segfault on PHP 7.2 as it is modifying the recursion counter of objects
it touches, without first checking if they are immutable or not.

This doesn't affect 7.3+
2019-06-18 17:08:11 +02:00
Remi Collet e59b986fa7 move NEWS entry 2019-06-18 07:50:44 +02:00
Nikita Popov 03db04c3ab Accept null for preg_quote delimiter argument
Related to bug #78163.
2019-06-17 13:30:15 +02:00
Dmitry Stogov 28808ca96d Backport 96a12578c1 2019-06-14 13:29:13 +03:00
Dmitry Stogov 40f463b560 Backport 91a6cdbff5 2019-06-14 13:24:47 +03:00
Nikita Popov f1a8138055 Fixed bug #78106
When disabling opcache during the request via opcache.enable ini
setting, make sure we also disable ZCG(accelerator_enabled).
2019-06-13 12:51:35 +02:00
Nikita Popov f8a68fd935 Add test for bug #78106
Also add PHP_TEST_EXTRA_ARGS environment variable, which allows
to pass on -c, -d etc flags provided by run-tests.php. Otherwise
we won't get the built-in server to run with opcache.
2019-06-13 12:35:29 +02:00
Remi Collet feb92adc5c next is 7.2.21 2019-06-11 12:20:26 +02:00
Christoph M. Becker f3ff72e54b Fix #77937: preg_match failed
On some recent Windows systems, ext\pcre\tests\locales.phpt fails,
because 'pt_PT' is accepted by `setlocale()`, but not properly
supported by the ctype functions, which are used internally by PCRE2 to
build the localized character tables.

Since there appears to be no way to properly check whether a given
locale is fully supported, but we want to minimize BC impact, we filter
out typical Unix locale names, except for a few cases which have
already been properly supported on Windows.  This way code like

  setlocale(LC_ALL, 'de_DE.UTF-8', 'de_DE', 'German_Germany.1252');

should work like on older Windows systems.

It should be noted that the locale names causing trouble are not (yet)
documented as valid names anyway, see
<https://docs.microsoft.com/en-us/cpp/c-runtime-library/locale-names-languages-and-country-region-strings?view=vs-2019>.
2019-06-11 08:42:32 +02:00
Dmitry Stogov 199eb2b110 Fixed possible misalignment in 32-bit build. 2019-06-10 12:51:59 +03:00
Peter Kokot 65ada39360 Extend wildcard files section in EditorConfig [ci skip]
Changes:
- Trim trailing whitespace for all files except patches. There isn't
  really any practical reason to not trim the trailing whitespace in all
  other files. Binary files or phpt files that include trailing
  whitespace as part of the test should be manually set in editors/IDEs
  or by disabling the editorconfig for particular editing.
- Add *.ac, *.d, *.l, *.skl, *.re, *.wsdl, *.dtd, *.html, *.rng, *.xml,
  *.xsd, *.xsl, buildconf, and Makefile* files settings.

Closes #4156
2019-06-09 22:53:58 +02:00
Dmitry Stogov 10b208f28d Restored NEWS entry 2019-06-07 12:37:49 +03:00
Nikita Popov d7c7522be9 Enable STRICT_TRANS_TABLES in new test
The part testing error cases relies on this.
2019-06-07 10:57:09 +02:00
Dmitry Stogov 83cdb89f8a Fixed bug #77135 (Extract with EXTR_SKIP should skip $this) 2019-06-07 11:36:39 +03:00
Cameron Porter 7d1aa7534d Fixed bug #38546
Properly support binding boolean parameters with emulated prepared
statements disabled. Also add the necessary mysqlnd support for
MYSQL_TYPE_TINY.
2019-06-07 09:48:43 +02:00
Christoph M. Becker 2df32942d3 Fix test regarding Unix Domain Sockets on Windows
Recent Windows versions actually support Unix Domain Sockets.  Cf.
<https://github.com/curl/curl/pull/3939>.
2019-06-06 14:59:58 +02:00
Joe Watkins f4474e5724 fix flaky posix test 2019-06-05 16:34:50 +02:00
Nikita Popov a3e6b50442 Fixed bug #78050
This is a backport of a982125561.
2019-06-04 16:26:34 +02:00
Nikita Popov 2d3bc71e89 Reload tsrmls_id in release builds as well
If TSRM is shut down and started again (something that phpdbg does),
then tsrmls_id needs to be reloaded everywhere. As tsrmls_id
update is a rare operation, doing that shouldn't be a problem.
2019-06-04 16:12:59 +02:00
Nikita Popov ac60007bec Clear errors after SSL_CTX_load_verify_locations()
We report our own errors here. Make sure these don't clog up the
error queue.
2019-06-03 15:14:01 +02:00
Jakub Zelenka 2e02579474 Fix bug #78079 (openssl_encrypt_ccm.phpt fails with OpenSSL 1.1.1c)
It also fixes invalid setting of tag length
2019-06-02 19:10:56 +01:00
Anatol Belski 59b0b38d3c Update SDK version for AppVeyor 2019-06-01 13:43:31 +02:00
Anatol Belski ee153deb1f Change ZPP only if compiled with ICU >= 64 2019-06-01 02:18:56 +02:00
Nikita Popov b01d9fdab1 Update tests for ICU 64
(cherry picked from commit 8a8bc5c452)
2019-06-01 02:17:16 +02:00
Anatol Belski d293f6dcff Fix var name 2019-05-31 20:49:42 +02:00
Craig Duncan 8b53c7232e Add a test for bug #65672 2019-05-30 18:55:42 +01:00
Craig Duncan dc586bff36 Ensure the internal properties cannot be overwritten 2019-05-30 18:55:36 +01:00
Craig Duncan 5d67271db0 Add tests for DatePeriod properties 2019-05-29 09:47:10 +02:00
Remi Collet 3051147019 add NEWS entries for sec fix 2019-05-29 08:53:23 +02:00
Joe Watkins 7821cc3b9f disabled functions must not have return type 2019-05-29 08:30:08 +02:00
Nikita Popov 59dfaa3f99 Fix type inference of SEND_UNPACK with empty array
An empty array will not be turned into an array of references.
This violated the invariant than an array has values iff it has
keys.
2019-05-28 16:40:56 +02:00
Joe Watkins d661a75d54 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  bump version after release
2019-05-28 09:53:32 +02:00
Joe Watkins 5533f2490a bump version after release 2019-05-28 09:52:52 +02:00
Stanislav Malyshev fbb6a27212 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77967 - Bypassing open_basedir restrictions via file uris
2019-05-27 21:36:00 -07:00
Stanislav Malyshev c34895e837 Fix bug #77967 - Bypassing open_basedir restrictions via file uris 2019-05-27 18:48:48 -07:00
Stanislav Malyshev dc1d99e772 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77988 - heap-buffer-overflow on php_jpg_get16
2019-05-27 17:28:20 -07:00
Stanislav Malyshev 73ff4193be Fix bug #77988 - heap-buffer-overflow on php_jpg_get16 2019-05-27 17:28:09 -07:00
Stanislav Malyshev 9bca9ef6cf Fix function name 2019-05-27 17:20:56 -07:00
Stanislav Malyshev e77c8e45ba Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fix bug #78069 - Out-of-bounds read in iconv.c:_php_iconv_mime_decode() due to integer overflow
  Fix #77973: Uninitialized read in gdImageCreateFromXbm
2019-05-27 16:49:19 -07:00
Stanislav Malyshev 16e037bd46 Update NEWS 2019-05-27 16:48:32 -07:00
Stanislav Malyshev 7cf7148a8f Fix bug #78069 - Out-of-bounds read in iconv.c:_php_iconv_mime_decode() due to integer overflow 2019-05-27 16:32:42 -07:00
Christoph M. Becker ed6dee9a19 Fix #77973: Uninitialized read in gdImageCreateFromXbm
We have to ensure that `sscanf()` does indeed read a hex value here,
and bail out otherwise.
2019-05-27 16:11:32 -07:00
Michael Maroszek a0c9d0849a Fixed bug #76345 2019-05-27 17:42:20 +02:00
Jakub Zelenka 8baf3ffde6 Add fpmi to the opcache supported sapis 2019-05-26 18:47:22 +01:00
Nikita Popov 9a74b23297 Fixed bug #78038 socket_select with references 2019-05-23 11:12:15 +02:00
Dmitry Stogov fa6a4483e6 Fixed race condition in opcache restart 2019-05-23 00:20:35 +03:00
Sjon Hortensius 96404eb8e2 Fix #77956 - When mysqli.allow_local_infile = Off, return a client error 2019-05-22 12:44:55 +02:00
Christoph M. Becker 62fe6ba20c Fix test case for cURL 7.65.0
Reported and patch provided by @Jan-E.
2019-05-22 12:01:23 +02:00
Nikita Popov 3a0de243c3 Use a different URL in bug44811.phpt 2019-05-22 11:41:51 +02:00
Rasmus Lerdorf 7b42cdf95e Fix precedence issue causing sub-second timeouts to be 0 in
curl_multi_select
2019-05-21 14:44:11 -07:00
Christoph M. Becker e6a191de1b Prevent test case failure
If opcache.log_verbosity_level is greater than 1, opcache will raise
warnings, which will be written to stderr in the default case.  These
warnings are actually to be expected, but would break the test, so we
make sure that the log_verbosity_level is 1 when running this test.
2019-05-21 11:17:51 +02:00
Vincent JARDIN 5f8c22d415 Support content_type stream context option in soap
Allows overriding the HTTP header using the HTTP context:

    $client = new SoapClient('http://url.wsdl&v=latest', [
      'stream_context' => stream_context_create([
        'http' => [
          'content_type' => 'foobarX',
        ],
      ]),
    ]);

This is a backport of c55af3c65a
to the PHP 7.2 branch.
2019-05-21 10:04:15 +02:00
Holly Li (WIPRO LIMITED) 202e6936d6 use {TMP} placeholder in phpt tests 2019-05-21 09:02:37 +02:00
Dmitry Stogov a8a019d68a Prevent race condition in opcache_reset() 2019-05-21 00:07:17 +03:00
Christoph M. Becker 64ec9f4dbe Fix test wrt. opcache.error_log
Since the test expects log messages to be written to stderr, we have to
make sure that opcache.error_log is set correctly when running the
test.
2019-05-20 11:09:44 +02:00
Christoph M. Becker e246dea9fe Fix #78025: segfault when accessing properties of DOMDocumentType
Instead of following the NULL pointer, we return an empty string.
2019-05-17 13:31:18 +02:00
Nikita Popov 35353dc49a Fixed bug #76980
If we perform a class fetch that is not marked as exception safe,
convert exceptions thrown by autoloaders into a fatal error.

Ideally fetching the interfaces would be exception safe, but as it
isn't right now, we must abort at this point.
2019-05-15 12:46:23 +02:00
Sara Golemon 4fa32d67bf Bump for 7.2.20 2019-05-14 20:22:00 -04:00
Dmitry Stogov 5c4d125d4c Fixed possible crashes, because of inconsistent PCRE cache and opcache SHM reset 2019-05-14 14:53:52 +03:00
Christoph M. Becker 704a0ab0c9 Fix test case
stderr is supposed to be redirected to NUL (which is roughly equivalent
to /dev/null on POSIX), but actually was redirected to a file.
2019-05-14 10:23:58 +02:00
Jakub Zelenka ad63bd169b Add ping to the fpm test for bug #77934 2019-05-13 18:50:24 +01:00
Theodore Brown b6b15fc65c Fix #77993: Wrong parse error for invalid hex literal on Windows
If a PHP file contains an invalid hex literal such as `0x_10`, the expected error
is `Parse error: syntax error, unexpected 'x_10' (T_STRING) in %s on line %d`.

This already worked correctly on Linux, but on Windows prior to this patch a different
error was produced: `Parse error: Invalid numeric literal in %s on line %d`.
2019-05-13 11:04:56 +02:00
Peter Kokot f95b27c6f6 Convert CRLF to LF
These files are tracked with CRLF line endings in Git and can be
converted to LF. Neither are parts of tests or code itself.
2019-05-13 03:51:00 +02:00
Jakub Zelenka cc5c51e7f0 Fix bug #77934 (php-fpm kill -USR2 not working) 2019-05-11 20:07:39 +01:00
Peter Kokot b15bfb9129 Convert CRLF to LF in *.wsdl files
These EOL types are part of different environments and not part of the
tests themselves.
2019-05-11 17:12:28 +02:00
Christoph M. Becker 3759c6316d Fix typo
Since opcache.enable defaults to 1 anyway, this change is only
cosmetic.
2019-05-10 18:43:40 +02:00
George Wang af4143753f Updated LiteSpeed SAPI to 7.3.2 to allow request header value length up to 64K. 2019-05-09 18:13:25 -04:00
Christoph M. Becker 27f168cf63 Fix erroneous assertions
Since PHP strings are binary safe (i.e. they may contain NUL bytes), we
must not assume that strlen()/wcslen() actually return the length of
the string.  Only if the given in_len is zero, it is safe to assert
this.
2019-05-09 16:54:11 +02:00
Nikita Popov 35c80583f0 Fixed bug #75186 2019-05-09 12:33:53 +02:00
Christoph M. Becker e359812ce3 Fix log_verbosity_bug.phpt
This test may fail on Windows due to the file cache fallback.  We
ensure that this will not happen.
2019-05-09 12:15:00 +02:00
Christoph M. Becker 3d0a0f801b Add {TMP} placeholder for PHPT INI sections
Several tests use `/tmp` in the `--INI--` section, but this is not
portable.  We therefore introduce the `{TMP}` placeholder which
evaluates to the system's temporary directory using
`sys_get_temp_dir()`.

We also remove the doubtful `strpos()` optimization.
2019-05-08 19:21:38 +02:00
Nikita Popov d19b6aa5ba Fix resolution of "parent" during inheritance check
We can't assume that the method we're checking against is part of
the parent class...
2019-05-08 11:35:26 +02:00
Jakub Zelenka 9977de0028 Fix OpenSSL online test for ca context
The php.net is redirected to https so use nginx.org
2019-05-05 21:04:28 +01:00
Christoph M. Becker 1210c3b960 Update NEWS wrt. sec fixes 2019-04-30 09:34:53 +02:00
Stanislav Malyshev cb5af4e8a0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77950 - Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG
2019-04-30 00:05:32 -07:00
Stanislav Malyshev f80ad18afa Fix bug #77950 - Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG
I do not completely understand what is going on there, but I am pretty
sure dir_entry <= offset_base if not a normal situation, so we better not
to rely on such dir_entry.
2019-04-30 00:05:23 -07:00
Stanislav Malyshev 2c3933821f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #77821: Potential heap corruption in TSendMail()
2019-04-29 22:09:04 -07:00
Christoph M. Becker 6c631ccfef Fix #77821: Potential heap corruption in TSendMail()
`zend_string_tolower()` returns a copy (not a duplicate) of the given
string, if it is already in lower case.  In this case we must not not
`zend_string_free()` both strings.  The cleanest solution is to call
` zend_string_release()` on both strings, which properly handles the
refcount.
2019-04-29 22:08:19 -07:00
Christoph M. Becker 18a9ae412f Fix #77943: imageantialias($image, false); does not work
Firstly, we must not call `gdImageSetAntiAliased()` (which sets the
color to anti-alias), but rather modify the `gdImage.AA` flag.
Furthermore, we have to actually use the supplied boolean value.

We also make sure that we don't attempt to enable anti-aliasing for
palette images.
2019-04-29 17:23:16 +02:00
Christoph M. Becker 3891e0d13a Add tests for bug77943 2019-04-29 16:29:08 +02:00
Nikita Popov 5da0579259 Fixed bug #77945
Make sure that we proper distinguish between empty string key and
no key during SDL serialization.
2019-04-29 13:52:18 +02:00
Christoph M. Becker 9bf11045db Fix tests
These tests are obviously meant to test successful and failing uri:
DSNs, but did not pass proper file:// URIs, so actually ended up
testing for invalid data source URIs twice.  We fix this, and adjust
the expectations accordingly.

We also unfork the -win32 variant, since both test cases are almost
identical, and the expected error message may be either one.
2019-04-29 09:04:33 +02:00
Christoph M. Becker fc9cdb723b Make MySQLPDOTest::extractVersion() more liberal
MySQL/MariaDB version strings may have suffixes which may contain dots;
for instance, Debian stretch has 5.5.5-10.1.37-MariaDB-0+deb9u1 or
such.  Therefore, we make the version extraction more liberal, and only
require that there are at least three parts separated by dot, and
ignore additional parts.

We also fix an erroneous test expectation, which would be triggered on
CI now, right away.  This patch has been provided by petk@.
2019-04-28 23:48:27 +02:00
Peter Kokot 6d8892aacd Update NEWS 2019-04-28 00:50:40 +02:00
Craig Duncan 91c6fb881e Fix #77024: SplFileObject::__toString() may return array
- Correct the behaviour of casting spl files to strings
- Add a test for Bug 77024
2019-04-28 00:44:48 +02:00
Christoph M. Becker 57d5dc5688 PHP, meet MySQL
All pdo_mysql tests are skipped on AppVeyor because "No such host is
known".  We change the DSN to use semicolons instead of spaces to fix
that.
2019-04-27 19:21:51 +02:00
Christoph M. Becker 16609880f8 Fix #77944: Wrong meta pdo_type for bigint on LLP64
When actually fetching the data, bigint (unsigned) column values are
returned as integers on LLP64 architectures, so their pdo_type has to
be PDO::PARAM_INT accordingly.
2019-04-27 18:46:27 +02:00
Christoph M. Becker 7ddfe73e69 Fix #77940: test using outdated mon_thousands_sep for Swedish
Of course, we should expect a comma, not a period.
2019-04-25 23:28:41 +02:00
Christoph M. Becker bfbfb9dabd Fix #77940: test using outdated mon_thousands_sep for Swedish
This time so that it works for all Windows 10 versions (hopefully).
2019-04-25 19:39:42 +02:00
Christoph M. Becker 37ca6a7a2a Fix #77940: test using outdated mon_thousands_sep for Swedish 2019-04-25 08:58:13 +02:00
Christoph M. Becker fe202d99c8 Fix #77938: socket_get_option error
Since tcp_socket/ssl streams are not representable, we suppress the
redirect to fix the test case.
2019-04-25 00:03:45 +02:00
Remi Collet 5d21a15cc3 news entry for litespeed 2019-04-24 09:45:48 +02:00
Nikita Popov 4831e150c5 Fixed bug #77843 2019-04-23 12:43:07 +02:00
George Wang ce73841cdc Improved LSAPI_End_Response_r() . 2019-04-21 15:04:54 -04:00
George Wang ccf051c317 Fixed bug in litespeed_finish_request(), disable fastcgi_finish_request() alias for now. 2019-04-21 14:59:51 -04:00
Peter Kokot 295c66911f Update changelog 2019-04-20 19:12:17 +02:00
Peter Kokot 4450288344 Fix #77921: static.php.net doesn't work anymore
This embeds the PHP logo image in the FPM status HTML page instead of
using remote location. The phpinfo() output also uses such approach
and browser compatibility looks decent [1].

1: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
2019-04-20 19:00:51 +02:00
Peter Kokot 06fa35568e Update Git repository for Windows build tool kit 2019-04-19 21:09:46 +02:00
Christoph M. Becker a7ada30ac6 Use php-sdk-2.2.0beta5 on AppVeyor 2019-04-18 16:51:10 +02:00
Christoph M. Becker d20053a556 Fix #77911: Wrong warning for session.sid_bits_per_character 2019-04-17 17:23:23 +02:00
Ignace Nyamagana Butera 7b1a4e2400 Fixed bug #77909: DatePeriod::__construct() with invalid recurrence count value
Improve error message on invalid reccurence count

Adding test when reccurence is -1
2019-04-17 09:39:03 +01:00
Christoph M. Becker 6fe75f9e45 Fix tests for non English environments 2019-04-17 09:56:55 +02:00
Remi Collet 6c44a71e4a next is 7.2.19 2019-04-16 13:11:23 +02:00
Nikita Popov 619c4e9f2e Fixed bug #77895 2019-04-15 15:26:58 +02:00
Nikita Popov 9b1950b005 Zero sockaddr struct
in6 has a bunch of extra fields that we're leaving uninitialized. I
don't see them locally, but there's valgrind warnings on gcov.
2019-04-15 14:59:05 +02:00
Nikita Popov 917952453c Fix uninitialized cert_captured
This is a legimitimate bug and also shows up under valgrind.
2019-04-15 10:53:33 +02:00
Nikita Popov e9c0367fdc Fixed bug #77882 2019-04-15 10:22:40 +02:00
George Wang 1e7f1b90e8 LiteSpeed SAPI 7.3, better process management, new API function litespeed_finish_request(). 2019-04-12 17:43:45 -04:00
Christoph M. Becker d07a6fdedf Fix tests wrt. internationalization 2019-04-12 13:07:39 +02:00
Nikita Popov 3b53d28e60 Fix key leaks in mb_convert_encoding() 2019-04-12 10:36:58 +02:00
Anatol Belski 5477d68300 Fix potential OPcache file cache related issues
To solve issues detected during testing, we backport the following
commits to PHP 7.2:

129c5c1181
9ac133a0b3
ce72bc6b65
2019-04-11 18:28:49 +02:00
Anatol Belski f31d7ca85e Fix phar:// include handling with file cache 2019-04-10 14:55:15 +02:00
Nikita Popov 8f13599a64 Fix 29nb_async_connect.phpt
Intermediate states are unreliable across versions (I think), make
sure we go through the whole connect procedure.
2019-04-10 13:06:02 +02:00
Nikita Popov c7a86a38a3 Fix pgsql use after free trying to reuse closed connection
When a connection is closed, we also need to remove the hash entry
from the regular_list, as it now points to freed memory. To do this
store a reverse mapping from the connection to the hash string.

It would be nicer to introduce a wrapping structure for the pgsql
link resource that could store the hash (and notices), but that would
require large changes to the extension, so I'm going for a more
minimal fix here.
2019-04-10 12:18:57 +02:00
Nikita Popov b55715d61a Fix use after free on pg_close() of default connection 2019-04-10 10:38:24 +02:00
Dmitry Stogov 7b8212f4d1 Repare SWITCH VM 2019-04-09 00:41:11 +03:00
twosee bdac9ef10d Preserve keys in emulate_read_fd_set()
Keys are already preserved in the non-emulated case.
2019-04-08 12:58:46 +02:00
Nikita Popov d7b5954f28 Fixed bug #77853 2019-04-08 11:40:50 +02:00
Nikita Popov eea61cda7d Fixed bug #77844
We should probably return an integer result from the operation in
typed mode, right now the result is always a string.
2019-04-08 11:11:58 +02:00
Stanislav Malyshev d1d692abe7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Always use ZEND_SECURE_ZERO() when cleaning up data
  bump versions after release
2019-04-06 19:05:37 -07:00
Stanislav Malyshev 588db7cecf Always use ZEND_SECURE_ZERO() when cleaning up data
Optimizing compilers have an annoying tendency to throw out
memsets over data that they think aren't used anymore. Apply secure
zero-out in cases where this has potential to happen.
2019-04-06 18:15:42 -07:00
Joe Watkins a2b8a62abf Follow up #77849 PDOStatement objects in undefined state after clone 2019-04-06 01:26:47 +02:00
Cameron Porter 9ec1525eb5 Fix bug #77849 Disable cloning of PDO handle/connection objects to avoid segfault 2019-04-06 00:54:59 +02:00
Christoph M. Becker 7b0ed8975d Update Appveyor CI to php-sdk-2.2.0beta4 2019-04-05 23:15:22 +02:00
Alessandro Chitolina 4029c0b6a2 Ref #76801 remove old file source from file_sources hash in case of file included more than once 2019-04-03 14:35:57 +02:00
Dmitry Stogov 56a5d0bd91 Fixed CFG construction for SWITCH opcodes 2019-04-03 03:09:03 +03:00
Joe Watkins 731eeb8dec bump versions after release 2019-04-02 16:50:20 +02:00
Remi Collet f7755163b7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix paste issue
2019-04-02 11:05:39 +02:00
Remi Collet dc1cd3daf2 fix paste issue 2019-04-02 11:05:09 +02:00
Christoph M. Becker f6efe70505 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Pointer arithmetic on void pointers is illegal
2019-04-02 10:40:56 +02:00
Christoph M. Becker 01a4de5c58 Pointer arithmetic on void pointers is illegal
We quick-fix this by casting to char*; it might be more appropriate to
use char pointers in the first place.
2019-04-02 10:39:44 +02:00
Stanislav Malyshev c83af86f8b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #77831 - Heap-buffer-overflow in exif_iif_add_value in EXIF
2019-04-02 00:12:54 -07:00
Stanislav Malyshev 887a7b5714 Fixed bug #77831 - Heap-buffer-overflow in exif_iif_add_value in EXIF 2019-04-02 00:12:26 -07:00
Stanislav Malyshev 682d28abf7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
2019-03-31 23:11:24 -07:00
Stanislav Malyshev c684d32fb8 Update NEWS 2019-03-31 23:11:15 -07:00
Stanislav Malyshev f3ab302270 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77753 - Heap-buffer-overflow in php_ifd_get32s
2019-03-31 23:09:18 -07:00
Stanislav Malyshev f3aefc6d07 Fix bug #77753 - Heap-buffer-overflow in php_ifd_get32s 2019-03-31 23:09:06 -07:00
Christoph M. Becker 88460c017a Fix #77827: preg_match does not ignore \r in regex flags 2019-03-31 13:31:54 +02:00
Matteo Beccati 0dbb581cf4 Fixed SKIPIF when --disable-mbregex is used 2019-03-30 18:28:33 +01:00
Christoph M. Becker 0aa1a2c833 Fix test expectation
The `W32_SM_SENDMAIL_FROM_MALFORMED` error message will only be shown
if the `$additional_headers` parameter is passed to `mail`, which is
not the case for this test.  Instead we have to expect `BAD_MSG_RPATH`.
2019-03-29 09:55:04 +01:00
Stanislav Malyshev 402adc1df1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Validate subject encoding in mb_split and mb_ereg_match
  Validate pattern against mbregex encoding
  SQLite3: add DEFENSIVE config for SQLite >= 3.26.0 as a mitigation strategy against potential security flaws
2019-03-28 00:35:22 -07:00
Joe Watkins b7442f1bb8 fix build: readline support must be disabled by default in phpdbg 2019-03-28 07:34:45 +01:00
Nikita Popov 0ecac37c40 Validate subject encoding in mb_split and mb_ereg_match
We were already validating the subject encoding in most functions,
but not these two.
2019-03-27 23:20:27 -07:00
Nikita Popov 40fe50daf6 Validate pattern against mbregex encoding
Oniguruma does not consistently perform this validation itself (at least
on older versions), so make sure we check pattern encoding validity on the
PHP side.
2019-03-27 23:19:46 -07:00
Samuele Kaplun 79f046f89e Consider phpdbg as cli
* When configuring extensions, considers the PHPDBG SAPI as CLI thus
  allowing e.g. to have the pcntl extension available within PHPDBG.

Signed-off-by: Samuele Kaplun <kaplun@protonmail.com>
2019-03-27 10:38:03 +01:00
Joe Watkins 7af270eb28 Fix #77805 phpdbg build fails when readline is shared 2019-03-27 10:02:42 +01:00
Joe Watkins 6d3a2b4693 more work on phpdbg conditional breaks 2019-03-27 00:02:15 +01:00
Joe Watkins 7df8e4fc0a Fix #77800 phpdbg segfaults on conditional breakpoints 2019-03-26 23:05:06 +01:00
Peter Kokot 72a2ab39ba [ci skip] Update NEWS 2019-03-25 21:46:41 +01:00
Niklas Keller 7f9872387e Fix #77794: Incorrect Date header format in built-in server
- Fix the date format to be compliant with https://tools.ietf.org/html/rfc7231#section-7.1.1.2
- Fix date format length and use GMT time
- Previously, local time was used instead of GMT.
- Remove extra whitespace
- Simplify string appends in php_cli_server.c
2019-03-25 21:41:45 +01:00
Vlad Temian ec2ecb7e12 Fix bug #77680: Correctly implement recursive mkdir on FTP stream
If the root directory was missing, an extra CWD without arguments was
made. Also, the MKD contained an empty string.

Now the CWD will use / and MKDs will be issued starting from the root
directory.
2019-03-25 17:43:46 +01:00
Nikita Popov 85095dfd09 Fixed bug #72175
Make sure we don't close the connection we're trying to reuse...
2019-03-25 16:41:21 +01:00
Alessandro Chitolina b8b880932e fix bug #76801: phpdbg too many open files error 2019-03-23 09:47:49 +01:00
Remi Collet 2e9dccef78 ensure pcre.jit=1 for these tests 2019-03-22 15:00:31 +01:00
Nikita Popov da35fa2cb8 Fixed bug #77772 2019-03-22 12:39:27 +01:00
Remi Collet a467a89f16 Fix tests after fix for #76717 2019-03-20 14:07:26 +01:00
Remi Collet a785ccd21a NEWS 2019-03-20 11:54:49 +01:00
Remi Collet 32e7b0864c Revert "Fix #77609: Tests from mailparse extension fails"
This reverts commit 3ead672394.
2019-03-20 11:54:27 +01:00
Sara Golemon 963428a75d Bump versions for 7.2.18 2019-03-19 14:31:08 -04:00
Remi Collet 78c9a53df7 comment out sqlite3.defensive = 1
follow common practice, this is the default value
2019-03-19 16:26:26 +01:00
Vlad Temian fe2885d80a Fixed bug #77765
Set mode 40755 for directories, via FTP stream stat.

Because we already manage to CWD into the current directory,
we should set 40755 as mode, instead of 40644.
2019-03-19 10:02:38 +01:00
Miriam Lauter 09e522322a Fix #77767: phpdbg break command help message shows incorrect aliases
Previously the aliases for at and del were listed as A and d
in the help message for break. This patch corrects the aliases
to be @ and ~ respectively.
2019-03-19 09:55:10 +01:00
Christoph M. Becker 41bc51ce2d Fix #77578: Crash when php unload
Since we're putting `ITypeLib *`s into the hash, we're getting
`ITypeLib *`s back, not `ITypeLib **`s.
2019-03-18 19:21:38 +01:00
Christoph M. Becker f21c054903 Add bison version check to configure
Since we're already checking for the minimum required re2c version,
also checking for the minimum required bison version is sensible.
2019-03-18 15:02:52 +01:00
Xinchen Hui e072537e7f Simplfy test case
(I was working on the same bug while nikic committed the similar fix
2019-03-18 19:28:23 +08:00
Nikita Popov b3a669bec1 Make test independent of icu version
We don't really care about the actual output here, just that it
doesn't fail.
2019-03-18 12:14:58 +01:00
Nikita Popov 433758ceb3 Allow DateTimeImmutable in datefmt_format_object()
As pointed out in a comment on bug #65683.
2019-03-18 11:39:16 +01:00
Nikita Popov 4f03401628 Partial fix for bug #77751
This avoids the segfault, but it will not make writing to the
SplFileObject during output shutdown work.
2019-03-18 11:06:23 +01:00
Nikita Popov 54bf8c820f Fixed bug #77743 2019-03-18 10:49:53 +01:00
Nikita Popov a573c0e9ed Fix unused variable warning 2019-03-18 10:11:00 +01:00
twosee bd6eabd659 Don't disable object slot reuse while running shutdown functions
We only need to do this once we're running destructors. The current
approach interferes with some event loop code that runs everything
inside a shutdown function.
2019-03-18 10:02:31 +01:00
Derick Rethans ab07bc1fff Fixed 7.2 compat issue 2019-03-17 14:53:56 -04:00
Derick Rethans 1307275b43 Merge branch 'pr/3888' into PHP-7.2 2019-03-17 14:37:52 -04:00
Ignace Nyamagana Butera 6eb83a63e1 Fixed bug #75113: Added DatePeriod::getRecurrences() method. 2019-03-17 14:37:35 -04:00
Pedro Magalhães f167b06d4c Added test for #77535 fix 2019-03-15 18:11:51 +00:00
Nikita Popov 97f9fd6949 Don't immediately destroy curl pushfunction 2019-03-15 17:07:19 +01:00
Nikita Popov e7d40afb7a Fixed bug #77742
By avoiding integer overflow in the implementation entirely. The
multiplication was already explicitly checked for overflow, so also
add a check for the addition and remove the overflow checks after
the calculation.
2019-03-14 17:24:50 +01:00
Xinchen Hui c7920aba3e Fixed bug #77738 (Nullptr deref in zend_compile_expr) 2019-03-14 16:46:04 +08:00
Anatol Belski 6814ba11bc Die hard if mc.exe or mt.exe not found
Even configure would pass, that producess quite subtle build errors
which are better to avoid at configure stage already.
2019-03-11 20:41:45 +01:00
bohwaz 58c25bf679 SQLite3: add DEFENSIVE config for SQLite >= 3.26.0 as a mitigation strategy against potential security flaws 2019-03-11 18:02:03 +01:00
bohwaz e93259bb23 SQLite3: add DEFENSIVE config for SQLite >= 3.26.0 as a mitigation strategy against potential security flaws 2019-03-11 16:26:15 +01:00
Nikita Popov 1fd32e9c2f Fixed bug #76717
Print INT_MIN as -INT_MAX-1 to avoid it getting parsed as a float
literal due to integer overflow.
2019-03-11 15:35:02 +01:00
Jakub Zelenka 769d2d9b62 Speed up TLS wrapper tests when SSLv3 disabled
If SSLv3 is disabled in OpenSSL, then sslv3 is not available so the accept
times out. This commit removes the extra accept if SSLv3 is disabled.
2019-03-10 16:23:44 +00:00
Anatol Belski 9177542b4d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync with behavior change in OpenSSL 1.1.1b
  fix news
  bump versions after release
2019-03-08 15:54:27 +01:00
Anatol Belski 66bd861fcd Sync with behavior change in OpenSSL 1.1.1b
A behavior change in revealed by some openssl_decrypt() based test,
where an encrypt API is used with a decrypt context. The EVP_Cipher*
functions will automatically choose the right operation depending on the
context passed.

(cherry picked from commit 19a44ffb7b)
2019-03-08 15:47:32 +01:00
Peter Kokot 488544b336 Update editorconfig
Changes:
- New property max_line_length
- COMMIT_EDITMSG file added when writing commit messages
- Markdown files can have trimmed trailing whitespace also to simplify
  settings.
- https link used to EditorConfig page.
- Added also *.y, *.cpp, and *.inc files
- The tab_width moved to a new all files section
2019-03-07 01:03:56 +01:00
Christoph M. Becker 41fb0eaa11 Fix #77700: Writing truecolor images as GIF ignores interlace flag
We  revert the interlace flag related part of commit ff2822a[1], since
contrary to the transparent color, the interlace flag is not retained
by `gdImageCreatePaletteFromTrueColor()`.  This also matches upstream
libgd.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=ff2822a82b740edb8ccf307f080bae188c200fb9>
2019-03-06 00:34:40 +01:00
Joe Watkins b6308f5b48 fix news 2019-03-05 20:50:07 +01:00
Joe Watkins 58c5df3d37 bump versions after release 2019-03-05 18:28:47 +01:00
Remi Collet 0e836f523a add NEWS entry 2019-03-05 07:32:24 +01:00
Stanislav Malyshev 2cc1ab81c2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77630 - safer rename() procedure
2019-03-04 09:17:14 -08:00
Stanislav Malyshev e3133e4db7 Fix bug #77630 - safer rename() procedure
In order to rename safer, we do the following:
- set umask to 077 (unfortunately, not TS, so excluding ZTS)
- chown() first, to set proper group before allowing group access
- chmod() after, even if chown() fails
2019-03-04 09:15:11 -08:00
Anatol Belski 040196972c Fix test portability 2019-03-04 14:28:47 +01:00
Nikita Popov 3f00c9367d Fixed bug #77691
We cannot replace an op1_def opcode with an ASSIGN, if it also has
a used res_def. Usually this doesn't happen because the res_def use
can be eliminated first. The example is a case where operand replacement
on the res_def use fails.
2019-03-04 13:11:12 +01:00
Remi Collet 2694953ada add NEWS entries 2019-03-04 11:09:01 +01:00
Stanislav Malyshev 3e8d8f7fb3 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77586 - phar_tar_writeheaders_int() buffer overflow
2019-03-03 23:33:43 -08:00
Stanislav Malyshev e0f5d62bd6 Fix bug #77586 - phar_tar_writeheaders_int() buffer overflow 2019-03-03 23:05:32 -08:00
Stanislav Malyshev 8363df3703 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fix test error message
  Fix bug #77563 - Uninitialized read in exif_process_IFD_in_MAKERNOTE
  Fix bug #77540 - Invalid Read on exif_process_SOFn
  Fix integer overflows on 32-bits
  Fix #77431 SplFileInfo::__construct() accepts NUL bytes
  Fix bug #77396 - Null Pointer Dereference in phar_create_or_parse_filename
2019-03-03 22:20:35 -08:00
Stanislav Malyshev 759e841b24 Update NEWS 2019-03-03 20:10:12 -08:00
Stanislav Malyshev 44f87fbf36 Fix test error message 2019-03-03 19:30:14 -08:00
Stanislav Malyshev 8ac6fee856 Fix bug #77563 - Uninitialized read in exif_process_IFD_in_MAKERNOTE
Also fix for bug #77659
2019-03-03 18:35:43 -08:00
Stanislav Malyshev 5f0e62a3e5 Fix bug #77540 - Invalid Read on exif_process_SOFn 2019-03-03 18:35:26 -08:00
Stanislav Malyshev 5e824a88d0 Fix integer overflows on 32-bits 2019-03-03 18:35:04 -08:00
Christoph M. Becker 254a5914ad Fix #77431 SplFileInfo::__construct() accepts NUL bytes
`SplFileInfo::__construct()` has to expect a path instead of a string,
analogous to `SplFileObject::__construct()`.
2019-03-03 18:23:46 -08:00
Stanislav Malyshev 7f0ab7c20c Fix bug #77396 - Null Pointer Dereference in phar_create_or_parse_filename 2019-03-03 18:22:32 -08:00
Peter Kokot 637713c1a4 Update NEWS 2019-03-02 18:50:33 +01:00
Kevin Adler 700f876a1a Fix shared module generation on AIX bug #77676
Makefiles for PHP extensions generated by phpize expect the PHP_MODULES
to contain a list of libtool .la files so that it can read the $dlname
variable from them by sourcing them in to a shell. On AIX, the code was
setting PHP_MODULES to a list of .so files, which meant the dlname was
blank, preventing the tests from being able to run.

Change the AIX code path in the PHP_SHARED_MODULE macro to match the
output on other platforms, using libtool .la files.
2019-03-02 18:45:55 +01:00
Peter Kokot c39fb1fc4f Update NEWS 2019-03-01 22:44:22 +01:00
Ralf Habacker 3ead672394 Fix #77609: Tests from mailparse extension fails
Add installed php extensions to temporary created ini file

In php extensions configured with phpize, a temporarily generated
php.ini is used for testing, but currently contains no installed
PHP extensions, which is required by the mailparse extension,
for example.

Installed extensions must be added with their absolute path,
because the extension_dir parameter is already occupied.

See https://bugs.php.net/bug.php?id=77609
2019-03-01 22:32:01 +01:00
Jay Satiro 5025eb05bd curl_error: return an empty string if no error occurred
CURLOPT_ERRORBUFFER doc says "Do not rely on the contents of the
buffer unless an error code was returned." [1]

Prior to this change the error buffer was returned even if no error had
occurred, and that buffer may contain incorrect information in such a
case. [2]

[1]: https://curl.haxx.se/libcurl/c/CURLOPT_ERRORBUFFER.html
[2]: https://github.com/curl/curl/issues/3629
2019-03-01 14:54:37 +01:00
Kevin Adler 006355c9fa Fix bug #77677: WCOREDUMP not available on all systems
Add #ifdef WCOREDUMP around all uses.

Also Change core dump message to yes/no/unknown in lsapilib.
2019-03-01 14:51:15 +01:00
Derick Rethans 7d001aff03 Merge branch 'DateIntervalBogusData' into PHP-7.2 2019-02-28 13:50:58 +00:00
Derick Rethans a890c5beb8 Fixed bug #50020 (DateInterval:createDateFromString() silently fails) 2019-02-28 13:50:35 +00:00
Anatol Belski 19a44ffb7b Sync with behavior change in OpenSSL 1.1.1b
A behavior change in revealed by some openssl_decrypt() based test,
where an encrypt API is used with a decrypt context. The EVP_Cipher*
functions will automatically choose the right operation depending on the
context passed.
2019-02-28 12:48:47 +01:00
Nikita Popov 9ad9cc71ff Fixed bug #77669 2019-02-28 09:58:01 +01:00
Nikita Popov af37d58cf7 Fix assertion in Exception::getMessage() if $message is a ref
And same for other properties. Encountered in Symfony.
2019-02-25 13:00:16 +01:00
Xinchen Hui 1c22ace058 Fixed bug #77660 (Segmentation fault on break 2147483648) 2019-02-25 15:00:14 +08:00
Xinchen Hui 4a72dd782d Fixed bug #77664 (Segmentation fault when using undefined constant in custom wrapper) 2019-02-25 14:41:46 +08:00
Jakub Zelenka 01c00953ff Print empty string in test for but 77390 just once 2019-02-24 13:11:27 +00:00
Jakub Zelenka c814b34b1d Use spaces instead of tabs in bug 77390 test 2019-02-24 13:05:43 +00:00
Nikita Popov 2cfb09caa7 Fix inference warning about missing key type 2019-02-22 11:55:16 +01:00
Nikita Popov 5388143855 Fixed bug #77652 2019-02-22 10:11:54 +01:00
Frank Denis 08089b575b Fix bug #77646 2019-02-21 16:33:03 +01:00
Nikita Popov 934691fabb Fixed bug #77597
The same variable was reused in two nested loops... The test doesn't
fail on 7.2, but I'm fixing this here anyway as the code is clearly
wrong, and probably erroneous in other situations.
2019-02-21 13:42:47 +01:00
Abyr Valg 74888bede8 OpenSSL: Improve non-blocking eof test 2019-02-20 12:11:30 +01:00
Christopher Jones 7a9c20f3fd Correct skipif use for OCI8 password tests 2019-02-20 11:10:57 +11:00
Remi Collet b243f2feca bump version to 7.2.17-dev 2019-02-19 12:46:52 +01:00
Nikita Popov 928c42211f Make MADV_HUGEPAGE conditional on USE_ZEND_ALLOC_HUGE_PAGES
There have been multiple reports of large slowdowns due to the
use of MADV_HUGEPAGE, so make it conditional on
USE_ZEND_ALLOC_HUGE_PAGES, just like MAP_HUGETLB already is.
2019-02-18 14:03:07 +01:00
Christoph M. Becker de738496c2 Fix #77621: Already defined constants are not properly reported
We must not check uninitialized values (i.e. `c.value`), and we have to
use proper types for printf-style formats (i.e. `char *` instead of
`zend_string *`).
2019-02-15 00:35:21 +01:00
Peter Kokot 0ffa84d740 Refactor timelib.m4
The ext/date/lib is bundled library and also includes additional
timelib.m4 macros and checks specific for PHP.

All the checks in the timelib.m4 are already done in the PHP's
configure.ac:
- headers except for io.h and strings.h
- two functions checked strftime and gettimeofday
- if size of longint is 8
- if size of int is 4
- int32_t and uint32_t types using the PHP_CHECK_STDINT_TYPES

Macro `AC_TIMELIB_C_BIGENDIAN` defined in timelib.m4 is not used.

The two checkings for strtoll and atoll have been moved to date extension's
config0.m4 file.

Additional check for headers <io.h> and <strings.h> has been added to
config0.m4 of the date extension.

Therefore the timelib.m4 can be simplified and removed from the bundled
library to have easier maintenance in the later branches and also
upstream library.
2019-02-13 19:24:39 +01:00
Johannes Schlüter 56dba3f3d0 Merge remote-tracking branch 'origin/PHP-7.2' into PHP-7.2 2019-02-12 14:59:27 +01:00
DanielCiochiu 07877c46e3 Fixed bug #75546
By respecting the SILENT flag when checking the visibility of a
class constant.
2019-02-12 11:42:33 +01:00
Nikita Popov 8e34de4756 Fixed bug #77608
Remove special handling of doubles and escape them as usual instead.
2019-02-12 10:49:20 +01:00
hsldymq b5cb3ac8ec Make pid & uid available while handling realtime signals 2019-02-12 10:09:33 +01:00
Nikita Popov a109fddba4 Remove "defensive copy" of DatePeriod properties
get_properties() constructs these as fresh objects with no relation
to the internals, there is no need to clone them again. Additionally
the current implementation leaks memory, because the original objects
are never freed (see PR #3121).
2019-02-12 09:54:52 +01:00
Ben Ramsey c4294440ff Fixed bug #77564: Memory leak in exif_process_IFD_TAG
The memory leak occurs when more than one UserComment tag is present in
the EXIF data. It's still considered corrupt EXIF data, but this ensures
the memory is freed before trying to set to already allocated memory.
2019-02-12 09:28:33 +01:00
Dmitry Stogov 9222702633 Avoid dependency on "struct flock" fields order. 2019-02-12 10:15:16 +03:00
Anatol Belski 186b5de575 Replace broken binary SDK version 2019-02-11 22:28:34 -08:00
Anatol Belski e74a918621 Update SDK version for AppVeyor 2019-02-11 22:12:16 -08:00
Darek Slusarczyk 83d2bc9b6d Merge branch 'PHP-7.1' into PHP-7.2 2019-02-11 18:08:21 +01:00
Darek Slusarczyk 2eaabf06fc security fix - by default 'local infile' is disabled:
- set default for mysqli.allow_local_infile=0
- explicitly disable PDO::MYSQL_ATTR_LOCAL_INFILE in case of lack of driver options
- add getAttribute support for PDO::MYSQL_ATTR_LOCAL_INFILE
- update existing tests where needed
- add new tests [checking default value and setting on] the 'local infile' in ext/mysqli and ext/pdo_mysql
2019-02-11 18:04:51 +01:00
Ahmed Abdou ec28d4c247 Fix bug #51068 (glob:// do not support current path relative)
Fix DirectoryIterator glob://* current path relative queries
2019-02-11 15:50:27 +01:00
johnstevenson fe4d7248cc Fix #77552: Uninitialized buffer in stat functions 2019-02-11 11:31:55 +01:00
Xinchen Hui 92055ca79b Fixed bug #77589 (Core dump using parse_ini_string with numeric sections)
Section name should not be typed(NULL, FALSE, TRUE etc)
2019-02-11 15:27:29 +08:00
Christopher Jones 1f86dcdd13 PDO_OCI tracing attribute PR merge 2019-02-11 16:19:13 +11:00
Cameron Porter 38363f4820 pdo_oci: Add client identifier and module attrs
Add tests for the new attributes, and check the setAttribute return
value.
2019-02-11 16:10:47 +11:00
Cameron Porter fc940f0703 pdo_oci: Register new attr constants and add tests 2019-02-11 16:10:47 +11:00
Cameron Porter a095472e62 pdo_oci: Add PDO_OCI_ATTR_ACTION and CLIENT_INFO
Add the ability to set the action and client info on the database
session for PDO OCI using PDO attributes.
2019-02-11 16:10:47 +11:00
YanTao 3b09123de3 Fix FTPS passive mode of data channel event poll
Bugfix: when using passive mode of FTPS protocol, data channel events
should be polled when creating data connection channel, instead of polling
the event of ftp's self control channel, which may cause ftp transfer
problem while using ftps and passive mode.
2019-02-08 09:50:29 +01:00
Anatol Belski e27301c7b3 Sync test with changes in libcurl 7.64.0 2019-02-07 22:22:38 -08:00
Anatol Belski c9f0e12353 Sync test for libcurl 7.64.0 2019-02-07 22:21:59 -08:00
Derick Rethans 65d81833bb Use pkg-config for ICU, as the old icu-config has been deprecated 2019-02-07 14:00:39 +01:00
Derick Rethans e2edaa0cee Use pkg-config for ICU, as the old icu-config has been deprecated 2019-02-07 10:18:32 +00:00
Tyson Andre cf56832d00 Properly check for array_replace_recursive in sccp.c
Due to a typo, this code used to check for array_merge_recursive
twice.
2019-02-03 08:40:21 +01:00
Kevin Abel 3890c8bce5 Fix bug 76596: phpdbg supports display_errors=stderr 2019-01-30 18:27:57 +01:00
Christoph M. Becker cbc5a141f7 Prepare main branch for PHP 7.2.16 2019-01-30 01:27:57 +01:00
Nikita Popov 34898e9766 Make special assert() handling independent of compiler flags 2019-01-29 09:39:12 +01:00
ekinhbayar ef68cd3249 Fixed bug #77530: PHP crashes when parsing "(2)::class" 2019-01-28 09:22:18 +01:00
Jakub Zelenka dc2ffdeed7 Fix bug #77390 (feof might hang on TLS streams in case of fragmented TLS records)
Simplified version of the fix from Abyl Valg so credit to him.
2019-01-25 14:13:11 +00:00
Jakub Zelenka d9b29029f9 Update and integrate openssl client proxy test 2019-01-25 14:09:55 +00:00
Abyr Valg 0c84c2ef50 Add a test for fragmented SSL packets 2019-01-25 14:09:55 +00:00
Nikita Popov 08c5679380 Merge remote-tracking branch 'php-src/PHP-7.2' into PHP-7.2 2019-01-24 13:45:27 +01:00
Nikita Popov cce2e33c84 Revert "Prefix error_code with underscore in FastZPP implementation"
This reverts commit 6305119a51.

This is a source-compatibility break for extensions that define
custom FastZPP macros, such as ext/uv:

https://github.com/bwoebi/php-uv/blob/a983eb17b69f74a45d785ddc6a7bff3d4531b88c/php_uv.c#L75

I don't think that FastZPP was intended to be used this way, but
let's revert this from release branches to avoid extension breakage.
2019-01-24 13:36:47 +01:00
Dmitry Stogov 73f222d722 Fixed bug #77494 (Disabling class causes segfault on member access) 2019-01-24 13:06:36 +03:00
Nikita Popov 526344aa5e Add flag to disable jumptable optimization
This is useful for coverage. While it is currently safe to just
skip over the SWITCH_* opcodes, this may not be true in the future
due to opcache optimizations, so it's safer to disable emission of
SWITCH_* opcodes entirely.
2019-01-24 10:56:04 +01:00
George Wang 66d72377d0 Checkin LiteSpeed SAPI 7.2. 2019-01-20 15:10:19 -05:00
Anatol Belski d978590c74 Update NEWS [ci skip] 2019-01-20 15:58:19 +01:00
Christoph M. Becker 44fa0b0f31 Fix #77479: imagewbmp() segfaults with very large images
We must not proceed working with the Wbmp structure, if it hasn't been
allocated.
2019-01-19 10:16:02 +01:00
Lauri Kenttä dbe7f2a41a Fix seeking in php://input 2019-01-18 12:44:47 +01:00
Pedro Magalhães 32ae716037 Fixed bug #76675
Leave a reference to the resource in the php_curl.
2019-01-18 12:04:25 +01:00
Christoph M. Becker 61cfa34e11 Fix #73614: gdImageFilledArc() doesn't properly draw pies
The fix for PHP bug 43828[1] changed the algorithm from drawing filled
pies from drawing multiple triangles to drawing a single polygon.  Due
to quirks of the filled polygon drawing algorithm, we had to filter out
extraneous vertices.  This lead, however, to a bug regarding displaced
starting and ending points near 90° and 270° degrees, which we fix by
reinserting these vertices if they had been removed.

This fix is a port of libgd/libgd@1406b1a.

[1] <https://bugs.php.net/bug.php?id=43828>
2019-01-16 20:10:04 +01:00
wbob 5ac9990ddf document open_basedir and realpath cache coupling in php.ini
[ci skip]
2019-01-14 11:49:45 +01:00
Nikita Popov 3ad0ebdf5c Fixed bug #77454 2019-01-14 10:22:48 +01:00
Anatol Belski 8f66ca8189 Update SDK version for AppVeyor 2019-01-12 22:13:14 +01:00
Ondřej Surý 1ea58b6e78 Fix rl_completion_matches detection
Also fix a typo when checking for rl_on_new_line in readline library.
2019-01-11 10:55:07 +01:00
Kevin Adler 332b58f865 Fix bug #77361 (configure fails on 64-bit AIX when opcache enabled)
In f904830012, support for GNU Hurd was added to the opcache and
the configure check to ensure the opcache knows the flock struct
layout prior to building was changed check for two cases: BSD layout
and Linux layout. All the existing hard-coded cases in
ZendAccelerator.h follow these two cases, except for 64-bit AIX.
This means that even though building on 64-bit AIX would work,
the configure script refuses to continue.

Add a new configure check for the 64-bit AIX case and a new
compiler definition HAVE_FLOCK_AIX64. Now that all the cases are
covered, simplify the ifdef logic around these three HAVE_FLOCK_*
macros:
- The macOS and the various BSD flavors fall under HAVE_FLOCK_BSD
- Linux, HP-UX, GNU Hurd, 32-bit AIX, and SVR4 environments
  fall under HAVE_FLOCK_LINUX
- 64-bit AIX falls under HAVE_FLOCK_AIX64

The only difference between the existing HAVE_FLOCK_LINUX and
the hard-coded Linux/HP-UX/Hurd case is that the latter
initialized the 5th member to 0, but since the C standard already
says that un-initialized members will be initialized to 0,
it's effectively the same.
2019-01-11 10:21:02 +01:00
Alexander Kurilo 1a1e12c2a9 Fix cleaning up after openssl_pkcs7_verify_basic test 2019-01-10 20:09:42 +00:00
Alexander Kurilo 1fab01be5b Generate certs for openssl tests on the fly
The idea is to create an easy way to provide a certificate that never
expires. In order to make it cross-platform, PHP is used rather than
openssl CLI app. Using openssl to generate certificates for tests that
test openssl might be not the best idea but pros seem to outweight cons
that this "recursice dependency" adds
2019-01-10 20:09:42 +00:00
Christoph M. Becker 6b4cdbaade Fix #73281: imagescale(…, IMG_BILINEAR_FIXED) can cause black border
We port the upstream fixes for libgd/libgd#329 and libgd/libgd#224.
2019-01-10 16:11:23 +01:00
Christoph M. Becker 772b1cb245 Fix #77272: imagescale() may return image resource on failure
`_gdScaleHoriz()` and `_gdScaleVert()` may fail, but don't signal
failure since they are void functions.  We change that according to
upstream libgd.

We also remove the unused `Scale()` function, which doesn't exist in
upstream libgd either, right away.
2019-01-10 14:05:09 +01:00
Nikita Popov 5d33024a5d Fixed bug #77439 2019-01-10 10:57:04 +01:00
Andrey Hristov 7a88f89a90 Revert visibility
(cherry picked from commit 71ffae9605)
2019-01-09 13:39:48 +01:00
Sara Golemon bbc10549e8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Bump for 7.1.27
2019-01-08 14:19:37 -05:00
Sara Golemon fabade1573 Bump for 7.1.27 2019-01-08 14:17:43 -05:00
Nikita Popov 1165a9068c Don't swap operands of ZEND_MUL
If this is used with operator overloading, then the operation does
not necessarily commute (for example, matrix multiplication).
2019-01-08 09:37:49 +01:00
Remi Collet 0d9935739c cleanup merge 2019-01-08 09:33:41 +01:00
twosee 6305119a51 Prefix error_code with underscore in FastZPP implementation
To avoid conflicts with parameter names.
2019-01-08 09:25:35 +01:00
Derick Rethans bd1d2c7bfe Update tests due to data changes in tzdata 2018i 2019-01-07 12:48:42 +00:00
Derick Rethans 81da7f75e3 Updated to version 2018.9 (2018i) 2019-01-07 11:50:14 +00:00
Remi Collet 3e780d7f25 [ci skip] fix NEWS 2019-01-07 11:12:13 +01:00
Remi Collet 03a630ded7 [ci skip] fix NEWS 2019-01-07 11:02:40 +01:00
Stanislav Malyshev 289c45109c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Still leaking for some reason, XFAIL for now, I'll look into it later.
2019-01-07 01:03:26 -08:00
Stanislav Malyshev 27625f063e Still leaking for some reason, XFAIL for now, I'll look into it later. 2019-01-07 01:03:04 -08:00
Stanislav Malyshev cfe77ea543 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77418 - Heap overflow in utf32be_mbc_to_code
  Add NEWS
  [ci skip] Add NEWS
  Fix more issues with encodilng length
  Fix #77270: imagecolormatch Out Of Bounds Write on Heap
  Fix bug #77380  (Global out of bounds read in xmlrpc base64 code)
  Fix bug #77371 (heap buffer overflow in mb regex functions - compile_string_node)
  Fix bug #77370 - check that we do not read past buffer end when parsing multibytes
  Fix #77269: Potential unsigned underflow in gdImageScale
  Fix bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext)
  Fix bug #77242 (heap out of bounds read in xmlrpc_decode())
  Regenerate certs for openssl tests
2019-01-06 23:34:26 -08:00
Stanislav Malyshev 1afebfb3fa Merge branch 'PHP-5.6' into PHP-7.1
* PHP-5.6:
  Fix bug #77418 - Heap overflow in utf32be_mbc_to_code
  [ci skip] Add NEWS
  Fix more issues with encodilng length
  Fix #77270: imagecolormatch Out Of Bounds Write on Heap
  Fix bug #77380  (Global out of bounds read in xmlrpc base64 code)
  Fix bug #77371 (heap buffer overflow in mb regex functions - compile_string_node)
  Fix bug #77370 - check that we do not read past buffer end when parsing multibytes
  Fix #77269: Potential unsigned underflow in gdImageScale
  Fix bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext)
  Fix bug #77242 (heap out of bounds read in xmlrpc_decode())
  Regenerate certs for openssl tests
2019-01-06 23:33:34 -08:00
Stanislav Malyshev 9d6c59eeea Fix bug #77418 - Heap overflow in utf32be_mbc_to_code 2019-01-06 23:31:15 -08:00
Stanislav Malyshev d0d0d922de Fix tests - newer versions check Unicode 2019-01-06 13:28:30 -08:00
Stanislav Malyshev fc02e7e3fe Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add NEWS
2019-01-06 13:08:48 -08:00
Stanislav Malyshev 08bb0ce4e4 Add NEWS 2019-01-06 13:08:24 -08:00
Stanislav Malyshev 25c95752d6 Add NEWS 2019-01-06 13:04:51 -08:00
Stanislav Malyshev b51eaf4166 [ci skip] Add NEWS 2019-01-06 13:03:38 -08:00
Stanislav Malyshev ed4db1bb22 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test
2019-01-06 12:54:09 -08:00
Stanislav Malyshev 0c35032012 Fix test 2019-01-06 12:30:44 -08:00
Stanislav Malyshev fe820fcba6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #77369 - memcpy with negative length via crafted DNS response
  Fix more issues with encodilng length
  Fix #77270: imagecolormatch Out Of Bounds Write on Heap
  Fix bug #77380  (Global out of bounds read in xmlrpc base64 code)
  Fix bug #77371 (heap buffer overflow in mb regex functions - compile_string_node)
  Fix bug #77370 - check that we do not read past buffer end when parsing multibytes
  Fix #77269: Potential unsigned underflow in gdImageScale
  Fix bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext)
  Fix bug #77242 (heap out of bounds read in xmlrpc_decode())
  Regenerate certs for openssl tests
2019-01-06 11:57:16 -08:00
Stanislav Malyshev 8d3dfabef4 Fix #77369 - memcpy with negative length via crafted DNS response 2019-01-06 11:39:09 -08:00
Stanislav Malyshev 31f59e1f30 Fix more issues with encodilng length
Should fix bug #77381, bug #77382, bug #77385, bug #77394.
2019-01-06 11:38:46 -08:00
Christoph M. Becker 567c9f5842 Fix #77270: imagecolormatch Out Of Bounds Write on Heap
At least some of the image reading functions may return images which
use color indexes greater than or equal to im->colorsTotal.  We cater
to this by always using a buffer size which is sufficient for
`gdMaxColors` in `gdImageColorMatch()`.
2019-01-06 11:38:46 -08:00
Stanislav Malyshev 4feb9e66ff Fix bug #77380 (Global out of bounds read in xmlrpc base64 code) 2019-01-06 11:38:46 -08:00
Stanislav Malyshev c6e34d91b8 Fix bug #77371 (heap buffer overflow in mb regex functions - compile_string_node) 2019-01-06 11:38:46 -08:00
Stanislav Malyshev deb06bbb9c Fix bug #77370 - check that we do not read past buffer end when parsing multibytes 2019-01-06 11:38:46 -08:00
Christoph M. Becker dfd8237aec Fix #77269: Potential unsigned underflow in gdImageScale
Belatedly, we're porting the respective upstream patch[1].

[1] <https://github.com/libgd/libgd/commit/60bfb401ad5a4a8ae995dcd36372fe15c71e1a35>
2019-01-06 11:38:46 -08:00
Stanislav Malyshev 78bd347774 Fix bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext) 2019-01-06 11:38:46 -08:00
Stanislav Malyshev 9c62b95e5e Fix bug #77242 (heap out of bounds read in xmlrpc_decode()) 2019-01-06 11:38:46 -08:00
Alexander Kurilo e3e3289bd1 Regenerate certs for openssl tests 2019-01-06 11:38:46 -08:00
Stanislav Malyshev c95daa9c75 Fix more issues with encodilng length
Should fix bug #77381, bug #77382, bug #77385, bug #77394.
2019-01-06 11:34:27 -08:00
Christoph M. Becker 7a12dad4dd Fix #77270: imagecolormatch Out Of Bounds Write on Heap
At least some of the image reading functions may return images which
use color indexes greater than or equal to im->colorsTotal.  We cater
to this by always using a buffer size which is sufficient for
`gdMaxColors` in `gdImageColorMatch()`.
2019-01-06 11:34:20 -08:00
Stanislav Malyshev 1cc2182bcc Fix bug #77380 (Global out of bounds read in xmlrpc base64 code) 2019-01-06 11:34:00 -08:00
Stanislav Malyshev 28362ed4fa Fix bug #77371 (heap buffer overflow in mb regex functions - compile_string_node) 2019-01-06 11:33:54 -08:00
Stanislav Malyshev 20407d06ca Fix bug #77370 - check that we do not read past buffer end when parsing multibytes 2019-01-06 11:33:44 -08:00
Christoph M. Becker a918020c03 Fix #77269: Potential unsigned underflow in gdImageScale
Belatedly, we're porting the respective upstream patch[1].

[1] <https://github.com/libgd/libgd/commit/60bfb401ad5a4a8ae995dcd36372fe15c71e1a35>
2019-01-06 11:33:38 -08:00
Stanislav Malyshev 428d8164ff Fix bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext) 2019-01-06 11:33:32 -08:00
Stanislav Malyshev 4fc0bceb7c Fix bug #77242 (heap out of bounds read in xmlrpc_decode()) 2019-01-06 11:33:25 -08:00
Nikita Popov 41af1e6781 Fix self::class inside constant in global scope
Previously this triggered an assertion failure. The behavior is
not quite correct, in that self::class should generate an exception
if there is no self, but returns an empty string here. Fixing that
would be a bit too intrusive for the 7.2 branch.
2019-01-04 09:52:04 +01:00
Nikita Popov cb009b12a5 Fixed bug #77273 2019-01-03 09:40:07 +01:00
Alexander Kurilo f51062523d Regenerate certs for openssl tests 2019-01-02 10:00:36 -08:00
Nikita Popov 73596c56e7 Partial fix for bug #75426
This does not print the exact line of the comma, but rather the line
of the previous element. This should generally be "good enough", as
the line number is close (off by one) to the actual issue now.
Previously it would point to the start of the array, which may be
very far away.
2019-01-02 11:32:48 +01:00
Anatol Belski 7b3f8e746a Fixed bug #75684 In mysqlnd_ext_plugin.h the plugin methods family has no external visibility 2019-01-02 11:00:33 +01:00
Xinchen Hui 8ebae84674 Fixed bug #77395 (segfault about array_multisort) 2019-01-02 12:09:47 +08:00
Christoph M. Becker b0cfa28d6d Fix #77391: 1bpp BMPs may fail to be loaded
We port the upstream fix[1].

[1] <https://github.com/libgd/libgd/commit/d0859134fcbd8817f87895bd1cb158096568a7a2>
2018-12-31 20:45:47 +01:00
Alexander Kurilo 687dad3674 Regenerate certs for openssl tests 2018-12-31 18:20:34 +01:00
Christoph M. Becker 20de58f51d Drop deprecated /Gm compile option
The `/Gm` option of `cl` is deprecated[1], and `cl` claims that it will
be removed in the future, so we're dropping it right away.

[1] <https://docs.microsoft.com/en-us/cpp/build/reference/gm-enable-minimal-rebuild?view=vs-2017>
2018-12-30 14:36:05 +01:00
Anatol Belski 54a2b42778 Increase timeout for test on AppVeyor 2018-12-29 17:48:25 +01:00
Anatol Belski 222fa032d2 Add memory check to the test 2018-12-29 16:22:31 +01:00
Anatol Belski a2cb8228fe Update NEWS [ci skip] 2018-12-26 20:05:15 +01:00
Michael Meyer 3c42c784c2 Initialize s_un (sockaddr_un) to zero before using it. Fixes #76839. 2018-12-26 18:58:27 +01:00
Anatol Belski 3c7dc7b4c4 Update binary SDK version for AppVeyor 2018-12-26 14:15:21 +01:00
Dmitry Stogov 5888fbde0d Backport later interned strings destruction. 2018-12-24 13:45:02 +03:00
Dmitry Stogov 7e597f48e9 Fixed bug #77339 (__callStatic may get incorrect arguments) 2018-12-24 13:22:43 +03:00
Nikita Popov 64de5bc224 Fix invalid efree in browscap
Related to bug #77338.
2018-12-23 20:20:04 +01:00
Dmitry Stogov 8db63adb6d Removed /e modifirer and fixed ws. 2018-12-21 18:58:50 +03:00
Remi Collet 3245d1bb09 missing entry for #77020 2018-12-18 16:29:31 +01:00
Remi Collet 7161fe629d bump to 7.2.15-dev 2018-12-18 13:11:32 +01:00
Christopher Jones 3aee9ca571 LOL I had 2.10 on my mind 2018-12-10 21:54:13 +11:00
Christopher Jones 444e400c3b Bundle the new test 2018-12-10 10:45:43 +11:00
Christopher Jones e4d894edb3 Improve test portability 2018-12-10 10:16:15 +11:00
Christopher Jones 56e2c0d7db Update for newer Oracle versions 2018-12-10 10:15:53 +11:00
Anatol Belski 81207fc607 Fix syntax error 2018-12-09 19:13:09 +01:00
Anatol Belski 0d166f76ee Fix libtidy exports when ext/tidy compiled static 2018-12-09 18:59:05 +01:00
Christopher Jones 99f1f3dedf Add oci_set_call_timeout() and bump version to 2.10.0 2018-12-09 20:55:04 +11:00
Christopher Jones e2ecd60f2f Upgrade internal OCI call 2018-12-09 12:38:35 +11:00
Christopher Jones 4246702406 Enable Oracle Database DBOP tracing attribute 2018-12-09 12:16:47 +11:00
Christopher Jones 465c149cd3 Update OCI8 README 2018-12-09 11:28:52 +11:00
Christopher Jones 216d6592e1 Convert some parameter parsing to the Fast Parameter Parsing API 2018-12-09 11:28:04 +11:00
Remi Collet fd0077bf06 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  add imap.enable_insecure_rsh in php.ini
2018-12-08 10:25:05 +01:00
Remi Collet 4288674651 add imap.enable_insecure_rsh in php.ini 2018-12-08 10:24:36 +01:00
Christopher Jones 290671e7f2 Merge branch 'PHP-7.2' of https://git.php.net/repository/php-src into PHP-7.2 2018-12-08 20:19:59 +11:00
Christopher Jones 43adf3dc5e Note that PECL install now works on PHP 7.3 2018-12-08 20:13:40 +11:00
Christopher Jones 9a0ec35fa3 Don't skip with 18c DB 2018-12-08 20:12:43 +11:00
Remi Collet 431ff36f51 missing entry for #77020 2018-12-08 10:07:01 +01:00
Remi Collet da90b477c6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  missing entry for #77020
2018-12-08 10:06:34 +01:00
Remi Collet 9b8f2417ad missing entry for #77020 2018-12-08 10:06:19 +01:00
Christopher Jones dd0a8091f4 Fix resource warning value 2018-12-08 19:24:32 +11:00
Christopher Jones 2d53040a6d Bump OCI8 version 2018-12-08 19:23:22 +11:00
Christopher Jones 8ff6a30598 Update NEWS 2018-12-08 19:12:04 +11:00
KoenigsKind 3c91851874 When releasing an oci8 connection always set the resource to null. 2018-12-08 18:49:12 +11:00
Nikita Popov e3946534a4 Drop unnecessary HASH_OF uses in ext/oci8
These only operate on arrays.
2018-12-07 23:21:32 +11:00
Christopher Jones b797818e09 Simplify based on feedback from nikic 2018-12-07 23:07:37 +11:00
Ferenc Kovacs bc32061dba Merge branch 'PHP-7.1' into PHP-7.2 2018-12-05 09:36:31 +01:00
Ferenc Kovacs 6cbdc5e207 Merge branch 'PHP-7.0' into PHP-7.1 2018-12-05 09:30:20 +01:00
Ferenc Kovacs bd289af963 Merge branch 'PHP-5.6' into PHP-7.0 2018-12-05 09:25:53 +01:00
Ferenc Kovacs c26cb383a5 5.6.40 will be next. probably not 2018-12-05 09:13:30 +01:00
Anatol Belski 6e9435f339 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync NEWS [ci skip]
2018-12-04 12:50:04 +01:00
Anatol Belski d07e63211a Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Sync NEWS [ci skip]
2018-12-04 12:49:42 +01:00
Anatol Belski a8f125fbca Sync NEWS [ci skip] 2018-12-04 12:49:10 +01:00
Stanislav Malyshev a9ef7ecc60 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix null pointer deref in qprint-encode filter (bug #77231)
2018-12-03 10:20:02 -08:00
Stanislav Malyshev d5dc3c69f9 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix null pointer deref in qprint-encode filter (bug #77231)
2018-12-03 10:19:57 -08:00
Stanislav Malyshev 036bc5c1fb Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix null pointer deref in qprint-encode filter (bug #77231)
2018-12-03 10:19:49 -08:00
Stanislav Malyshev 78bffa72c1 Fix null pointer deref in qprint-encode filter (bug #77231) 2018-12-03 10:19:08 -08:00
Stanislav Malyshev 8fff90250b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77143 - add more checks to buffer reads
  Fix bug #77143 - add more checks to buffer reads
  Fix #77020: null pointer dereference in imap_mail
2018-12-03 00:42:50 -08:00
Stanislav Malyshev 8ab5d22332 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #77143 - add more checks to buffer reads
  Fix bug #77143 - add more checks to buffer reads
  Fix #77020: null pointer dereference in imap_mail
2018-12-03 00:42:45 -08:00
Stanislav Malyshev 5718d73dbb Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #77143 - add more checks to buffer reads
2018-12-03 00:42:35 -08:00
Stanislav Malyshev 48f0f73f75 Fix bug #77143 - add more checks to buffer reads 2018-12-03 00:41:46 -08:00
Stanislav Malyshev 66a0f061f6 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #77143 - add more checks to buffer reads
  Fix #77020: null pointer dereference in imap_mail
2018-12-03 00:39:03 -08:00
Stanislav Malyshev 54212674b9 Fix bug #77143 - add more checks to buffer reads 2018-12-03 00:03:10 -08:00
Stanislav Malyshev 7edc639b9f Fix #77020: null pointer dereference in imap_mail
If an empty $message is passed to imap_mail(), we must not set message
to NULL, since _php_imap_mail() is not supposed to handle NULL pointers
(opposed to pointers to NUL).
2018-12-03 00:00:56 -08:00
Stanislav Malyshev 1f78b1dfd0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Don't need interactive progress on git clones in Travis
2018-12-02 16:04:33 -08:00
Philip Prindeville 61af343768 Don't need interactive progress on git clones in Travis
Travis logs are usually inspected after the build completes, by which time
progress info is useless.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2018-12-02 16:04:22 -08:00
Stanislav Malyshev 1225467d8a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix TSRM signature - php_stream_stat macro has it's own TSRM
  Regenerate certificates for openssl tests
  Improve test for bug77022
2018-12-02 15:12:15 -08:00
Stanislav Malyshev f8eac1f438 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix TSRM signature - php_stream_stat macro has it's own TSRM
  Regenerate certificates for openssl tests
  Improve test for bug77022
2018-12-02 13:38:59 -08:00
Stanislav Malyshev 6e3f5d57d4 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix TSRM signature - php_stream_stat macro has it's own TSRM
  Regenerate certificates for openssl tests
  Improve test for bug77022
2018-12-02 13:18:07 -08:00
Stanislav Malyshev aabdb71dc3 Fix TSRM signature - php_stream_stat macro has it's own TSRM 2018-12-02 12:54:19 -08:00
Alexander Kurilo 0382e761d7 Regenerate certificates for openssl tests 2018-12-02 12:08:19 -08:00
Stanislav Malyshev 2fba1e2f59 Improve test for bug77022 2018-12-02 12:06:13 -08:00
Alexander Kurilo 655fb96354 Regenerate certificates for openssl tests 2018-12-02 19:37:10 +00:00
Stanislav Malyshev c5869fd1c8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
2018-12-01 21:48:40 -08:00
Stanislav Malyshev 09885f78c6 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
2018-12-01 21:48:35 -08:00
Stanislav Malyshev cea277048d Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #77022 - use file mode or umask for new files
2018-12-01 21:48:27 -08:00
Stanislav Malyshev 8136d130b6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77022 - use file mode or umask for new files
2018-12-01 21:47:44 -08:00
Stanislav Malyshev 1aec05defd Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #77022 - use file mode or umask for new files
2018-12-01 21:47:37 -08:00
Stanislav Malyshev 67f3615102 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #77022 - use file mode or umask for new files
2018-12-01 21:08:38 -08:00
Stanislav Malyshev 69f5e7992b Fix bug #77022 - use file mode or umask for new files 2018-12-01 21:06:45 -08:00
BohwaZ 94ec262fca Fix #77051: Issue with re-binding on SQLite3
We have to call `sqlite3_reset()` before re-binding the parameters.
2018-11-29 02:16:57 +01:00
Stanislav Malyshev 4ac764e8bb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add DISPLAY_INI_ENTRIES for imap
  Disable rsh/ssh functionality in imap by default (bug #77153)
  Disable rsh/ssh functionality in imap by default (bug #77153)
2018-11-28 15:47:00 -08:00
Stanislav Malyshev 223b8c15a8 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Add DISPLAY_INI_ENTRIES for imap
  Disable rsh/ssh functionality in imap by default (bug #77153)
  Disable rsh/ssh functionality in imap by default (bug #77153)
2018-11-28 15:46:53 -08:00
Stanislav Malyshev 87bf84c8c7 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Add DISPLAY_INI_ENTRIES for imap
2018-11-28 15:46:39 -08:00
Stanislav Malyshev d8765852e0 Add DISPLAY_INI_ENTRIES for imap 2018-11-28 15:45:51 -08:00
Derick Rethans a3f2871b8e Fixed bug #77097 (DateTime::diff gives wrong diff when the actual diff is less than 1 second) by upgrading to timelib 2017.09 2018-11-28 20:34:21 +00:00
Nikita Popov 17f8b9fb36 Fixed bug #77215
Remove invalid assertion: A block can have multiple switch frees,
so if we don't do live range block splitting, it is not necessarily
true that the free is located at the start of a block.
2018-11-28 20:08:39 +01:00
Nikita Popov b565c85b9e Improve fix for #76046
Also locate the JMP at the start of the foreach.

Patch suggested by Derick.
2018-11-27 19:43:25 +01:00
Nikita Popov d6595f276f Fixed bug #76046
Place FE_FREE on start line of foreach, instead of whatever random
line number might be in CG(zend_lineno) at the time.
2018-11-27 16:37:55 +01:00
Colin Basnett 9ec519e094 Fixed bug #77184
The U in URATIONAL is for unsigned, so the values should be printed
as unsigned.
2018-11-26 22:48:48 +01:00
Sergei Morozov e126ca1557 Check column number before trying to fetch the value 2018-11-26 10:34:37 -05:00
Christoph M. Becker a1aaec08b5 Fix #77200: imagecropauto(…, GD_CROP_SIDES) crops left but not right
We apply the upstream patch[1].

[1] <https://github.com/libgd/libgd/commit/6613094e5d218dc4d4372757aef5e58c6462a9f7>
2018-11-25 19:00:50 +01:00
Christoph M. Becker b47b8886dd Fix #77198: auto cropping has insufficient precision
We apply the upstream patch[1], and also fix the erroneous bailout at
the end of `gdImageAutoCrop()`, since `crop.x` and `crop.y` may very
well be zero.

[1] <https://github.com/libgd/libgd/commit/bda85aaeeb1d7467d92c892ba4c30eaa53d7a6d4>
2018-11-25 15:41:27 +01:00
Frank Denis ff02d50909 ext/sodium: remove redundant code 2018-11-24 17:55:36 +01:00
Frank Denis 542d0bce50 ext/sodium: Correct base64 decoding with unpadded variants
Backports 0eee0b957a3b75f8175cdd30b306c15e372685e8 from the PECL extension
2018-11-24 17:53:08 +01:00
Christoph M. Becker 5af5f56fc9 Fix test case 2018-11-24 13:36:42 +01:00
Christoph M. Becker 60a9f7a3a3 Fix #77195: Incorrect error handling of imagecreatefromjpeg()
The broken JPEG image triggers a notice, two warnings and outputs a
message to stderr directly.  The additional notice is pretty useless,
and the direct output to stderr is bad.  Therefore, we port the
relevant differences from upstream to our bundled libgd.  This leaves
us with two warnings; the first one is triggered by libjpeg and shows
the actual problem, the second one is triggered by our libgd wrapper
whenever an image can't be read, what may not have necessarily
triggered a warning before.
2018-11-24 12:52:08 +01:00
Christoph M. Becker 115ee49b0b Fix #77177: Serializing or unserializing COM objects crashes
Firstly, we avoid returning NULL from the get_property handler, but
instead return an empty HashTable, which already prevents the crashes.
Secondly, since (de-)serialization obviously makes no sense for COM,
DOTNET and VARIANT objects (at least with the current implementation),
we prohibit it right away.
2018-11-23 16:32:33 +01:00
Sara Golemon f2de4d185d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Prep for 7.1.26
2018-11-21 14:39:25 -05:00
Sara Golemon 0b3cbd665e Prep for 7.1.26 2018-11-21 14:37:37 -05:00
Nikita Popov bbbaf1ca85 Merge branch 'PHP-7.1' into PHP-7.2 2018-11-20 21:30:38 +01:00
Valentin V. Bartenev 11ddf7669a Fix bug #71041 dynamic embed SAPI load error
If the library is built with ZEND_SIGNALS defined, it's unusable with an
external SAPI module because the zend_signal_startup() call is mandatory
in this case.

This bug is similar to #74149, but related to dynamic loading of PHP library.
2018-11-20 21:30:02 +01:00
Mizunashi Mana e672cd4385 Define __APPLE_USE_RFC_3542 for new ipv6 constants 2018-11-20 21:16:03 +01:00
Sara Golemon 9fc52c16b5 Bump for 7.2.14 2018-11-20 14:40:21 -05:00
Stanislav Malyshev 336d2086a9 Disable rsh/ssh functionality in imap by default (bug #77153) 2018-11-20 11:18:53 -08:00
Stanislav Malyshev 05782f01f5 Disable rsh/ssh functionality in imap by default (bug #77153) 2018-11-20 11:16:08 -08:00
Stanislav Malyshev aed4065aa6 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Disable rsh/ssh functionality in imap by default (bug #77153)
2018-11-20 11:14:18 -08:00
Stanislav Malyshev 628df47e79 Disable rsh/ssh functionality in imap by default (bug #77153) 2018-11-20 11:14:07 -08:00
Remi Collet e7acb29eb0 NEWS 2018-11-20 11:20:05 +01:00
Remi Collet 6ce4be1762 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  NEWS
  Fix #77151 ftp_close(): SSL_read on shutdown
2018-11-20 11:19:52 +01:00
Remi Collet 1adbf70e26 NEWS 2018-11-20 11:19:29 +01:00
Remi Collet d9afc2f662 Fix #77151 ftp_close(): SSL_read on shutdown
Regression introduced in fix for #76972

only display the error message when sslerror
or if errno is set (for SSL_ERROR_SYSCALL case)
2018-11-20 11:18:34 +01:00
Stanislav Malyshev e5bfea64c8 Disable rsh/ssh functionality in imap by default (bug #77153) 2018-11-20 00:13:50 -08:00
Anatol Belski 6742b4b7cc [ci skip] Update NEWS 2018-11-18 14:38:35 +01:00
Anatol Belski 6e32f59525 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-11-18 14:37:56 +01:00
Anatol Belski 3e78380d02 [ci skip] Update NEWS 2018-11-18 14:37:04 +01:00
Anatol Belski fb06cca6cb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #77047 pg_convert has a broken regex for the 'TIME WITHOUT TIMEZONE' data type
2018-11-18 12:32:47 +01:00
Anatol Belski 0434141ce9 Fixed bug #77047 pg_convert has a broken regex for the 'TIME WITHOUT TIMEZONE' data type
Backport 369c991d and 282a63da to 7.1, closes #3634
2018-11-18 12:29:34 +01:00
Anatol Belski b4776cda2e [ci skip] Update NEWS 2018-11-17 23:00:12 +01:00
Anatol Belski a7e9790969 Fixed bug #77111 php-win.exe corrupts unicode symbols from cli parameters
The binary can be of course used on console, for whatever reasons, so
UNICODE API should be used in that case. That might however not work as
expected, if the binary is used for a service.
2018-11-16 23:19:33 +01:00
Christoph M. Becker 211c6189f6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #77147: Fix for 60494 ignores ICONV_MIME_DECODE_CONTINUE_ON_ERROR
2018-11-14 14:57:40 +01:00
Christoph M. Becker a56cdd0a82 Fix #77147: Fix for 60494 ignores ICONV_MIME_DECODE_CONTINUE_ON_ERROR
If the `ICONV_MIME_DECODE_CONTINUE_ON_ERROR` flag is set, parsing
should not fail, if there are illegal characters in the headers;
instead we silently ignore these like before.
2018-11-14 14:55:38 +01:00
Joe Watkins ce4eb89976 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Validate length on socket_write
2018-11-13 12:58:23 +01:00
Thiago Carvalho ec2e7a2d48 Validate length on socket_write 2018-11-13 12:56:37 +01:00
Christoph M. Becker 77646d2fd9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #77141: Signedness issue in SOAP when precision=-1
2018-11-12 23:22:16 +01:00
Christoph M. Becker f6079e3c56 Fix #77141: Signedness issue in SOAP when precision=-1
According to php_gcvt(), we assume at most 17 fractional digits for
negative precision.
2018-11-12 23:19:30 +01:00
Anatol Belski 1550451020 Update libmagic.patch [ci skip] 2018-11-10 22:01:49 +01:00
Anatol Belski 3fd46e19ac Fork test with pcre.jit=0 2018-11-10 20:06:47 +01:00
Anatol Belski 9d77bf0978 Fix regex 2018-11-10 12:11:02 +01:00
Anatol Belski 60adea5496 Rework magic data
Avoid patching where vanilla data suffices. More precisely, avoid data
using [:space:] posix class in regex, as it is likely to cause performance
regressions.
2018-11-10 01:28:23 +01:00
Anatol Belski 22f71a66ec Sync one more upstream libmagic piece 2018-11-10 00:19:42 +01:00
Anatol Belski fab72d7571 Update NEWS [ci skip] 2018-11-05 22:53:01 +01:00
Anatol Belski dbb2cce968 Update libmagic.patch [ci skip] 2018-11-05 22:24:27 +01:00
Anatol Belski 0e33c2822c Declare function proto in header 2018-11-05 21:28:04 +01:00
Anatol Belski c621182c42 Backport 7f5f4601 for 7.2 2018-11-04 16:57:55 +01:00
Christoph M. Becker 0afc818976 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76348: WSDL_CACHE_MEMORY causes Segmentation fault
2018-11-04 16:44:45 +01:00
Christoph M. Becker 625f614cb1 Fix #76348: WSDL_CACHE_MEMORY causes Segmentation fault
“Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end.”
2018-11-04 16:40:27 +01:00
Nikita Popov 4daa413898 Fixed bug #77092
Weird that this worked for so long, probably because nearly all
ext/standard functions use fast ZPP rather than ordinary ZPP.
2018-11-02 14:29:03 +01:00
Derick Rethans 10255a0cd9 Updated to version 2018.7 (2018g) 2018-10-30 11:25:48 +00:00
Derick Rethans fcefc28ce1 Empty merge 2018-10-30 11:25:47 +00:00
Derick Rethans e58388ea6d Updated to version 2018.7 (2018g) 2018-10-30 11:25:45 +00:00
Peter Kokot 69496a04ff [ci skip] Update NEWS 2018-10-30 00:23:20 +01:00
Peter Kokot b1de24e68c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
  fix bug #77079
2018-10-30 00:22:26 +01:00
Peter Kokot 91a1111160 [ci skip] Update NEWS 2018-10-30 00:22:03 +01:00
Jon Allen 8775bead3a fix bug #77079 2018-10-30 00:19:07 +01:00
Nikita Popov 902ec36710 Merge branch 'PHP-7.1' into PHP-7.2 2018-10-25 16:43:36 +02:00
Nikita Popov f1ceec5533 Fixed bug #77058
Account for the fact that undef must be interpreted as null for
the purposes of INC/DEC inference.
2018-10-25 16:37:41 +02:00
Nikita Popov e7153e8a2f Improve "narrowing" error message
By including the opcode name.
2018-10-25 16:36:23 +02:00
Joe Watkins 33fa02ea38 bump versions 2018-10-24 08:43:27 +02:00
Cameron Porter db47e35373 Fixed bug #50675
SOAP: Stop overwriting the node name when creating an XML node
for an object reference.
2018-10-23 14:20:19 +02:00
Remi Collet 1d5baf167a bump to 7.2.13-dev 2018-10-23 12:15:30 +02:00
Derick Rethans c3a8313136 Updated to version 2018.6 (2018f) 2018-10-22 12:05:40 +01:00
Derick Rethans c22b9e0115 Empty merge 2018-10-22 12:05:40 +01:00
Derick Rethans 41241d109a Updated to version 2018.6 (2018f) 2018-10-22 12:05:39 +01:00
Christoph M. Becker 502b187ae8 Fix #75282: xmlrpc_encode_request() crashes
Since we allow ext/xmlrpc to be built against a system libxmlrpc(-epi),
we must not `efree` memory which has been allocated via `malloc`.  To
distinguish bundled and system libxmlrpc(-epi) we introduce the macro
`HAVE_XMLRPC_BUNDLED` (analogous to how it is done by ext/gd).  We
deliberately keep the ugly `#ifdef`s, instead of tucking them away in
an `XMLRPC_FREE()` macro, to not forget that it is a bad idea to fork
and bundle a library, but to also allow building against an unpatched
system lib.
2018-10-21 12:06:55 +02:00
Anatol Belski ba43d5acef Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix tests for ICU 63.1
2018-10-20 23:04:15 +02:00
Anatol Belski 4461fb9c26 Fix tests for ICU 63.1
The most of change is U+00A0 vs. new U+202F used in some outputs.
2018-10-20 23:02:06 +02:00
Peter Kokot 3b8be227bd [ci skip] Update NEWS 2018-10-20 09:52:46 +02:00
Peter Kokot 0dc15e1885 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
  Fix #77041: buildconf should output error messages to stderr
2018-10-20 09:51:22 +02:00
Peter Kokot 1b936033b0 [ci skip] Update NEWS 2018-10-20 09:48:50 +02:00
Mizunashi Mana 9f5cb626ed Fix #77041: buildconf should output error messages to stderr 2018-10-20 09:42:56 +02:00
Peter Kokot b9d8e5d706 [ci skip] Update NEWS 2018-10-19 00:08:57 +02:00
Peter Kokot 5531dde5e9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
  Fix #77035: The phpize and ./configure create redundant .deps file
2018-10-19 00:07:42 +02:00
Peter Kokot 4be0528476 [ci skip] Update NEWS 2018-10-19 00:06:11 +02:00
Peter Kokot 447b41f6bb Fix #77035: The phpize and ./configure create redundant .deps file
The `.deps` file(s) was once used by Automake and created to write
dependencies to it. The file creation has been removed via the commit
779c11af21.

The phpize and ./configure script create a redundant .deps file in a
PECL extension directory which might cause confusions why is it used.
Today it is no longer relevant so this redundant artefact can be
removed in the phpize configure script.
2018-10-19 00:02:09 +02:00
Peter Kokot de9f325c12 Fix tests/output/bug74815.phpt generating errors.log
Test tests/output/bug74815.phpt was creating an errors.log file
in project root directory and didn't removed it after the test.
2018-10-18 23:39:00 +02:00
Anatol Belski 6a5254bc96 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test when it's run on another drive
2018-10-18 00:44:43 +02:00
Anatol Belski fda06127fa Fix test when it's run on another drive 2018-10-18 00:43:24 +02:00
Christoph M. Becker 20695fb895 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #77027: tidy::getOptDoc() not available on Windows
2018-10-17 16:30:46 +02:00
Christoph M. Becker 8a9e0312ce Fix #77027: tidy::getOptDoc() not available on Windows
We define the `HAVE_TIDYOPTGETDOC` macro unconditionally, since the
Windows PHP SDK ships libtidy 2009/04/06 or newer for a long time.

We do not add a regression test, since 021.phpt already tests
`tidy_get_opt_doc`, but has previously been skipped due to
unavailability of the function.
2018-10-17 16:27:07 +02:00
Christoph M. Becker 310b95d7eb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add support for getting SKIP_TAGSTART and SKIP_WHITE options
2018-10-16 18:49:17 +02:00
Christoph M. Becker b33124239a Add support for getting SKIP_TAGSTART and SKIP_WHITE options
When `XML_OPTION_SKIP_TAGSTART` and `XML_OPTION_SKIP_WHITE` had been
introduced[1], it had been overlooked to also support them for
`xml_parser_get_option()`.  We catch up on that.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=b57dc275950b228f2399990471c4f22b7d154c6c>
2018-10-16 18:47:31 +02:00
Peter Kokot f1d7e3ca0b Sync leading and final newlines in *.phpt sections
This patch adds missing newlines, trims multiple redundant final
newlines into a single one, and trims redundant leading newlines in all
*.phpt sections.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-15 04:31:31 +02:00
Peter Kokot f98c916845 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync leading and final newlines in *.phpt sections
2018-10-15 04:30:40 +02:00
Peter Kokot 113213f027 Sync leading and final newlines in *.phpt sections
This patch adds missing newlines, trims multiple redundant final
newlines into a single one, and trims redundant leading newlines in all
*.phpt sections.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-15 04:29:24 +02:00
Peter Kokot 17ccbeec32 Trim trailing whitespace in *.phpt 2018-10-14 19:44:14 +02:00
Peter Kokot cc7215f48f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Trim trailing whitespace in *.phpt
2018-10-14 19:43:39 +02:00
Peter Kokot 7af945e271 Trim trailing whitespace in *.phpt 2018-10-14 19:43:12 +02:00
Peter Kokot 2707932241 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix failing ext/session/tests due to final newlines
2018-10-14 13:41:09 +02:00
Peter Kokot afd534f163 Fix failing ext/session/tests due to final newlines 2018-10-14 13:38:28 +02:00
Peter Kokot 60a69daec6 Sync leading and final newlines in source code files
This patch adds missing newlines, trims multiple redundant final
newlines into a single one, and trims redundant leading newlines.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-14 12:54:08 +02:00
Peter Kokot 6f343d29a5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync leading and final newlines in source code files
2018-10-14 12:52:38 +02:00
Peter Kokot 03f3b8479b Sync leading and final newlines in source code files
This patch adds missing newlines, trims multiple redundant final
newlines into a single one, and trims redundant leading newlines.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-14 12:51:01 +02:00
Frank Denis 5d70165f63 [ci skip] Update NEWS 2018-10-14 10:58:02 +02:00
Frank Denis 82a93c1794 ext/sodium: sodium_pad(): do not copy any bytes if the string is empty
Spotted by San Zhang, thanks!

Backport from PECL libsodium-php 2.0.13
2018-10-14 10:43:21 +02:00
Frank Denis bf48d0c475 ext/sodium: Fix sodium_pad() with blocksize >= 256
Backport from PECL libsodium-php 2.0.12
2018-10-14 10:37:37 +02:00
Frank Denis 15ba7df224 ext/sodium: Use a correct max output size for base64 decoding
Also handle the case where the function is not available in test.

Backport from PECL libsodium-php 2.0.12
2018-10-14 10:37:18 +02:00
Frank Denis d057458166 ext/sodium: Avoid shifts wider than 32 bits on size_t values
Backport from PECL libsodium-php 2.0.10
2018-10-14 10:21:29 +02:00
Peter Kokot c25b1a7e8c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix failing tests/lang due to whitespace
2018-10-13 15:23:35 +02:00
Peter Kokot ed64e1d59a Fix failing tests/lang due to whitespace 2018-10-13 15:22:49 +02:00
Peter Kokot 102cf75eeb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix failing ext/zlib/tests due to whitespace
2018-10-13 15:15:39 +02:00
Peter Kokot 9120e79e9f Fix failing ext/zlib/tests due to whitespace 2018-10-13 15:15:26 +02:00
Peter Kokot 902d39a3a7 Trim trailing whitespace in source code files 2018-10-13 14:14:50 +02:00
Peter Kokot 581f0141b6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Trim trailing whitespace in source code files
2018-10-13 14:13:37 +02:00
Peter Kokot 7f6387b59a Trim trailing whitespace in source code files 2018-10-13 14:12:55 +02:00
Peter Kokot 2aa897476f Convert CRLF line endings to LF
This patch simplifies line endings tracked in the Git repository and
syncs them to all include the LF style instead of the CRLF files.

Newline characters:
- LF (\n) (*nix and Mac)
- CRLF (\r\n) (Windows)
- CR (\r) (old Mac, obsolete)

To see which line endings are in the index and in the working copy the
following command can be used:
`git ls-files --eol`

Git additionally provides `.gitattributes` file to specify if some files
need to have specific line endings on all platforms (either CRLF or LF).

Changed files shouldn't cause issues on modern Windows platforms because
also Git can do output conversion is core.autocrlf=true is set on
Windows and use CRLF newlines in all files in the working tree.

Unless CRLF files are tracked specifically, Git by default tracks all
files in the index using LF newlines.
2018-10-13 11:22:30 +02:00
Peter Kokot 5a0610d8cc Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Convert CRLF line endings to LF
2018-10-13 11:22:02 +02:00
Peter Kokot 3f72c77ce4 Convert CRLF line endings to LF
This patch simplifies line endings tracked in the Git repository and
syncs them to all include the LF style instead of the CRLF files.

Newline characters:
- LF (\n) (*nix and Mac)
- CRLF (\r\n) (Windows)
- CR (\r) (old Mac, obsolete)

To see which line endings are in the index and in the working copy the
following command can be used:
`git ls-files --eol`

Git additionally provides `.gitattributes` file to specify if some files
need to have specific line endings on all platforms (either CRLF or LF).

Changed files shouldn't cause issues on modern Windows platforms because
also Git can do output conversion is core.autocrlf=true is set on
Windows and use CRLF newlines in all files in the working tree.

Unless CRLF files are tracked specifically, Git by default tracks all
files in the index using LF newlines.
2018-10-13 11:21:27 +02:00
Derick Rethans 94a98f2c63 Upgrade timelib to 2017.08, to fix bug #77007 2018-10-12 11:41:05 +01:00
Christoph M. Becker ebecf569f9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #30875: xml_parse_into_struct() does not resolve entities
2018-10-09 16:06:56 +02:00
Christoph M. Becker 2845f859c1 Fix #30875: xml_parse_into_struct() does not resolve entities
Setting up an empty default handler is not only useless, but actually
harmful, since internal entity-references are not resolved anymore.
From the libexpat docs[1]:

| Setting the handler with this call has the side effect of
| turning off expansion of references to internally defined general
| entities. Instead these references are passed to the default
| handler.

[1] <https://www.xml.com/pub/1999/09/expat/reference.html#setdefhandler>
2018-10-09 16:04:43 +02:00
Pierrick Charron efa5674a9b Merge branch 'PHP-7.1' into PHP-7.2 2018-10-09 01:20:01 -04:00
Pierrick Charron f42d7bddc0 Fixed bug #76965 INI_SCANNER_RAW doesn't strip trailing whitespace 2018-10-09 00:00:21 -04:00
Christoph M. Becker 879c937a27 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76954: apache_response_headers removes last character from header name
2018-10-08 12:30:45 +02:00
stodorovic 47b89bc531 Fix #76954: apache_response_headers removes last character from header name 2018-10-08 12:29:31 +02:00
Christoph M. Becker 1b97f291a7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75851: Year component overflow with date formats "c", "o", "r" and "y"
2018-10-08 11:50:37 +02:00
Adam Saponara c097acd52e Fix #75851: Year component overflow with date formats "c", "o", "r" and "y" 2018-10-08 11:48:58 +02:00
Pedro Magalhães 608b48e5f4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Remove unstable dns tests
2018-10-06 15:58:32 +01:00
Pedro Magalhães 49835e1436 Remove unstable dns tests 2018-10-06 15:58:01 +01:00
Pedro Magalhães 82e10f3974 Fix #76888 - Remove unstable test 2018-10-06 15:45:07 +01:00
Anatol Belski fec5786f87 [ci skip] Update NEWS 2018-10-05 22:59:55 +02:00
Anatol Belski 833a1daee2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
  Add test for bug #76942
2018-10-05 22:57:45 +02:00
Anatol Belski aaf4cc05eb [ci skip] Update NEWS 2018-10-05 22:57:27 +02:00
Anatol Belski 72df422d69 Add test for bug #76942 2018-10-05 22:54:50 +02:00
Anatol Belski a7754286d2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add test for bug #76942
  Fixed Bug #76942 U_ARGUMENT_TYPE_MISMATCH
2018-10-05 22:52:53 +02:00
Anatol Belski c2a956de6f Add test for bug #76942 2018-10-05 22:51:58 +02:00
Anatol Belski 534684d104 Fixed Bug #76942 U_ARGUMENT_TYPE_MISMATCH
ref bug #74484
2018-10-05 22:50:34 +02:00
Nikita Popov fde2ae3721 Merge branch 'PHP-7.1' into PHP-7.2 2018-10-05 18:41:28 +02:00
Manuel Mausz bb4a2e8bb7 Fix #76972: FTP data truncation due to forceful ssl socket shutdown
Do a correct bidirectional shutdown instead
2018-10-05 18:40:50 +02:00
Anatol Belski 42b769b9e2 Update NEWS [ci skip] 2018-10-03 18:49:52 +02:00
Anatol Belski 31a293f885 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS [ci skip]
2018-10-03 18:49:13 +02:00
Anatol Belski abfda3de99 Update NEWS [ci skip] 2018-10-03 18:48:40 +02:00
Anatol Belski b8cfa09657 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Avoid code duplication and don't miss env restore
2018-10-03 14:34:08 +02:00
Anatol Belski 044eb39e63 Avoid code duplication and don't miss env restore 2018-10-03 14:32:52 +02:00
Remi Collet da05b7e81e bump zip extension version 2018-10-03 12:59:01 +02:00
Anatol Belski dc48e01a19 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76948 Failed shutdown/reboot or end session in Windows
2018-10-03 12:13:22 +02:00
Anatol Belski b0547a3dfb Fixed bug #76948 Failed shutdown/reboot or end session in Windows 2018-10-03 12:11:43 +02:00
Nikita Popov 54aa76167b Merge branch 'PHP-7.1' into PHP-7.2 2018-10-03 10:50:16 +02:00
Nikita Popov 945f315506 Reflection: Copy invoke function also in the variadic case
It doesn't matter how the parameters are provided, we always have
to copy the trampoline invoke function.
2018-10-03 10:48:42 +02:00
Nikita Popov f0647edd88 Fixed bug #66430 2018-10-02 18:19:53 +02:00
Nikita Popov d2477b284b Fixed bug #76936 2018-10-02 17:47:07 +02:00
Nikita Popov 56d1578515 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-30 20:07:44 +02:00
Nikita Popov db80e0e2ad Fixed bug #75479
Wrap the zend_signal_init() call, so the hook arguments line up.
2018-09-30 20:07:15 +02:00
James Titcumb 950c338f80 Fix reflection arguments for sodium_memzero function 2018-09-29 21:19:42 +02:00
Nikita Popov 8e7dfc6ddf Merge branch 'PHP-7.1' into PHP-7.2 2018-09-28 19:17:29 +02:00
Nikita Popov 83e2b9e220 Fixed bug #76946 2018-09-28 19:15:19 +02:00
Sara Golemon fed09a23b7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Bump versions for 7.1.24-dev
2018-09-28 11:32:41 -04:00
Sara Golemon 69c1b619c9 Bump versions for 7.1.24-dev 2018-09-28 11:31:22 -04:00
Nikita Popov 99eb4b2ea4 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-28 13:41:06 +02:00
Nikita Popov fa84b8ebb4 Fix test for release builds 2018-09-28 13:40:58 +02:00
Nikita Popov 1c35357b31 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-28 12:57:55 +02:00
Nikita Popov 45cdcb2d0b Fixed bug #76846 2018-09-28 12:56:47 +02:00
Sara Golemon 5f29e3fb6e Bump version 2018-09-25 16:39:25 -04:00
Sara Golemon 4baf4964ad Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76918 Repeated parameter name in arg info
2018-09-25 12:09:38 -04:00
Sara Golemon b5d0eb44c0 Fixed bug #76918 Repeated parameter name in arg info 2018-09-25 11:18:24 -04:00
Christopher Jones 682d0f8325 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-24 20:53:11 +10:00
Christopher Jones 9e56a3373e Terminate smart string correctly
This is related to Zend VM regression bug #75881.  The regression was fixed in the VM, so there is no user visible change from the termination correction.
2018-09-24 20:52:58 +10:00
Christopher Jones 4ba1fc0a11 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-24 20:06:05 +10:00
Christopher Jones 91954c24da Make usable for PECL OCI8 release for PHP 7.x 2018-09-24 20:05:54 +10:00
Christopher Jones 28b89afca1 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-24 17:06:59 +10:00
Christopher Jones 57eb25b393 Backport master branch comment typo fix 2018-09-24 17:06:29 +10:00
Christopher Jones d7b060e995 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-24 17:01:20 +10:00
Christopher Jones 3d497f884f Make tests portable across PHP 7.x versions 2018-09-24 17:01:13 +10:00
Christopher Jones a370e7d0ad Merge branch 'PHP-7.1' into PHP-7.2 2018-09-24 16:52:26 +10:00
Christopher Jones 338802b543 Remove $id from phpinfo as already done in PHP-7.3 2018-09-24 16:52:17 +10:00
Christopher Jones fc296a27db Merge branch 'PHP-7.1' into PHP-7.2 2018-09-24 16:38:47 +10:00
Christopher Jones 37652336c7 And strip trailing tabs too... 2018-09-24 16:38:39 +10:00
Christopher Jones d2b04c1749 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-24 16:00:04 +10:00
Christopher Jones bdd67d8175 Sync EXPECT usage with PHP-7.3 2018-09-24 15:59:52 +10:00
Christopher Jones f396d297aa Merge branch 'PHP-7.1' into PHP-7.2 2018-09-24 13:27:35 +10:00
Christopher Jones a2c0f8722b Remove trailing whitespace to help keep branches in sync 2018-09-24 13:27:27 +10:00
Christopher Jones f68662f63f Merge branch 'PHP-7.1' into PHP-7.2 2018-09-24 09:56:53 +10:00
Christopher Jones eceb34073b Remove trailing whitespace to help keep branches in sycn 2018-09-24 09:37:46 +10:00
Christoph M. Becker 7c2cc9aa56 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #66828: iconv_mime_encode Q-encoding longer than it should be
2018-09-22 15:31:02 +02:00
Christoph M. Becker 9cbe1283f7 Fix #66828: iconv_mime_encode Q-encoding longer than it should be
Before the fix for bug 48289 has been applied, the algorithm to
construct a Q-encoded-word has been optimistic, i.e. try to encode as
many bytes that *may* fit in the remaining space, calculate the actual
length of the Q-encoded word, and if it's too long, try again with a
reduced size.  However, the fix for the mentioned bug replaced this by
a pessimistic algorithm, which always terminates[1] the for loop[2]
during the first iteration (which renders the following 3 lines as dead
code), and as such easily produces unnecessarily short encoded-words.
Instead the proper fix for the bug would have been to make sure that
`out_size` is always decremented, if the space isn't sufficient for the
encoded-word.

[1] <https://github.com/php/php-src/blob/php-7.3.0beta3/ext/iconv/iconv.c#L1421>
[2] <https://github.com/php/php-src/blob/php-7.3.0beta3/ext/iconv/iconv.c#L1360>
2018-09-22 15:20:20 +02:00
Nikita Popov c26902911f Merge branch 'PHP-7.1' into PHP-7.2 2018-09-19 12:31:46 +02:00
Nikita Popov 842bec5b3c Fix getColumnMeta() test
Newer MySQL versions are stricter about invalid values. Three issues
are fixed:

* Don't use negative values with ZEROFILL. ZEROFILL implies UNSIGNED.
* Use a legal TIMESTAMP value. TIMESTAMP does not accept a Unix timestamp.
* Specify BIGINT values as strings, to avoid overflows.

This is a cherry-pick of d2dc0a3291 from master.
2018-09-19 12:29:38 +02:00
Nikita Popov c614dd677c Fix intermittent failures in mysqli_stmt_bind_result_format.phpt
There were two distinct issues here:
 * $trend was compared against 'NULL' using !=, which does not work
   as intended in the case where $trend==0.0.
 * current_targets was declared as double(17,0), which means that
   the fractional part was rounded, so that the same comparison in
   SQL (rounded) and in PHP (not rounded) did not necessarily
   match.

Please don't write mt_rand based tests, it takes ages to debug this
crap...
2018-09-19 12:27:31 +02:00
Nikita Popov cc1fb02760 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-19 09:39:13 +02:00
Nikita Popov 294fb83ee8 Fixed bug #76901
get_method() may modify the object pointer passed to it if method
forwarding is used. In this case we do not want to modify the
passed zval, so make sure that we copy the object into a temporary
first.
2018-09-19 09:37:04 +02:00
Nikita Popov 6bf681249f Merge branch 'PHP-7.1' into PHP-7.2 2018-09-18 20:50:37 +02:00
Manabu Matsui ab6c45f524 Fix bug #75533: array_reduce is slow when $carry is large array 2018-09-18 20:49:59 +02:00
Anatol Belski a747db872f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add spectre switch for suitable vc14 versions
2018-09-18 10:45:18 +02:00
Anatol Belski be02b2e8fd Add spectre switch for suitable vc14 versions 2018-09-18 10:43:52 +02:00
Pierrick Charron bc1ecd5d7f Merge branch 'PHP-7.1' into PHP-7.2 2018-09-17 20:30:18 -04:00
Pierrick Charron 3bb218a0a7 Fix 76480: Use curl_multi_wait() so that timeouts are respected 2018-09-17 20:28:44 -04:00
Thomas Petazzoni 3691b6d245 Fix #76886: Can't build xmlrpc with expat
We fix it by including "php.h" in the HAVE_LIBEXPAT case.
2018-09-15 13:21:53 +02:00
Dmitry Stogov 3bc4a63fc2 Fixed bug #76800 (foreach inconsistent if array modified during loop) 2018-09-14 10:28:31 +03:00
Anatol Belski 83685b5258 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync version for vc++ 15.9
2018-09-13 19:26:49 +02:00
Anatol Belski d77ac7b3dc Sync version for vc++ 15.9 2018-09-13 19:25:23 +02:00
Anatol Belski 922f1a0dcf Backport changes for OpenSSL 1.1.1 CI integration
Add debug message for failing test parts

(cherry picked from commit a45169a6ba)

Show all unmatched errors when test failed

(cherry picked from commit 7015965254)

More possibly colliding libs to remove from the test image

(cherry picked from commit 3008ad1a49)

Remove colliding file from CI image

(cherry picked from commit 6220d21c34)

Fix typo

(cherry picked from commit 24517d82cf)
2018-09-13 11:03:42 +02:00
Anatol Belski 05a4fec761 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Improve error code matching
2018-09-12 16:24:38 +02:00
Anatol Belski 19ab91781e Improve error code matching 2018-09-12 16:22:22 +02:00
Anatol Belski aed32f2a03 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update binary SDK version for AppVeyor
2018-09-12 12:11:07 +02:00
Anatol Belski 49511a5132 Update binary SDK version for AppVeyor 2018-09-12 12:09:32 +02:00
Ferenc Kovacs f56eeb1779 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-12 00:04:40 +02:00
Ferenc Kovacs 68a77fe3d8 Merge branch 'PHP-7.0' into PHP-7.1 2018-09-12 00:02:18 +02:00
Ferenc Kovacs cba6055cac Merge branch 'PHP-5.6' into PHP-7.0 2018-09-12 00:00:46 +02:00
Ferenc Kovacs 81f23057dc 5.6.39 will be the next 2018-09-11 23:58:17 +02:00
Anatol Belski 9fe7250e5c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  7.0.33 next
2018-09-11 07:01:18 +02:00
Anatol Belski af80ff25f6 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  7.0.33 next
2018-09-11 07:00:48 +02:00
Anatol Belski 1b89522974 7.0.33 next 2018-09-11 07:00:15 +02:00
Anatol Belski e28516bb91 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync NEWS [ci skip]
2018-09-10 16:58:02 +02:00
Anatol Belski df45faf446 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Sync NEWS [ci skip]
2018-09-10 16:57:24 +02:00
Anatol Belski 4415dab25e Sync NEWS [ci skip] 2018-09-10 16:56:37 +02:00
Remi Collet 609afc2992 add NEWS for 76582 2018-09-10 15:30:51 +02:00
Stanislav Malyshev 788717d56d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fix for bug #76582
2018-09-09 12:29:29 -07:00
Stanislav Malyshev 6623f3caca Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Update NEWS
  Fix for bug #76582
2018-09-09 12:29:23 -07:00
Stanislav Malyshev 024f3ac160 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Update NEWS
  Fix for bug #76582
2018-09-09 12:27:44 -07:00
Stanislav Malyshev c1de84014d Update NEWS 2018-09-09 12:19:38 -07:00
Stanislav Malyshev 23b057742e Fix for bug #76582
The brigade seems to end up in a messed up state if something fails
in shutdown, so we clean it up.
2018-09-09 11:45:14 -07:00
Jakub Zelenka 87a9536bda Merge branch 'PHP-7.1' into PHP-7.2 2018-09-09 18:58:23 +01:00
Jakub Zelenka be50a72715 Fix ssl stream reneg limit test to print only after first renegotiation
It has been reported that in some setup the test does multiple
renegotiations which is allowed.
2018-09-09 18:53:55 +01:00
Christoph M. Becker fa70b91a4f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75273: php_zlib_inflate_filter() may not update bytes_consumed
2018-09-08 19:09:56 +02:00
Christoph M. Becker 90d863898c Fix #75273: php_zlib_inflate_filter() may not update bytes_consumed
Whenever we return with `PSFS_PASS_ON`, we need to update
`bytes_consumed` to not mislead the caller.  Instead of fixing the
respective `if` clauses, we eschew the early bail-outs to simplify the
code a bit.
2018-09-08 19:01:36 +02:00
Nikita Popov cfdd828163 Fixed bug #76796 2018-09-07 14:02:03 +02:00
Anatol Belski b323e1e8d0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync with recent changes to default libcurl build
2018-09-05 21:29:53 +02:00
Anatol Belski 28c6125053 Sync with recent changes to default libcurl build
(cherry picked from commit a1ba3007a4)
2018-09-05 21:28:59 +02:00
Christoph M. Becker 7a2c9585c4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #74454: Wrong exception being thrown when using ReflectionMethod
2018-09-05 15:07:59 +02:00
Christoph M. Becker c0a389a927 Fix #74454: Wrong exception being thrown when using ReflectionMethod
If zend_throw_exception_ex() already threw an exception, we should not
throw again.
2018-09-05 15:05:19 +02:00
Joe Watkins 21f8cd2a92 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #74764 and add a test case
2018-09-04 11:12:39 +02:00
Ville Hukkamaki 0f724453c0 Fix bug #74764 and add a test case 2018-09-04 11:12:04 +02:00
Anatol Belski 64d2978546 [ci skip] Update NEWS 2018-09-04 11:02:26 +02:00
Anatol Belski 9459b45e2b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-09-04 11:01:57 +02:00
Anatol Belski e58690a26d [ci skip] Update NEWS 2018-09-04 11:01:24 +02:00
Anatol Belski 2476fb76a7 Fixed bug #76833, backport change to stream_socket_enable_crypto-win32.phpt from 7.3
It would probably be better to remove this test as it's too much
maintanance for a little gain.
2018-09-04 10:53:35 +02:00
Nikita Popov edec566d9b Merge branch 'PHP-7.1' into PHP-7.2 2018-09-04 05:49:02 +02:00
Nikita Popov 03740ef7df Revert all MySQL auth related changes
Per bug #76651 these changes do not appear to work correctly in
some cases. As no immediate fix seems to be forthcoming, I'm
reverting these changes.

Revert "Fixed invalid free introduced by d6e81f0bfd (avoid keeping "invalid" pointer)"

This reverts commit 11507c0e1b.

Revert "Fix mysqlnd build without openssl"

This reverts commit 6c9db02ff7.

Revert "Fix VC compilation as variable size array is not supported"

This reverts commit f96df64cb2.

Revert "Fix MySQL 8 auth"

This reverts commit d6e81f0bfd.
2018-09-04 05:47:28 +02:00
Nikita Popov 08addfea86 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-04 05:32:42 +02:00
Nikita Popov f1f39d7ed7 Fix parenthesis warning 2018-09-04 05:32:25 +02:00
Peter Kokot 870d893d0b Fix bug #75481: makedev warning
To use makedev the sys/sysmacros.h needs to be included on newer
systems.

Cherry-picked from PHP-7.3.
2018-09-04 05:13:45 +02:00
Nikita Popov fcf78dfb89 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-04 04:55:15 +02:00
Ville Hukkamaki 742783c3ee Fixed bug #73457
Correctly report errors when opening FTP data connection.
2018-09-04 04:53:38 +02:00
Anatol Belski a6b8651d94 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76832 ZendOPcache.MemoryBase periodically deleted by the OS
2018-09-03 15:10:25 +02:00
Anatol Belski f26172f934 Fixed bug #76832 ZendOPcache.MemoryBase periodically deleted by the OS 2018-09-03 15:09:23 +02:00
Dmitry Stogov accf5ed621 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed reference-countingin ZTS build.
2018-09-03 10:21:32 +03:00
Dmitry Stogov 7fde2243a7 Fixed reference-countingin ZTS build. 2018-09-03 10:20:40 +03:00
Jakub Zelenka cd0a37994e Fix stream_security_level.phpt with OpenSSL 1.1.1 2018-09-02 20:00:08 +01:00
Christoph M. Becker 7bcda659f8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75696: posix_getgrnam fails to print details of group
2018-09-01 14:28:13 +02:00
Christoph M. Becker 2677d43850 Fix #75696: posix_getgrnam fails to print details of group
According to the POSIX specification of `getgrnam_r()` the result of
`sysconf(_SC_GETGR_R_SIZE_MAX)` is an initial value suggested for the
size of the buffer, and `ERANGE` signals that insufficient storage was
supplied.  So if we get `ERANGE`, we try again with a buffer twice as
big, and so on, instead of failing.
2018-09-01 14:25:59 +02:00
Anatol Belski 1ccc4ff260 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix stack underflow in phar
2018-08-30 19:34:01 +02:00
Anatol Belski 7fb7869e13 Fix stack underflow in phar
The checks can issue reads below and above the temporary buffer. A read
itself doesn't seem dangerous, but the condition result can be
arbitrary. Such reads have to be avoided. Likely this patch should be
backported.

(cherry picked from commit b053beee7e)
2018-08-30 19:33:07 +02:00
Anatol Belski 58339f37e5 Switch to staging series on AppVeyor 2018-08-30 17:38:51 +02:00
Remi Collet 6e703c957e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix double cast to int on 32-bit
2018-08-30 09:04:13 +02:00
Remi Collet c1729272b1 fix double cast to int on 32-bit 2018-08-30 09:03:50 +02:00
Dmitry Stogov fd5a453cb9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed incorrect ZEND_ACC_ARENA_ALLOCATED usage (it must be used only for internal functions).
2018-08-29 23:41:14 +03:00
Dmitry Stogov 709e4e4f17 Fixed incorrect ZEND_ACC_ARENA_ALLOCATED usage (it must be used only for internal functions). 2018-08-29 23:40:17 +03:00
Sara Golemon 7881e92c24 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Prep for 7.1.23
2018-08-29 12:41:36 -04:00
Sara Golemon 5fee4e7108 Prep for 7.1.23 2018-08-29 12:41:05 -04:00
Remi Collet 7353dae815 bump to 7.2.11-dev 2018-08-28 10:17:33 +02:00
Christoph M. Becker 20849b0b0f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #68180: iconv_mime_decode can return extra characters in a header
2018-08-26 13:21:22 +02:00
Christoph M. Becker efb86aef12 Fix #68180: iconv_mime_decode can return extra characters in a header
Basically, the algorithm to append a converted string to an existing
`smart_str` works by increasing the `smart_str` buffer, to let `iconv`
convert characters until there is no more space, to set the new length
of the `smart_str` and to repeat until there is no more input.

Formerly, the new length calculation has been wrong, though, since we
would have to take the old `out_len` into account (`buf_growth -
old_out_len - out_len`).  However, since there is no need to take the
old `out_len` into account when increasing the `smart_str` buffer, we
can simplify the fix, avoiding an additional variable.
2018-08-26 13:18:35 +02:00
Christoph M. Becker 314b8ecf8b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #60494: iconv_mime_decode does ignore special characters
2018-08-25 17:47:29 +02:00
Christoph M. Becker e29c946c29 Fix #60494: iconv_mime_decode does ignore special characters
We must not ignore erroneous characters in mime headers, but rather let
iconv_mime_decode() fail in this case, issuing the usual notice
regarding illegal characters.
2018-08-25 17:40:39 +02:00
Christoph M. Becker 7e176ddb57 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #63839: iconv_mime_decode_headers function is skipping headers
2018-08-25 14:52:54 +02:00
Christoph M. Becker 8754d44167 Fix #63839: iconv_mime_decode_headers function is skipping headers
We have to cater to the possibility that `=?` is not the start of an
encoded-word, but rather a literal `=?`.  If a line break is found
while we're still looking for the charset, we can safely assume that
it's a literal `=?`, and act accordingly.
2018-08-25 14:51:13 +02:00
Christoph M. Becker 6922cae4ae Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #55146: iconv_mime_decode_headers() skips some headers
2018-08-25 14:41:38 +02:00
Christoph M. Becker 6e1980e152 Fix #55146: iconv_mime_decode_headers() skips some headers
If we're expecting the start of an encoded word (`=?`), but instead of
the question mark get a line break (CR or LF), we must not append it to
the `pretval`.
2018-08-25 14:40:07 +02:00
Anatol Belski 8f43ec1e83 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  mkdist.php: recursively check dll dependencies
2018-08-23 21:26:40 +02:00
Dylan K. Taylor b9bf9ddce6 mkdist.php: recursively check dll dependencies
Fix duplication of recursively checked deps
2018-08-23 21:25:54 +02:00
Christoph M. Becker 1c3d5659bd Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Simplify regression test
2018-08-23 12:49:26 +02:00
Christoph M. Becker 6644bd005f Simplify regression test
There's no need to actually try to trigger an out-of-memory condition
to proof the leak; instead we can simply rely on the Zend MM to report
the memory leaks in debug mode (at least on Linux).  Therefore we
simplify the regression test, which also makes it run much faster.
2018-08-23 12:48:09 +02:00
Christoph M. Becker 36946f5c45 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #68825: Exception in DirectoryIterator::getLinkTarget()
2018-08-22 15:38:30 +02:00
Christoph M. Becker 32a728d351 Fix #68825: Exception in DirectoryIterator::getLinkTarget()
intern->file_name may not have been properly set when
DirectoryIterator::getLinkTarget() is called, so we make sure it is
before using it.
2018-08-22 15:37:02 +02:00
Christoph M. Becker 10661e28d1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Increase memory_limit to prevent test failures
2018-08-22 14:30:23 +02:00
Christoph M. Becker 5fb01a3a42 Increase memory_limit to prevent test failures 2018-08-22 14:29:28 +02:00
Christoph M. Becker cdd9eb8c4a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76778: array_reduce leaks memory if callback throws exception
2018-08-22 13:49:35 +02:00
Christoph M. Becker 70b2fca220 Fix #76778: array_reduce leaks memory if callback throws exception
We have to release the result variable in the error case, too.
2018-08-22 13:40:24 +02:00
Massimiliano Braglia 2527a0fcfd Fixed bug #75797
Fix zend_register_class_alias_ex() to use non-persistent strings
for (non-persistent) userland classes.
2018-08-22 13:39:08 +02:00
Christoph M. Becker 7ad0595712 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76777 and added test
2018-08-22 12:52:41 +02:00
Ville Hukkamaki cf2fc66b02 Fixed bug #76777 and added test
Set undefined values to null rather than undefined.
2018-08-22 12:51:06 +02:00
Jakub Zelenka 73a8f72617 Merge branch 'PHP-7.1' into PHP-7.2 2018-08-19 20:19:01 +01:00
Jakub Zelenka 4c542e6c13 Fix bug #76705 (unusable ssl => peer_fingerprint in stream_context_create()) 2018-08-19 20:14:26 +01:00
Anatol Belski b0da1745be Use stable deps on AppVeyor for now
as long as the latest image is not synced with VC++ 15.8
2018-08-18 20:04:19 +02:00
Christoph M. Becker 41d2102c77 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add regression test for bug #68175
  Fix #68175: RegexIterator pregFlags are NULL instead of 0
2018-08-18 14:37:48 +02:00
Christoph M. Becker 4c448334bd Add regression test for bug #68175 2018-08-18 14:36:16 +02:00
Tim Siebels 3257d22fea Fix #68175: RegexIterator pregFlags are NULL instead of 0 2018-08-18 14:33:39 +02:00
Anatol Belski 4aa5065bb0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update binary SDK version for AppVeyor
2018-08-17 15:45:31 +02:00
Anatol Belski 837ed71c65 Update binary SDK version for AppVeyor 2018-08-17 15:44:10 +02:00
Xinchen Hui acd4264f7b Update NEWS 2018-08-17 13:35:46 +08:00
Xinchen Hui ca103b415e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76754 (parent private constant in extends class memory leak)
2018-08-17 13:35:31 +08:00
Xinchen Hui 04c4854fdf Fixed bug #76754 (parent private constant in extends class memory leak) 2018-08-17 13:35:15 +08:00
Xinchen Hui a158fb958f Merge branch 'PHP-7.2' of git.php.net:/php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:/php-src:
  fix man page installation
2018-08-16 14:01:17 +08:00
Xinchen Hui 64c88c1e16 Merge branch 'PHP-7.1' of git.php.net:/php-src into PHP-7.1
* 'PHP-7.1' of git.php.net:/php-src:
  fix man page installation
2018-08-16 14:00:30 +08:00
Xinchen Hui eb7fca9546 Update NEWS 2018-08-16 13:56:52 +08:00
Xinchen Hui a879f4dd22 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76747 (Opcache treats path containing "test.pharma.tld" as a phar file)
2018-08-16 13:56:37 +08:00
Xinchen Hui 8c92442b49 Fixed bug #76747 (Opcache treats path containing "test.pharma.tld" as a phar file) 2018-08-16 13:56:20 +08:00
Remi Collet 2cdde35d0f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix man page installation
2018-08-16 06:54:57 +02:00
Remi Collet 1f2f2c6b96 fix man page installation
Since 91996e7ee5
phpdbg.1 is in buildir, not in srcdir
2018-08-16 06:53:56 +02:00
Christoph M. Becker 56abfd2798 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix arginfo for bzcompress
2018-08-13 16:00:25 +02:00
Tyson Andre e20baee136 Fix arginfo for bzcompress
bzcompress() has 1 required parameter, not 2.

See http://php.net/manual/en/function.bzcompress.php or invoke
bzcompress with 1 parameter.
2018-08-13 15:59:08 +02:00
Anatol Belski dd0fb4fd9b Update NEWS [ci skip] 2018-08-13 09:13:05 +02:00
Anatol Belski dc3f4f7342 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS [ci skip]
2018-08-13 09:12:32 +02:00
Anatol Belski 859f7fce1f Update NEWS [ci skip] 2018-08-13 09:11:57 +02:00
Anatol Belski 9cc74ba229 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #74484 MessageFormatter::formatMessage memory corruption
2018-08-09 22:08:30 +02:00
Anatol Belski 45a05f3841 Fixed bug #74484 MessageFormatter::formatMessage memory corruption
with 11+ named placeholder
2018-08-09 22:07:24 +02:00
Peter Kokot 0b9a540dd7 [ci skip] Update NEWS 2018-08-06 09:42:32 +02:00
Peter Kokot f4777c6a51 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-08-06 09:41:54 +02:00
Peter Kokot 935625f1b8 [ci skip] Update NEWS 2018-08-06 09:41:38 +02:00
Peter Kokot fab7d9f577 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #76709: Minimal required zlib library is 1.2.0.4
2018-08-06 09:39:33 +02:00
Peter Kokot a3e3d914ed Fix bug #76709: Minimal required zlib library is 1.2.0.4
The minimal required version of zlib system library is 1.2.0.4 instead
of 1.0.9 as reported in the ./configure --help.
2018-08-06 09:37:16 +02:00
Peter Kokot fa07b8bbb7 [ci skip] Update NEWS 2018-08-06 06:19:33 +02:00
Peter Kokot 86e9965c87 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-08-06 06:17:59 +02:00
Peter Kokot 4d5edcb4ac [ci skip] Update NEWS 2018-08-06 06:17:45 +02:00
Peter Kokot eceecb6900 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #65988: Zlib version check fails
2018-08-06 06:15:51 +02:00
Jay Bonci c8a90606c1 Fix bug #65988: Zlib version check fails
When an 'include/zlib/' style dir is passed to --with-zlib configure
option the zlib version check fails.
2018-08-06 06:14:11 +02:00
Peter Kokot 8cbb381068 [ci skip] Update NEWS 2018-08-06 01:44:37 +02:00
Peter Kokot 6b092bcaae Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-08-06 01:44:07 +02:00
Peter Kokot b4b14d2106 [ci skip] Update NEWS 2018-08-06 01:43:37 +02:00
Peter Kokot 68ab719baa Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #72443: Generate enabled extension
2018-08-06 01:28:39 +02:00
Peter Kokot 45a3c0e596 Fix bug #72443: Generate enabled extension
The PHP extension generator script now generates enabled extension with
less required steps for using the newly generated files.
2018-08-06 01:22:17 +02:00
Peter Kokot 6680d5f875 [ci skip] Update NEWS 2018-08-05 20:36:59 +02:00
Peter Kokot b9c3c1441a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-08-05 20:36:33 +02:00
Peter Kokot 169a98319a [ci skip] Update NEWS 2018-08-05 20:35:23 +02:00
Peter Kokot 8d91e82871 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed incorrect restoring of LDFLAGS
2018-08-05 20:27:33 +02:00
sji 0f557756dd Fixed incorrect restoring of LDFLAGS 2018-08-05 20:26:40 +02:00
Peter Kokot 827abb843f [ci skip] Update NEWS
Bug fix #76595 has been done after the 7.2.9RC1 release and should go
to appropriate NEWS location then.
2018-08-04 16:19:47 +02:00
Peter Kokot 18db1ce211 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-08-04 16:17:26 +02:00
Peter Kokot fd0fc20d35 [ci skip] Update NEWS
Bug fix #76595 has been done after RC release and should go to
appropriate NEWS location then.
2018-08-04 16:16:07 +02:00
Christoph M. Becker db8bcdba80 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76704: mb_detect_order return value varies based on argument type
2018-08-04 12:57:05 +02:00
Christoph M. Becker c00f5e6531 Fix #76704: mb_detect_order return value varies based on argument type
php_mb_parse_encoding_list() and php_mb_parse_encoding_array() are
supposed to return SUCCESS and FAILURE, not 1 and 0, respectively.
2018-08-04 12:51:57 +02:00
Peter Kokot ffae3fb25d [ci skip] Update NEWS 2018-08-04 06:40:31 +02:00
Peter Kokot fa59dc550d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-08-04 06:39:33 +02:00
Peter Kokot b71a503844 [ci skip] Update NEWS 2018-08-04 06:39:19 +02:00
Peter Kokot 9286681bac Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug 76595: Update phpdbg man page
2018-08-04 06:35:40 +02:00
Kevin Abel 91996e7ee5 Fix bug 76595: Update phpdbg man page
Send phpdbg.1 man page through configure replacements
Update phpdbg.1 man page to include all options
Fixes formatting to be more consistent with php.1
Fix paragraph whitespace and ignore phpdbg.1
2018-08-04 06:34:40 +02:00
Anatol Belski 0872e80dd8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Improve cleanup
2018-08-03 07:10:27 +02:00
Anatol Belski 41c69766a4 Improve cleanup
The persistent connection locks the file which might prevent deletion.
2018-08-03 07:08:53 +02:00
Anatol Belski 91a0a10f71 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix callbacks
  bump version
2018-08-02 21:20:04 +02:00
Anatol Belski 19592519c2 Fix callbacks
The signatures wasn't synced in 7.0
2018-08-02 18:59:34 +02:00
Sara Golemon 0ba49597b9 Roll NEWS for 7.2.10 2018-08-02 11:21:40 -04:00
Joe Watkins 74988eed99 bump version 2018-07-31 16:38:35 +02:00
Anatol Belski 095a30e11b Update NEWS [ci skip] 2018-07-30 19:43:23 +02:00
Anatol Belski e111ef5626 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS [ci skip]
2018-07-30 19:42:45 +02:00
Anatol Belski 2870178720 Update NEWS [ci skip] 2018-07-30 19:42:10 +02:00
Anatol Belski d207d6a57f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75402 Possible Memory Leak using PDO::CURSOR_SCROLL option
2018-07-30 18:28:53 +02:00
Anatol Belski cc69950b15 Fixed bug #75402 Possible Memory Leak using PDO::CURSOR_SCROLL option 2018-07-30 18:27:59 +02:00
Christoph M. Becker ce66492a13 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76665: SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle
2018-07-26 13:26:58 +02:00
Christoph M. Becker ed7e3bc70a Fix #76665: SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle
We need to ensure that a zval IS_DOUBLE before we access it as such.
In this case we apply common type juggling to do so.
2018-07-26 13:15:19 +02:00
Christoph M. Becker a96ca13963 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76643: Segmentation fault when using `output_add_rewrite_var`
2018-07-24 12:28:22 +02:00
Christoph M. Becker 40bd84d3e3 Fix #76643: Segmentation fault when using output_add_rewrite_var
We have to check whether _SERVER is actually an array before we're
going to use it as such.
2018-07-24 12:20:13 +02:00
Xinchen Hui 033dac7a6f Update NEWs 2018-07-24 11:35:43 +08:00
Xinchen Hui 2a181b5ea0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #68553 (array_column: null values in $index_key become incrementing keys in result)
2018-07-24 11:35:22 +08:00
Xinchen Hui 38d97557da Fixed bug #68553 (array_column: null values in $index_key become incrementing keys in result) 2018-07-24 11:34:57 +08:00
Xinchen Hui c20a97df6d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed pefree_size (efree_size will be expaned to do {} while () form)
2018-07-23 15:48:52 +08:00
Xinchen Hui 2139c2c2de Fixed pefree_size (efree_size will be expaned to do {} while () form) 2018-07-23 15:48:14 +08:00
Christoph M. Becker 33eb30274f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #52974: jewish.c: compile error under Windows with GBK charset
2018-07-22 17:59:38 +02:00
Christoph M. Becker 99fdf5916e Fix #52974: jewish.c: compile error under Windows with GBK charset
jewish.c includes ISO-8859-8 encoded Hebrew Hebrew month names, which
may cause compile errors, and is generally confusing.  We replace the
literal month names with appropriate escape sequences.
2018-07-22 17:42:10 +02:00
Anatol Belski 2073e96ec5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update binary SDK version for AppVeyor
2018-07-19 18:37:38 +02:00
Anatol Belski 9e54d9d692 Update binary SDK version for AppVeyor 2018-07-19 18:35:54 +02:00
Ferenc Kovacs ca618a4f10 Merge branch 'PHP-7.1' into PHP-7.2 2018-07-19 16:57:50 +02:00
Ferenc Kovacs 0510b47894 Merge branch 'PHP-7.0' into PHP-7.1 2018-07-19 16:57:18 +02:00
Ferenc Kovacs e5b27b9916 Merge branch 'PHP-5.6' into PHP-7.0 2018-07-19 16:56:32 +02:00
Ferenc Kovacs 1ba3314335 5.6.38 will be next 2018-07-19 16:54:58 +02:00
Anatol Belski b494d94f16 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  7.0.32 next
2018-07-17 12:37:51 +02:00
Anatol Belski dfc2e3a2ac Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  7.0.32 next
2018-07-17 12:37:02 +02:00
Anatol Belski d011da9d1a 7.0.32 next 2018-07-17 12:36:13 +02:00
Anatol Belski c4106d4569 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-07-17 11:59:17 +02:00
Anatol Belski 1127163996 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] Update NEWS
2018-07-17 11:58:43 +02:00
Anatol Belski b52c4fcbcd [ci skip] Update NEWS 2018-07-17 11:58:00 +02:00
Remi Collet e069b0beba NEWS 2018-07-17 06:07:28 +02:00
Stanislav Malyshev ebd5f56442 Fix test 2018-07-16 18:52:01 -07:00
Stanislav Malyshev a536d6d61b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76459 windows linkinfo lacks openbasedir check
  Add NEWS
  Fixed bug #76459 windows linkinfo lacks openbasedir check
  Fix bug #76557: heap-buffer-overflow (READ of size 48) while reading exif data
  Fix bug #76423 - Int Overflow lead to Heap OverFlow in exif_thumbnail_extract of exif.c
2018-07-16 16:53:57 -07:00
Stanislav Malyshev 4e92cd172a Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #76459 windows linkinfo lacks openbasedir check
  Add NEWS
  Fixed bug #76459 windows linkinfo lacks openbasedir check
  Fix bug #76557: heap-buffer-overflow (READ of size 48) while reading exif data
  Fix bug #76423 - Int Overflow lead to Heap OverFlow in exif_thumbnail_extract of exif.c
2018-07-16 16:52:36 -07:00
Stanislav Malyshev bddf8140e4 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Add NEWS
  Fixed bug #76459 windows linkinfo lacks openbasedir check
  Fix bug #76557: heap-buffer-overflow (READ of size 48) while reading exif data
  Fix bug #76423 - Int Overflow lead to Heap OverFlow in exif_thumbnail_extract of exif.c
2018-07-16 15:13:13 -07:00
Anatol Belski f151e048ed Fixed bug #76459 windows linkinfo lacks openbasedir check 2018-07-16 15:11:56 -07:00
Stanislav Malyshev b73a108543 Add NEWS 2018-07-16 14:26:31 -07:00
Anatol Belski 289cb0f77c Fixed bug #76459 windows linkinfo lacks openbasedir check 2018-07-16 14:21:02 -07:00
Stanislav Malyshev 3462efa386 Fix bug #76557: heap-buffer-overflow (READ of size 48) while reading exif data
Use MAKERNOTE length as data size.
2018-07-16 14:17:51 -07:00
Stanislav Malyshev 1baeae4270 Fix bug #76423 - Int Overflow lead to Heap OverFlow in exif_thumbnail_extract of exif.c 2018-07-16 14:16:58 -07:00
Christoph M. Becker 8efd3c3387 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #73817: Incorrect entries in get_html_translation_table
2018-07-15 23:19:37 +02:00
Christoph M. Becker 0f8c1ee76d Fix #73817: Incorrect entries in get_html_translation_table
Due to incorrect string termination and length handling, several HTML
entities missed the trailing semicolon.

We also fix the obviously wrong expectations in two already existing
tests.
2018-07-15 23:06:38 +02:00
Anatol Belski dee191ee07 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Improve test
2018-07-13 20:14:44 +02:00
Anatol Belski 141072a838 Improve test
Ensure the filename is non existent indeed.
2018-07-13 20:13:51 +02:00
Anatol Belski f28aeaee05 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed RecursiveDirectoryIterator with long path or with edge case length
2018-07-12 19:57:08 +02:00
Anatol Belski 99fe18503a Fixed RecursiveDirectoryIterator with long path or with edge case length
The search path needs to be appended with the wild card. Till now, an
edge case existed, so then if a path is 259 bytes long, which is smaller
_MAX_PATH, the suffix would cause the final search path to become longer
than _MAX_PATH. It is an edge case, when the starting path happens to
have a specific length. If the starting path was longer than _MAX_PATH
or the addition of "\\*" would not exceed _MAX_PATH, the function was
correct. Except for rewind, which was broken in the case of the long
path.
2018-07-12 19:49:32 +02:00
Christoph M. Becker 77ced46dea Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix Travis build
2018-07-12 13:46:10 +02:00
Christoph M. Becker 236ae06e0b Fix Travis build
As of commit f9d1d1f[1] we require `sudo`, so we tell Travis about it.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=f9d1d1f>
2018-07-12 13:45:30 +02:00
Anatol Belski 9443c61928 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix macro
2018-07-12 11:37:13 +02:00
Anatol Belski cc7b000d2c Fix macro 2018-07-12 11:35:00 +02:00
Anatol Belski cc266045a5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix condition
2018-07-11 13:13:56 +02:00
Anatol Belski 98102648cb Fix condition
It looks like the real length limit is 247 bytes, not 248 as documented.
2018-07-11 13:09:20 +02:00
Anatol Belski a766f65ca3 [ci skip] Update NEWS 2018-07-10 11:51:49 +02:00
Anatol Belski c23736216d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-07-10 11:51:11 +02:00
Anatol Belski 9026562c79 [ci skip] Update NEWS 2018-07-10 11:50:33 +02:00
Anatol Belski ebb590b625 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #76524 - ZipArchive memory leak
2018-07-10 11:19:54 +02:00
timurib 08f08858f3 Fix bug #76524 - ZipArchive memory leak
Bugfix #76524: Free up zip internal state and adjust the tests for Windows

Bugfix #76524: Fix possible use after free for libzip 1.3.1

Bugfix #76524: Make the test independent of platform
2018-07-10 11:18:37 +02:00
Anatol Belski 474292c3e4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync callback signature with libxml2 2.9.8
2018-07-09 21:24:51 +02:00
Anatol Belski a820aab9da Sync callback signature with libxml2 2.9.8 2018-07-09 21:21:41 +02:00
Anatol Belski a6e8c73c43 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add missing flag
2018-07-09 15:14:30 +02:00
Anatol Belski 2c43fb49d6 Add missing flag 2018-07-09 15:12:52 +02:00
Anatol Belski 545a29d0cb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix C++11 and up compatibility for zend_finite and more
2018-07-08 20:32:52 +02:00
Anatol Belski ad790bea2e Fix C++11 and up compatibility for zend_finite and more
C++11 puts isfinite, isinf, isnan and a lot of other stuff into the
std namespace. Thus, if a C++11 or newer source is compiled, these
symbols won't be available. A good solution would be to include cmath,
but depending on a particular compiler that might remove even more
stuff from the global namespace, so such a fix should only target master.
For now, just keep these defines same for C++11 and upper, as the actual
C++ code should use symbols from the std namespace anyway. This
especially concerns older GCC versions like at least 4 and 5, which are
used by default in the LTS Linux distros.
2018-07-08 20:20:08 +02:00
Dylan K. Taylor 77a841db48 Fixed regex for checking libzip static lib
This bug caused linking issues in debug mode (see bug [#76564](https://bugs.php.net/bug.php?id=76564))

This issue affects PHP 7.2 and master.
2018-07-07 17:32:16 +02:00
Nikita Popov 5d0d812a53 Merge branch 'PHP-7.1' into PHP-7.2 2018-07-07 12:08:02 +02:00
cdoco 47fb17b108 Fixed bug #76366 (references in sub-array for filtering breaks the filter) 2018-07-07 12:07:43 +02:00
Anatol Belski d207fd449c [ci skip] Update NEWS 2018-07-06 17:45:01 +02:00
Anatol Belski 1ae888d984 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-07-06 17:44:37 +02:00
Anatol Belski ea24847620 [ci skip] Update NEWS 2018-07-06 17:43:48 +02:00
Anatol Belski d85651d58d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix event log handling in startup phase
  Fix bug #76488 Memory leak when fetching a BLOB field
  Fix year
  Bump version
2018-07-06 16:08:17 +02:00
Anatol Belski 246cb03e26 Fix event log handling in startup phase
The log header can be saved in the globals on startup. At the same
time, the log header can be changed per request. In case that
happened, wrong pointer will be free'd on shutdown. It can happen at
any point when zend_error() or similar is called at startup, like for
example in the case of the ini deprecation warnings. Thus, ZMM cannot
be used here.
2018-07-06 16:07:28 +02:00
sim1984 3847a6fcb6 Fix bug #76488 Memory leak when fetching a BLOB field
Add a phpt test
2018-07-06 16:07:28 +02:00
Sara Golemon 137f22ad36 Fix year 2018-07-06 10:02:20 -04:00
Sara Golemon 268e801cb1 Bump version 2018-07-06 10:02:00 -04:00
Nikita Popov f3dc67b255 Merge branch 'PHP-7.1' into PHP-7.2 2018-07-05 19:11:25 +02:00
Nikita Popov 791f07e4f0 Fix string.strip_tags filter
Was segfaulting if no allowed tags are specified and performing an
out of bounds read if they were.
2018-07-05 19:08:00 +02:00
Anatol Belski e5ef7cbe87 Fixed bug #76564 ext/zip link issues
Add zlib for linking directly, so then ext/zlib is not required.
2018-07-03 15:45:01 +02:00
Remi Collet 8bf21adb8c bump to 7.2.9-dev 2018-07-03 13:52:04 +02:00
Nikita Popov 9bbb9e537c Merge branch 'PHP-7.1' into PHP-7.2 2018-07-02 18:57:25 +02:00
Nikita Popov c97b8bbf82 Fixed bug #75231
The behavior is now consistent with ReflectionMethod.
2018-07-02 18:56:27 +02:00
Nikita Popov 3a236d0587 Merge branch 'PHP-7.1' into PHP-7.2 2018-07-02 17:59:15 +02:00
Nikita Popov 787593b708 Fix test after serialization change
And move it to a more appropriate location.
2018-07-02 17:58:26 +02:00
Nikita Popov 09bb2527e9 Merge branch 'PHP-7.1' into PHP-7.2 2018-07-02 17:29:32 +02:00
Nikita Popov c793885b76 Fixed bug #74670
Validate that "C" serialization payload is followed by "}" prior to
calling the unserialize() handler. This mitigates issues caused by
unserialize() not correctly handling strings that are not NUL
terminated. Making sure that there is a "}" at the end avoids the
problem.
2018-07-02 17:27:43 +02:00
Anatol Belski 26a33a96fa Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update libs_version.txt
2018-07-02 12:12:02 +02:00
Anatol Belski f8258325b4 Update libs_version.txt 2018-07-02 12:09:54 +02:00
Christoph M. Becker 39d668e927 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Make newly introduced bug76556.phpt more resilient
2018-07-01 00:21:34 +02:00
Christoph M. Becker a72bab1b9a Make newly introduced bug76556.phpt more resilient
Obviously, different compilers mangle the C++ class name differently.
We should neither expect a prefix nor a suffix.
2018-07-01 00:20:32 +02:00
Christoph M. Becker ae163d9a36 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76556: get_debug_info handler for BreakIterator shows wrong type
2018-06-30 23:17:54 +02:00
Christoph M. Becker 1118fca75d Fix #76556: get_debug_info handler for BreakIterator shows wrong type
We use the retrieved type for the "type" element instead of the text.
This has been confused during the PHP 7 upgrade[1].

[1] http://git.php.net/?p=php-src.git;a=commit;h=1d793348067e5769144c0f7efd86428a4137baec
2018-06-30 23:15:02 +02:00
Nikita Popov 0f1726e45d Merge branch 'PHP-7.1' into PHP-7.2 2018-06-30 20:11:39 +02:00
Nikita Popov 9b0df97a42 Fix handling of void return type on internal functions 2018-06-30 20:10:57 +02:00
Nikita Popov 34deda13a8 Merge branch 'PHP-7.1' into PHP-7.2 2018-06-30 19:50:40 +02:00
Nikita Popov 2eb6a541a9 Fix typo in compound dim assign op inference
Thankfully a harmless one, just makes inference results worse.
2018-06-30 19:50:07 +02:00
Christoph M. Becker e2285eb542 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #71848: getimagesize with $imageinfo returns false
2018-06-30 16:40:32 +02:00
Christoph M. Becker ae04110032 Fix #71848: getimagesize with $imageinfo returns false
Some JFIF images contain empty APP segments, i.e. those which consist
only of the marker bytes and the length, but without actual content.
It appears to be doubtful to have empty APP segments, but we should
apply the robustness principle, and accept these, instead of simply
failing in this case.

We choose to add empty APP segments to $imageinfo with an empty string
as value, instead of NULL, or even to omit these segments altogether.

This patch also fixes the potential issue that php_stream_read() might
not read the supposed number of bytes, which could result in garbage to
be added to the read value.
2018-06-30 16:29:30 +02:00
Nikita Popov deb1bad80f Merge branch 'PHP-7.1' into PHP-7.2 2018-06-29 23:23:02 +02:00
Nikita Popov 962706d16c Fix nullable type pretty-printing 2018-06-29 23:22:41 +02:00
Anatol Belski 15ad5d31d1 [ci skip] Update NEWS 2018-06-29 20:11:55 +02:00
Anatol Belski ef274e0b60 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-06-29 20:11:23 +02:00
Anatol Belski fb09f1341f [ci skip] Update NEWS 2018-06-29 20:10:54 +02:00
Anatol Belski 486f18f09e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76548 pg_fetch_result did not fetch the next row
2018-06-29 18:35:44 +02:00
Anatol Belski cb97fd3097 Fixed bug #76548 pg_fetch_result did not fetch the next row 2018-06-29 18:34:53 +02:00
Nikita Popov 00c0d7702c Merge branch 'PHP-7.1' into PHP-7.2 2018-06-28 23:05:09 +02:00
Marcus Schwarz bf5a802f5a Fixed bug #76532 (excessive memory usage in mb_strimwidth) 2018-06-28 23:02:28 +02:00
Anatol Belski c5276ad380 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update SDK version for AppVeyor
2018-06-28 15:58:20 +02:00
Anatol Belski f6430e3fe2 Update SDK version for AppVeyor 2018-06-28 15:56:27 +02:00
Anatol Belski e835916f65 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync versions for VC++ 15.8
2018-06-28 13:28:46 +02:00
Anatol Belski 88b5df91f6 Sync versions for VC++ 15.8 2018-06-28 13:23:19 +02:00
Anatol Belski b35f45ded2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Don't ignore commits on NEWS, etc. on AppVeyor
2018-06-28 10:54:59 +02:00
Anatol Belski 19b4fa17d3 Don't ignore commits on NEWS, etc. on AppVeyor
[ci skip] can be used explicitly, and otherwise it might ignore commits
with a code change.
2018-06-28 10:53:23 +02:00
Xinchen Hui 809a7b5f8f Update NEWS 2018-06-28 12:38:14 +08:00
Xinchen Hui 5d7f9dcca7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76536 (PHP crashes with core dump when throwing exception in error handler). (Laruence)
2018-06-28 12:37:58 +08:00
Xinchen Hui 1f6b842af4 Fixed bug #76536 (PHP crashes with core dump when throwing exception in error handler). (Laruence) 2018-06-28 12:37:33 +08:00
Xinchen Hui 7b98d056d3 Update NEWS 2018-06-27 13:07:53 +08:00
Xinchen Hui 3521661bd1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler)

Conflicts:
	Zend/zend_execute.c
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
2018-06-27 13:07:36 +08:00
Xinchen Hui d1b1866a3a Fixed bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler) 2018-06-27 13:05:11 +08:00
Christoph M. Becker 2458dab466 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix arginfo wrt. optional/required parameters
2018-06-25 11:54:45 +02:00
Christoph M. Becker 6b5597f7d8 Fix arginfo wrt. optional/required parameters
All parameters of phpdbg_color(), phpdbg_exec() and phpdbg_prompt() are
required.  We mark them as such.
2018-06-25 11:52:17 +02:00
Anatol Belski 096fd88dcb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Prepare tests for ICU 62.1
2018-06-25 11:31:21 +02:00
Anatol Belski 5af0db88fa Prepare tests for ICU 62.1 2018-06-25 11:30:14 +02:00
Nikita Popov 14b22704c7 Merge branch 'PHP-7.1' into PHP-7.2 2018-06-24 22:28:57 +02:00
Nikita Popov 701460ba84 Fixed bug #76502 2018-06-24 22:26:45 +02:00
Nikita Popov ed9d1b708b Fixed bug #76520 2018-06-22 16:22:04 +02:00
Dmitry Stogov 4a4c72a82a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Added parenthesis
2018-06-22 12:04:39 +03:00
Dmitry Stogov 1f726c9925 Added parenthesis 2018-06-22 12:04:23 +03:00
Jakub Zelenka d95ee27551 Make new openssl ext tests in 7.2 consitent 2018-06-21 17:02:44 +01:00
Jakub Zelenka 77bd405959 Merge branch 'PHP-7.1' into PHP-7.2 2018-06-21 16:47:08 +01:00
Jakub Zelenka b20bcbc363 Use unix NL in all openssl ext tests 2018-06-21 16:43:32 +01:00
Jakub Zelenka 3c42f64e6e Make code in openssl ext tests more consistent
Mainly use spaces for indent and fix some other CS issues. Also
drop checks for unsupported OpenSSL library versions.
2018-06-21 16:38:19 +01:00
Xinchen Hui e62c6e7dbe Update NEWS 2018-06-21 17:26:45 +08:00
Xinchen Hui 939e1095f2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76505 (array_merge_recursive() is duplicating sub-array keys)
2018-06-21 17:26:27 +08:00
Xinchen Hui 6531719da5 Fixed bug #76505 (array_merge_recursive() is duplicating sub-array keys) 2018-06-21 17:26:05 +08:00
Stanislav Malyshev 011be49dda Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Revert "ICU 59+ requires C++11 and errors out without the option"
2018-06-20 10:41:59 -07:00
Stanislav Malyshev bcf2e10ae7 Revert "ICU 59+ requires C++11 and errors out without the option"
This reverts commit 5dd1ef90ca.
2018-06-20 10:41:41 -07:00
Nikita Popov 44f4d2be01 Merge branch 'PHP-7.1' into PHP-7.2 2018-06-20 12:30:19 +02:00
Nikita Popov 69dee5c732 Fixed bug #73342
Directly listen on socket, instead of duping it to STDIN and
listening on that.
2018-06-20 12:28:15 +02:00
Stanislav Malyshev 61a4fc4e44 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  ICU 59+ requires C++11 and errors out without the option
2018-06-17 16:42:49 -07:00
Stanislav Malyshev 5dd1ef90ca ICU 59+ requires C++11 and errors out without the option 2018-06-17 16:42:41 -07:00
Pedro Magalhães 13e9a471d7 Fix #76300 - Dont attempt to change visibility of a parent private 2018-06-17 15:53:55 -07:00
Xinchen Hui f31ba7cb53 Fixed bug #76477 (Opcache causes empty return value) 2018-06-15 16:31:31 +08:00
Dmitry Stogov dad8bd5851 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed invalid free introduced by d6e81f0bfd (avoid keeping "invalid" pointer)
2018-06-14 02:40:59 +03:00
Dmitry Stogov 11507c0e1b Fixed invalid free introduced by d6e81f0bfd (avoid keeping "invalid" pointer) 2018-06-14 02:38:39 +03:00
Nikita Popov d04a1e8d70 Merge branch 'PHP-7.1' into PHP-7.2 2018-06-13 23:48:28 +02:00
Nikita Popov e77077edeb Make $locale parameter to BreakIterator ctors optional
It's documented as such and already accepts null.
2018-06-13 23:47:20 +02:00
Jakub Zelenka dd622f9ca9 Port FPM test 023 and 024 to the new FPM testing 2018-06-12 18:09:27 +01:00
Jakub Zelenka bc58ba750f Merge branch 'PHP-7.1' into PHP-7.2 2018-06-12 18:03:01 +01:00
Jakub Zelenka ea592e6b6c Rewrite FPM tests 2018-06-12 17:59:28 +01:00
Anatol Belski 827cb0484e [ci skip] Update NEWS 2018-06-12 18:07:35 +02:00
Anatol Belski 87cb883563 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-06-12 18:07:11 +02:00
Anatol Belski 62554efffe [ci skip] Update NEWS 2018-06-12 18:06:41 +02:00
Anatol Belski 5f1190684f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76462 Undefined property: DateInterval::$f
2018-06-12 15:31:01 +02:00
Anatol Belski 7212829435 Fixed bug #76462 Undefined property: DateInterval::$f 2018-06-12 15:30:14 +02:00
Remi Collet eb2a3c6c65 NEWS 2018-06-12 09:35:52 +02:00
Remi Collet 075e685439 Add OPSYS_CPM constant as documented and to match libzip naming 2018-06-12 09:31:41 +02:00
Anatol Belski 7dcfa839c9 Remove inappropriate FreeLibrary call 2018-06-11 13:49:42 +02:00
Nikita Popov 3d7284d09e Merge branch 'PHP-7.1' into PHP-7.2 2018-06-10 21:21:11 +02:00
Nikita Popov 6c9db02ff7 Fix mysqlnd build without openssl
Cherry-pick of 968eb0b38c, as these
changes were also introduced in lower branches.
2018-06-10 21:20:28 +02:00
Jakub Zelenka bca6d373fc Merge branch 'PHP-7.1' into PHP-7.2 2018-06-10 14:33:28 +01:00
Anatol Belski 66badcdc0c Fix test portability 2018-06-09 20:57:17 +02:00
Christoph M. Becker 3fdde65617 Fix #76409: heap use after free in _php_stream_free
We must not close the stream in exif_read_from_impl(), since it is the
responsibility of the (caller's) caller to do so, if it actually opened
the stream.

We simplify the reproduce script, which is actually about supplying a
path to a directory (opposed to a regular file), and use `.` instead of
`/` to also make it work on Windows.
2018-06-09 17:52:05 +02:00
Nikita Popov e029019275 Deduplicate code using php_timezone_to_string()
Looks like this usage was overlooked when the function was
introduced.
2018-06-08 23:10:43 +02:00
David Carlier ad52ec3db8 cast to int to disable compilation warnings. 2018-06-08 23:08:42 +02:00
Keyur Govande 695b8192c7 Avoid leaking the urandom fd
When Apache is reloaded, it unloads the extension, but the open file descriptor to /dev/urandom is left hanging around and is leaked. This fixes the bug.

Duplicate of https://github.com/jedisct1/libsodium-php/pull/173
2018-06-08 23:01:57 +02:00
Jakub Zelenka f9d1d1f36f Enable IPv6 in Travis 2018-06-08 20:09:33 +01:00
Joe Watkins e9b8193b24 bump versions 2018-06-07 08:19:43 +02:00
Anatol Belski 0bafb530d6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix VC compilation as variable size array is not supported
  Fix MySQL 8 auth
2018-06-06 11:14:15 +02:00
Anatol Belski f96df64cb2 Fix VC compilation as variable size array is not supported 2018-06-06 11:13:28 +02:00
Johannes Schlüter 04db3d0f7a Merge branch 'PHP-7.1' of git.php.net:/php-src into PHP-7.1 2018-06-06 00:24:41 +02:00
Johannes Schlüter d6e81f0bfd Fix MySQL 8 auth 2018-06-06 00:17:34 +02:00
Sara Golemon 917222f395 NEWS for 7.2.8 2018-06-05 12:07:52 -04:00
Xinchen Hui 951e29f66e Fixed bug #76410 (SIGV in zend_mm_alloc_small) 2018-06-05 17:15:57 +08:00
Stanislav Malyshev 5fbb0988d1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #76390 - do not allow invalid strings in range()
2018-06-04 22:51:38 -07:00
Stanislav Malyshev 73bf238507 Fix bug #76390 - do not allow invalid strings in range() 2018-06-04 22:44:05 -07:00
Anatol Belski d5ee654b71 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Translate correct C++ version with suitable compiler
  Fixed bug #76383 (array_map on $GLOBALS returns IS_INDIRECT)
2018-05-28 17:13:55 +02:00
Anatol Belski 5bf8032112 Translate correct C++ version with suitable compiler 2018-05-28 17:12:06 +02:00
Bob Weinand 97a8483143 Fixed bug #76383 (array_map on $GLOBALS returns IS_INDIRECT) 2018-05-28 00:48:35 +02:00
Nikita Popov 4455899a93 Merge branch 'PHP-7.1' into PHP-7.2 2018-05-26 22:06:44 +02:00
Mitch Hagstrand 34fb42970a Adds print_global_vars to gdbinit 2018-05-26 22:05:06 +02:00
Peter Kokot 974c46b89b Add missing opcache.opt_debug_level ini directive 2018-05-26 22:04:20 +02:00
Joe Watkins a422b1e60c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix phpdbg disabling chroot support
2018-05-23 22:23:53 +02:00
Joe Watkins be11b354f4 fix phpdbg disabling chroot support 2018-05-23 22:23:13 +02:00
Xinchen Hui a9d00be024 Update NEWS 2018-05-23 14:46:18 +08:00
Xinchen Hui dc461d6f56 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76367 (NoRewindIterator segfault 11)
2018-05-23 14:46:01 +08:00
Xinchen Hui 8f221bdec0 Fixed bug #76367 (NoRewindIterator segfault 11) 2018-05-23 14:45:38 +08:00
Jakub Zelenka a231860b02 Merge branch 'PHP-7.1' into PHP-7.2 2018-05-22 13:40:23 +01:00
Jakub Zelenka 68c3d09c2c Fix bug #76174 (openssl extension fails to build with LibreSSL 2.7) 2018-05-22 13:30:58 +01:00
Anatol Belski 1c8c06a403 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Allow pecl like usage in ext/pdo, refs #2955
2018-05-21 12:19:45 +02:00
Tianon Gravi bc6ddb7f45 Allow pecl like usage in ext/pdo, refs #2955 2018-05-21 12:18:46 +02:00
Anatol Belski 364fad275e [ci skip] Update NEWS 2018-05-20 14:27:23 +02:00
xKhorasan 5681f6523b Fixed bug #76337 2018-05-20 13:33:03 +02:00
Anatol Belski a8a1dc038c Fix versions, as 7.2.6RC is already out 2018-05-19 15:44:23 +02:00
Anatol Belski aebbf38df5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Refix the tests once more
2018-05-19 13:11:39 +02:00
Anatol Belski 83626ef97a Refix the tests once more
The behavior change seems to be in both runtime and system. The
displaced warning output is of secondary interest anyway.
2018-05-19 13:09:56 +02:00
Anatol Belski 6fc405e851 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix remaining AppVeyor test failures due to the image update
2018-05-19 11:44:26 +02:00
Anatol Belski 589f8107e8 Fix remaining AppVeyor test failures due to the image update 2018-05-19 11:43:19 +02:00
Anatol Belski f7b431fb30 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix Opcache test fails regarding to AppVeyor image update
2018-05-18 18:37:53 +02:00
Anatol Belski 6043a2d6f7 Fix Opcache test fails regarding to AppVeyor image update 2018-05-18 18:36:39 +02:00
Jakub Zelenka b027071688 Merge branch 'PHP-7.1' into PHP-7.2 2018-05-18 17:23:17 +01:00
Jakub Zelenka 33382dc7ee Update NEWS with info about bug #76296 2018-05-18 17:18:25 +01:00
Jakub Zelenka 798e707eb3 Add test for bug #76296 2018-05-18 17:15:36 +01:00
Erik Lax d6bc266ba0 Fix bug #76296 (openssl_pkey_get_public does not respect open_basedir) 2018-05-18 17:15:22 +01:00
Anatol Belski e470068293 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix curl tests wrt. AppVeyor and curl updates
2018-05-18 17:43:58 +02:00
Anatol Belski b2429259af Fix curl tests wrt. AppVeyor and curl updates 2018-05-18 17:39:12 +02:00
Anatol Belski a8422edced Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix cli server test fails after recent AppVeyor image update
2018-05-18 13:40:42 +02:00
Anatol Belski ee0ca6470d Fix cli server test fails after recent AppVeyor image update 2018-05-18 13:38:53 +02:00
Anatol Belski c8ab9e1e53 [ci skip] Update NEWS 2018-05-14 12:09:36 +02:00
Anatol Belski 11e36411c1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-05-14 12:08:52 +02:00
Anatol Belski 2d9836a579 [ci skip] Update NEWS 2018-05-14 12:08:01 +02:00
Anatol Belski 1228f31cd2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76335 "link(): Bad file descriptor" with non-ASCII path
2018-05-14 10:44:49 +02:00
Anatol Belski 9b8d8cac04 Fixed bug #76335 "link(): Bad file descriptor" with non-ASCII path 2018-05-14 10:43:11 +02:00
Anatol Belski cbee239262 [ci skip] Update NEWS 2018-05-14 08:44:50 +02:00
Anatol Belski 683635dff6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-05-14 08:43:10 +02:00
Anatol Belski 4dedccd8e2 [ci skip] Update NEWS 2018-05-14 08:42:28 +02:00
Anatol Belski 398204ace9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76333 PHP built-in server does not find files if root path contains special characters
2018-05-13 18:42:36 +02:00
Anatol Belski ad787626a4 Fixed bug #76333 PHP built-in server does not find files if root path contains special characters 2018-05-13 18:40:32 +02:00
Anatol Belski 41aa83f0c2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update SDK version for AppVeyor
  bump versions
2018-05-09 11:30:09 +02:00
Anatol Belski d21612401f Update SDK version for AppVeyor 2018-05-09 11:28:20 +02:00
Joe Watkins 6c3b70e9a5 bump versions 2018-05-08 18:02:30 +02:00
Derick Rethans 1a25137a69 Updated to version 2018.5 (2018e) 2018-05-08 09:24:27 +01:00
Derick Rethans 348b5eb434 Empty merge 2018-05-08 09:24:27 +01:00
Anatol Belski 8ad44700cf Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update _bits_per_char to use with new PHP 7.1. or greater
2018-05-07 14:42:51 +02:00
Anatol Belski 637e47a5ed [ci skip] Update NEWS 2018-05-06 16:15:42 +02:00
Anatol Belski 538ff93876 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-05-06 16:15:13 +02:00
Anatol Belski b00a5c03e6 [ci skip] Update libs_version.txt 2018-05-06 16:10:10 +02:00
Anatol Belski b0def5bde9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix tests, ref bug #74385
2018-05-03 17:16:42 +02:00
Anatol Belski e01d0387d1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #74385 Locale::parseLocale() broken with some arguments
2018-05-03 16:43:59 +02:00
Dmitry Stogov 3fe2e2a372 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp)
2018-05-03 12:11:07 +03:00
Anatol Belski afc3f6e8d5 Fix shared ext/zip build with static dependency lib 2018-05-02 17:26:37 +02:00
Thomas Punt 3139be0bea Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix potential memory leak in the enchant extension
  Fix potential memory leak in curl extension
2018-04-29 20:04:18 +01:00
Thomas Punt beab622265 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  The SO_PASSCRED constant is conditionally defined
2018-04-29 17:38:12 +01:00
Thomas Punt d990b9316a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix potential memory leaks in sockets extension
2018-04-28 13:57:30 +01:00
Dmitry Stogov a0d8cedd2b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Revert "Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp)."
2018-04-28 13:29:05 +03:00
Dmitry Stogov f8c1ce18e9 Revert "Merge branch 'PHP-7.1' into PHP-7.2"
This reverts commit c547c1b980, reversing
changes made to 4c083e7a66.
2018-04-28 13:27:36 +03:00
Dmitry Stogov c547c1b980 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp).
2018-04-28 00:24:56 +03:00
Nikita Popov 4c083e7a66 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-27 22:23:55 +02:00
Nikita Popov 2c602be7c8 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-27 17:02:01 +02:00
Thomas Punt 972c4869a7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Allocate default ini values into persistent memory
2018-04-26 21:09:08 +01:00
Thomas Punt b3fff5fc41 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix memory leak when phpdbg fails to start up
2018-04-26 16:42:21 +01:00
Nikita Popov 7c852a7961 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-26 16:17:13 +02:00
Scott Arciszewski 8677edb2dd Update NEWS
Add whitespace in NEWS file
2018-04-25 07:39:31 +02:00
Ferenc Kovacs 029a60b2c7 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-25 00:16:12 +02:00
Remi Collet 42344cdc53 update NEWS for 7.2.5 2018-04-24 17:28:05 +02:00
Anatol Belski d8f2e1a511 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  7.0.31 next
2018-04-24 11:37:57 +02:00
Anatol Belski 6e5287bb95 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-04-24 11:24:10 +02:00
Anatol Belski 1df43a086f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test portability
2018-04-24 10:49:15 +02:00
Stanislav Malyshev 4c06d929c0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix tsrm_ls
  Fix #76129 - remove more potential unfiltered outputs for phar
  Fix test
  Fix bug #76248 - Malicious LDAP-Server Response causes Crash
  Fix bug #76249 - fail on invalid sequences
  Fix #76130: Heap Buffer Overflow (READ: 1786) in exif_iif_add_value
  Fix bug #75981: prevent reading beyond buffer start
2018-04-23 22:03:33 -07:00
Stanislav Malyshev 83e7618f05 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add a bit of defensive conding for bug #76155
2018-04-22 20:28:35 -07:00
Jakub Zelenka 98e43a33c8 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-15 20:42:28 +01:00
Nikita Popov ac732d75bd Merge branch 'PHP-7.1' into PHP-7.2 2018-04-14 13:06:00 +02:00
Jakub Zelenka b8aec1e725 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-13 20:17:52 +01:00
Jakub Zelenka 4302c0b542 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-13 20:12:03 +01:00
Christoph M. Becker 3770c2e463 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix arginfo for array_replace(_recursive) and array_merge(_recursive)
2018-04-13 15:28:47 +02:00
Christoph M. Becker 281a1754b9 Fix #76164: exif_read_data zend_mm_heap corrupted
We must not release parsed parameters ourselves, since this is already
done by the engine.
2018-04-12 23:00:37 +02:00
Anatol Belski 9f4905fb0d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix memory leak
2018-04-12 18:25:58 +02:00
Anatol Belski ab68d90057 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  bump versions
2018-04-12 18:23:23 +02:00
Christoph M. Becker ab200bd660 [ci skip] Update NEWS
Cf. 68296c4055.
2018-04-12 18:11:41 +02:00
Andrew Nester 68296c4055 Fixed #74892 - Fixed URL rewriting for urls started with #
(cherry picked from commit 6c32d271d2)

This should have already been merged via
9cd82df0bb, but that merge went wrong.
2018-04-12 17:28:35 +02:00
Remi Collet 0d87a0ba57 next is 7.2.6 2018-04-11 07:53:53 +02:00
George Wang 043ac320a0 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-10 16:49:29 -04:00
Xinchen Hui 22a8ea2a0a Update NEWS 2018-04-10 16:33:31 +08:00
Xinchen Hui 474895915e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76143 (Memory corruption: arbitrary NUL overwrite)
2018-04-10 16:32:28 +08:00
Anatol Belski e01f88df7c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Group common flags
2018-04-05 16:45:41 +02:00
Anatol Belski 7768f5e2de Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Rename var
2018-04-05 14:54:14 +02:00
George Wang 1e1695e8de Merge branch 'PHP-7.1' into PHP-7.2 2018-04-03 11:47:41 -04:00
Anatol Belski 2115878aaa Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync fix for bug #72498 for 32-bit
2018-04-03 17:25:13 +02:00
Anatol Belski 062f93c93e [ci skip] Update NEWS 2018-04-03 11:29:38 +02:00
Anatol Belski 5cd94db8bb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-04-03 11:29:08 +02:00
Anatol Belski 22e8a3c347 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix shared ext/intl compilation
2018-04-03 10:43:17 +02:00
Rasmus Lerdorf aaae3637e0 Better explanation for the opcache.max_wasted_percentage ini setting
since it was pretty confusing before
2018-03-30 13:24:17 -07:00
Christoph M. Becker 76f421dd3a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #52070: imagedashedline() - dashed line sometimes is not visible
2018-03-30 19:29:10 +02:00
Jakub Zelenka 8b642af484 Merge branch 'PHP-7.1' into PHP-7.2 2018-03-30 17:58:29 +01:00
Anatol Belski 35e3d597f5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix clang build, ref buf #76153
2018-03-30 14:16:44 +02:00
Anatol Belski 99194d1831 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update binary SDK version for AppVeyor
2018-03-29 17:00:47 +02:00
Anatol Belski 9510611cdd Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Adjust tests for ICU 61.1 compatibility
2018-03-29 14:13:48 +02:00
Ferenc Kovacs 87a9fc3b85 Merge branch 'PHP-7.1' into PHP-7.2 2018-03-28 23:21:04 +02:00
Anatol Belski 4e39968e4d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76153 Intl compilation fails with icu4c 61.1
2018-03-28 18:04:09 +02:00
Joe Watkins fc6cbc3eaa Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed #75996: Add the right urls to the header of mt_rand.
2018-03-27 22:09:42 +02:00
Joe Watkins 3e267ca91b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76131 some arginfo params are different from the documentation
2018-03-27 21:58:24 +02:00
Anatol Belski a492fe213a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update libs_versions.txt
2018-03-27 19:46:25 +02:00
Anatol Belski c529e9f602 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Fix release date
2018-03-27 16:04:38 +02:00
Anatol Belski 8b2bfaab66 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  7.0.30 next
2018-03-27 15:02:46 +02:00
Anatol Belski 8b20e86491 [skip ci] Update NEWS 2018-03-27 14:29:03 +02:00
Anatol Belski d83a75bb00 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-03-27 14:28:20 +02:00
Anatol Belski 600b6277f8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Do not set PR_SET_DUMPABLE by default
  Do not set PR_SET_DUMPABLE by default
2018-03-27 14:20:53 +02:00
Anatol Belski 35f832a007 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix phpize build when DEFINE() is involved
2018-03-26 13:38:55 +02:00
Anatol Belski 86aecd8801 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync version for VC++ 15.7
2018-03-25 12:59:59 +02:00
Nikita Popov 3306577797 Followup fix for bug #75729
The case of overloaded substr() with 3 arguments was not handled.
2018-03-24 13:15:59 +01:00
Derick Rethans c72c4c5271 Updated to version 2018.4 (2018d) 2018-03-24 11:26:16 +00:00
Derick Rethans ab5dcc83a1 Empty merge 2018-03-24 11:26:16 +00:00
Michael Heimpold 25ba60b147 Fixed bug #75722: Rework valgrind detection
As described in bug report #75722, the configure script (acinclude.m4)
currently searches for the valgrind header file and enables valgrind
support if found.

When cross-compiling the searched paths are invalid for the target
platform because they belong to the host system. At the moment, there is
no way to tell the build system a dedicated path where to look for the
header file.

This leads to the issue, that when cross-compiling eg. for ARMv5 platform,
that valgrind header file is detected - e.g. because host system is amd64 -
and support is enabled - but target platform will never support valgrind
(valgrind requires e.g. at least ARMv7).

This change reworks the detection so that user could manually opt-in
valgrind support and optionally specify a directory where the build system
should look for the header file using the --with-valgrind option.
2018-03-23 22:02:17 +01:00
Tom Van Looy 7f4327bc24 Fix expat_compat.h path used in #include
Using ext/xml/expat_compat.h does not work if the extension is
compiled out-of-tree.
2018-03-23 22:01:25 +01:00
Thomas Petazzoni 2842aa2a07 main/php_ini.c: build empty php_load_zend_extension_cb() when !HAVE_LIBDL
Commit 0782a7fc63 ("Fixed bug #74866
extension_dir = "./ext" now use current directory for base") modified
the php_load_zend_extension_cb() function to use php_load_shlib(), and
pass a handle to the newly introduced zend_load_extension_handle()
function instead of passing the extension path to
zend_load_extension().

While doing so, it introduced a call to php_load_shlib() from code
that is built even when HAVE_LIBDL is not defined. However,
php_load_shlib() is not implemented when HAVE_LIBDL is not defined,
for obvious reasons.

It turns out that zend_load_extension_handle() anyway doesn't do
anything when ZEND_EXTENSIONS_SUPPORT is defined to 0, and
ZEND_EXTENSIONS_SUPPORT is not defined when HAVE_LIBDL is not defined
(Zend/zend_portability.h).

Fixes the following build failure when building on a system that
doesn't have libdl:

main/php_ini.o: In function `php_load_zend_extension_cb':
php_ini.c:(.text+0x478): undefined reference to `php_load_shlib'
php_ini.c:(.text+0x4b0): undefined reference to `php_load_shlib'
collect2: error: ld returned 1 exit status

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-03-23 21:13:45 +01:00
atvoicu 17ed2f21cf Add missing skip prefix for some SKIPIF messages 2018-03-23 18:56:36 +01:00
Anatol Belski 7b8861204e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update SDK version for AppVeyor
2018-03-21 13:17:44 +01:00
Christoph M. Becker 8f5c34cd39 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76113: mbstring does not build with Oniguruma 6.8.1
2018-03-20 16:53:17 +01:00
Christoph M. Becker cd2912af5e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75944: Wrong cp1251 detection
2018-03-19 14:34:09 +01:00
Stanislav Malyshev 13a33f7c7b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Set tests exit status by defaul - also in other instance.
2018-03-19 01:17:36 -07:00
Stanislav Malyshev 077b7705af Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Set tests exit status by default.
2018-03-18 15:06:08 -07:00
Anatol Belski 615ca3c99d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync test with newer output
2018-03-16 18:56:08 +01:00
Xinchen Hui 4758164ac5 Fixed bug #76094 (Access violation when using opcache) 2018-03-15 11:17:00 +08:00
Anatol Belski 84881c654e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Reduce var scope
2018-03-14 23:10:24 +01:00
Anatol Belski 783778b9d3 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix stack use after scope
2018-03-14 22:23:04 +01:00
Anatol Belski 1e31ac079b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Upgrade binary SDK version for AppVeyor
2018-03-14 12:01:01 +01:00
Dmitry Stogov 975d144027 Fixed user-opcode support 2018-03-14 09:41:25 +03:00
Dmitry Stogov 2db6d8e415 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed use-after-free
2018-03-14 09:14:16 +03:00
Joe Watkins a18a11cf80 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  bump versions
2018-03-14 05:59:18 +01:00
Christoph M. Becker 7448b03300 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #74139: mail.add_x_header default inconsistent with docs [ci skip]
2018-03-13 23:56:31 +01:00
Christoph M. Becker b2622ed838 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76088: ODBC functions are not available by default on Windows
2018-03-13 14:33:20 +01:00
Remi Collet d660d6d31b next is 7.2.5 2018-03-13 12:49:25 +01:00
Dmitry Stogov 5574562f8f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Revert "More accurate symbolic constraints oferflow/unserflow handling (better fix for bug #76074)."
2018-03-13 11:03:57 +03:00
Dmitry Stogov 575f5002c0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  More accurate symbolic constraints oferflow/unserflow handling (better fix for bug #76074).
2018-03-13 10:45:53 +03:00
Xinchen Hui 98fe858275 Forgot NEWs 2018-03-13 13:01:33 +08:00
Xinchen Hui 8e576e5abc Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Forgot NEWS
2018-03-13 13:00:59 +08:00
Xinchen Hui e547c9f139 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76085 (Segmentation fault in buildFromIterator when directory name contains a \n)
2018-03-13 12:52:07 +08:00
Anatol Belski c469213e7b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix heap use after free
2018-03-12 21:02:40 +01:00
Anatol Belski 16570b8c79 Use literal as format 2018-03-12 16:00:24 +01:00
Anatol Belski 8a985403f6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use string literal as format
2018-03-12 15:18:11 +01:00
Anatol Belski fc09d7e76f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Provide core includes for the resource compiler by default
2018-03-12 14:16:08 +01:00
Dmitry Stogov e6fb787c66 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Replaced usafe reference from SHM to process memory with SHM to SHM reference
2018-03-12 11:18:33 +03:00
Christoph M. Becker 2b02e6dff3 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #62545: wrong unicode mapping in some charsets
2018-03-11 17:54:45 +01:00
Thomas Petazzoni 8489ecefd3 ext/sockets: make AI_IDN usage optional
AI_IDN is not supported by all C libraries (uClibc, musl), so make it
optional, like AI_ALL.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-03-11 16:35:17 +01:00
Anatol Belski d34ab3a53c [ci skip] Update NEWS 2018-03-10 20:08:43 +01:00
Anatol Belski 53f227bb2a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-03-10 20:08:03 +01:00
Bob Weinand 9d908c70d5 Fixup mess in NEWS file (mixed 7.2.3 and 7.2.4 NEWS) 2018-03-10 15:29:07 +01:00
Bob Weinand cfd0979be5 Merge branch 'PHP-7.1' into PHP-7.2 2018-03-10 15:21:16 +01:00
Anatol Belski cf0012dad0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76068 parse_ini_string fails to parse "[foo]\nbar=1|>baz" with segfault
2018-03-10 11:20:11 +01:00
Anatol Belski d4cb4168ba [ci skip] Update link 2018-03-10 09:40:50 +01:00
Christoph M. Becker d709922979 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #73957: signed integer conversion in imagescale()
2018-03-10 00:25:11 +01:00
Anatol Belski d1ed6b1b15 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Disable PGO for phpdbg
2018-03-08 11:49:25 +01:00
Anatol Belski 2d660dd630 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Exclude /Qspectre for clang analyzer
2018-03-07 15:23:03 +01:00
Anatol Belski 22857f1d89 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Guard platform dependent code
2018-03-07 12:29:22 +01:00
Anatol Belski 7780bfc7b3 [ci skip] Update NEWS 2018-03-06 22:07:58 +01:00
Anatol Belski 000e35db81 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-03-06 22:07:31 +01:00
Dmitry Stogov 020a02ef9d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Replaced usafe reference from SHM to process memory with SHM to SHM reference.
2018-03-06 02:47:01 +03:00
Dmitry Stogov b48d2f6d10 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Don't keep HashTable.pDestructor in SHM and always set it into ZVAL_PTR_DTOR in zval_array_dup(). Keeping pointer to a function in SHM is not safe because of ASLR.
2018-03-06 01:00:14 +03:00
Dmitry Stogov b7ebf90221 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed invalid destructor
2018-03-06 00:46:40 +03:00
Anatol Belski b53f326f67 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76044 'date: illegal option -- -' in ./configure on FreeBSD
2018-03-05 22:38:03 +01:00
Dmitry Stogov 53baf6fa1d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed invalid destructor
2018-03-05 23:33:53 +03:00
Nikita Popov 634a1ff033 Merge branch 'PHP-7.1' into PHP-7.2 2018-03-05 15:32:39 +01:00
Anatol Belski 54212dfbf9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Include username into the file cache path
2018-03-05 15:21:31 +01:00
Dmitry Stogov a8fbb15311 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed "opcache.file_cache_fallback" mode.
2018-03-05 16:15:38 +03:00
Christoph M. Becker d83467d70b Fix #76041: null pointer access crashed php
We must not draw anti-aliased lines on palette images, because that is
not supported by `gdImageSetAAPixelColor()` and it wouldn't make much
sense to support it, due to the limitation to at most 256 colors.
2018-03-02 17:18:45 +01:00
Anatol Belski 3c58b2c31a Remove TSRMLS_* 2018-03-01 12:12:11 +01:00
Joe Watkins 23ebda3a71 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix news date
2018-02-28 12:23:08 +01:00
Xinchen Hui 07fb188492 Update NEWS 2018-02-28 18:07:05 +08:00
Xinchen Hui 858ebd9285 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76025 (Segfault while throwing exception in error_handler).
2018-02-28 18:06:49 +08:00
George Wang 66e3912f3a Merge branch 'PHP-7.1' into PHP-7.2 2018-02-27 23:33:36 -05:00
George Wang 3af5722e11 Merge branch 'PHP-7.1' into PHP-7.2 2018-02-27 23:21:04 -05:00
Bob Weinand 15d611e451 Merge branch 'PHP-7.1' into PHP-7.2 2018-02-28 02:35:44 +01:00
Ferenc Kovacs fe181463a7 Merge branch 'PHP-7.1' into PHP-7.2 2018-02-28 00:05:10 +01:00
George Wang 9607d15d7d Merge branch 'PHP-7.1' into PHP-7.2 2018-02-27 13:56:19 -05:00
Anatol Belski 1ec4d3698b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  7.0.29 next
2018-02-27 11:51:10 +01:00
Anatol Belski 74bdb8fb15 [ci skip] Update NEWS 2018-02-27 11:39:19 +01:00
Anatol Belski ba8818325e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-02-27 11:38:23 +01:00
Stanislav Malyshev ab9f9b5d3b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #75981: prevent reading beyond buffer start
2018-02-26 22:26:55 -08:00
Christoph M. Becker feef202718 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-02-24 23:39:28 +01:00
Christoph M. Becker 8c396e0e88 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix imagesetinterpolation arginfo
2018-02-24 11:32:03 +01:00
Stanislav Malyshev c904d380a2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Set FPM maintainership
2018-02-23 17:57:57 -08:00
Christoph M. Becker 32df2b6617 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75873: pcntl_wexitstatus returns incorrect on Big_Endian platform (s390x)
2018-02-23 23:52:07 +01:00
Christoph M. Becker c6cf3d4ada Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix some arginfos
2018-02-23 11:29:21 +01:00
Johannes Schlüter 2577cdbea2 Merge branch 'PHP-7.1' into PHP-7.2 2018-02-20 23:32:25 +01:00
Johannes Schlüter 1c98955d0f Merge branch 'PHP-7.1' into PHP-7.2 2018-02-20 23:20:28 +01:00
Christoph M. Becker 6237bcd39e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Sort recent NEWS entries alphabetically
2018-02-20 16:33:55 +01:00
Christoph M. Becker e80e38ab7c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix openssl_* arginfos
2018-02-20 16:25:22 +01:00
Anatol Belski 884697a290 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update binary tools SDK branch for AppVeyor
2018-02-20 15:52:42 +01:00
Anatol Belski ea0355632d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  dos2unix
2018-02-20 08:00:08 +01:00
Nikita Popov 1b6a9ea584 Merge branch 'PHP-7.1' into PHP-7.2 2018-02-19 21:46:11 +01:00
Anatol Belski fa7c32040c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use more jobs with cppcheck
2018-02-19 11:27:42 +01:00
Nikita Popov 500632ac13 Fix pfsockopen() func info 2018-02-18 17:42:12 +01:00
Nikita Popov c0abab5fca Fix ZEND_SL range inference
This is a bit tricker than right shifts because shifting in the
sign bit flips the sign. The computed bounds are not tight.
2018-02-18 17:42:12 +01:00
Nikita Popov 202989edf8 Fix ZEND_SR range inference
Handle out-of-range RHS correctly.
2018-02-18 17:42:12 +01:00
Nikita Popov 40ff001381 Fix constant() func info
Since PHP 5.6 this can also be an array.
2018-02-18 17:42:11 +01:00
Nikita Popov ae837db8cf Handle overloaded GMP operators in type inference 2018-02-18 15:33:30 +01:00
Nikita Popov 39974dd65d Disable negative range inference
The negative range inference implementation does not work correctly,
and it's not clear right now how it can be fixed. As such, disable
it entirely for now.
2018-02-18 15:33:28 +01:00
Nikita Popov 846e8a3ec9 Fix COUNT range inference
count() on objects may return a negative number :(
2018-02-17 23:18:30 +01:00
Nikita Popov fa7c23ba27 Fix hash_init() and hash_copy() func info
These functions were switched to use objects instead of resources.
2018-02-17 23:18:29 +01:00
Nikita Popov acb9426a6b Fix curl_multi_close() func info
Returns false on failure
2018-02-17 23:18:29 +01:00
Nikita Popov 8bdf9905da Fix get_object_vars() func info
Numeric keys will be converted to integer nowadays.
2018-02-17 23:18:29 +01:00
Nikita Popov 1a50a50bcf Add RC flags in init_func_return_info 2018-02-17 23:18:29 +01:00
Nikita Popov fd5644cd0b Fix array_values() and array_keys() func info
Can return RCN for empty/packed arrays
2018-02-17 23:18:28 +01:00
Anatol Belski 0255c21319 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Remove duplicated assignment
2018-02-17 13:12:29 +01:00
Xinchen Hui 114e5d0206 Update NEWS 2018-02-17 16:35:42 +08:00
Xinchen Hui 26dda8999c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75961 (Strange references behavior)
2018-02-17 16:33:39 +08:00
Nikita Popov 0674d677bc Merge branch 'PHP-7.1' into PHP-7.2 2018-02-16 20:30:49 +01:00
Anatol Belski 4800a95e72 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Wrap var depending on conditional compilation
2018-02-16 13:41:13 +01:00
Joe Watkins 34ab10ef1b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed print_const_table function and zval types in ____printzv_contents
2018-02-15 08:57:43 +01:00
Joe Watkins 0b5466c0a6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  bump versions
2018-02-15 08:56:08 +01:00
Gabriel Caruso 8a3f45f90b Remove getmxrr alias dns_get_mx test
The test is currently failing, and the same functionality is
already tested (in a better way) in the getmxrr() test.
2018-02-14 19:00:07 +01:00
Remi Collet a93dba4324 add pkg-config example in extension skeleton 2018-02-14 13:28:21 +01:00
Remi Collet 17164bcf8d factorization of duplicated code 2018-02-14 13:15:09 +01:00
Remi Collet 528bc00d84 Fix timezone var_dump from 51f2a5803f 2018-02-14 08:59:24 +01:00
Sara Golemon 2cc8cf2994 Now working on 7.2.4-dev 2018-02-13 14:37:00 -05:00
Sara Golemon 5dd2a4185c Now working on 7.2.4-dev 2018-02-13 14:32:37 -05:00
Anatol Belski 2235da59af Extend skipif check 2018-02-13 14:04:51 +01:00
Joe 8c1147b089 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #68406 calling var_dump on a DateTimeZone object modifies it
2018-02-12 09:19:11 +01:00
Christoph M. Becker 7554fd9101 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75857: Timezone gets truncated when formatted
2018-02-11 12:49:41 +01:00
Nikita Popov ee3f3a9d75 Merge branch 'PHP-7.1' into PHP-7.2 2018-02-10 19:30:57 +01:00
Nikita Popov e87283fa3f Merge branch 'PHP-7.1' into PHP-7.2 2018-02-10 19:19:09 +01:00
Nikita Popov 7aac61ce76 Fixed bug #75938
New modulus range inference implementation has been verified using
https://gist.github.com/nikic/67947ff92cf0e1f7e931f2f0d4cf817f.

The computed bounds are not tight, but it seems to be very hard to
compute tight bounds on modulus operations.
2018-02-09 15:10:23 +01:00
Joe f9a16d492e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixes bug #75871 Use pkg-config for libxml2 if available
2018-02-08 10:51:07 +01:00
Joe d803dcba3b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #49876 lib path on 64bit distros
2018-02-08 10:42:42 +01:00
Joe 44a1271ea0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #65414
2018-02-08 10:33:03 +01:00
Bishop Bettini 4765ba7dc3 Fixed bug #65414 2018-02-08 10:29:56 +01:00
Joe ab770401e1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #74519 strange behavior of AppendIterator
2018-02-08 10:18:31 +01:00
Nikita Popov 1391a0fa0b Fixed bug #75893
It is not sufficient to just add the additional types for aliased
variables at the end of type inference, because types of derived
variables may depend on them. Make sure the additional types are
always added whenever the type of an aliased variable is updated.
2018-02-05 21:41:44 +01:00
Nikita Popov d9e71169e6 Fixed bug #75729
Don't try to evaluate substr() and strpos() at compile-time if
mbstring function overloading is enabled. I'm reusing the
COMPILE_NO_BUILTIN_STRLEN for the detection of mbstring function
overloading here, even if it's technically only about strlen()...
2018-02-05 21:08:18 +01:00
Anatol Belski 51a0e051fc Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Finer conditions, so /Qspectre is already usable with latest vc15
2018-02-05 10:40:45 +01:00
Michael Wallner 3ef3f74a65 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix bug #75916 DNS_CAA record results contain garbage
2018-02-05 09:08:12 +01:00
Nikita Popov 3e15465f31 Merge branch 'PHP-7.1' into PHP-7.2 2018-02-02 22:31:40 +01:00
Anatol Belski b7575758a9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Switch to the new PHP SDK version on AppVeyor
2018-02-02 14:09:20 +01:00
Anatol Belski 138ea7c3fe Ensure there are no line breaks in the error msg 2018-02-01 15:30:01 +01:00
Anatol Belski bc584c408c [ci skip] Update NEWS 2018-02-01 15:26:12 +01:00
Anatol Belski 88aeb104a2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
  Fix race conditions with Apache vhost vs. per dir config
2018-02-01 15:25:55 +01:00
Anatol Belski 73eb5a78b9 Fix race conditions with Apache vhost vs. per dir config
If the same php_value/php_flag is present in httpd.conf and .htaccess,
the key is potentially shared between threads. Unfortunately we can't
intern these keys using the current mechanism, because the MPM is setup
before the SAPI module setup is even started. A more elegant way were
to implement a kind of string pool for the thread safe Apache SAPI
config directives with the mechanism similar to what is done for the
SAPI setup now, but doing a separate management.
2018-01-31 20:15:30 +01:00
Derick Rethans 5feb53964f Sync with timelib 2017.06 2018-01-31 11:55:35 +00:00
Jakub Zelenka 3348d40a7b Use correct certs for SNI server tests with separate key and cert 2018-01-30 20:08:19 +00:00
Jakub Zelenka aef59537e6 Merge branch 'PHP-7.1' into PHP-7.2 2018-01-30 20:02:34 +00:00
Thomas Punt 0f393a6102 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use the correct freeing function
2018-01-29 11:13:22 +00:00
Bishop Bettini fa586cee3e Fixed bug #54289
If a directory is passed to Phar::extractTo(), loop over all
entries and extract all files with the given prefix.
2018-01-28 21:51:25 +01:00
Anatol Belski a99df321f1 [ci skip] Update NEWS. 2018-01-27 17:24:29 +01:00
Sam Ding a8c6b36d62 fixed Big_endian issue on s390x for stream test cases 2018-01-27 16:39:03 +01:00
Christoph M. Becker 96595a232a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Revert "Fix #75878: RecursiveTreeIterator::setPostfix has wrong signature"
2018-01-27 13:13:06 +01:00
Christoph M. Becker d7a02844f9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75878: RecursiveTreeIterator::setPostfix has wrong signature
2018-01-27 12:41:15 +01:00
Nikita Popov fd255b8878 Merge branch 'PHP-7.1' into PHP-7.2 2018-01-26 22:28:48 +01:00
Dmitry Stogov aad12cb49c Restore initial values on graceful server restart. 2018-01-26 15:22:36 +03:00
Michael Orlitzky 3fe9e10a1b ext/session: catch incompatible configure flags earlier.
The session extension has a --with-mm flag that tells it to build
the mm backend ("mm" is the name of the library). However, that
backend is not thread-safe, and mod_mm.c will refuse to compile if
the --enable-maintainer-zts flag was also passed to the configure
script.

Rather than crash halfway through the build, this commit adds a check
to the session extension's config.m4 file. If both --with-mm and
--enable-maintainer-zts are "on," then the configure script will
die and explain that they can't be used together.

PHP-bug: 14269
2018-01-24 21:22:15 +01:00
Derick Rethans 6dbe046154 Updated to version 2018.3 (2018c) 2018-01-24 13:57:07 +00:00
Derick Rethans 3bdcb6cf3e Empty merge 2018-01-24 13:57:07 +00:00
Sara Golemon 0c22cda951 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix alignment of PG struct cause by ignore_user_abort big endian fix
2018-01-23 11:11:37 -05:00
Sara Golemon 0067420049 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use Z_EXPECTED_LONG to initialize FAST_ZPP parsing loop
2018-01-23 09:24:47 -05:00
Sara Golemon 871066523e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  BigEndian fix for ignore_user_abort. Use zend_bool to match OnUpdateBool
2018-01-23 08:58:53 -05:00
Anatol Belski 4626c28e9c [ci skip] Update NEWS 2018-01-22 19:15:30 +01:00
Anatol Belski b8f14008eb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-01-22 19:15:02 +01:00
Anatol Belski e403e122cd Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #73725 Unable to retrieve value of varchar(max) type
2018-01-22 17:03:48 +01:00
Xinchen Hui 2dc1cd1154 Updated NEWS 2018-01-18 10:53:58 +08:00
Xinchen Hui 6184301212 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed #75838 (Memory leak in pg_escape_bytea())
2018-01-18 10:53:39 +08:00
Anatol Belski f0aa379dc1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add switches for Spectre variant 1 mitigation
2018-01-17 14:47:39 +01:00
Anatol Belski 13dd12e85f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  7.0.15 next
2018-01-16 19:49:23 +01:00
Xinchen Hui 9206afc652 Fixed NEWS 2018-01-16 17:31:44 +08:00
Remi Collet 5a54107879 next is 7.2.3 2018-01-16 09:54:57 +01:00
Anatol Belski be89405839 [ci skip] Update NEWS 2018-01-15 17:49:21 +01:00
Anatol Belski cc5e53695a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-01-15 17:47:29 +01:00
Anatol Belski c5768a7e24 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Allow pecl like usage in ext/phar, closes #2955
2018-01-15 14:25:45 +01:00
Nikita Popov f3c1726d25 Merge branch 'PHP-7.1' into PHP-7.2 2018-01-15 12:16:00 +01:00
Anatol Belski be0620a2f0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync for upcoming vc++ 15.6 version raise
2018-01-14 16:42:17 +01:00
Anatol Belski 43c578b4b2 [ci skip] Update NEWS 2018-01-13 14:50:58 +01:00
Anatol Belski 4fabee770f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-01-13 14:50:00 +01:00
Anatol Belski 1350f4f997 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix invalid free
2018-01-13 12:33:02 +01:00
Nikita Popov cf70e1910b Merge branch 'PHP-7.1' into PHP-7.2 2018-01-13 11:06:46 +01:00
Nikita Popov d00f52b6a9 Merge branch 'PHP-7.1' into PHP-7.2 2018-01-12 22:51:20 +01:00
Nikita Popov e112b8474a Merge branch 'PHP-7.1' into PHP-7.2 2018-01-12 21:28:24 +01:00
Nikita Popov 8c73fc8027 Fixed bug #75653 2018-01-12 18:30:22 +01:00
Nikita Popov f8c889760c Merge branch 'PHP-7.1' into PHP-7.2 2018-01-12 18:18:34 +01:00
Anatol Belski 1d05750c50 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75774 imap_append HeapCorruction
2018-01-12 17:14:19 +01:00
Anatol Belski baaf73be69 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Unify EOL
  Extend test, latest cURL ships also with smb and smbs
2018-01-12 12:21:43 +01:00
Anatol Belski e3fda6e5f6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test for libtidy 5.6.0
2018-01-11 14:33:59 +01:00
Christoph M. Becker 7e1d2bd82a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75799 (arg of get_defined_functions is optional)
2018-01-11 13:13:49 +01:00
Nikita Popov 2dd80a0782 Merge branch 'PHP-7.1' into PHP-7.2 2018-01-09 20:24:48 +01:00
Nikita Popov c8eda195aa Merge branch 'PHP-7.1' into PHP-7.2 2018-01-09 18:44:20 +01:00
Xinchen Hui 0a1f52fb09 Update NEWS 2018-01-09 16:23:26 +08:00
Xinchen Hui 9a2fc39542 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75781 (substr_count incorrect result)
2018-01-09 16:21:13 +08:00
Dmitry Stogov cfee682802 Fixed possible incorrect "mark" usage 2018-01-09 10:30:00 +03:00
Anatol Belski fc6a990891 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix tests
2018-01-04 16:09:51 +01:00
Lior Kaplan fc528afd2b Happy new year (Update copyright to 2018) 2018-01-04 00:50:42 +02:00
Anatol Belski 4635cc5b9d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Skip on Travis-CI
2018-01-03 18:36:10 +01:00
Anatol Belski e282e52967 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Extend skip section
2018-01-03 16:56:00 +01:00
Remi Collet c0862892ff Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  2018
2018-01-03 15:13:10 +01:00
Remi Collet 421787db6b missing changelog entries + fix version and date 2018-01-03 15:10:09 +01:00
Remi Collet 6659689c74 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  missing changelog entries
  2018
2018-01-03 15:07:36 +01:00
Xinchen Hui 0e62639d28 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Happy new year (Update copyright to 2018)
2018-01-03 16:00:34 +08:00
Ferenc Kovacs 5275149e3a Merge branch 'PHP-7.1' into PHP-7.2 2018-01-03 00:35:50 +01:00
Anatol Belski 8a8bf1dc13 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Skip test for pdo_odbc
2018-01-02 12:29:19 +01:00
Anatol Belski 08d06f7d4f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test for pdo_odbc
2018-01-02 11:39:09 +01:00
Stanislav Malyshev 4380ba7f9c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix some int/long confusion issues in GMP
2018-01-02 00:12:33 -08:00
Anatol Belski e07eda1235 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2018-01-02 07:50:18 +01:00
Xinchen Hui b2346a9888 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  regenerated with newer re2c
2018-01-02 13:57:56 +08:00
Xinchen Hui 0ebe87dc17 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
2018-01-02 13:50:46 +08:00
Xinchen Hui e8eb52dc98 Merge branch 'PHP-7.2' of git.php.net:/php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:/php-src:
  Update NEWS
  Fixed bug #75571: Potential infinite loop in gdImageCreateFromGifCtx
  Fix bug #74782: remove file name from output to avoid XSS
2018-01-02 13:50:18 +08:00
Stanislav Malyshev a68dc899bb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #75571: Potential infinite loop in gdImageCreateFromGifCtx
  Fix bug #74782: remove file name from output to avoid XSS
2018-01-01 21:07:21 -08:00
Xinchen Hui 7a7ec01a49 year++ 2018-01-02 12:55:14 +08:00
Xinchen Hui 1f2ea6c59a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  year++
2018-01-02 12:54:07 +08:00
Nikita Popov 4422f86fde Merge branch 'PHP-7.1' into PHP-7.2 2018-01-01 21:30:30 +01:00
Jakub Zelenka 84aad458ca Merge branch 'PHP-7.1' into PHP-7.2 2017-12-30 17:41:45 +00:00
Dmitry Stogov 9188f1d861 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75720 (File cache not populated after SHM runs full)
2017-12-28 14:08:38 +03:00
Xinchen Hui 650264e360 Fixed bug #75742 (potential memleak in internal classes's static members) 2017-12-28 16:31:09 +08:00
Dmitry Stogov 4b5e182d61 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed reference-counting
2017-12-28 11:20:43 +03:00
Xinchen Hui 14304faae2 Updated NEWS 2017-12-27 12:52:25 +08:00
Xinchen Hui 6693898b30 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75735 ([embed SAPI] Segmentation fault in sapi_register_post_entry)
2017-12-27 12:52:06 +08:00
Anatol Belski eb5ba59ad5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Revert to Postgres 9.6, AppVeyor seems to have issues with 10
2017-12-22 23:39:37 +01:00
Anatol Belski 5f235e42fb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update tool path
2017-12-22 23:26:42 +01:00
Anatol Belski 76dee7dd07 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Switch AppVeyor to PostgreSQL 10 for tests
2017-12-22 23:14:50 +01:00
Anatol Belski 3e2c67b10c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  Fixed bug #75579 (Interned strings buffer overflow may cause crash)
2017-12-22 19:01:02 +01:00
Nikita Popov 12e991f5bd Merge branch 'PHP-7.1' into PHP-7.2 2017-12-22 18:22:47 +01:00
Nikita Popov 2c880037f5 Merge branch 'PHP-7.1' into PHP-7.2 2017-12-22 18:12:17 +01:00
Nikita Popov 74e3da5c8c Merge branch 'PHP-7.1' into PHP-7.2 2017-12-22 18:01:30 +01:00
Nikita Popov 3237336985 Merge branch 'PHP-7.1' into PHP-7.2 2017-12-22 17:50:04 +01:00
Anatol Belski 2252d8d730 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix wrong return value for fail case in set attribute handler in pdo_odbc
2017-12-22 16:45:25 +01:00
Anatol Belski a93445bf55 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  pdo_odbc has no driver API for quoting, skip the test
2017-12-22 16:28:10 +01:00
Dmitry Stogov a1810758d5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75579 (Interned strings buffer overflow may cause crash)
2017-12-21 23:36:51 +03:00
Anatol Belski 4d45f53e87 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Ensure expected items delivered in same order
2017-12-21 18:38:16 +01:00
Anatol Belski 9408f1efa7 Update libmagic.patch 2017-12-21 15:43:04 +01:00
Riccardo Magliocchetti e313daa598 fileinfo: fix misleading indentation in libmagic 2017-12-21 15:39:00 +01:00
Anatol Belski ddd401859c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix segfault. Compile param --with-tsrm-pth=yes
2017-12-21 13:49:05 +01:00
Anatol Belski dcc3f00090 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Templatize driver name in the expected string
2017-12-20 18:50:10 +01:00
Remi Collet ac4da9a0ed NEWS 2017-12-19 14:47:59 +01:00
Remi Collet c21ec44b21 display headers (buildtime) and library (runtime) versions in phpinfo (libzip >= 1.3.1) 2017-12-19 14:46:32 +01:00
Nikita Popov a1d2bf831f Document removal of opcache.fast_shutdown
[ci skip]
2017-12-18 21:44:48 +01:00
Jaromír Doleček 11eed9f3ba Fixed bug #75616
PDO can be built shared on Darwin nowadays. There used to be issues
relating to symbol references between dynamically loaded shared
objects.
2017-12-17 12:56:37 +01:00
Jaromír Doleček 200bf9b5d7 Fix bug #75615
Remove -I without argument in pdo_mysql config.m4.
2017-12-17 12:47:35 +01:00
Xinchen Hui a3b5b93ba9 Updated NEWS 2017-12-17 09:42:01 +08:00
Nikita Popov 340255a694 Fixed bug #75614
Replace non-standard == with = in shell scripts.
2017-12-16 22:31:10 +01:00
Nikita Popov ee45104dba Fixed bug #75698 2017-12-16 22:04:18 +01:00
Nikita Popov 19d0c5dc9f Add test for bug #75681
The issue itself has been fixed by 8a4532319d.
2017-12-16 21:24:26 +01:00
Nikita Popov 8a4532319d Improve fix for bug #75687
Adding an (incorrect) UNDEF here may cause subsequent narrowing in
other places.

Instead, let's try to handle this edge-case once for all
instructions...
2017-12-16 21:11:40 +01:00
Nikita Popov f01d5faf30 Merge branch 'PHP-7.1' into PHP-7.2 2017-12-16 17:21:01 +01:00
Pedro Magalhães 83964e0468 Fix #75607 - Check if existing static trait property is a ref before comparing 2017-12-16 17:07:12 +01:00
Xinchen Hui a20c9bd3fe Fixed bug #75687 (var 8 (TMP) has array key type but not value type) 2017-12-16 23:59:10 +08:00
Nikita Popov eb77c2c2a7 Merge branch 'PHP-7.1' into PHP-7.2 2017-12-15 22:04:34 +01:00
Anatol Belski d9a110a294 [ci skip] update NEWS 2017-12-15 16:26:40 +01:00
Anatol Belski 697e02d016 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-12-15 16:26:21 +01:00
Anatol Belski 171f1baff1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75671 pg_version() crashes when called on a connection to cockroach
2017-12-15 15:34:44 +01:00
Anatol Belski 90cccffe89 [ci skip] update NEWS 2017-12-14 18:18:26 +01:00
Anatol Belski 4c4ff47c16 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-12-14 18:17:54 +01:00
Anatol Belski ed210c186a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75679 Path 260 character problem
2017-12-14 16:17:37 +01:00
Danilo Correa 8c36588ee8 Set default value for some properties in generate-phpt 2017-12-13 21:28:29 +01:00
Nikita Popov 652d30acdc Merge branch 'PHP-7.1' into PHP-7.2 2017-12-13 21:25:21 +01:00
Sara Golemon 4cbc1f7e0d Prep NEWS for PHP 7.2.2 2017-12-12 15:18:44 -05:00
Anatol Belski 10bb7065cb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync known vc++ versions in 7.1
2017-12-11 14:14:44 +01:00
Anatol Belski 2d7bea0462 Add vc++ 19.12 to the known list 2017-12-11 12:57:58 +01:00
Nikita Popov c069db52ae Merge branch 'PHP-7.1' into PHP-7.2 2017-12-09 19:07:40 +01:00
Anatol Belski 57f33b4ce2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix yet one data race in PCRE
2017-12-06 16:04:22 +01:00
Anatol Belski d4af204637 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix use after free revealed by phpdbg
2017-12-05 18:34:39 +01:00
Anatol Belski 75a2ee7f7b Fixed bug #75601 Thread race in PCRE JIT support 2017-12-05 17:40:00 +01:00
Anatol Belski ed2434a6aa Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75601 Thread race in PCRE JIT support
  bump versions
2017-12-05 17:39:28 +01:00
Anatol Belski b79082c99d [ci skip] update NEWS 2017-12-05 09:01:02 +01:00
Anatol Belski 2edd10f27b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-12-05 09:00:12 +01:00
Anatol Belski c4ad9741cd Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  7.0.28 is next
2017-12-05 08:52:40 +01:00
Anatol Belski 95c828b982 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-12-05 08:42:25 +01:00
Dmitry Stogov 3503dc7482 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75608 ("Narrowing occurred during type inference" error)
2017-12-04 17:22:28 +03:00
Anatol Belski 5a0eb2446c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use dtor unconditionally in error case
2017-12-04 14:16:45 +01:00
Anatol Belski 94d7b7f3db Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75573 (Segmentation fault in 7.1.12 and 7.0.26)
2017-12-04 11:52:33 +01:00
Anatol Belski 36f85e17e2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix compat with libcurl 7.56.1+ and file:// wrapper
2017-12-03 12:28:41 +01:00
Nikita Popov f9b8bd07c7 Merge branch 'PHP-7.1' into PHP-7.2 2017-12-02 18:11:17 +01:00
Anatol Belski f282b7720a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Consider Xdebug for tmi ini generation, too
2017-12-01 16:03:09 +01:00
Dmitry Stogov 01b85f0e17 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Set trailing zero
2017-12-01 17:00:51 +03:00
Anatol Belski b6a27c7332 Revert "Fix macro redefinition warnings"
This reverts commit 23d2bd3748.
2017-11-30 13:21:04 +01:00
Anatol Belski 23d2bd3748 Fix macro redefinition warnings
The corresponding implementations are available from APR.
2017-11-30 12:40:52 +01:00
Christoph M. Becker 995ac8a094 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Define floorf if system doesn't have it (follow up for 22c48761)
2017-11-29 16:59:17 +01:00
Frank Denis fc8793499a Revert "Revert "ext/sodium: pwhash: do not warn on low parameters""
This reverts commit a1845b7fdb.

Revert "Revert "ext/sodium: throw exceptions instead of errors""
This reverts commit 31d221f9c7.
2017-11-29 13:19:56 +01:00
Anatol Belski 367c0b4c33 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-11-29 09:31:29 +01:00
Anatol Belski 6a23add631 [ci skip] update NEWS 2017-11-29 09:31:14 +01:00
Xinchen Hui 17338ddb48 Update NEWS 2017-11-29 14:47:26 +08:00
Xinchen Hui bedf6093ad Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75573 (Segmentation fault in 7.1.12 and 7.0.26)
2017-11-29 14:46:44 +08:00
Frank Denis a1845b7fdb Revert "ext/sodium: pwhash: do not warn on low parameters"
This reverts commit c219991c77.
2017-11-29 01:22:59 +01:00
Nikita Popov 1d557e4a62 Merge remote-tracking branch 'php-src/PHP-7.2' into PHP-7.2 2017-11-28 23:37:05 +01:00
Nikita Popov 060baf78cb Merge branch 'PHP-7.1' into PHP-7.2 2017-11-28 23:34:25 +01:00
Frank Denis 31d221f9c7 Revert "ext/sodium: throw exceptions instead of errors"
This reverts commit c05cbd1e77.
2017-11-28 23:30:21 +01:00
Anatol Belski 0b30461764 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Follow up on bug #75574 for FCGI side
2017-11-28 20:34:44 +01:00
Remi Collet 7c043fff53 NEWS 2017-11-28 18:00:36 +01:00
Remi Collet 9c8748316a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  NEWS
  NEWS
  Fixed bug #64938 libxml_disable_entity_loader setting is shared between requests (FPM)
2017-11-28 18:00:21 +01:00
Remi Collet bd44a2cb05 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  better fix for #75514
2017-11-28 17:43:15 +01:00
Frank Denis f2cb9c39c4 Merge branch 'PHP-7.2' of git.php.net:php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:php-src:
  [ci skip] update NEWS
  [ci skip] update NEWS
  Fixed bug #73830 Directory does not exist.
2017-11-28 13:56:46 +01:00
Frank Denis c05cbd1e77 ext/sodium: throw exceptions instead of errors 2017-11-28 13:56:11 +01:00
Anatol Belski e722f7bf06 [ci skip] update NEWS 2017-11-28 12:46:39 +01:00
Anatol Belski 71786ed50b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-11-28 12:46:03 +01:00
Anatol Belski 79940993de Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #73830 Directory does not exist.
2017-11-28 12:42:40 +01:00
Frank Denis c219991c77 ext/sodium: pwhash: do not warn on low parameters
but raise an explicit error if these are too low
2017-11-28 11:24:49 +01:00
Remi Collet 391d889f2c drop -dev from Zend version 2017-11-28 08:01:41 +01:00
Xinchen Hui c52900d7f0 Update NEWS 2017-11-28 13:16:39 +08:00
Xinchen Hui e02c2d2dfb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWs (added bug entry)
2017-11-28 13:16:22 +08:00
Anatol Belski eb0cc77133 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix allocation
  Fix memory leak
2017-11-27 21:18:54 +01:00
Anatol Belski 3c0bd0014d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75574 putenv does not work properly if parameter contains non-ASCII unicode character
2017-11-27 18:50:05 +01:00
Remi Collet 51404ad063 Prepare NEWS file for release
- set release date
- merge all alpha/beta/RC entries
- clean entries already in 7.1
2017-11-27 12:49:28 +01:00
Anatol Belski 155b244c12 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix normalized path length calculation and error handling
2017-11-27 12:33:23 +01:00
Dmitry Stogov a4b2ae69e9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug in type inference
2017-11-27 10:16:46 +03:00
Xinchen Hui 9d02227243 Improved fix 2017-11-27 12:03:37 +08:00
Xinchen Hui c412b8b384 Fixed bug #75556 (Invalid opcode 138/1/1) 2017-11-25 00:54:15 +08:00
Remi Collet 0dbb327d70 add 7.1 NEW entries 2017-11-23 11:08:53 +01:00
Dmitry Stogov 2a6a1fd22c typo 2017-11-22 16:30:57 +03:00
krakjoe ae810d785c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Check for binary_location allocation failure
2017-11-22 04:49:43 +00:00
krakjoe 1362c849e8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #75409
2017-11-22 04:32:42 +00:00
Anatol Belski 62e96c2b6f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-11-21 22:24:54 +01:00
Anatol Belski 9988f05628 [ci skip] update NEWS 2017-11-21 22:24:32 +01:00
Anatol Belski f6b0d365a7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed #75539 and #74183 - preg_last_error not returning error code after error
2017-11-21 20:11:21 +01:00
Remi Collet 307e15592b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Better fix bug #75540 Segfault with libzip 1.3.1 - only 1.3.1 is affected - fix use after free
2017-11-20 09:42:58 +01:00
Remi Collet 045e0fc0c7 NEWS 2017-11-20 08:51:42 +01:00
Remi Collet fa427a86cc Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  NEWS
  NEWS
  fix bug #75540 Segfault with libzip 1.3.1
2017-11-20 08:51:29 +01:00
Nikita Popov 31d9287d2b Merge branch 'PHP-7.1' into PHP-7.2 2017-11-17 23:22:07 +01:00
Nikita Popov 1310234aa3 Fix printf format issues on i386 2017-11-17 22:25:03 +01:00
Anatol Belski d5a2ddab53 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update SDK version for AppVeyor
2017-11-17 16:38:32 +01:00
Nikita Popov 95e9cc2871 Backport some printf() fixes to 7.2 2017-11-16 21:26:33 +01:00
Tyson Andre 9379b319b0 Fix typo in UPGRADING, should be oci_unregister_taf_callback
See de65a2243f which exposes
the unregister functionality.

[ci skip]
2017-11-16 00:19:36 +01:00
Nikita Popov 6640e03df8 Merge branch 'PHP-7.1' into PHP-7.2 2017-11-15 23:01:25 +01:00
Anatol Belski 97b046a608 [ci skip] update NEWS 2017-11-15 20:41:15 +01:00
Anatol Belski 6f41ca4de1 Refine allocation
None of currently supported codepages would claim more than 5
bytes per a multibyte glyph, that's (255*5+1)kb, not 2kb anymore.
2017-11-15 18:02:01 +01:00
Remi Collet 4764574910 NEWS 2017-11-15 15:35:21 +01:00
Anatol Belski 0e5d4ea555 Fix C++ compatibility for TSRM_TLS
If a C++11 source is compiled, thread_local is preferred. Furthermore,
at least GCC treats __thread vs. thread_local a different way and under
certain circumstances would refuse to compile __thread is a C++11 source.
This change is far behind in time, any up-to-date compiler supports C++11
and otherwise it won't take effect on lower versions.
2017-11-15 12:44:04 +01:00
Anatol Belski 5b28218cc6 Add missing var declarations for phpize mode 2017-11-15 12:00:58 +01:00
Anatol Belski 7f35502bd1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Regenerate cp map
2017-11-15 11:24:12 +01:00
Anatol Belski 020fdfd55d Fixed bug #75525 Access Violation in vcruntime140.dll
It was a mistake to make d_name a pointer. d_name has to be allocated
in the body of struct dirent as per POSIX.1-2008. The binary
compatibility is kept through the extra padding, which will be removed
in 7.3.
2017-11-15 09:55:29 +01:00
Anatol Belski 235d33ac7a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  update NEWS
  Update NEWS
  Fix bug 60471 by correctly identifying unused speculative preconnections
2017-11-14 20:05:28 +01:00
Anatol Belski 0d13323915 Fix UTF check in pcre_grep
In this case it loops through different subjects without looking for sub
matches and matches are done against the same pattern. Thus, don't reset
the UTF check flag but use it to check whether JIT should be used and
otherwise let PCRE to do the job according to what was saved into the
pattern.
2017-11-14 13:49:06 +01:00
Anatol Belski 3c241ea326 Fix uninitialized flag when JIT is disabled 2017-11-14 10:12:55 +01:00
Sara Golemon 0a45e8f096 Bugfix#75515 php://streams behaving greedily
5060fc23 attempted to fix #68948 by treating all non-uri streams
as non-blocking, however php://fd/* streams (which includes stdin)
may block if the other end of the IPC isn't finished.

This represents a partial revert to the pre RC6 state,
but includes an escape hatch for php://memory and php://temp
streams which are local to the current process.

This also restores stream_set_chunk_size test to previous state.
2017-11-13 09:40:34 -05:00
Remi Collet 704bcd385f next version is 7.2.1 2017-11-13 12:46:30 +01:00
Remi Collet 8c73c9a150 NEWS 2017-11-13 10:23:07 +01:00
Remi Collet 9e3bd1b288 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  NEWS
  Fixed bug #75514 mt_rand returns value outside [$min,$max]+ on 32-bit
2017-11-13 10:22:51 +01:00
Xinchen Hui 2d88b2a1ea Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Avoid overflow
2017-11-13 11:19:42 +08:00
Xinchen Hui 1ab03bc316 Update NEWS 2017-11-13 11:13:58 +08:00
Xinchen Hui bc38c06752 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75511 (fread not free unused buffer)
2017-11-13 11:13:42 +08:00
Anatol Belski 1426be1054 [ci skip] update NEWS 2017-11-10 11:43:02 +01:00
Anatol Belski 1b8f03c796 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-11-10 11:41:52 +01:00
Anatol Belski 01c70cc98b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed #75384 PHP seems incompatible with OneDrive files on demand
  bump versions
  Fixed ext/date tests due to changes in Olson database
2017-11-08 12:00:30 +01:00
Dmitry Stogov b6294bbc6c Fixed assertion on phpMyAdmin-4.7.5 home page 2017-11-08 12:51:53 +03:00
Derick Rethans 466a34d67c Revert "date module, replacing abs call with the llabs's like one due to bigger type"
This reverts commit c189845951.
2017-11-07 14:52:12 +00:00
Derick Rethans 22b6ab3919 Merge branch 'PHP-7.1' into PHP-7.2 2017-11-07 11:35:03 +00:00
Anatol Belski b6336b0d3e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  7.0.27 next
2017-11-07 10:10:41 +01:00
David Carlier c189845951 date module, replacing abs call with the llabs's like one due to bigger type 2017-11-07 05:27:27 +00:00
Michael Moravec f70ca770b6 Revert BC break caused by fixing bug #74035
This reverts commit 9ffc6ca62f.
2017-11-06 17:52:17 -05:00
Simon JAILLET 5060fc2349 Fixes #68948 related to a BC break introduced by #68532 fix. 2017-11-06 17:34:42 -05:00
Christoph M. Becker b152633ecb Scale support for bcmod()
As of commit 90dcbbe (PHP-7.2+) bcmod() supports non-integral
parameters as well. Since formerly only integer modulus has been
supported, it did not make much sense to cater to the scale with regard
to the result. However, now it does for consistency with other BCMath
operations.

Therefore, we add support for an optional `scale` parameter and fall
back to the default scale (`bcmath.scale`) as usual.
2017-11-06 17:26:52 -05:00
Tyson Andre 5cdf37e603 Fix proto documents for new global functions
See NEWS and UPGRADING (or arginfo/implementation) for details.
2017-11-06 07:24:42 +00:00
Tyson Andre 88e94a0bd1 Mention spl_object_id in UPGRADING notes
This was implemented in PR #2611
2017-11-06 07:18:39 +00:00
Joe Watkins c3ee17065b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix wrong check of definition_phi->constraint.range.max_ssa_var
2017-11-03 17:49:52 +00:00
Anatol Belski 0166e5c466 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update libs_version.txt
2017-11-02 22:46:25 +01:00
Nikita Popov f3c7e1cefb Merge branch 'PHP-7.1' into PHP-7.2 2017-11-02 20:56:35 +01:00
Anatol Belski 8a4702223d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync and fix tests for ICU 60.1 compat
2017-11-02 12:39:04 +01:00
Anatol Belski 5a3688fe2c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Yet one /nologo
2017-11-02 09:24:22 +01:00
Anatol Belski da9da5742c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix year
  Add /nologo
2017-10-31 10:38:18 +01:00
Anatol Belski e3b2859c8a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add missing ICU version check
2017-10-30 18:16:47 +01:00
Jakub Zelenka 19c62e83fa Merge branch 'PHP-7.1' into PHP-7.2 2017-10-30 16:43:36 +00:00
Joe Watkins ccba0f5948 Merge branch 'PHP-7.2' of git.php.net:/php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:/php-src:
  Yet one attempt to mitigate the unzip error on AppVeyor
  Ensure SDK is checked out before asking for version
  Fix fetching the SDK version
  Fix SDK version comparison and add more verbosity
  Don't use the cache dependency, SDK version is handled in script
  Remove status check on the SDK repo and add version check
  Use abbrev
  Catch with the latest AppVeyor unzip errors
  Fixed type inference
2017-10-30 14:16:38 +00:00
Joe Watkins 118db2d2f7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #75464 Wrong reflection on SoapClient::__setSoapHeaders
2017-10-30 14:14:21 +00:00
Anatol Belski f10d8c21ab Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Yet one attempt to mitigate the unzip error on AppVeyor
2017-10-30 12:20:24 +01:00
Anatol Belski 8be5bb8b10 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Ensure SDK is checked out before asking for version
2017-10-30 12:09:15 +01:00
Anatol Belski ddcef0fc0f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix fetching the SDK version
2017-10-30 11:30:19 +01:00
Xinchen Hui d4b81223cd Merge branch 'PHP-7.2' of git.php.net:/php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:/php-src:
  Fix SDK version comparison and add more verbosity
  Don't use the cache dependency, SDK version is handled in script
2017-10-30 18:21:00 +08:00
Xinchen Hui db4eb54149 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use abbrev
2017-10-30 18:17:41 +08:00
Anatol Belski a438a633e9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix SDK version comparison and add more verbosity
  Don't use the cache dependency, SDK version is handled in script
2017-10-30 11:16:33 +01:00
Anatol Belski e5179054fb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Remove status check on the SDK repo and add version check
2017-10-30 10:17:25 +01:00
Anatol Belski af6ba57d95 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Catch with the latest AppVeyor unzip errors
2017-10-30 08:57:29 +01:00
Dmitry Stogov 49256dcf6f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed type inference
2017-10-30 10:44:12 +03:00
Joe Watkins 1a72d3225c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #75453 Incorrect reflection on ibase_connect and ibase_pconnect
2017-10-30 06:55:58 +00:00
Anatol Belski 2c317bea2c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Re-enable AppVeyor cache
2017-10-29 10:09:45 +01:00
Joe Watkins cb04599d27 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  make sure run-tests reports exit status upon prerequisite error
2017-10-29 04:38:08 +00:00
Nikita Popov 58f90ab569 Merge branch 'PHP-7.1' into PHP-7.2 2017-10-28 12:58:23 +02:00
Sara Golemon cc96166f74 Don't optimize input arrays with suffix holes 2017-10-27 13:07:33 -04:00
Joe Watkins f2367d4626 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #75307 Wrong reflection for openssl_open function
2017-10-27 16:06:57 +01:00
Anatol Belski cbf385e68c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Skip test on PostgreSQL 10
2017-10-27 16:23:50 +02:00
Anatol Belski f936a17c12 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test compat for PostgreSQL 10
2017-10-27 15:04:54 +02:00
Anatol Belski 40f76c9f0c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Apply upstream patch for CVE-2017-14107
  Backport and apply upstream patch for CVE-2017-14107
2017-10-27 14:18:27 +02:00
Anatol Belski f577a03c04 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Binary SDK 2.0.12 stable
2017-10-26 21:27:09 +02:00
Dmitry Stogov 1d846fdfb2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed indirect modification of magic ArrayAccess method arguments
2017-10-26 16:07:49 +03:00
Dmitry Stogov 25d988e91a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Backport tests
2017-10-26 14:12:45 +03:00
Dmitry Stogov e3997b2c82 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed indirect modification of magic method arguments.
2017-10-26 13:12:52 +03:00
Xinchen Hui 887ae8a380 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed test
2017-10-26 10:24:00 +08:00
Xinchen Hui ed02dce2a4 Update NEWS 2017-10-26 10:11:13 +08:00
Xinchen Hui 11a4b57e61 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #75420 (Crash when modifing property name in __isset for BP_VAR_IS)
2017-10-26 10:09:57 +08:00
Joe Watkins 25a3ebdc73 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix typo in comments
2017-10-25 21:00:03 +01:00
Anatol Belski 777e189445 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Don't create plist files when using clang analyzer
2017-10-25 18:11:40 +02:00
Christoph M. Becker a059244b3c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix the SKIPIF part in /ext/gd/tests/bug75437.phpt
2017-10-25 14:53:01 +02:00
Christoph M. Becker c78813a6b8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #75437 Wrong reflection on imagewebp
2017-10-25 13:03:42 +02:00
Ferenc Kovacs 58ccfb051b Merge branch 'PHP-7.1' into PHP-7.2 2017-10-25 03:42:55 +02:00
Ferenc Kovacs 92dd3df148 Merge branch 'PHP-7.1' into PHP-7.2 2017-10-25 03:20:34 +02:00
Sara Golemon a8ffc69288 Update NEWS for 7.2.0RC6 2017-10-24 14:32:38 -04:00
Sara Golemon 98f28a911c Update NEWS for PHP 7.2.0RC5 2017-10-24 14:32:38 -04:00
Anatol Belski ffeb8d1b03 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Parametrize the expected value to avoid platform false positives
2017-10-24 18:38:44 +02:00
Sara Golemon d0d7db8b3f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Decref default_link when clearing
2017-10-24 11:38:24 -04:00
Christoph M. Becker c04617aa61 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #65148 (imagerotate may alter image dimensions)
2017-10-24 17:17:18 +02:00
Derick Rethans ca23b0484c Merge branch 'PHP-7.1' into PHP-7.2 2017-10-24 14:56:24 +01:00
Anatol Belski 4ec299437d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test
2017-10-24 14:58:56 +02:00
Anatol Belski ab85763997 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-10-24 14:22:44 +02:00
Anatol Belski ab8c0f194a [ci skip] update NEWS 2017-10-24 14:22:25 +02:00
Anatol Belski 176c9b61a4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #72535 arcfour encryption stream filter crashes php
2017-10-24 14:07:32 +02:00
Anatol Belski e97b10f1a0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75055 Out-Of-Bounds Read in timelib_meridian()
  Apply upstream patch for CVE-2016-1283
2017-10-24 13:45:16 +02:00
Sara Golemon e83e187a9f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  NEWS entry for pg_close() fix
2017-10-23 14:56:50 -04:00
Sara Golemon ece23ea20f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Bugfix#75419 Fix clearing of default link during pg_close()
2017-10-23 14:44:40 -04:00
Anatol Belski b4db9e9acc Update libmagic.patch 2017-10-23 19:18:25 +02:00
Anatol Belski 734c1f3cd4 Fail hard when re2c is not found or the version requirement not met
With 7.2, the binary SDK supplies the minimal required version, thus no
reason to fail later at the compilation time.
2017-10-23 19:01:14 +02:00
Anatol Belski fb0be397d0 Fix mismatching alloc 2017-10-23 18:49:17 +02:00
Derick Rethans 12e2fc4ab6 Updated to version 2017.3 (2017c) 2017-10-23 17:31:23 +01:00
Derick Rethans 9290c826fa Empty merge 2017-10-23 17:31:23 +01:00
Anatol Belski 9beb743b07 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix memory leak
2017-10-23 15:40:37 +02:00
Anatol Belski 0e44c980f9 Fix uninitialized vars 2017-10-23 12:02:41 +02:00
Anatol Belski 8f35685744 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Renaming cache folder is not a solution, too. Disable cache for now.
  Revert "Rename build cache folder and separate sdk"
2017-10-23 07:14:14 +02:00
Anatol Belski bba881e424 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Rename build cache folder and separate sdk
  Revert "Invalidate the whole cache when .appveyor.yml was changed"
2017-10-23 07:09:52 +02:00
Anatol Belski ae5dbea5e7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Invalidate the whole cache when .appveyor.yml was changed
2017-10-23 07:02:15 +02:00
Jakub Zelenka e33721978e Merge branch 'PHP-7.1' into PHP-7.2 2017-10-22 18:58:15 +01:00
Anatol Belski bb0a15f499 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  With ICU 58+, set the default restriction level to high
2017-10-21 17:24:42 +02:00
Anatol Belski ff1b1c2761 Add TZ and Unicode versions to intl MINFO 2017-10-21 16:17:31 +02:00
Anatol Belski 73d68ff3e0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Reenable AppVeyor cache
2017-10-21 12:00:26 +02:00
Anatol Belski 839b3d1677 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Disable AppVeyor cache to unlock build
2017-10-21 10:52:48 +02:00
Anatol Belski 3eb7ea55ae Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Rework these new tests to match with diffs in ICU 58, 59 and upcoming 60
2017-10-21 10:30:43 +02:00
Anatol Belski 42ccf41e96 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [skip ci] Update NEWS
  [ci skip] Update NEWS
2017-10-20 20:49:17 +02:00
Anatol Belski 858614e92a [ci skip] Update NEWS 2017-10-20 20:48:59 +02:00
Anatol Belski 416c993c8e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #73655 Spoofchecker::isSuspicious behavior change due to upstream changes
  Add test for newer ICU version
2017-10-20 20:14:48 +02:00
Anatol Belski 57fc9fcba4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Further test fixes for ICU >= 58
  Version checks
2017-10-20 18:40:55 +02:00
Anatol Belski fb88cee0fc Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Yet two wrong version checks
2017-10-20 16:55:32 +02:00
Anatol Belski 0f7ddf0d47 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix version checks in tests
  Fix version checks in tests
2017-10-20 15:25:27 +02:00
Anatol Belski 7775f9e872 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync some tests for compat with ICU 58.1, PHP 7.1+ part
  Sync some tests for compat with ICU 58.1+
2017-10-20 13:58:53 +02:00
Anatol Belski 2a361b14ea Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add skip for incompatible ICU version
2017-10-20 11:30:09 +02:00
Joe Watkins 4b67943501 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed #75317 - UConverter::setDestinationEncoding changes source instead of destinatination
2017-10-19 12:03:19 +01:00
Joe Watkins cf91d81b31 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update .editorconfig with some more configs
2017-10-19 11:54:01 +01:00
Joe Watkins 0397b8c5c5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix issue with zend signals in php_request_startup
2017-10-19 11:48:27 +01:00
Joe Watkins 965daf4349 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Escape newline on curl config.m4
2017-10-19 11:40:48 +01:00
Anatol Belski 2b76520d86 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Move to php-sdk-2.0.0beta3 for Appveyor
2017-10-18 17:47:27 +02:00
Anatol Belski 5315cea6e2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Backport 7ff13badda into 7.0+
2017-10-18 16:27:31 +02:00
Anatol Belski 63a0ddb013 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  One more folder to delete in AppVeyor image
2017-10-17 15:37:23 +02:00
Xinchen Hui e53a9aaa4a Fixed bug (assertion fails with extended info generated) 2017-10-17 19:47:29 +08:00
Xinchen Hui 0292456262 Fixed test 2017-10-17 12:20:43 +08:00
Xinchen Hui 2f73f2436a Try to fix test 2017-10-17 11:35:40 +08:00
Tianfang Yang 77ad860bf0 Merge branch 'PHP-7.1' into PHP-7.2 2017-10-16 19:27:21 -04:00
Anatol Belski d30477f23a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Move to next binary SDK version for AppVeyor
2017-10-16 18:07:41 +02:00
Dmitry Stogov 5d6912d185 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Prevent crash on ext/pdo_mysql/tests/bug_39858.phpt when built with libmysql
2017-10-16 19:02:22 +03:00
Xinchen Hui 6fab62e923 Merge branch 'PHP-7.2' of git.php.net:/php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:/php-src:
  [ci skip] Fixed bug #75383 (The date is "Sep", it should say "Oct")
  Properly fix #75363 and address some other leaks with cert
2017-10-16 19:07:55 +08:00
Xinchen Hui 863acd7753 Fixed bug #75378 ([REGRESSION] IntlDateFormatter::parse() does not change $position argument) 2017-10-16 19:07:34 +08:00
Christoph M. Becker 08c04c9245 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Fixed bug #75383 (The date is "Sep", it should say "Oct")
2017-10-16 11:12:17 +02:00
Jakub Zelenka 532aec7af2 Merge branch 'PHP-7.2' of git.php.net:php-src into PHP-7.2 2017-10-16 09:54:03 +01:00
Xinchen Hui 8e147f12b9 Fixed bug (Phi sources removel) 2017-10-16 15:01:06 +08:00
Jakub Zelenka a3da46b524 Merge branch 'PHP-7.1' into PHP-7.2 2017-10-15 20:33:22 +01:00
Jakub Zelenka 7c556c44a1 Fix bug #68567 (JSON_PARTIAL_OUTPUT_ON_ERROR can result in JSON with null key) 2017-10-15 19:36:15 +01:00
Christoph M. Becker 46d87c1f10 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #53070 (enchant_broker_get_path crashes if no path is set)
2017-10-15 14:07:41 +02:00
Christoph M. Becker de5f15ed4e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75365 (Enchant still reports version 1.1.0)
2017-10-15 13:35:59 +02:00
Xinchen Hui 481a65a028 Update NEWS 2017-10-15 10:29:40 +08:00
Xinchen Hui 9f5ed133b3 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #75287 (Builtin webserver crash after chdir in a shutdown function)
2017-10-15 10:29:28 +08:00
Xinchen Hui abbdbc21b0 Fixed bug #75357 (segfault loading WordPress wp-admin) 2017-10-14 23:12:29 +08:00
Dmitry Stogov 7045362ce7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75368 (mmap/munmap trashing on unlucky allocations)
2017-10-13 14:00:21 +03:00
Xinchen Hui 21f049b45c Prevent from being affected by local php.ini 2017-10-13 18:23:56 +08:00
Xinchen Hui a52d1088e5 Added skipf 2017-10-13 18:21:41 +08:00
Xinchen Hui e4f7ff9c0f Fixed bug #75370 (Webserver hangs on valid PHP text) 2017-10-13 18:18:10 +08:00
Xinchen Hui e50cc4d3af Fixed typo 2017-10-13 17:35:02 +08:00
Christoph M. Becker 3f8961dfac Fixed bug #75221 (Argon2i always throws NUL at the end)
Apparently, `argon2_encodedlen()` also counts the terminating NUL byte;
that doesn't appear to be documented somewhere, but from looking at the
implementation[1] it is pretty obvious.  Therefore, the respective
`zend_string` has to be one byte shorter.

[1] <https://github.com/P-H-C/phc-winner-argon2/blob/20161029/src/argon2.c#L431-L436>
2017-10-12 12:52:37 +02:00
Bob Weinand ee36507423 Merge branch 'PHP-7.1' into PHP-7.2 2017-10-12 12:32:30 +02:00
Anatol Belski 81473829d4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  It looks like i should've taken joint response on ext/fileinfo long ago
2017-10-11 22:25:27 +02:00
Anatol Belski e7aebcc186 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Put php-sdk-2.0.12beta1 for AppVeyor
2017-10-11 20:31:58 +02:00
Anatol Belski 4d61091ac7 [ci skip] update NEWS 2017-10-11 19:02:51 +02:00
Anatol Belski 747f70ba82 Cleanup irrelevant info 2017-10-11 18:40:16 +02:00
Anatol Belski 08d8623dec Upgrade bundled libmagic to 5.31 2017-10-11 18:18:55 +02:00
Christoph M. Becker 1f150fcde1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix Bug #75299 Wrong reflection on inflate_init and inflate_add
2017-10-11 17:30:45 +02:00
Christoph M. Becker 50bd4996fd Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use PHP_VERSION for exif
2017-10-11 14:44:43 +02:00
Christoph M. Becker b65e6cfe35 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  bump version
2017-10-11 14:38:12 +02:00
Anatol Belski 53169dc480 Fix datatype 2017-10-11 08:58:59 +02:00
Dmitry Stogov 2929110ce1 Fixed cleanup after optimization passes 2017-10-10 19:25:51 +03:00
Sara Golemon 6c3c18723c Revert "Update NEWS for PHP 7.2.0RC4"
This reverts commit 1ea657c65e.
2017-10-10 11:55:50 -04:00
Sara Golemon 6c8a5817ec Revert "Update NEWS for 7.2.0RC5"
This reverts commit ef25e56ae6.
2017-10-10 11:55:41 -04:00
Sara Golemon ef25e56ae6 Update NEWS for 7.2.0RC5 2017-10-10 15:49:16 +00:00
Sara Golemon 1ea657c65e Update NEWS for PHP 7.2.0RC4 2017-10-10 15:27:31 +00:00
Anatol Belski ad279bd180 Fix path in makefile fragment 2017-10-10 14:32:19 +02:00
Christoph M. Becker fcaf183174 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Add NEWS entry for bug #75349
2017-10-10 13:59:28 +02:00
Anatol Belski 9c5a1dad64 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix re2c version detection
2017-10-10 13:00:26 +02:00
Remi Collet f3cda1a3a5 Update NEWS for 7.2.0RC5 2017-10-10 10:27:37 +00:00
Remi Collet 9317e910fe Update NEWS for PHP 7.2.0RC4 2017-10-10 10:12:30 +00:00
Anatol Belski 406622d117 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Move dev to 7.0.26
2017-10-10 08:28:09 +02:00
Anatol Belski 611d117b24 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix array access on undeclared properties in DateInterval
2017-10-09 15:38:37 +02:00
Anatol Belski a51c542b53 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix ftok() multibyte path support
2017-10-09 13:13:51 +02:00
Sara Golemon 1db7e4a962 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Bugfix #74556 stream_socket_get_name() returns null bytes on MacOS
2017-10-07 10:14:03 -04:00
Rasmus Lerdorf ec3ea3081d Add line numbers to Optimizer debug output 2017-10-06 17:18:58 -03:00
Christoph M. Becker d0146c2506 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75318 (The parameter of UConverter::getAliases() is not optional)
2017-10-06 16:57:20 +02:00
Nikita Popov 0e8ccb179d Merge branch 'PHP-7.1' into PHP-7.2 2017-10-05 12:26:19 +02:00
Dmitry Stogov e9426cf816 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed rarely possible use-after-free
2017-10-04 16:39:47 +03:00
Dmitry Stogov c3bb81d5a4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Bumped ext/oci8 version
  Use dereferenced value
  Fixed compilation errors
  Restored code for BOOL variables
  Fixed few ext/oci8 bugs
2017-10-04 09:59:27 +03:00
Christoph M. Becker 2b83f0da89 [ci skip] Merge branch 'pull-request/2776' into PHP-7.2
* pull-request/2776:
  Change EXTENSIONS file encoding from iso-8859-1 to utf-8
2017-10-04 00:30:57 +02:00
Joe Watkins 6e39258302 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Typo in status.html
2017-10-03 07:22:15 +01:00
Joe Watkins 4c12da6aca Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #74905
2017-10-03 07:19:23 +01:00
Joe Watkins a87434bda8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Remove ident gitattribute for ext/zip/php_zip.c
2017-10-03 07:15:14 +01:00
Remi Collet ca6d701994 NEWS 2017-10-03 06:42:39 +02:00
Remi Collet d67873ec99 Fix Bug #75284 sha3 is not supported on bigendian machine 2017-10-03 06:41:46 +02:00
Frank Denis a1c0824518 NEWS 2017-10-02 22:47:06 +02:00
Frank Denis 9d236d63f9 ext/sodium: untab tests 2017-10-02 22:28:46 +02:00
Frank Denis 1dc47286d1 ext/sodium: import secretstream test 2017-10-02 22:28:33 +02:00
Frank Denis 6de12a5f1e ext/sodium: sodium_compare() is always available 2017-10-02 22:23:53 +02:00
Frank Denis 40ab4c9d4e ext/sodium: fix funky indentation 2017-10-02 22:22:22 +02:00
Frank Denis 7fc396c15d ext/sodium: move pwhash_scrypt() after pwhash() 2017-10-02 22:19:55 +02:00
Frank Denis 986a9e879a ext/sodium: checks for crypto_box_SEALBYTES are not required 2017-10-02 22:11:29 +02:00
Frank Denis 4d1707b764 ext/sodium: explicitly include <string.h> 2017-10-02 22:10:30 +02:00
Frank Denis 0726d0be9f ext/sodium: zend_parse_parameters -> zend_parse_parameters_throw 2017-10-02 22:05:59 +02:00
Frank Denis e4917d141a ext/sodium: fix funky indent on zend_parse_parameters_throw() calls 2017-10-02 22:02:47 +02:00
Frank Denis 72f7d0b184 ext/sodium: import bindings for secretstream 2017-10-02 21:59:51 +02:00
Frank Denis 7d53e65125 ext/sodium: add crypto_pwhash_str_needs_rehash()
Also properly define xchacha20poly1305_ietf_keygen()
2017-10-02 21:54:50 +02:00
Frank Denis e22094eb13 ext/sodium: +base64 codecs (timing-safe) 2017-10-02 21:43:54 +02:00
Frank Denis ad120c5ae9 ext/sodium: add arginfo definitions that will be required later
Don't check for existence of aesgcm symbols, since we only support
libsodium >= 1.0.8
2017-10-02 21:40:38 +02:00
Frank Denis 519ca1d53b ext/sodium: sort prototypes 2017-10-02 21:36:35 +02:00
Remi Collet 2606c5f0fe Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  NEWS
  Fixed bug #75303 sha3 hangs on bigendian
2017-10-02 11:26:46 +02:00
Sara Golemon ec90310ea9 Guard against AI_NUMERICSERV not being defined. 2017-10-01 21:37:04 -04:00
Frank Denis 0663ca135d ext/sodium: fix pwhash_argon2i test 2017-10-01 16:00:41 +02:00
Xinchen Hui 92ceb64faf Merge branch 'patch-compile-warning' of https://github.com/petk/php-src into PHP-7.2
* 'patch-compile-warning' of https://github.com/petk/php-src:
  Fix bug #75279
2017-09-30 12:14:21 +08:00
Andrea Faulds 15efa985df Merge branch 'PHP-7.1' into PHP-7.2 2017-09-29 21:38:52 +01:00
Remi Collet 7e21f472c6 NEWS 2017-09-29 15:50:38 +02:00
Remi Collet 7c8357929c Fixed bug #75285i Broken build when system libpcre don't have jit support
Detect JIT support in system library,
So --with-pcre-jit is only for bundled library.
2017-09-29 15:47:50 +02:00
Peter Kokot 8d87f6f6dd Fix bug #75279 2017-09-29 14:33:54 +02:00
Anatol Belski c3a1cc382a Revert --with-pcre-valgrind by default in debug build
After quite a few people reported this option enabled to be in many cases
not handy by default, it's reverted to no by default everywhere. If enabled,
it requires Valgrind dev packages, where just a few have Valgrind itself
installed or care. Still for PCRE related work this option is a must,
though will have to be turned on by hand.

Revert "fix default args for --with-pcre-valgrind"

This reverts commit 24de0fe9f4.

Revert "Enable valgrind support for PCRE by default in debug builds"

This reverts commit 850bb998d9.
2017-09-29 12:17:38 +02:00
Xinchen Hui d3aa65231e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75267 (possible &/&& mixup)
2017-09-29 11:17:07 +08:00
Sara Golemon a93fe32c1a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix word alignment on ILP64.
2017-09-28 10:48:43 -04:00
Anatol Belski 4f1ea03528 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Apply upstream patch for CVE-2016-1283
2017-09-28 15:45:09 +02:00
Anatol Belski 4f63024206 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix mkdir() special case for path length < 260 and > 248
2017-09-28 13:19:48 +02:00
Christoph M. Becker b0d6d27349 [ci skip] hash_hmac_algos() is new in PHP 7.2.0 2017-09-27 17:18:10 +02:00
Dmitry Stogov 978c6c4e31 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75255 (Request hangs and not finish)
2017-09-27 17:17:46 +03:00
jhdxr 7deb561f75 fix bug #75222 DateInterval microseconds property always 0 2017-09-27 06:23:42 +01:00
Joe Watkins b0950ff854 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix CGI m4 config message when CGI is disabled
2017-09-27 06:20:46 +01:00
Joe Watkins 474ee702ab Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #75248 and #75251
2017-09-27 06:16:13 +01:00
Joe Watkins 0d6c56a8ea Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed #75220 - Segfault when calling is_callable on parent
2017-09-27 06:08:49 +01:00
Frank Denis 33b4405d84 ext/sodium: call crypto_pwhash_argon2id() explicitly if required 2017-09-26 18:09:00 +02:00
Frank Denis 47d75394c9 ext/sodium: avoid tautological comparisons 2017-09-26 17:58:16 +02:00
Frank Denis f64d00d684 ext/sodium: signing empty messages is fine 2017-09-26 17:37:04 +02:00
Remi Collet bffe657d94 Update NEWS for 7.2.0RC4 2017-09-26 09:38:23 +00:00
Remi Collet 8cdb9784d2 Update NEWS for PHP 7.2.0RC3 2017-09-26 09:23:07 +00:00
Nikita Popov 3a4db74ee4 Create $http_response_header even if not used
Extensions are relying on it.
2017-09-26 09:20:43 +02:00
Christoph M. Becker 296eb5193c Merge branch 'pull-request/2773' into PHP-7.2
* pull-request/2773:
  Fix PHP_GD_TTSTR: command not found warning in ext/gd
2017-09-26 00:45:21 +02:00
Anatol Belski 8466ef9096 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Remove some old sapi/apache_hooks and sapi/apache leftovers
2017-09-25 21:58:41 +02:00
Peter Kokot e095e6db63 Change EXTENSIONS file encoding from iso-8859-1 to utf-8
Also fix some characters to their correct letters.
2017-09-25 21:57:24 +02:00
Dmitry Stogov 2a33e357cd Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Added missed ~
2017-09-25 12:23:01 +03:00
Dmitry Stogov 801cdb8945 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed type inference
2017-09-25 12:04:13 +03:00
Peter Kokot 8c85d7b732 Fix PHP_GD_TTSTR: command not found warning in ext/gd 2017-09-25 02:37:42 +02:00
Xinchen Hui ed2a5ebaeb Fixed bug #75230 (Invalid opcode 49/1/8 using opcache) 2017-09-24 18:01:29 +08:00
Xinchen Hui ccc0a92504 Update NEWS 2017-09-24 17:25:11 +08:00
Xinchen Hui bad5639386 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #75241 (Null pointer dereference in zend_mm_alloc_small()).
  Compiler warning
2017-09-24 17:24:57 +08:00
Nikita Popov 76b2b4a190 Merge branch 'PHP-7.1' into PHP-7.2 2017-09-24 08:55:12 +02:00
Dmitry Stogov 28391b9e7f Using "enum" types as bit-fields is not portable. 2017-09-22 13:35:41 +03:00
Frank Denis 8a52a61e3a ext/sodium: avoid negations on unsigned values 2017-09-21 17:46:01 +02:00
Anatol Belski 95870dcc77 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix thread safety
2017-09-21 10:33:13 +02:00
Andrea Faulds 7418f6814f Merge branch 'PHP-7.1' into PHP-7.2 2017-09-21 00:04:56 +01:00
Jannes Jeising c7a0177491 [ci skip] Fix more typos in UPGRADING 2017-09-20 15:50:06 -04:00
Christoph M. Becker 43152bc39f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #73629 (SplDoublyLinkedList::setIteratorMode masks intern flags)
2017-09-20 15:54:07 +02:00
Dmitry Stogov 6544ec5460 Fixed NOP removal (empty blocks should be shifted as well) 2017-09-20 01:10:31 +03:00
Frank Denis fd86fdd7b8 ext/sodium: throw an exception if only the prefix of a hex string is valid 2017-09-19 14:37:21 +02:00
Remi Collet ee84f34344 rename test 2017-09-19 07:26:53 +02:00
Christoph M. Becker 3cd5f28899 [ci skip] Update NEWS 2017-09-18 22:52:18 +02:00
Dmitry Stogov 5ef10d08ec Use private names for new libpcre symbols. 2017-09-18 20:00:45 +03:00
Remi Collet 7d5c0f1906 NEWS 2017-09-18 18:09:35 +02:00
Remi Collet cfc6c4d297 Fixed Bug #75212 php_value acts like php_admin_value 2017-09-18 18:08:51 +02:00
Dmitry Stogov 084e34098a Fixed optimization (the bug caused endless-loop on micro_bench.php in master branch) 2017-09-18 14:10:18 +03:00
Anatol Belski d8f1afb45e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix the version check causing the test fail
2017-09-18 12:06:54 +02:00
Dmitry Stogov 41e5f916bf Fixed bug #74878 (Data race in ZTS builds) 2017-09-18 11:27:10 +03:00
Anatol Belski de2f28ede1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update lib_versions.txt
2017-09-18 09:37:46 +02:00
Anatol Belski 9551818649 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Move to next binary SDK version for AppVeyor
2017-09-15 23:06:19 +02:00
Christoph M. Becker b5052f0110 [ci skip] Fix typos in UPGRADING 2017-09-14 00:34:26 +02:00
Anatol Belski 46e0c474e0 [ci skip] update NEWS 2017-09-13 15:47:52 +02:00
Anatol Belski 66c7c28dbf Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-09-13 15:47:19 +02:00
Anatol Belski b134793b32 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75018, fixed bug #75177
2017-09-13 14:12:31 +02:00
Remi Collet d99cd28925 fix tests for 32-bit 2017-09-13 12:20:05 +02:00
Dmitry Stogov 168ec3a6e1 Fixed ZTS build (disable deallocation of arg_info of internal functions with type hints) 2017-09-13 10:10:56 +03:00
Dmitry Stogov a84608d4e2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Properly update string type flags
2017-09-13 01:46:23 +03:00
Dmitry Stogov 10a7f2cf62 Fixed memry leaks (free arg_info of internal functions with type hints) 2017-09-13 01:44:19 +03:00
Dmitry Stogov 40d15cb03d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Revert "Properly update string type flags"
2017-09-13 00:15:20 +03:00
Dmitry Stogov c2cf132ecd Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed test
2017-09-12 23:47:52 +03:00
Dmitry Stogov 73430d5362 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Properly update string type flags
2017-09-12 23:43:56 +03:00
Sara Golemon 0d37dcd21d Update NEWS for 7.2.0RC3 2017-09-12 12:47:55 -04:00
Sara Golemon 2272f408ed Update NEWS for PHP 7.2.0RC2 2017-09-12 12:47:55 -04:00
Anatol Belski 689f9956da Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test failure on 32-bit
2017-09-12 18:19:34 +02:00
Anatol Belski 7c5e454b09 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  bump versions
2017-09-12 18:11:05 +02:00
Remi Collet ea2507bc24 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  drop symbol definition, and not defined anywhere
2017-09-12 13:03:55 +02:00
Anatol Belski 8ed0094f48 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-09-12 12:19:14 +02:00
Anatol Belski 1454dc20eb [ci skip] update NEWS 2017-09-12 12:18:58 +02:00
Anatol Belski a54079b92f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75193 segfault in collator_convert_object_to_string
2017-09-12 12:14:24 +02:00
Anatol Belski 3a61773b45 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Move dev to 7.0.25
2017-09-12 09:03:31 +02:00
Anatol Belski be57071e8c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Fix news entry format
2017-09-12 08:38:36 +02:00
Anatol Belski c347f49a2d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Fix news entry format
2017-09-12 08:37:50 +02:00
Anatol Belski f5d478c8e6 [ci skip] Fix news entry format 2017-09-12 08:37:40 +02:00
Joe Watkins f87e513557 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix bug #75173 incorrect behavior of AppendIterator::append in foreach loop
2017-09-12 07:08:01 +01:00
Dylan K. Taylor c3b0e68eb7 Fix LDFLAGS getting overwritten (ext/curl) 2017-09-12 07:03:22 +01:00
Xinchen Hui a8427e7d37 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed arginfo for get_defined_functions
2017-09-12 13:26:25 +08:00
Christoph M. Becker 77f3cef35c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #46781 (BC math handles minus zero incorrectly)
2017-09-11 23:52:14 +02:00
Christoph M. Becker 613bac9eb3 [ci-skip] Add NEWS entry for bug #75185 2017-09-11 19:07:44 +02:00
Christoph M. Becker d95221ec4b [ci-skip] Add missing UPGRADING entry for commit 0d0f7cd
There is a respective entry in NEWS, but that would likely be missed by
the doc team.
2017-09-11 18:37:51 +02:00
Anatol Belski dcae6d6423 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fork test to keep up with libxsl >= 1.1.30
2017-09-11 18:20:42 +02:00
Anatol Belski 2d60b35147 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add symbol to libxml exports
2017-09-11 17:37:10 +02:00
Anatol Belski 8a9ff55397 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test compat with libxml2 2.9.5
2017-09-11 16:16:09 +02:00
Anatol Belski 45613b3473 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test compat with libxml2 2.9.5
2017-09-11 14:35:51 +02:00
Anatol Belski 2f5129cacb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test portability
2017-09-11 12:40:11 +02:00
Anatol Belski a6bbb534d5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test compatibility with libxml2 2.9.5
2017-09-11 12:18:37 +02:00
Xinchen Hui cbb72a2f8e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Not sure why these lines are removed :<
2017-09-11 13:36:09 +08:00
Xinchen Hui 8cb0627325 Update NEWS 2017-09-11 12:48:02 +08:00
Xinchen Hui 82d4727dbb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75152 (signed integer overflow in parse_iv)

Conflicts:
	ext/standard/var_unserializer.c
2017-09-11 12:47:47 +08:00
Christoph M. Becker 674fe0af38 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #73730 (textdomain(null) throws in strict mode)
2017-09-10 18:47:16 +02:00
Christoph M. Becker 20fe838c76 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug75178.phpt on Windows
2017-09-09 17:04:42 +02:00
Christoph M. Becker 21eab49a53 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75178 (bcpowmod() misbehaves for non-integer base or modulus)
2017-09-09 13:30:40 +02:00
Sara Golemon 55562dfb00 Do not include BC for zend_symbtable_add_new on 7.2/master 2017-09-07 17:37:20 -04:00
Sara Golemon 361d3007a6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add BC define for users of the typoed zend_symbtable_add_new
2017-09-07 17:36:35 -04:00
Sara Golemon ff04db4420 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix typo in zend_symtable_add_new() API name
2017-09-07 16:29:57 -04:00
Sammy Kaye Powers b786e1b45c Improve sodium "invalid parameters" error messages 2017-09-07 22:18:48 +02:00
Nikita Popov fd07302024 Fixed bug #75170
This change may result in different mt_rand/rand sequences being
generated on 64-bit systems for a specific seed.

See also https://externals.io/message/100229.
2017-09-07 20:04:38 +02:00
Côme Chilliet e67379399a Removing client controls attribute from ldap_exop signature
Client controls will not get implemented in php-ldap as
 they are specific to each client ldap lib and most of the
 time unused any way. (servers controls on the other end are used
 and will get implemented)
2017-09-07 16:31:03 +02:00
Dmitry Stogov 251a5599b4 Fixed SSA reconstruction 2017-09-07 17:10:38 +03:00
Christoph M. Becker d01453b129 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #54598 (bcpowmod() may return 1 if modulus is 1)
2017-09-07 00:38:59 +02:00
Christoph M. Becker 5ce744091c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #44995 (bcpowmod() fails if scale != 0)
2017-09-06 23:41:46 +02:00
Nikita Popov d78a7909c8 Merge branch 'PHP-7.1' into PHP-7.2 2017-09-05 18:14:16 +02:00
Nikita Popov dc00b6cf3f Fix assertion failure in SoapFault ctor
Resetting the IAP on a shared array violates COW. I'm replacing this
with code to look up indexes 0 and 1, even though this is not
strictly the same.
2017-09-05 17:38:50 +02:00
Ken Guest 056df0dcb2 Add test for invalid SoapFault parameters 2017-09-05 17:36:01 +02:00
Sammy Kaye Powers a8862d215c Fix a few places where ZPP throw got reverted to ZPP 2017-09-05 16:39:24 +02:00
Sammy Kaye Powers f1fd11f4ca Update NEWS that did not get updated in #2442
[ci skip]
2017-09-05 16:33:57 +02:00
Nikita Popov 9fbd8620fb Merge branch 'PHP-7.1' into PHP-7.2 2017-09-05 16:24:40 +02:00
Remi Collet 7378967206 UPGRADING 2017-09-05 08:20:04 +02:00
Remi Collet 81ad6a978a NEWS 2017-09-05 08:18:58 +02:00
Remi Collet e967de6bfa Fixed bug #75142 buildcheck.sh check for autoconf version needs to be updated for v2.64 2017-09-05 08:16:33 +02:00
Derick Rethans c0383b5039 Upgrade timelib to 2017.05beta9 2017-09-04 22:45:34 +01:00
Nikita Popov b2824629c2 Merge branch 'PHP-7.1' into PHP-7.2 2017-09-04 21:24:32 +02:00
Dmitry Stogov 384da65a97 Fixed edge-case in SSA use/def chain construction and type inference. 2017-09-04 21:58:24 +03:00
Dmitry Stogov b5935c339e Fixed tests 2017-09-04 20:12:17 +03:00
Remi Collet 6355e650f7 NEWS 2017-09-04 18:37:45 +02:00
Remi Collet a1bf36778a Fixed Bug #75149 redefinition of typedefs ttinfo and t1info
Minimal fix from upstream
Better name for struct will come later
2017-09-04 18:35:42 +02:00
Dmitry Stogov ea734e2ac2 Fixed incorect constant conditional jump elimination 2017-09-04 19:11:17 +03:00
Dmitry Stogov 97b3cce755 Merge branch 'PHP-7.2' of git.php.net:php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:php-src:
  improve warn (bzip2 requires libzip >= 1.3.0)
  libzip 1.3.0 supports also bz2 compression
2017-09-04 16:50:44 +03:00
Dmitry Stogov eb21300a26 Revert "Fixed incorrect optimizaton (update of jump instructions should be also reflected in CFG update)"
This reverts commit db5b8dbcdf.
2017-09-04 16:50:12 +03:00
Remi Collet 5bbd459609 improve warn (bzip2 requires libzip >= 1.3.0) 2017-09-04 14:47:03 +02:00
Anatol Belski b971087354 libzip 1.3.0 supports also bz2 compression 2017-09-04 13:27:53 +02:00
Dmitry Stogov db5b8dbcdf Fixed incorrect optimizaton (update of jump instructions should be also reflected in CFG update) 2017-09-04 14:07:37 +03:00
Dmitry Stogov ebb00c1e0f Fixed typo 2017-09-04 13:01:30 +03:00
Dmitry Stogov 4f1c2c22ca Prevent duplicate debug output 2017-09-04 12:58:40 +03:00
Anatol Belski ecc8f3cf16 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix command
2017-09-02 16:58:58 +02:00
Christoph M. Becker b4dc3de5ab Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75139 (libgd/gd_interpolation.c:1786: suspicious if ?)
2017-09-02 00:20:46 +02:00
Anatol Belski a6456f0a6c Fixed bug #75143 new method setEncryptionName() seems not to exist in ZipArchive
update NEWS
2017-09-01 10:53:09 +02:00
Anatol Belski fb597a8123 Yet one DLL to ignore 2017-09-01 10:37:59 +02:00
Anatol Belski 8191b9790b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Make for exclusion per regex
2017-08-31 23:57:58 +02:00
Anatol Belski 01171db15d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Extend ignore list for DLLs to not to look after
2017-08-31 20:55:53 +02:00
Anatol Belski e7c1c86ceb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix `nmake install` fails when there are no shared extensions
2017-08-31 20:34:03 +02:00
Anatol Belski 7ebf2902e7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Copy dependencies of the core DLL in `nmake snap` for statically-compiled extensions when packaging builds
2017-08-31 19:48:43 +02:00
Remi Collet 1248e0f7f5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  move AC_DEFINE in the right position (in bundled lib conditon)
2017-08-31 07:56:13 +02:00
Jakub Zelenka 1f843a8fb5 Automatically load OpenSSL configuration file 2017-08-30 17:31:17 +01:00
Jakub Zelenka 58df6a3b61 Do not explicitly initialize and clean up OpenSSL for OpenSSL 1.1 2017-08-30 17:29:24 +01:00
Anatol Belski 752fc86f2b Fix symbol name 2017-08-30 01:11:19 +02:00
Frank Denis 04c87ea815 ext/sodium: the second parameter of sodium_hex2bin() is optional 2017-08-29 19:25:01 +02:00
Frank Denis b1a7885dd7 ext/sodium: AI_StringRef_And_String -> AI_StringRefAndString for consistency 2017-08-29 19:23:22 +02:00
Frank Denis 6383c6e3d0 ext/sodium: sort functions list 2017-08-29 19:22:17 +02:00
Remi Collet 045d18d246 Update NEWS for 7.2.0RC2 2017-08-29 11:08:14 +00:00
Remi Collet 4f64716f37 Update NEWS for PHP 7.2.0RC1 2017-08-29 10:52:59 +00:00
Sammy Kaye Powers 56a999885a Fix constant references in error messages in ext/sodium 2017-08-28 22:16:35 -04:00
Anatol Belski c22cda5999 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Move to next bin SDK version for AppVeyor
2017-08-28 13:15:07 +02:00
Christoph M. Becker 1aeafb7d4a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75124 (gdImageGrayScale() may produce colors)
2017-08-27 14:07:55 +02:00
Remi Collet cc577749a8 Improve pkg-config usage
- use default path when run using --with-curl=/usr (for debian)
- fallback to headers search when libcurl.pc not found
- issue warnings for explanation
2017-08-27 07:48:52 +02:00
Christoph M. Becker 3a2ad5b2c5 Update to SQLite 3.20.1 2017-08-26 12:13:06 +02:00
David Carlier 24c0a17d78 Sync strlcat() implementation
Sync with last version made few days after.
2017-08-25 22:12:23 +02:00
Nikita Popov 3ef8964997 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-25 22:03:23 +02:00
Remi Collet df7f2a5df3 NEWS 2017-08-25 17:02:24 +02:00
Remi Collet b8c6ce91b2 Switch from curl-config to pkg-config for curl extension
First attemp to fix multiarch support (#74125) for curl
introduce some debian specificity (dpkg command)
so is not suitable for other environmant.

This is mostly related to a broken "curl-config" config on debian
which doesn't provide the correct build options, while pkg-config
works as expected.

This new attemp rely on pkg-config output instead.

Notice: this make pkg-config a hard dependency.
Is there system without pkg-config ?
2017-08-25 17:01:12 +02:00
Anatol Belski bd823a076c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  update libs versions
2017-08-25 11:29:12 +02:00
Anatol Belski a454e38b7c Enable PGO for Opcache 2017-08-24 23:36:21 +02:00
Anatol Belski 99ca99f079 Switch to non deprecated PGO options 2017-08-24 17:14:24 +02:00
Frank Denis 48907e57ff sodium ext: if it's a length, call it "length"! 2017-08-24 16:17:41 +02:00
Frank Denis 3691f36913 sodium ext: add bindings for sodium_pad() and sodium_unpad() 2017-08-24 16:12:18 +02:00
Christoph M. Becker 5cd348c1d6 Fixed bug #75111 (Memory disclosure or DoS via crafted .bmp image)
Crafted BMP images can cause dynamicSeek() to be called with a negative
position which must not be allowed, since dynamicSeek() works like
fseek() in SEEK_SET mode. We solve this by bailing out if `pos` is
negative, and let the image reading fail gracefully.
2017-08-24 14:07:10 +02:00
Frank Denis cf6f25bd37 sodium ext: restore sodium_remove_param_values_from_backtrace() call 2017-08-24 11:01:08 +02:00
Frank Denis a966d21aa8 sodium ext: sync sodium_crypto_kdf_derive_from_key() with the standalone ext
Use libsodium's native function if available, use correct constant names
in error messages
2017-08-24 10:59:02 +02:00
Frank Denis 271f0c4f90 sodium ext: Constants were renamed SODIUM_*
Adjust error messages accordingly.
2017-08-24 10:50:34 +02:00
Remi Collet 03361e9aa5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  From documentation, only the sign of returned value is relevant
2017-08-24 10:30:06 +02:00
Remi Collet f4792750a5 timelib now have a function for this, use it 2017-08-22 12:55:13 +02:00
Frank Denis 3fff74aab5 sodium ext: If sodium_init() returns 1, this is fine.
We actually want to do this so that multiple extensions using libsodium
can be loaded simultaneously.
2017-08-22 09:40:38 +02:00
Tianfang Yang 708349eeac Update NEWS 2017-08-22 01:51:15 -04:00
Tianfang Yang d128fdc2dc Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #74631 (PDO_PCO with PHP-FPM: OCI environment initialized before PHP-FPM sets it up)
2017-08-22 01:44:20 -04:00
Anatol Belski 5b4b19981c Correct default value 2017-08-21 19:37:41 +02:00
Xinchen Hui ccab684d9f Attempt to fix unstable test 2017-08-21 18:51:03 +08:00
Xinchen Hui ee26c1efbc Fixed type-infer 2017-08-21 16:35:07 +08:00
Andrea Faulds 799b52e87f Retroactively correct NEWS omission 2017-08-19 21:09:18 +01:00
Andrea Faulds ccb09d2c12 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-19 20:38:02 +01:00
Sammy Kaye Powers e8f552aeba Remove param values from backtrace in exception thrown from ZPP throw 2017-08-19 15:18:41 +02:00
Sammy Kaye Powers 0591fe2494 Change zend_parse_parameters() to zend_parse_parameters_throw() in ext/sodium 2017-08-19 15:16:45 +02:00
Xinchen Hui 2e002eaf70 Fixed for RESOURCE too 2017-08-19 18:55:56 +08:00
Xinchen Hui 4b6345a3ae Fixed RC1 Hanlding 2017-08-19 18:51:17 +08:00
Xinchen Hui ea0df07398 Fixed type-info for ZEND_FETCH_DIIM_UNSET 2017-08-19 18:48:10 +08:00
Anatol Belski 9b327ff15f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-08-19 02:41:24 +02:00
Anatol Belski 00b97d34c1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix issues with phpt and EXTENSION on windows (BUG 75042)
2017-08-19 02:01:23 +02:00
Anatol Belski f2ed8c1087 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix .pgd name for ts build
2017-08-19 00:32:11 +02:00
Anatol Belski 07e8cb4205 [ci skip] update NEWS 2017-08-18 19:40:43 +02:00
Anatol Belski f1c664d379 Fix skipifs 2017-08-18 17:38:16 +02:00
John Boehr 59558ffd96 Fix issues with phpt and EXTENSION on windows (BUG 75042)
* Commands are not properly escaped for windows
* Specifying "-n" to check loaded modules causes "Module already loaded"
warning
* Extensions to be loaded need the "php_" prefix on Windows

Bug: https://bugs.php.net/bug.php?id=75042

Add back -n flag to fetch loaded extensions in run-tests.php

Add test for phpt EXTENSIONS directive

Add a second test for bug 75042

Add test to test loading of nonexistent shared module

with the EXTENSIONS phpt block

Pass ini settings when checking loaded extensions
2017-08-18 17:34:48 +02:00
Remi Collet debbaba93f NEWS 2017-08-18 14:52:58 +02:00
Remi Collet ef96411f60 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  NEWS
  NEWS
  Fixed bug #75093 OpenSSL support not detected
2017-08-18 14:52:43 +02:00
Dmitry Stogov ef90e37bd1 Fixed bug #75089 (preg_grep() is not reporting PREG_BAD_UTF8_ERROR after first input string) 2017-08-18 14:56:28 +03:00
Anatol Belski 6c3c88074c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix phpize exit status
2017-08-18 12:06:19 +02:00
Anatol Belski 642983c59a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add dump env target
2017-08-18 11:10:18 +02:00
Anatol Belski 90a2e7c014 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  bump versions
2017-08-18 11:07:04 +02:00
Dmitry Stogov 3866c1699e More accurate reference counting inference 2017-08-17 20:03:12 +03:00
Xinchen Hui 30fb70dd25 Fixed type-infer on ZEND_FETCH_DIM_FUNC_ARG 2017-08-17 21:57:28 +08:00
Derick Rethans 4e03ebc04a Merge branch 'PHP-7.1' into PHP-7.2 2017-08-16 16:00:20 +01:00
Derick Rethans 43c78b2422 Fixed 32-bit tests as well. 2017-08-16 15:28:50 +01:00
Derick Rethans 6f2bc07182 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-16 15:21:02 +01:00
Derick Rethans 21493e0824 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-16 11:14:53 +01:00
Derick Rethans e92a4891aa Merge branch 'PHP-7.1' into PHP-7.2 2017-08-16 09:51:36 +01:00
Dmitry Stogov db2807e4d2 Added few more jump threading optimisation patterns 2017-08-16 09:17:32 +03:00
Remi Collet 05e75d6aaa Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  cleanup
2017-08-16 07:46:42 +02:00
Derick Rethans decf4c6880 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-15 20:24:44 +01:00
Derick Rethans a063d55395 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-15 15:07:24 +01:00
Dmitry Stogov b096eacdd1 Fixed possible incorrect result of type verification. 2017-08-15 14:46:18 +03:00
Dmitry Stogov 389ea45b12 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Made test 32/64-bit independent
2017-08-15 13:13:27 +03:00
Dmitry Stogov 1cbe4e009c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Skip 64-bit related test
2017-08-15 13:01:06 +03:00
Remi Collet 3e66ae67a8 Update NEWS for 7.2.0RC1 2017-08-15 08:54:17 +00:00
Remi Collet 6c1c49d1b5 Update NEWS for PHP 7.2.0beta3 2017-08-15 08:39:24 +00:00
Anatol Belski 6e3356837d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  move dev to 7.0.24
2017-08-15 09:36:41 +02:00
Xinchen Hui 6b77792dc2 Update NEWS 2017-08-15 12:35:17 +08:00
Xinchen Hui 05de40a651 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #75075 (unpack with X* causes infinity loop)
2017-08-15 12:35:10 +08:00
Tianfang Yang 9ec0a2071c Merge branch 'PHP-7.1' into PHP-7.2 2017-08-14 21:22:17 -04:00
Anatol Belski 5dc847c53d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Test cleanup improvements, files might be locked in the test process
2017-08-14 14:40:26 +02:00
Anatol Belski 707b2a529e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix test cleanup
2017-08-14 12:56:49 +02:00
Dmitry Stogov df5104bfc9 Fixed removing dead live ranges 2017-08-14 13:54:52 +03:00
Anatol Belski 112afb9250 [ci skip] update NEWS 2017-08-14 12:24:51 +02:00
Anatol Belski 2492add033 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-08-14 12:24:20 +02:00
Dmitry Stogov 18f567a3b4 Fixed test 2017-08-14 12:37:37 +03:00
Dmitry Stogov a80e462fbd Order live ranges according to "start" position 2017-08-14 12:21:07 +03:00
Dmitry Stogov cd6893aed1 Fixed attempt to free invalid structure (result of ROPE_INIT is not a zval) 2017-08-14 12:11:25 +03:00
Dmitry Stogov d6406bbf5f Merge branch 'PHP-7.2' of git.php.net:php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:php-src:
  Revert "Fixed live_range removing (bug can be triggred by JIT)"
2017-08-14 12:00:30 +03:00
Dmitry Stogov 2fab62271a Revert "Fixed live_range removing (bug can be triggred by JIT)"
This reverts commit aecf996510.
2017-08-14 12:00:02 +03:00
Xinchen Hui 6445b3a68f Revert "Fixed live_range removing (bug can be triggred by JIT)"
This reverts commit aecf996510.
2017-08-14 16:59:01 +08:00
Tianfang Yang 1135161b4f Merge branch 'PHP-7.1' into PHP-7.2 2017-08-14 00:36:33 -04:00
Anatol Belski 0a2a136111 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75063
2017-08-14 00:51:47 +02:00
Christoph M. Becker 36eddfc785 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #73793 (WDDX uses wrong decimal seperator)
2017-08-13 21:05:57 +02:00
Christoph M. Becker bbf39c550f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Skip this test if ext/session is not available
2017-08-13 18:10:37 +02:00
Nikita Popov b202587e09 Note deprecation of $errcontext 2017-08-12 20:34:44 +02:00
Nikita Popov a871badf2a Merge branch 'PHP-7.1' into PHP-7.2 2017-08-12 13:17:24 +02:00
Andrea Faulds f877b86604 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-12 01:38:46 +01:00
Xinchen Hui aecf996510 Fixed live_range removing (bug can be triggred by JIT) 2017-08-11 21:56:30 +08:00
Jakub Zelenka e53dd027c5 Reset utf8_invalid in json scanner 2017-08-10 19:47:58 +01:00
Jakub Zelenka f5b4cb7130 Fix possible overflow in json scanner utf8_invalid_count 2017-08-10 19:40:02 +01:00
Xinchen Hui 4375a6c5cd Fixed type infer for FUNC_GET_ARGS 2017-08-11 00:33:55 +08:00
Xinchen Hui f7cf839213 Update NEWs 2017-08-09 11:29:54 +08:00
Xinchen Hui e7dd9c781b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #75049 (spl_autoload_unregister can't handle spl_autoload_functions results)
2017-08-09 11:29:46 +08:00
Anatol Belski 823ca5c697 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Remove mistakingly added line
2017-08-08 19:40:42 +02:00
Anatol Belski e62db6309c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync makefile options for phpize
2017-08-08 17:59:44 +02:00
Frank Denis ef0bd7b215 sodium ext: Use _ietf_ vs _IETF_ consistently 2017-08-08 17:50:17 +02:00
Frank Denis 03314e3f69 sodium ext: No need for #ifdef crypto_aead_chacha20poly1305_IETF_
chacha20poly1305_ietf was implemented in libsodium 1.0.4 which is way earlier
than the minimum version we support.
2017-08-08 17:42:38 +02:00
Frank Denis 596a892c5e Sodium ext: Isolate a return statement for consistency 2017-08-08 17:38:13 +02:00
Frank Denis a0d1e0915c sodium ext: The default password hashing function is not supposed to be Argon2i 2017-08-08 17:37:06 +02:00
Frank Denis 631fc3c9c1 sodium ext: long -> zend_long 2017-08-08 17:36:06 +02:00
Frank Denis 3140d40421 sodium ext: Add missing "return" statements after zend_throw_exception() 2017-08-08 17:34:20 +02:00
Darek Slusarczyk abd97b8bcb Merge branch 'PHP-7.1' into PHP-7.2
# Conflicts:
#	ext/json/config.w32
2017-08-08 16:08:19 +02:00
Andrey Hristov f589e5c791 Add new enum options defined in MySQL 5.7 2017-08-08 14:57:01 +03:00
Anatol Belski dcd669b4d9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Unify EOL
2017-08-07 17:04:15 +02:00
Anatol Belski d36344e888 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix test target for phpize
2017-08-07 16:45:57 +02:00
Jakub Zelenka 41d7621f48 Fix segfault in json ignoring of invalid UTF8 2017-08-06 17:20:31 +01:00
Nikita Popov 6b73b2d6eb Check for empty string in mb_ord() 2017-08-04 22:20:05 +02:00
Côme Chilliet aa0e402acf Added controls parameters to ldap_exop so that control support can be added later 2017-08-04 18:10:49 +02:00
Remi Collet 17bb8d575a win32 for pdo_sqlite 2017-08-04 13:28:48 +02:00
Remi Collet bf1c242cf4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  use AC_DEFINE + win32
2017-08-04 13:21:54 +02:00
Nikita Popov 353f7bf461 Also check for invalid codepoints in mb_ord()
And return false in that case, instead of returning 0x3f...
2017-08-04 13:01:03 +02:00
Nikita Popov e53162a32b Return false on invalid codepoint in mb_chr()
Instead of returning the encoding of the current substitution
character. This allows a robust check for the failure case. The
substitution character (especially the default of "?") is also
a valid output of mb_chr() for a valid input (for "?" that would be
0x3f), so it's a bad choice for an error value.
2017-08-03 22:36:42 +02:00
Nikita Popov 41e9ba6333 Always use Unicode codepoints in mb_ord() and mb_chr()
Previously mb_chr() had two different encoding-dependent behaviors:
 * For "Unicode-encodings" it took a Unicode codepoint and returned
   its encoded representation.
 * Otherwise it returned a big-endian binary encoding of the passed
   integer.

Now the input is always interpreted as a Unicode codepoint. If
a big-endian binary encoding is what you want, you don't need
mbstring to implement that.
2017-08-03 22:14:00 +02:00
Nikita Popov fb9bf5b64b Revert/fix substitution character fallback
The introduced checks were not correct in two respects:
 * It was checked whether the source encoding of the string matches
   the internal encoding, while the actually relevant encoding is
   the *target* encoding.
 * Even if the correct encoding is used, the checks are still too
   conservative. Just because something is not a "Unicode-encoding"
   does not mean that it does not map any non-ASCII characters.

I've reverted the added checks and instead adjusted mbfl_convert
to first try to use the provided substitution character and if
that fails, perform the fallback to '?' at that point. This means
that any codepoint mapped in the target encoding should now be
correctly supported and anything else should fall back to '?'.
2017-08-03 21:53:59 +02:00
Nikita Popov a8a9e93e9a Revert/fix mb_substitute_character() codepoint checks
The introduced checks did not treat "non-Unicode" encodings correctly,
because they treated the passed integer as encoded in the internal
encoding in that case, while in actuality the substitute character
is always a Unicode codepoint.

Additionally checking the codepoint against the internal encoding
is not correct in any case, because the substitution character must
be mapped in the *target* encoding of the conversion, which does
not necessarily coincide with the internal encoding (the internal
encoding is the default *source* encoding, not *target* encoding).

This reverts the checks back to simple range checks, but in a way
that still resolves #69079: Characters outside the Basic
Multilingual Plane are now accepted and Surrogate Codepoints are
rejected. A distinction between UTF-8 and non-UTF-8 encodings is
not made for surrogate checks (as in the original patch), as
surrogates are always illegal on their own. Specifying a surrogate
as substitution character would only make sense if you could
specify a substitution string with more than one character --
however we do not support that.
2017-08-03 21:12:41 +02:00
Anatol Belski 355743600d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Increase expected timing on Travis
2017-08-03 15:08:05 +02:00
Anatol Belski 93c2c56a1b Rework automatic interactive cli activation
There are still systems delivering buggy console info. If a file was
passed, obviously no interaction is meant.
2017-08-03 11:23:50 +02:00
Anatol Belski 39f0e810c9 [ci skip] update NEWS 2017-08-02 21:51:35 +02:00
Anatol Belski fbc8596b68 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  update NEWS
2017-08-02 21:51:01 +02:00
Andreas Treichel 29e4d4eee6 Add ftp_append to create a new file or append data to an existing file (RFC959) 2017-08-02 20:52:28 +02:00
Nikita Popov aa925cb0ad Merge branch 'PHP-7.1' into PHP-7.2 2017-08-02 18:50:18 +02:00
Nikita Popov 042ff13ca9 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-02 18:18:23 +02:00
Nikita Popov 91240073ea Merge branch 'PHP-7.1' into PHP-7.2 2017-08-02 18:11:12 +02:00
Tyson Andre 5097e2ee13 Implement spl_object_id(object $x) : int
spl_object_id is a new function returning the object handle,
as a signed integer.

Discussion for this new function is ongoing on php-internals, see
https://marc.info/?t=143835274500003&r=1&w=2

The object id is unique for the lifetime of the object.
When the object is garbage collected,
different objects may & will have the same object id.

- This is also the case for the string generated by spl_object_hash

It is always possible to cast the object handle to a **signed** zend_long
in php 7.2. _zend_object->handle is always of the type `uint32_t`.
(zend_long is 32 bits on 32 bit builds, 64 bits on 64 bit builds)

As of php 7.0, the object id uniquely identifies the object,
there can't be two objects with the same id but different handlers
(See the implementation of spl_object_hash)

Skip the pointless XORing, as discussed in internals.

- It was intended to avoid exposing in-memory addresses.
- The object handle is not a memory address.
- The output of var_dump() includes the object handle(id)
2017-08-02 17:54:07 +02:00
Anatol Belski b4bce59fe9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75002 Null Pointer Dereference in timelib_time_clone
2017-08-02 16:42:20 +02:00
Remi Collet afdf7519d1 fix build with old system libsqlite (sqlite3_close_v2 may be missing) 2017-08-02 16:09:36 +02:00
Remi Collet 5e5895a464 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix build with old system libsqlite (sqlite3_errstr may be missing)
2017-08-02 14:03:23 +02:00
Joe Watkins 6202c821a9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fixed #endif comments
2017-08-02 08:35:51 +01:00
Christoph M. Becker 43e7656241 Update NEWS 2017-08-02 00:11:11 +02:00
Sara Golemon 6278f6140f Update NEWS for 7.2.0beta3 2017-08-01 12:50:56 -04:00
Sara Golemon 1b05a2373b Update NEWS for PHP 7.2.0beta2 2017-08-01 12:50:55 -04:00
Christoph M. Becker fe107cce45 Update to SQLite 3.20.0 2017-08-01 18:26:14 +02:00
Nikita Popov 6c2c7a023d Optimize array_unique()
In SORT_STRING mode, instead of sorting the array, build a hash of
seen elements.
2017-08-01 18:08:38 +02:00
Julien Pauli 5069d52189 Updated NEWS 2017-08-01 16:03:00 +02:00
Julien Pauli 4f06b62781 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Updated NEWS
  Updated NEWS
  Fix #75015. Crash in SPL destructors
2017-08-01 16:02:36 +02:00
Julien Pauli ad5222c3a6 Fix use of uninitialised value in uniqid() where more_entropy=0 2017-08-01 14:58:00 +02:00
Anatol Belski b8da481a2a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Test to cover the change in ce1a0d97
2017-08-01 12:51:20 +02:00
Anatol Belski 2164e3a0b8 fix test 2017-08-01 11:56:23 +02:00
Anatol Belski ce1a0d971b fix NULL deref 2017-08-01 11:55:32 +02:00
Xinchen Hui 5856becc2b Update NEWS 2017-07-31 11:52:23 +08:00
Xinchen Hui 9b87b73fec Req #74963 (Improved error message on fetching property of non-object) 2017-07-31 11:51:23 +08:00
Kalle Sommer Nielsen c62e5eb0a9 Reduce EXIF test image sizes, there is still one large image left that I will look into reducing if possible (bug50845.jpg)
The changes in phpts are due to exiftool, I verified that all the images still remain relevant for testing
2017-07-30 21:59:55 +02:00
Kalle Sommer Nielsen 97ff7bbb36 Lowercase the file extension 2017-07-30 21:59:10 +02:00
Anatol Belski 03383119d2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  remove dup of the binary file, rely on a test runtime copy instead
2017-07-30 17:52:36 +02:00
Christoph M. Becker 4db1e1adf2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Shrink another large image
2017-07-30 16:35:07 +02:00
Frank Denis 0c21187363 Merge branch 'PHP-7.2' of git.php.net:php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:php-src:
  Shrink test image
2017-07-30 15:42:24 +02:00
Frank Denis 34df3cdafa sodium ext: skip scrypt if it is not available
scrypt was removed from minimal libsodium builds in version 1.0.13
2017-07-30 15:41:34 +02:00
Frank Denis 650f68c36e sodium ext: fix tests/pwhash_argon2i description 2017-07-30 15:05:21 +02:00
Christoph M. Becker d53b78c6ed Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Shrink test image
2017-07-30 15:01:59 +02:00
Frank Denis 74d7f1d04e sodium ext: check hash length for scrypt 2017-07-30 15:00:03 +02:00
Frank Denis 3f45262aa9 Merge branch 'PHP-7.2' of git.php.net:php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:php-src:
  It's `--SKIPIF--`, not `--SKIP--`
2017-07-30 14:48:44 +02:00
Frank Denis 85895b2e5b sodium ext: no need for #ifdef crypto_aead_chacha20poly1305_IETF_NPUBBYTES
chacha20poly1305_ietf was implemented in libsodium 1.0.4 which is way earlier
than the minimum version we support.
2017-07-30 14:47:49 +02:00
Frank Denis 1d7e1f845f sodium ext: check that message sizes are safe, to avoid hitting abort() in libsodium 2017-07-30 14:45:06 +02:00
Frank Denis ae99959986 sodium ext: use unexpand -t 4 --first-only to convert from spaces to tabs
No actual code changes.

Fun fact: macOS' unexpand(1) tool doesn't work as documented, and always
converts everything to tabs, regardless of the -a switch.
2017-07-30 14:34:55 +02:00
Christoph M. Becker 782f45c8e6 It's --SKIPIF--, not --SKIP-- 2017-07-30 14:01:51 +02:00
Christoph M. Becker 71e47c5c13 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Skip this test if ext/gd is not available
2017-07-30 13:37:36 +02:00
Frank Denis 613c8dd7b0 sodium ext: let crypto_pwhash() accept an optional algorithm identifier 2017-07-29 13:04:54 +02:00
Nikita Popov 5d777e56e2 Merge branch 'PHP-7.1' into PHP-7.2 2017-07-28 13:03:26 +02:00
Anatol Belski 80d839d25a add missing makefile fragment for .w32
ensure correct dir
2017-07-28 07:26:11 +02:00
Anatol Belski 2ae0dd7f61 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  relax test on travis
2017-07-28 00:28:12 +02:00
Sara Golemon 4a6ef8327a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Simpler fix for #74974
2017-07-27 10:04:59 -04:00
Xinchen Hui 262aeb8ae1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed test
2017-07-27 12:50:41 +08:00
Xinchen Hui afc2be8fc8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #74949 (null pointer dereference in _function_string)
2017-07-27 11:24:53 +08:00
Xinchen Hui f894bb750c Update NEWS 2017-07-27 11:24:26 +08:00
Sara Golemon 08fef4cc23 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Bugfix #74993 Wrong reflection param into for some intl: lookup_*() methods
2017-07-26 18:56:06 -04:00
Anatol Belski 57c435e5ac [ci skip] update NEWS 2017-07-26 17:31:57 +02:00
Anatol Belski 2d8fe973b1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-07-26 17:31:10 +02:00
Anatol Belski 9ff4801159 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #74833, SID constant created with wrong module number
2017-07-26 13:21:20 +02:00
Joe Watkins d3060a00d1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #74991 - include_path has a 4096 char (minus "__DIR__:") limit, in some PHAR cases
2017-07-26 10:47:49 +01:00
Christopher Jones 787ea0dda5 Update NEWS 2017-07-26 15:25:01 +10:00
Christopher Jones 664eca5967 Merge branch 'PHP-7.1' into PHP-7.2 2017-07-26 15:24:26 +10:00
Xinchen Hui 53e59e4b34 Update NEWS 2017-07-26 12:07:20 +08:00
Xinchen Hui 0e61cddeb1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #74980 (Narrowing occurred during type inference)
2017-07-26 12:06:55 +08:00
Aleš Rebec f469edcf59 Remove obsolete function names from CODING_STANDARDS file
Deprecated and removed function names used as examples in coding standards file.

- Mcrypt is deprecated and will be removed in 7.2
- Mysql functions are deprecated in 5.4 and removed in 7.0.

According to those changes, CODING_STANDARDS file should be updated.
2017-07-25 07:04:23 +01:00
Joe Watkins 4ddb0630c2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed finding CURL on systems with multiarch support
2017-07-25 06:59:03 +01:00
Joe Watkins 8d5a5fbf6b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  minor loop optimizations, closes #2633
2017-07-25 06:54:20 +01:00
Joe Watkins 2e8759428b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed #74977 - Appending AppendIterator leads to segfault
2017-07-25 06:40:25 +01:00
Sammy Kaye Powers 66729aeeeb Fix ext/sodium display in phpinfo() 2017-07-25 06:35:40 +01:00
Anatol Belski 7453d2303b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  switch to binary sdk 2.0.9 for appveyor
2017-07-24 23:09:20 +02:00
jrfnl f901e7e3c5 Fix typo in PHP 7.2 changelog 2017-07-24 16:57:07 -04:00
Joe Watkins 515b396889 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update copyright year to 2017
2017-07-24 17:24:22 +01:00
Anatol Belski 0489e85c18 [ci skip] update NEWS 2017-07-24 17:46:31 +02:00
Anatol Belski cb7e42da25 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add test for bug #74903
2017-07-24 17:03:24 +02:00
Anatol Belski 660b829ccc Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Followup on 0ec147d3 for another place
  Ensure binary mode for OpenSSL I/O
2017-07-24 16:38:05 +02:00
Anatol Belski b7eb2c0604 Followup on 0ec147d3 for another place
which requires also to move the macros into the header
2017-07-24 16:24:04 +02:00
Anatol Belski 0ec147d301 Ensure binary mode for OpenSSL I/O
Essential for OpenSSL 1.1.0 on Windows, some issues was revealed earlier
and now by openssl_pkcs12_export_to_file_basic.phpt.
2017-07-24 15:43:48 +02:00
Anatol Belski 8a6afbef3f Combine conditions for the automatic interactive console activation
as with bug #74979 it seems to have regressions which were not
present before.
2017-07-24 14:47:32 +02:00
Frank Denis 742895f60c sodium ext: don't reinvent sodium_increment() and sodium_add() 2017-07-24 14:26:05 +02:00
Joe Watkins 52964bbfb2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  openssl: Add openssl_pkcs12_export_to_file tests
2017-07-24 10:47:02 +01:00
Issei.M f1d7857969 Fix typo in UPGRADING for 7.2 2017-07-24 10:44:19 +01:00
Joe Watkins 94e6c72e26 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update PHP 5 version to 7 in header comments
2017-07-24 10:42:48 +01:00
Sara Golemon a6e4a713ea Add hash_hmac_algos() for filtered is_crypto methods 2017-07-23 15:17:09 -04:00
Nikita Popov 706f0cf8a0 Update Unicode data for Unicode 10 2017-07-23 16:05:39 +02:00
Nikita Popov 24cfbfd56f Update ucgendat for more bidi properties
Handle them the same way as others -- by classifying as Other
Neutral.
2017-07-23 16:03:11 +02:00
Nikita Popov 077e61fad3 Fixed bug #69267 completely
ucgendat.c was assuming that a title-case character is a character
that has both lower and upper-case variants. However, there are
title-case characters that only have a lower-case variant. Use the
Lt general character proprety to determine where in the case map
the character should be placed instead.
2017-07-23 15:30:17 +02:00
Nikita Popov c0bcd301d3 Another fix for bug #69267
mb_strtoupper() was converting lowercase characters into
titlecase characters, instead of uppercase characters. Luckily
there are only very few characters with a distinct titlecase
representation, so this mostly worked out okay...
2017-07-23 15:07:02 +02:00
Nikita Popov 0e4af9192f Partial fix for bug #69267
This pulls in 60a25c72ba389f53b0621ca250bc99f3b295d43f from the
OpenLDAP project.
2017-07-23 14:47:21 +02:00
Nikita Popov 88f752a947 Merge branch 'PHP-7.1' into PHP-7.2 2017-07-23 12:21:51 +02:00
Nikita Popov 9af5b7f33d Fix use after free in mb_send_mail 2017-07-23 11:55:26 +02:00
Anatol Belski 47334646db fix skipif 2017-07-23 11:08:11 +02:00
Sara Golemon 089f4ff885 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use compatability zend_isnan() instead of POSIX isnan()
2017-07-22 21:33:28 -04:00
Sara Golemon e23c132940 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix compile-time optimization of NAN comparisons
2017-07-22 21:23:29 -04:00
Frank Denis 401188cbf9 sodium ext: require libsodium >= 1.0.8
(but really, 1.0.9 should be the bare minimum)
2017-07-22 22:07:53 +02:00
Frank Denis c499bd12f7 sodium ext: define crypto_aead_chacha20poly1305_ietf_KEYBYTES if needed
Some old libsodium versions didn't had a dedicated constant for the
IETF version of this construction.
2017-07-22 19:57:44 +02:00
Frank Denis 8a2e747a7b sodium ext: remove redundant and obsolete macros 2017-07-22 17:50:22 +02:00
Nikita Popov 4672411ef5 Fix incorrect propagation of ZEND_BOOL in pass 1
BOOL (next to QM_ASSIGN) is one of the opcodes that can assign to
a temporary that is assigned in multiple branches. Pass 1 does
not check for this, so we should not try to handle it at that
point. Block pass and sccp will be able to treat this correctly.
2017-07-22 17:23:50 +02:00
Nikita Popov 96665fbfe0 Fix block removal if there are duplicate successors 2017-07-22 14:53:23 +02:00
Anatol Belski 1e9ad4a307 [ci skip] update NEWS 2017-07-22 14:15:32 +02:00
Anatol Belski 3fc52f1dc4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-07-22 14:14:22 +02:00
Bob Weinand 76ce874422 Merge branch 'PHP-7.1' into PHP-7.2 2017-07-22 11:16:48 +02:00
Anatol Belski 14e8f9557b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #74968 PHP crashes when calling mysqli_result::fetch_object with an abstract class
2017-07-22 10:36:58 +02:00
Nikita Popov 3fa76ac54f Merge branch 'PHP-7.1' into PHP-7.2 2017-07-21 23:22:56 +02:00
Anatol Belski 7ec8b8d49f remove casts and ensure no out of bounds access 2017-07-21 22:26:37 +02:00
Frank Denis f8ffc9622b sodium ext: delete copypasta from sodium_crypto_kdf_derive_from_key()
/via @fredemmott
2017-07-21 18:25:25 +02:00
Frank Denis 0e2a7fc829 sodium ext: use crypto_scalarmult_BYTES for points coordinates
Just for consistency.
2017-07-21 14:02:33 +02:00
Frank Denis 557029e8e6 sodium ext: clear the hash state after we're done hashing 2017-07-21 14:02:26 +02:00
Frank Denis d8a14e2aad sodium ext: drop unused code
/via @remicollet
2017-07-21 14:02:18 +02:00
Xinchen Hui 735b34c016 Update NEWS 2017-07-21 18:17:54 +08:00
Xinchen Hui 01090e6ced Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #74950 (nullpointer deref in simplexml_element_getDocNamespaces)
2017-07-21 18:17:33 +08:00
Anatol Belski 96ad72dc29 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Move the define into the header to reduce diff for future upgrade
2017-07-21 11:16:38 +02:00
Xinchen Hui 6242230219 Update NEWS 2017-07-21 12:03:17 +08:00
Xinchen Hui 463413db53 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #74947 (Segfault in scanner on INF number)

Conflicts:
	Zend/zend_language_scanner.c
2017-07-21 12:02:54 +08:00
Dmitry Stogov 0b2c456312 fixed comments 2017-07-20 23:29:22 +03:00
Dmitry Stogov 1b9d0c8af3 Fixed wrong edges_count re-calculation. 2017-07-20 23:28:05 +03:00
Anatol Belski b8eb110cd5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  increment sdk version
2017-07-20 22:08:39 +02:00
Anatol Belski 2ec3c67428 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  remove another cygwin instance in AppVeyor run
2017-07-20 20:40:47 +02:00
Sergei Morozov 9b9184a45a Fixed bug #74941 - Session fails to start after having headers sent 2017-07-20 07:52:02 +01:00
Anatol Belski 18595b6fc6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix dir separator in test
2017-07-19 22:42:05 +02:00
Sara Golemon bb02f99e71 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Do not allow using traits/interfaces/abstract classes as stream wrappers
  Add oci8_failover.c to config.w32, follow up for commit 1b797f7a
2017-07-19 14:01:18 -04:00
Emmanuel Dreyfus d25049cc1b Fixed bug #74851: Improve uniqid() performance
uniqid() relies on microsecond-precise system clock to produce an
unique identifier. In order to avoid  using the same value, the
original implementation calls usleep(1) to wait for the next microsecond.

Unfortunately, usleep() specification says "The suspension time may be
longer than requested due to the scheduling of other activity by the
system." Indeed, the pause may as as long as an entire execution slice,
causing a uniqid() call to last more than 10 ms.

This is fixed by replacing the usleep() call by time polling using
gettimeofday() until the microsecond changes. Since the getttimeoday()
system call lasts around a microsecond, only a small time is wasted
calling multiple gettimeofday. On the benefit side, uniqid() performance
in increased 10000 fold without changing its behavior.
2017-07-19 19:54:19 +02:00
Dmitry Stogov 6fcc7134f1 Keep resource of enclosing stream, because it may be referenced from other place(s).
This fixes valgrind warnings on Zend/tests/type_declarations/scalar_basic.phpt
2017-07-19 17:16:56 +03:00
Dmitry Stogov 112eda7525 Separate the fast-patch 2017-07-19 15:42:32 +03:00
Dmitry Stogov 3185f8628f Convert CONCAT into FAST_CONCAT for non-object operands 2017-07-19 15:41:46 +03:00
Dmitry Stogov 95a1f77b5e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Reset globals on startup or restart
2017-07-19 15:36:48 +03:00
Dmitry Stogov 8447b86eef Remove dead live ranges and FREE instructions 2017-07-19 13:07:33 +03:00
Dmitry Stogov 5274cefb4d Remove live ranges 2017-07-19 13:06:25 +03:00
Nikita Popov ecb67e59d7 Don't reuse compare_function operands
If the same zval is used for the result and one operand, then the
function thinks it is responsible for freeing the value in case of
a type conversion.
2017-07-19 01:04:36 +02:00
Sergei Morozov 5b12b46a19 Fixed bug #74936 - session_*() functions trigger a warning in read mode when the session is active 2017-07-18 22:25:22 +02:00
Nikita Popov a624ded4d3 Merge branch 'PHP-7.1' into PHP-7.2 2017-07-18 22:16:33 +02:00
Nikita Popov f9d6cff67e Merge branch 'PHP-7.1' into PHP-7.2 2017-07-18 21:45:41 +02:00
Nikita Popov 9cd82df0bb Merge branch 'PHP-7.1' into PHP-7.2 2017-07-18 21:21:46 +02:00
Dmitry Stogov 0903f6bffb Remove dead JMP/JMPZ/JMPNZ/JMPZNZ (DCE pass can't remove them) 2017-07-18 20:43:06 +03:00
Dmitry Stogov 582882ae18 Constant evaluation of few more constant functions 2017-07-18 20:42:40 +03:00
Dmitry Stogov c41d2535b1 Disabled compile-time constant DOUBLE to STRING evaluation (its result depends on run-time 'precision' setting) 2017-07-18 20:41:01 +03:00
Sara Golemon b01448f9a6 Update NEWS for 7.2.0beta2 2017-07-18 16:00:34 +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
12016 changed files with 485656 additions and 264744 deletions

No files matched your search

+4 -11
View File
@@ -1,29 +1,23 @@
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
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.3
PHP_BUILD_SDK_BRANCH: php-sdk-2.2.0
PHP_BUILD_CRT: vc15
# ext and env setup for tests
#MYSQL_TEST_PASSWD: Password12!
#MYSQL_TEST_USER: root
@@ -53,4 +47,3 @@ build_script:
test_script:
- appveyor\test.bat
+18 -19
View File
@@ -1,35 +1,34 @@
# http://editorconfig.org/
# https://editorconfig.org/
root = true
[*.{c,h,awk,w32,bat,mk,frag}]
charset = utf-8
[*]
trim_trailing_whitespace = true
insert_final_newline = true
end_of_line = lf
charset = utf-8
tab_width = 4
[{*.{awk,bat,c,cpp,d,h,l,mk,re,skl,w32,y},Makefile*}]
indent_size = 4
indent_style = tab
tab_width = 4
trim_trailing_whitespace = true
insert_final_newline = true
[*.{php,phpt}]
charset = utf-8
end_of_line = lf
[*.{dtd,html,inc,php,phpt,rng,wsdl,xml,xsd,xsl}]
indent_size = 4
indent_style = space
trim_trailing_whitespace = true
insert_final_newline = true
[*.{yml,m4,sh}]
charset = utf-8
end_of_line = lf
[*.{ac,m4,sh,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
max_line_length = 80
[COMMIT_EDITMSG]
indent_size = 4
indent_style = space
max_line_length = 80
[*.patch]
trim_trailing_whitespace = false
insert_final_newline = true
+22 -10
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,9 +16,11 @@ 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
@@ -151,7 +153,7 @@ end
define printzv
set $ind = 1
____printzv $arg0 0
____printzv $arg0 0
end
document printzv
@@ -188,7 +190,7 @@ define ____printzv_contents
if $type == 6
printf "string: %s", $zvalue->value.str->val
end
if $type == 7
if $type == 7
printf "array: "
if ! $arg1
set $ind = $ind + 1
@@ -285,10 +287,20 @@ 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
document print_global_vars
Prints the global variables
end
define print_const_table
set $ind = 1
printf "[%p] {\n", $arg0
@@ -328,7 +340,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
@@ -377,7 +389,7 @@ document print_htptr
end
define print_htstr
set $ind = 0
set $ind = 0
____print_ht $arg0 2
end
@@ -531,10 +543,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
@@ -564,11 +576,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
+34 -86
View File
@@ -26,22 +26,13 @@
*.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
@@ -56,7 +47,6 @@ config.cache
config.h.in
config.log
config.nice
config.nice.bat
config.status
config.sub
config_vars.mk
@@ -65,8 +55,6 @@ configuration-parser.h
configuration-parser.output
configuration-scanner.c
configure
configure.bat
configure.js
conftest
conftest.c
debug.log
@@ -96,7 +84,6 @@ stamp-h
test.php3
tmp-php.ini
want_dependencies
x64
stamp-h.in
scan_makefile_in.awk
TSRM/tsrm_config.h
@@ -115,65 +102,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
@@ -214,32 +145,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
@@ -247,10 +167,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
@@ -274,6 +190,7 @@ 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 +200,34 @@ 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
+19 -8
View File
@@ -1,6 +1,9 @@
git:
quiet: true
dist: trusty
language: c
sudo: false
sudo: required
addons:
apt:
packages:
@@ -9,7 +12,6 @@ addons:
- re2c
- libgmp-dev
- libicu-dev
- libmcrypt-dev
- libtidy-dev
- libenchant-dev
- libaspell-dev
@@ -20,7 +22,7 @@ addons:
- libt1-dev
notifications:
email:
email:
on_failure: change
irc:
template:
@@ -30,8 +32,9 @@ notifications:
on_success: change
on_failure: always
cache:
- apt
cache:
apt: true
ccache: true
env:
global:
@@ -47,15 +50,23 @@ env:
- ENABLE_MAINTAINER_ZTS=1 ENABLE_DEBUG=1
before_script:
- ccache --version
- ccache --zero-stats
- export USE_CCACHE=1
# Enable IPv6
- sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
# Compile PHP
- ./travis/compile.sh
# Setup Extensions
# Setup Extensions
- . ./travis/ext/mysql/setup.sh
- . ./travis/ext/mysqli/setup.sh
- . ./travis/ext/pdo_mysql/setup.sh
- . ./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
+5 -5
View File
@@ -93,12 +93,12 @@ User Functions/Methods Naming Conventions
readability of the function name itself::
Good:
'mcrypt_enc_self_test'
'mysql_list_fields'
'str_word_count'
'array_key_exists'
Ok:
'mcrypt_module_get_algo_supported_key_sizes'
(could be 'mcrypt_mod_get_algo_sup_key_sizes'?)
'date_interval_create_from_date_string'
(could be 'date_intvl_create_from_date_str'?)
'get_html_translation_table'
(could be 'html_get_trans_table'?)
@@ -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
+31 -24
View File
@@ -37,7 +37,7 @@ MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: cli
MAINTENANCE: Marcus Boerger <helly@php.net>, Edin Kadribasic <edink@php.net>
MAINTENANCE: Marcus Börger <helly@php.net>, Edin Kadribasic <edink@php.net>
STATUS: Working
SINCE: 4.3.0
-------------------------------------------------------------------------------
@@ -68,7 +68,7 @@ STATUS: 5.6
-------------------------------------------------------------------------------
EXTENSION: dba
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>,Christopher Jones <sixd@php.net>, Pierre-Alain Joye <pajoye@php.net>
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>,Christopher Jones <sixd@php.net>, Pierre-Alain Joye <pajoye@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: DBM abstraction for db2, db3, db4, dbm, ndbm, gdbm, ini
@@ -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>
@@ -120,7 +120,7 @@ STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_mysql
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>, Johannes Schlüter <johannes@php.net>, Andrey Hristov <andrey@php.net>, Ulf Wendel <uw@php.net>
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>, Johannes Schlüter <johannes@php.net>, Andrey Hristov <andrey@php.net>, Ulf Wendel <uw@php.net>
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
@@ -150,7 +150,7 @@ STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pgsql
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>, Yasuo Ohgaki <yohgaki@php.net>
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>, Yasuo Ohgaki <yohgaki@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Use PostgreSQL 7.0.x or later. PostgreSQL 6.5.3 or less have fatal bug.
@@ -168,13 +168,13 @@ COMMENT: Integrates SQLite 3 embeddable SQL database engine.
-------------------------------------------------------------------------------
EXTENSION: dom
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net>, Rob Richards <rrichards@php.net>, Marcus Boerger <helly@php.net>
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net>, Rob Richards <rrichards@php.net>, Marcus Börger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: simplexml
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
@@ -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
-------------------------------------------------------------------------------
@@ -329,7 +335,7 @@ STATUS: Working
SINCE: 5.2
-------------------------------------------------------------------------------
EXTENSION: ldap
PRIMARY MAINTAINER: Stig Venaas <venaas@php.net>, Douglas Goldstein <cardoe@php.net>, Pierre-Alain Joye <pajoye@php.net>, Côme Bernigaud <mcmic@php.net>
PRIMARY MAINTAINER: Stig Venaas <venaas@php.net>, Douglas Goldstein <cardoe@php.net>, Pierre-Alain Joye <pajoye@php.net>, Côme Bernigaud <mcmic@php.net>
MAINTENANCE: Maintained
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
@@ -366,13 +367,13 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: phar
PRIMARY MAINTAINER: Greg Beaver <cellog@php.net>, Marcus Börger <helly@php.net>, Steph Fox <sfox@php.net>
PRIMARY MAINTAINER: Greg Beaver <cellog@php.net>, Marcus Börger <helly@php.net>, Steph Fox <sfox@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: posix
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -387,12 +388,12 @@ MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: recode
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: reflection
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>, Johannes Schlüter <johannes@php.net>
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>, Johannes Schlüter <johannes@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -418,8 +419,14 @@ 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>
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>, Etienne Kneuss <colder@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0.0
+13 -13
View File
@@ -1,7 +1,7 @@
--------------------------------------------------------------------
--------------------------------------------------------------------
The PHP License, version 3.01
Copyright (c) 1999 - 2018 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,4 +1,3 @@
#
# Zend
#
+1 -2
View File
@@ -1,4 +1,3 @@
#
# LCOV
#
@@ -62,7 +61,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 $@
+1 -1
View File
@@ -121,7 +121,7 @@ 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 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 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 sapi/phpdbg/phpdbg.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
+1419 -2092
View File
File diff suppressed because it is too large. Load diff
+9 -10
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,4 +185,3 @@ 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
+21 -22
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,4 +414,3 @@ 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.
+66 -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,23 @@ 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.
+8 -9
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,4 +167,3 @@ 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.
+8 -11
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,6 +132,3 @@ regular expect sections. For example:
--EXPECTHEADERS--
Status: 404
+1 -2
View File
@@ -1,6 +1,5 @@
The Win32 Build System.
See http://wiki.php.net/internals/windows/stepbystepbuild
See https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2
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,4 +37,3 @@ Guidelines for contributors
- [README.GIT-RULES](/README.GIT-RULES)
- [README.MAILINGLIST_RULES](/README.MAILINGLIST_RULES)
- [README.RELEASE_PROCESS](/README.RELEASE_PROCESS)
-174
View File
@@ -1,174 +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?
+85 -60
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, ...);
@@ -125,9 +126,11 @@ 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);
@@ -142,6 +145,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 +170,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 +227,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 +289,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 +329,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 +392,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 +416,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 +432,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 +451,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 +493,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 +539,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 +573,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 +584,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 +600,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 +631,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 +660,7 @@ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
#ifdef THR_DEBUG
printf("Mutex freed thread: %d\n",mythreadid());
#endif
}
}/*}}}*/
/*
@@ -665,7 +668,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 +692,7 @@ TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp)
return acquire_sem(mutexp->sem);
return 0;
#endif
}
}/*}}}*/
/*
@@ -697,7 +700,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 +724,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 +739,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 +776,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 +791,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 +813,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
*/
+19 -9
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,11 +155,16 @@ 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)
#if defined(__cplusplus) && __cplusplus > 199711L
# define TSRM_TLS thread_local
#else
# define TSRM_TLS __thread
# ifdef TSRM_WIN32
# define TSRM_TLS __declspec(thread)
# else
# define TSRM_TLS __thread
# endif
#endif
#define TSRM_SHUFFLE_RSRC_ID(rsrc_id) ((rsrc_id)+1)
@@ -172,13 +179,7 @@ TSRM_API void *tsrm_get_ls_cache(void);
#define TSRMG_BULK_STATIC(id, type) ((type) (*((void ***) TSRMLS_CACHE))[TSRM_UNSHUFFLE_RSRC_ID(id)])
#define TSRMLS_CACHE_EXTERN() extern TSRM_TLS void *TSRMLS_CACHE;
#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
/* BC only */
@@ -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,5 +1,3 @@
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,4 +3,3 @@
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,4 +194,3 @@ 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
@@ -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) /* {{{ */
@@ -801,7 +804,7 @@ static zend_always_inline void UnixTimeToFileTime(time_t t, LPFILETIME pft) /* {
// Note that LONGLONG is a 64-bit value
LONGLONG ll;
ll = Int32x32To64(t, 10000000) + 116444736000000000;
ll = t * 10000000LL + 116444736000000000LL;
pft->dwLowDateTime = (DWORD)ll;
pft->dwHighDateTime = ll >> 32;
}
@@ -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
*/
+14 -4
View File
@@ -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
*/
+286 -424
View File
@@ -1,4 +1,4 @@
PHP 7.1 UPGRADE NOTES
PHP 7.2 UPGRADE NOTES
1. Backward Incompatible Changes
2. New Features
@@ -20,262 +20,263 @@ 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
$array = [];
$array["a"] =& $array["b"];
$array["b"] = 1;
var_dump($array);
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.
. 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 has been removed.
. Casting arrays to objects (with (object) or settype()) will now convert
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.
- 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.
- 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'.
- 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.
- Hash:
. The hash_hmac(), hash_hmac_file(), hash_pbkdf2() and hash_init() (with
HASH_HMAC) functions no longer accept non-cryptographic hashes.
- 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.
- Standard:
. Sequences generated by mt_rand() and rand() for a specific seed may differ
from PHP 7.1 on 64-bit machines. This change was necessary to resolve a
modulo bias bug in the implementation.
- IMAP:
Starting with 7.2.13, 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.
- JSON:
. Added JSON_INVALID_UTF8_IGNORE and JSON_INVALID_UTF8_SUBSTITUTE options for
json_encode() and json_decode() to ignore and replace invalid UTF-8 byte
sequences, respectively.
- 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 track_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.
. The $errcontext error handler argument has been deprecated. However, using
it does not trigger a deprecation warning for technical reasons.
- EXIF:
. The read_exif_data() alias has 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.
- 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.
- Core:
. Added stream_isatty().
. Added sapi_windows_vt100_support().
- DOM:
. DomNodeList implements Countable, added DomNodeList::count().
. DOMNamedNodeMap implements Countable, added DOMNamedNodeMap::count().
- FTP:
. Added ftp_append().
- GD:
. Added imagesetclip() and imagegetclip().
. Added imageopenpolygon().
. Added imageresolution().
. Added imagecreatefrombmp() and imagebmp().
- 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.
. Added hash_hmac_algos().
- 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_scrub() that scrubs 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_unregister_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().
- SPL:
. Added spl_object_id().
========================================
7. New Classes and Interfaces
@@ -285,242 +286,103 @@ 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.
- 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.
- 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.
- LDAP:
. Providing an unknown modification type to ldap_batch_modify() will now
throw an instance of Error instead of resulting in a fatal error.
- PDO_OCI:
. The '--with-pdo-oci' configure syntax no longer needs the vesion number of the
Oracle Instant Client.
- 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 has been removed.
- realpath_cache_size
. Set to 4096k by default
- opcache.fast_shutdown
. This INI directive has been removed. A variant of the fast_shutdown
process has been integrated into PHP core and is always enabled for
production builds if possible.
========================================
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
========================================
- Build system
Autoconf minimal version is now 2.64.
+49 -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 set of new APIs was introduced, which allows to handle codepage
conversions. The corresponding prototypes and macros are contained
in win32/codepage.h.
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);
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.
b. php_win32_get_random_bytes()
The internal randomness source on Windows switched to use CNG API.
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.
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.
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.
d. ZEND_ACC_CLONE is removed, but was not used in previous versions
f. Path handling on Windows
e. IS_TYPE_IMMUTABLE is removed, IS_TYPE_COPYABLE can be used instead
Z_IMMUTABLE() check function is still available
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.
f. zend_arg_info class_name member is removed, use ZEND_TYPE_NAME instead
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,10 +55,28 @@ 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,4 +53,3 @@ depend:
zend_execute.lo: $(srcdir)/zend_execute.c
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(CPPFLAGS) $(INLINE_CFLAGS) -c $(srcdir)/zend_execute.c
+8 -9
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,4 +105,3 @@ 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().
-136
View File
@@ -1,136 +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
-72
View File
@@ -1,72 +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,4 +30,3 @@ 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
#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
#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
#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
#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
#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
#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
@@ -37,15 +37,15 @@ NULL
Notice: Undefined variable: b in %s on line %d
int(1)
Notice: Trying to get property of non-object in %s on line %d
Notice: Trying to get property '1' of non-object in %s on line %d
NULL
Notice: Trying to get property of non-object in %s on line %d
Notice: Trying to get property '1' of non-object in %s on line %d
NULL
Notice: Undefined variable: c in %s on line %d
Notice: Trying to get property of non-object in %s on line %d
Notice: Trying to get property '1' of non-object in %s on line %d
Notice: Trying to get property of non-object in %s on line %d
Notice: Trying to get property '' of non-object in %s on line %d
NULL
+1 -1
View File
@@ -18,7 +18,7 @@ print "ok\n";
?>
--EXPECTF--
Notice: Trying to get property of non-object in %s on line %d
Notice: Trying to get property 'a' of non-object in %s on line %d
ok
Warning: Creating default object from empty value in %s on line %d
+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 -3
View File
@@ -1,7 +1,7 @@
--TEST--
Using undefined multidimensional array
--FILE--
<?php
<?php
$arr[1][2][3][4][5];
@@ -17,14 +17,13 @@ $arr[][]->bar = 2;
?>
--EXPECTF--
Notice: Undefined variable: arr in %s on line %d
Notice: Undefined variable: arr in %s on line %d
Notice: Undefined variable: arr in %s on line %d
Notice: Trying to get property of non-object in %s on line %d
Notice: Trying to get property 'foo' of non-object in %s on line %d
Warning: Creating default object from empty value 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,5 +9,4 @@ 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;
Loaded 100 of 12016 files, more files were not shown because too many files have changed in this diff. Show more