Joe Watkins [Tue, 26 Mar 2019 23:02:43 +0000 (00:02 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
more work on phpdbg conditional breaks
Joe Watkins [Tue, 26 Mar 2019 23:02:31 +0000 (00:02 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
more work on phpdbg conditional breaks
Joe Watkins [Tue, 26 Mar 2019 23:02:15 +0000 (00:02 +0100)]
more work on phpdbg conditional breaks
Joe Watkins [Tue, 26 Mar 2019 22:06:34 +0000 (23:06 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #77800 phpdbg segfaults on conditional breakpoints
Joe Watkins [Tue, 26 Mar 2019 22:06:00 +0000 (23:06 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #77800 phpdbg segfaults on conditional breakpoints
Joe Watkins [Tue, 26 Mar 2019 22:05:06 +0000 (23:05 +0100)]
Fix #77800 phpdbg segfaults on conditional breakpoints
Peter Kokot [Mon, 25 Mar 2019 19:50:14 +0000 (20:50 +0100)]
Add minimum required PHP version to run-tests.php
This integrates a simple minimum PHP version info in the tool and to
also define the minimum version that the tool syntax should support.
Nikita Popov [Tue, 26 Mar 2019 14:46:09 +0000 (15:46 +0100)]
Add zend_error_at API that accepts a filename and lineno
Use this for the opcache preloading warnings, as an example usage.
Nikita Popov [Mon, 25 Mar 2019 14:46:43 +0000 (15:46 +0100)]
Make PCRE cache per-request on CLI
There will only be one request on the CLI SAPI, so there is no
advantage to having a persistent PCRE cache. Using a non-persistent
cache allows us to use arbitrary strings as cache keys.
Peter Kokot [Sat, 23 Mar 2019 18:05:37 +0000 (19:05 +0100)]
[ci skip] Join contributing and patches docs
This joins two similar contextual information together in the main
CONTRIBUTING.md file.
Additionally:
- http links updated to https where possible
- sentences and sections refactored more so they make some sence. GitHub
pull requests are preferred way for contributing code.
- reorder paragraphs and contextual info
- s/mail list/mailing list
- PHP internals refactorings
- use canonical https://www.php.net
Peter Kokot [Mon, 25 Mar 2019 20:57:39 +0000 (21:57 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
[ci skip] Update NEWS
[ci skip] Update NEWS
Fix #77794: Incorrect Date header format in built-in server
Peter Kokot [Mon, 25 Mar 2019 20:57:20 +0000 (21:57 +0100)]
[ci skip] Update NEWS
Peter Kokot [Mon, 25 Mar 2019 20:56:39 +0000 (21:56 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
[ci skip] Update NEWS
Fix #77794: Incorrect Date header format in built-in server
Peter Kokot [Mon, 25 Mar 2019 20:46:41 +0000 (21:46 +0100)]
[ci skip] Update NEWS
Niklas Keller [Sun, 24 Mar 2019 18:39:25 +0000 (19:39 +0100)]
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
Dmitry Stogov [Mon, 25 Mar 2019 18:45:10 +0000 (21:45 +0300)]
Regenerate parser
Nikita Popov [Mon, 25 Mar 2019 16:46:28 +0000 (17:46 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 25 Mar 2019 16:45:03 +0000 (17:45 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
Vlad Temian [Tue, 19 Mar 2019 16:36:45 +0000 (18:36 +0200)]
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.
Nikita Popov [Mon, 25 Mar 2019 16:34:29 +0000 (17:34 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 25 Mar 2019 16:33:17 +0000 (17:33 +0100)]
Fixed bug #77793
By making sure that we always first increment the refcount of the
new value before we destroy the old one.
Nikita Popov [Mon, 25 Mar 2019 15:43:33 +0000 (16:43 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 25 Mar 2019 15:42:48 +0000 (16:42 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 25 Mar 2019 15:41:21 +0000 (16:41 +0100)]
Fixed bug #72175
Make sure we don't close the connection we're trying to reuse...
Nikita Popov [Mon, 25 Mar 2019 13:15:26 +0000 (14:15 +0100)]
Don't use parallel testing with -j1
Nikita Popov [Mon, 25 Mar 2019 13:13:10 +0000 (14:13 +0100)]
Drop lightning for concurrent worker count
This looked rather awkward even on terminals that have full unicode
support.
Tyson Andre [Sat, 23 Mar 2019 20:47:10 +0000 (16:47 -0400)]
Make run-tests.php compatible with php 7.0-7.2
Motivation:
As an extension author, I want to speed up running tests in php <=7.3,
both locally and in CI (e.g. with valgrind).
This can be done by manually copying php 7.4's run-tests.php script
to replace the one generated by `phpize`
- list() doesn't work in php 7.0
- negative string offset doesn't work in php 7.2
If run-tests.php can be copied from php-src without any manual patches,
that would be the easiest.
Related to #2822 - I didn't see any discussion for/against compatibility
with older php versions
Peter Kokot [Sun, 17 Mar 2019 22:55:37 +0000 (23:55 +0100)]
Enhance Autoconf version checking
With this required Autoconf version is now defined only on two places:
- configure.ac
- scripts/phpize.m4
and additionally:
- Script can be run from other locations
- Synced CS and portability a bit
Peter Kokot [Sat, 23 Mar 2019 16:06:56 +0000 (17:06 +0100)]
[ci skip] Move CREDITS from root to README
Guilliam Xavier [Sat, 23 Mar 2019 14:41:46 +0000 (15:41 +0100)]
Fix tokenizer_data_gen.sh for non-posix bison
And run it to update tokenizer_data.c after recent changes in
zend_language_parser.y that reordered some tokens
George Peter Banyard [Sat, 23 Mar 2019 21:23:05 +0000 (22:23 +0100)]
Remove enable-wddx from Travis compile as it WDDX has been unbundled as of PHP 7.4
Peter Kokot [Sat, 23 Mar 2019 20:09:38 +0000 (21:09 +0100)]
[ci skip] Remove text editor modelines
These were already removed
92ac598aabd336593a47ed3959f1031674b763e6
and this fixes some leftovers. These files don't really need these
settings.
Joe Watkins [Sat, 23 Mar 2019 08:49:03 +0000 (09:49 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
fix bug #76801: phpdbg too many open files error
Joe Watkins [Sat, 23 Mar 2019 08:48:04 +0000 (09:48 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
fix bug #76801: phpdbg too many open files error
Alessandro Chitolina [Tue, 19 Mar 2019 16:34:34 +0000 (17:34 +0100)]
fix bug #76801: phpdbg too many open files error
Remi Collet [Fri, 22 Mar 2019 14:31:53 +0000 (15:31 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
ensure pcre.jit=1 for this test
Remi Collet [Fri, 22 Mar 2019 14:31:36 +0000 (15:31 +0100)]
ensure pcre.jit=1 for this test
Remi Collet [Fri, 22 Mar 2019 14:02:13 +0000 (15:02 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
ensure pcre.jit=1 for these tests
Remi Collet [Fri, 22 Mar 2019 14:01:49 +0000 (15:01 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
ensure pcre.jit=1 for these tests
Remi Collet [Fri, 22 Mar 2019 14:00:31 +0000 (15:00 +0100)]
ensure pcre.jit=1 for these tests
Nikita Popov [Fri, 22 Mar 2019 12:07:11 +0000 (13:07 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Fri, 22 Mar 2019 12:07:00 +0000 (13:07 +0100)]
Fixed bug #77773
Nikita Popov [Fri, 22 Mar 2019 11:41:34 +0000 (12:41 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Fri, 22 Mar 2019 11:40:21 +0000 (12:40 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Fri, 22 Mar 2019 11:39:27 +0000 (12:39 +0100)]
Fixed bug #77772
Nikita Popov [Tue, 22 Jan 2019 16:47:16 +0000 (17:47 +0100)]
Implement new custom object serialization mechanism
RFC: https://wiki.php.net/rfc/custom_object_serialization
Nikita Popov [Fri, 22 Mar 2019 09:29:18 +0000 (10:29 +0100)]
Remove HAVE_PCRE/HAVE_BUNDLED_PCRE checks
PCRE is always available.
rjhdby [Mon, 18 Mar 2019 14:17:29 +0000 (17:17 +0300)]
Deduplicate code in zend_builtin_functions.c
Nikita Popov [Fri, 15 Mar 2019 11:36:49 +0000 (12:36 +0100)]
Switch to bison location tracking
Locations for AST nodes are now tracked with the help of bison
location tracking. This is more accurate than what we currently do
and easier to extend with more information.
A zend_ast_loc structure is introduced, which is used for the location
stack. Currently it only holds the start lineno, but can be extended
to also hold end lineno and offset/column information in the future.
All AST constructors now accept a zend_ast_loc* as first argument, and
will use it to determine their lineno. Previously this used either the
CG(zend_lineno), or the smallest AST lineno of child nodes.
On the parser side, the location structure for a whole rule can be
obtained using the &@$ character salad.
Nikita Popov [Thu, 21 Mar 2019 09:14:19 +0000 (10:14 +0100)]
Try to create interned strings in preg_split as well
And convert last_match to last_match_offset, which is more
convenient now.
Nikita Popov [Thu, 21 Mar 2019 09:08:29 +0000 (10:08 +0100)]
Cleanup add_offset_pair API
Accept the two offsets directly, rather than doing length calculations
at all callsites. Also extract the logic to create a possibly interned
string.
Switch the split implementation to work on a char* subject internally,
because ZSTR_VAL(subject_str) is a mouthful...
Nikita Popov [Tue, 19 Mar 2019 11:11:05 +0000 (12:11 +0100)]
Fix bug #73948
If PREG_UNMATCHED_AS_NULL is used, make sure that unmatched capturing
groups at the end are also set to null, rather than just those in the
middle.
Remi Collet [Thu, 21 Mar 2019 08:20:03 +0000 (09:20 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
fix test
Remi Collet [Thu, 21 Mar 2019 08:19:42 +0000 (09:19 +0100)]
fix test
Kalle Sommer Nielsen [Wed, 20 Mar 2019 18:09:45 +0000 (20:09 +0200)]
Sync the changes to ext/filter with 7.4, now that it works.
- Removed --with-pcre-dir
- The filter extension can now be built as shared on Unix with ./configure
Christoph M. Becker [Wed, 20 Mar 2019 13:15:50 +0000 (14:15 +0100)]
Unbundle ext/wddx
The extension is now available from <https://pecl.php.net/package/wddx>.
Cf. <https://wiki.php.net/rfc/deprecate-and-remove-ext-wddx>.
Remi Collet [Wed, 20 Mar 2019 13:08:30 +0000 (14:08 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix tests after fix for #76717
Remi Collet [Wed, 20 Mar 2019 13:08:18 +0000 (14:08 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix tests after fix for #76717
Remi Collet [Wed, 20 Mar 2019 13:07:26 +0000 (14:07 +0100)]
Fix tests after fix for #76717
Nikita Popov [Wed, 20 Mar 2019 11:03:45 +0000 (12:03 +0100)]
Fixed bug #74345
Export zend_release_fcall_info_cache(). It is only necessary to
call it if the fcc may not have been used -- if it is passed to
zend_call_function() and friends, then they will take care of
freeing trampolines.
Remi Collet [Wed, 20 Mar 2019 10:55:44 +0000 (11:55 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
NEWS
Revert "Fix #77609: Tests from mailparse extension fails"
Remi Collet [Wed, 20 Mar 2019 10:55:06 +0000 (11:55 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
NEWS
Revert "Fix #77609: Tests from mailparse extension fails"
Remi Collet [Wed, 20 Mar 2019 10:54:49 +0000 (11:54 +0100)]
NEWS
Remi Collet [Wed, 20 Mar 2019 10:54:27 +0000 (11:54 +0100)]
Revert "Fix #77609: Tests from mailparse extension fails"
This reverts commit
3ead67239419632eecb83f0f101ead2021ee6c14.
Nikita Popov [Tue, 19 Mar 2019 14:47:25 +0000 (15:47 +0100)]
Mark bug76348.phpt as online test
Dmitry Stogov [Tue, 19 Mar 2019 23:41:08 +0000 (02:41 +0300)]
Fixed incorrect error message
Dmitry Stogov [Tue, 19 Mar 2019 22:31:35 +0000 (01:31 +0300)]
Fixed typo
Peter Kokot [Mon, 18 Mar 2019 23:33:53 +0000 (00:33 +0100)]
Upgrade deprecated directives and use non-posix bison
With Bison 3.0 some directives are deprecated:
- %name-prefix "x" should be %define api.prefix {x}
- %error-verbose should be %define parse.error verbose
Bison 3.3 also started emiting more warnings and since PHP souce parsers
are not POSIX compliant this patch fixes this as pointed out via
495a46aa1dc564656bf919cb49aae48a31ae15f4.
Peter Kokot [Mon, 18 Mar 2019 00:26:18 +0000 (01:26 +0100)]
Remove extension readmes
This patch removes several extension readmes in favor of the PHP manual
and where possible.
Sara Golemon [Tue, 19 Mar 2019 18:33:13 +0000 (14:33 -0400)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Bump versions for 7.2.18
Sara Golemon [Tue, 19 Mar 2019 18:32:28 +0000 (14:32 -0400)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Bump versions for 7.2.18
Sara Golemon [Tue, 19 Mar 2019 18:31:01 +0000 (14:31 -0400)]
Bump versions for 7.2.18
Remi Collet [Tue, 19 Mar 2019 15:28:10 +0000 (16:28 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
comment out sqlite3.defensive = 1 follow common practice, this is the default value
Remi Collet [Tue, 19 Mar 2019 15:27:57 +0000 (16:27 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
comment out sqlite3.defensive = 1 follow common practice, this is the default value
Remi Collet [Tue, 19 Mar 2019 15:26:26 +0000 (16:26 +0100)]
comment out sqlite3.defensive = 1
follow common practice, this is the default value
Christoph M. Becker [Tue, 19 Mar 2019 15:22:12 +0000 (16:22 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Prepare main branch for PHP 7.3.5
Christoph M. Becker [Tue, 19 Mar 2019 15:20:55 +0000 (16:20 +0100)]
Prepare main branch for PHP 7.3.5
Remi Collet [Tue, 19 Mar 2019 15:16:13 +0000 (16:16 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
fix test for upcoming pcre2 10.33
Remi Collet [Tue, 19 Mar 2019 15:15:14 +0000 (16:15 +0100)]
fix test for upcoming pcre2 10.33
"group name ..." => "subpattern name ..."
Nikita Popov [Tue, 19 Mar 2019 14:35:15 +0000 (15:35 +0100)]
Respect OFFSET_CAPTURE when padding preg_match_all() results
This issue was mentioned in bug #73948. The PREG_PATTERN_ORDER
padding was performed without respecting the PREF_OFFSET_CAPTURE
flag, which resulted in unmatched subpatterns being either null or
[null, -1] depending on where they occur. Now they will always be
[null, -1], consistent with other usages.
Nikita Popov [Tue, 19 Mar 2019 12:59:43 +0000 (13:59 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Tue, 19 Mar 2019 12:57:39 +0000 (13:57 +0100)]
Fixed bug #76127
Per documentation, and consistent with other preg functions, we
should return false if an error occurred.
Nikita Popov [Tue, 19 Mar 2019 12:06:21 +0000 (13:06 +0100)]
Don't create a new array for empty/null match every time
If PREG_OFFSET_CAPTURE is used, unmatched subpatterns will be either
[null, -1] or ['', -1] depending on PREG_UNMATCHED_AS_NULL mode.
Instead of creating a new array like this every time, cache it inside
a global (per-request -- could make it immutable though).
Additionally check whether the subpattern is an empty string or
single character string and use an existing interned string in that
case. Empty / single-char subpatterns are common, so let's avoid
allocating strings for them.
Nikita Popov [Tue, 19 Mar 2019 11:00:38 +0000 (12:00 +0100)]
Revert unintended change
I wanted to cache subpat names, but we can't do that because the
cache relives request boundaries.
Nikita Popov [Tue, 19 Mar 2019 10:55:40 +0000 (11:55 +0100)]
Use zend_string for subpat_names table
When used with preg_match_all or preg_replace_callback(_array),
subpattern names can be used in the matches array many times.
Switch the subpat_names table to use zend_string, so we don't have
to allocate a new string every time. Also don't bother creating the
table if no $matches were passed.
This might be a regression for the case where preg_match() is used
with many trailing named subpatterns that are skipped in the result
array, but that seems rather contrived.
Dmitry Stogov [Tue, 19 Mar 2019 10:52:55 +0000 (13:52 +0300)]
Improve white-space handling
Nikita Popov [Tue, 19 Mar 2019 10:18:43 +0000 (11:18 +0100)]
Avoid copying subpat twice if named subpats are used
Nikita Popov [Mon, 18 Mar 2019 13:22:06 +0000 (14:22 +0100)]
Fix #77094: Add flags support for pcre_replace_callback(_array)
Nikita Popov [Tue, 19 Mar 2019 09:03:11 +0000 (10:03 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Tue, 19 Mar 2019 09:02:50 +0000 (10:02 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
Vlad Temian [Mon, 18 Mar 2019 16:35:24 +0000 (18:35 +0200)]
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.
Nikita Popov [Tue, 19 Mar 2019 08:55:52 +0000 (09:55 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Tue, 19 Mar 2019 08:55:24 +0000 (09:55 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
Miriam Lauter [Mon, 18 Mar 2019 16:47:18 +0000 (12:47 -0400)]
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.
Dmitry Stogov [Mon, 18 Mar 2019 23:02:14 +0000 (02:02 +0300)]
micro-optimization
Peter Kokot [Mon, 18 Mar 2019 22:02:57 +0000 (23:02 +0100)]
Leave bundled generated files untouched
When building lexer and parser files leave bundled files untouched as
are tracked in the Git. *.orig files also don't need to be cleaned
anymore.
Christoph M. Becker [Mon, 18 Mar 2019 19:08:49 +0000 (20:08 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix order
Christoph M. Becker [Mon, 18 Mar 2019 19:07:38 +0000 (20:07 +0100)]
Fix order
Christoph M. Becker [Mon, 18 Mar 2019 18:26:08 +0000 (19:26 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #77578: Crash when php unload
Christoph M. Becker [Mon, 18 Mar 2019 18:22:51 +0000 (19:22 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #77578: Crash when php unload