1
0
mirror of https://github.com/php/php-src.git synced 2026-04-17 04:51:03 +02:00
Commit Graph

108838 Commits

Author SHA1 Message Date
Anatol Belski
44fa6be16e Set correct error code and adapt test 2018-09-17 17:19:39 +02:00
Nikita Popov
70d47b3c4a Switch Travis build to Xenial
Also explicitly start the mysql and pgsql services, as these are
no longer running by default.
2018-09-17 17:10:49 +02:00
Nikita Popov
d2dc0a3291 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.
2018-09-17 17:10:49 +02:00
Nikita Popov
cc6871152b Don't install libt1-dev on travis
Support for libt1 has been removed from ext/gd in PHP 7.0 by
7dcfdbbee4, so we no longer need
to install this package. It is also no longer available on newer
Ubuntu versions.
2018-09-17 13:48:39 +02:00
Nikita Popov
5776b4453d Remove unused MREMAP_MAYMOVE compatibility define 2018-09-17 13:48:39 +02:00
Anatol Belski
decdca664e Fix error setting, both errors are needed 2018-09-17 13:34:52 +02:00
Nikita Popov
b3f8a6341d Remove unused HAVE_MEM_MMAP_ANON and HAVE_MEM_MMAP_ZERO checks
These haven't been used since the MM rewrite in PHP 7.0. Nowadays
we assume that either MAP_ANON or MAP_ANONYMOUS is available.
2018-09-17 12:08:11 +02:00
Nikita Popov
f57be4bdbe Remove __GNUC__ guard around stddef.h include
HAVE_STDDEF_H guards have been removed by
6c1ff61a36, because the header is
always available in C89. This removes a __GNUC__ guard for the
same header.
2018-09-17 12:08:11 +02:00
Anatol Belski
321c0cc349 Fix localized error messages and memory leaks
The FormatMessage API needs to LocalFree the delivered error messages.
In cases where messages are delivered in non ASCII compatible encoding,
the messages might be unreadable. This aligns the error message encoding
with the encoding settings in PHP, the focus is UTF-8 as default.

Initialize error buffer

Avoid code duplication
2018-09-17 10:56:50 +02:00
Nikita Popov
3b475910d6 Don't use xml resource in openssl test
Instead use a file resource, removing the dependency on ext/xml.
2018-09-17 10:20:26 +02:00
Nikita Popov
3e4b977df6 Remove PHP_XML_INTERNAL defines
This macro is no longer used.
2018-09-17 10:13:55 +02:00
Nikita Popov
178dcd4749 Perform final GC before the object store is freed
free_object_storage intentionally does not free the object allocations
to make sure that they show up as leaks. However, if the object is in
the GC root buffer, the later GC run may end up freeing the allocation,
hiding the leak.

Avoid this by moving the final GC run before free_object_storage, the
way it was done before fast_shutdown was integrated into core.
2018-09-17 10:13:55 +02:00
Peter Kokot
ba3bd4ae06 Remove HAVE_STDIO_H
The `<stdio.h>` header file is part of the standard C89 headers [1]
and on current systems can be included unconditionally.

Since PHP requires at least C89 or greater, the `HAVE_STDIO_H` symbol
defined by Autoconf [2] can be ommitted and simplifed.

Refs:
[1] https://port70.net/~nsz/c/c89/c89-draft.html#4.1.2
[2] https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4
2018-09-17 02:00:51 +02:00
Peter Kokot
03bbdf275a Make PHP development tools files executable
This patch makes few remaining PHP development tools files
executable and adds a shebang to them.

The `#!/usr/bin/env php` shebang provides running the script via
`./script.php` and uses env to find PHP script location on the system.
At the same time it still provides running the script with a user
defined PHP location using `php script.php`. Shebang is not visible in
the output of the generated file.
2018-09-17 00:02:36 +02:00
Gabriel Caruso
c9884354d2 Explain why the test was skipped 2018-09-16 17:31:06 -03:00
Peter Kokot
7dd62811ce Remove HAVE_STDLIB_H
The C89 and later standard defines the `<stdlib.h>` header as part of
the standard headers [1] and on current systems it is always present
and the `HAVE_STDLIB_H` symbol can be removed.

Also Autoconf suggests doing this and relying on C89 or above [2] and [3].

[1] https://port70.net/~nsz/c/c89/c89-draft.html#4.1.2
[2] http://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4
[3] https://www.gnu.org/software/autoconf/manual/autoconf-2.69/autoconf.html
2018-09-16 20:53:53 +02:00
Peter Kokot
dcc529aff4 Remove HAVE_SYS_VARARGS_H
Outdated systems used to provide the `<varargs.h>` and in case of PHP
`<sys/varargs.h>`. [1]

Current systems have `<stdarg.h>` which is also a C89 standard header
and systems have it always present. [2]

[1] https://en.wikipedia.org/wiki/Stdarg.h#varargs.h
[2] https://port70.net/~nsz/c/c89/c89-draft.html#4.1.2
2018-09-16 20:50:20 +02:00
Gabriel Caruso
f72b6c5e19 Use EXPECT instead of EXPECTF when possible 2018-09-16 15:39:18 -03:00
Nikita Popov
d51b9a690e Remove unnecessary destroy wrappers
There used to be needed due to ZEND_FILE_LINE in debug builds.
As the argument is no longer passed, we don't need the wrappers
either.
2018-09-16 17:16:26 +02:00
Nikita Popov
dfa166e7ed Remove unused ZEND_FILE_LINE in i_zval_ptr_dtor 2018-09-16 17:16:26 +02:00
Christoph M. Becker
25685942fa Don't hard-code object number in expectation 2018-09-16 15:52:18 +02:00
Nikita Popov
2d81db5643 Remove checks for libxml < 2.6.11
These are below our minimum version requirement.
2018-09-16 11:32:18 +02:00
Nikita Popov
1d0252a1c0 Remove IS_EXT_MODULE defines
I'm not sure what this was used for, but it doesn't look to be
relevant anymore.
2018-09-16 11:09:51 +02:00
Nikita Popov
ca6caa0cb2 Make ext/xml API private
Also remove dead functions
2018-09-16 11:07:40 +02:00
Christoph M. Becker
ba300b69d2 Update to SQLite 3.25.0 2018-09-15 23:12:25 +02:00
Richard Fussenegger
a25171b96d Silence ar warning 2018-09-15 20:42:25 +02:00
Christoph M. Becker
6da3a1e3ce Revert "Implement #67331: Have parse_ini_file add empty entries"
This reverts commit 3f3e914df3.

The commit broke some tests on Windows, and generally needs more
though.
2018-09-15 17:08:58 +02:00
Christoph M. Becker
3f3e914df3 Implement #67331: Have parse_ini_file add empty entries
Some INI processors allow to specify empty values by just giving the
key without the equals sign, for instance MySQL and Python.  It appears
to be sensible to add this possibility to our INI parser, so that it
can be used for such INI files as well.  We choose NULL as the value of
empty values.

This syntactical enhancement is a (minor) BC break, though, as can be
seen by the necessary change to bug49692.ini.  The “comment” formerly
has been simply ignored, but now it would be parsed as key with an
empty value.

This PR is based on Adam's former patch.
2018-09-15 15:37:01 +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
Christoph M. Becker
b820a7b2ff Merge branch 'PHP-7.3'
* PHP-7.3:
  Fix #76886: Can't build xmlrpc with expat
2018-09-15 13:25:49 +02:00
Christoph M. Becker
ae46e20879 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #76886: Can't build xmlrpc with expat
2018-09-15 13:24:48 +02: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
7eb255e9db Merge branch 'PHP-7.3'
* PHP-7.3:
  Fixed bug #76800 (foreach inconsistent if array modified during loop)
2018-09-14 10:33:32 +03:00
Dmitry Stogov
17c7b71057 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fixed bug #76800 (foreach inconsistent if array modified during loop)
2018-09-14 10:32:31 +03:00
Dmitry Stogov
3bc4a63fc2 Fixed bug #76800 (foreach inconsistent if array modified during loop) 2018-09-14 10:28:31 +03:00
Anatol Belski
c571005bd9 Merge branch 'PHP-7.3'
* PHP-7.3:
  Sync version for vc++ 15.9
2018-09-13 19:28:02 +02:00
Anatol Belski
6bd6265845 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Sync version for vc++ 15.9
2018-09-13 19:27:29 +02: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
Dmitry Stogov
49b92446d7 Remove zend_check_private() 2018-09-13 13:47:06 +03:00
Dmitry Stogov
50b515f1a2 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fix a typo in a class catch in Phar
2018-09-13 13:38:27 +03:00
Dmitry Stogov
bc288c4723 Simplify __clone() visibility check (magic methods still don't respect ZEND_ACC_CHANGED). 2018-09-13 13:36:09 +03:00
Tyson Andre
26f952b175 Fix a typo in a class catch in Phar 2018-09-13 11:48:42 +02:00
Dmitry Stogov
72bf2def6b Make visibilty check in is_callable() to be consistent with zend_std_get_method() 2018-09-13 12:24:59 +03:00
Anatol Belski
67a75a79ae Merge branch 'PHP-7.3'
* PHP-7.3:
  Backport changes for OpenSSL 1.1.1 CI integration
2018-09-13 11:07:09 +02:00
Anatol Belski
b9bcca0080 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Backport changes for OpenSSL 1.1.1 CI integration
2018-09-13 11:06:47 +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
24517d82cf Fix typo 2018-09-13 10:06:49 +02:00
Anatol Belski
6220d21c34 Remove colliding file from CI image 2018-09-13 10:05:27 +02:00