Commit graph

1036 commits

Author SHA1 Message Date
Nikita Popov
208f5b0941 Merge branch 'PHP-7.3' 2018-09-18 12:39:13 +02:00
Nikita Popov
9f4ec45aa6 Remove invalid free
The initialization of buffer has been moved further down in 7.3,
so this free is no longer legal.
2018-09-18 12:38:46 +02:00
Christoph M. Becker
01912f93c3 Change default of $variant param of idn_to_ascii() and idn_to_utf8()
According to the “Deprecate and remove INTL_IDNA_VARIANT_2003” RFC[1],
we change the default of the $variant parameter of `idn_to_ascii()` and
`idn_to_utf8()` from `INTL_IDNA_VARIANT_2003` to
`INTL_IDNA_VARIANT_UTS46`.

[1] <https://wiki.php.net/rfc/deprecate-and-remove-intl_idna_variant_2003>
2018-09-15 14:41:30 +02:00
Christoph M. Becker
8a4c2f1621 Require ICU ≥ 50.1
Given that ICU is a set of lively developed libraries, that ICU 50.1
has been released on 2012-11-05, and PHP 7.4 is scheduled to be
released seven years after it, we consider it appropriate to ditch
these legacy versions.

Particularly, that would be a reasonable groundwork to implement part
two of the “Deprecate and remove INTL_IDNA_VARIANT_2003” RFC[1], namely
to default idn_to_ascii()'s and idn_to_utf8()'s $variant parameter to
INTL_IDNA_VARIANT_UTS46, which is not defined in ICU < 4.6.

See also the related discussion on internals@[2].

[1] <https://wiki.php.net/rfc/deprecate-and-remove-intl_idna_variant_2003>
[2] <http://news.php.net/php.internals/101626>ff
2018-09-15 13:59:54 +02:00
Dmitry Stogov
8939c4d96b Get rid of ZEND_ACC_CTOR, ZEND_ACC_DTOR and ZEND_ACC_IMPLEMENTED_ABSTRACT 2018-09-05 13:16:10 +03:00
Christoph M. Becker
f543476e89 Fix off-by-one errors in skip reasons 2018-09-03 12:46:34 +02:00
Anatol Belski
3d28a1b2d6 Merge branch 'PHP-7.3'
* PHP-7.3:
  Improve fix for bug #76829
2018-09-01 01:12:45 +02:00
Anatol Belski
4a43e5fb4f Improve fix for bug #76829 2018-09-01 01:12:06 +02:00
Anatol Belski
96f30a9160 Merge branch 'PHP-7.3'
* PHP-7.3:
  Fixed bug #76829 Incorrect validation of domain on idn_to_utf8() function
2018-09-01 00:21:02 +02:00
Anatol Belski
b9ca573a1b Fixed bug #76829 Incorrect validation of domain on idn_to_utf8() function
As stated by RFC 5890, U-Labels might be up to 252 Unicode code points
long. This can be fixed in 7.1+ as well, but there might potentially be
issues in some existing apps expecting the output to be max 255 octets
long. Thus it seems to be safer to not to touch stable branches.
2018-09-01 00:14:23 +02:00
Gabriel Caruso
84b195d9fc Fix some misspellings 2018-08-12 16:15:45 +02:00
Anatol Belski
b151e17bdf Merge branch 'PHP-7.3'
* PHP-7.3:
  Fixed bug #74484 MessageFormatter::formatMessage memory corruption
2018-08-09 22:09:52 +02:00
Anatol Belski
3cef5a2476 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fixed bug #74484 MessageFormatter::formatMessage memory corruption
2018-08-09 22:09:21 +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
Gabriel Caruso
f47cdd1ee0
Remove invalid SKIPIF sections and make more tests run 2018-08-07 21:23:21 -03:00
Gabriel Caruso
dc4e47710b
Give a reason why the test was skipped
A follow up for c93aba04
2018-08-01 22:18:57 -03:00
Christoph M. Becker
3d4fbdade4 Remove needless version checks
As of PHP 5.5.3, we're requiring ICU ≥ 4.0[1] anyway, so there's no
need to check for ICU 3.x.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=8831b00>
2018-08-01 17:53:38 +02:00
Gabriel Caruso
fb966b9825
Remove unused variables 2018-07-25 22:05:41 -03:00
Peter Kokot
8d3f8ca12a Remove unused Git attributes ident
The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
user who changed it.

In Git this functionality is different and can be done with Git attribute
ident. These need to be defined manually for each file in the
.gitattributes file and are afterwards replaced with 40-character
hexadecimal blob object name which is based only on the particular file
contents.

This patch simplifies handling of $Id$ keywords by removing them since
they are not used anymore.
2018-07-25 00:53:25 +02:00
Gabriel Caruso
c93aba042f
Give a reason why the test was skipped
This will help us debug why a test was skipped in GCOV
(http://gcov.php.net/viewer.php?version=PHP_HEAD&func=skip), and maybe
put them to run again
2018-07-22 16:41:41 -03:00
Dmitry Stogov
571dac8c8f Fixed tests 2018-07-12 17:17:09 +03:00
Andrea Faulds
e4e9cd8355 Export stdClass objects using (object) cast (fixes #48016)
Before this change, var_export()'s output for stdClass objects calls
the non-existent stdClass::__set_state method, and is therefore useless.

This commit makes var_export() output an (object) cast from an array
instead, which when evaluated, will produce a stdClass object. Other
classes see unchanged output.
2018-07-12 13:22:26 +02:00
Dmitry Stogov
67b4c3379a Uze ZVAL_COPY_DEREF() instead of ZVAL_DEREF() and ZVAL_COPY() 2018-07-09 12:46:46 +03:00
Dmitry Stogov
83f6f8563c Use zval_ptr_dtor() instead of legacy zval_dtor(), to destroy unused values returned from PHP functions (they may be circular data structures). 2018-07-05 14:09:47 +03:00
Dmitry Stogov
b6fb584505 Replace zval_dtor() with specialized destructors 2018-07-05 13:32:39 +03:00
Dmitry Stogov
0d235517a3 Don't keep dangling pointer to function_name 2018-07-05 12:20:50 +03:00
Dmitry Stogov
b6cc4d2009 Use zval_ptr_dtor() instead of zval_dtor() in internal functions that destroy new created object (This is safer and produces less code) 2018-07-05 11:54:26 +03:00
Dmitry Stogov
265c3ed6cf Fixed incorrrecr zval_dtor() usage to replace value of argument passed by reference, that may lead to memory leaks. 2018-07-05 10:57:49 +03:00
Dmitry Stogov
4a475a4976 Replace legacy zval_dtor() by zval_ptr_dtor_nogc() or even more specialized destructors.
zval_dtor() doesn't make a lot of sense in PHP-7.* and it's used incorrectly in some places.
Its occurances should be replaced by zval_ptr_dtor() or zval_ptr_dtor_nogc(), or even more specialized destructors.
2018-07-04 19:22:24 +03:00
Dmitry Stogov
091d77f28a Avoid magic method hash lookups 2018-07-02 17:03:50 +03:00
Christoph M. Becker
0c4f4481f5 Merge branch 'PHP-7.2'
* PHP-7.2:
  Make newly introduced bug76556.phpt more resilient
2018-07-01 00:23:06 +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
1b61c3b210 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #76556: get_debug_info handler for BreakIterator shows wrong type
2018-06-30 23:22:20 +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
Anatol Belski
836f329114 Merge branch 'PHP-7.2'
* PHP-7.2:
  Prepare tests for ICU 62.1
2018-06-25 11:32:03 +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
Stanislav Malyshev
3f53b02a53 Merge branch 'PHP-7.2'
* PHP-7.2:
  Revert "ICU 59+ requires C++11 and errors out without the option"
2018-06-20 10:42:04 -07: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
Sara Golemon
1108b5a19b
Move class constant definition to the right enum file 2018-06-19 18:21:08 -04:00
Stanislav Malyshev
24f7096154 Merge branch 'PHP-7.2'
* PHP-7.2:
  ICU 59+ requires C++11 and errors out without the option
  Fix #76300 - Dont attempt to change visibility of a parent private
2018-06-17 16:43:46 -07: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
Peter Kokot
b1767d8a56 Bump intl extension version to PHP release version
This patch syncs and simplifies the intl core extension versioning
to match the PHP release version.
2018-06-14 23:35:29 +02:00
Nikita Popov
bc56bb847d Merge branch 'PHP-7.2' 2018-06-13 23:48:37 +02:00
Nikita Popov
d04a1e8d70 Merge branch 'PHP-7.1' into PHP-7.2 2018-06-13 23:48:28 +02:00