Stanislav Malyshev [Mon, 1 Apr 2019 07:30:56 +0000 (00:30 -0700)]
Unfortunately, travis CI has old oniguruma library
So we can't test it there.
Stanislav Malyshev [Mon, 1 Apr 2019 07:05:36 +0000 (00:05 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Update NEWS & UPGRADING
Add fallbacks for older oniguruma versions
Add mbstring.regex_stack_limit to php.ini-*
Implement RF bug #72777 - ensure stack limits on mbstring functions.
Stanislav Malyshev [Mon, 1 Apr 2019 07:03:49 +0000 (00:03 -0700)]
Update NEWS & UPGRADING
Stanislav Malyshev [Mon, 1 Apr 2019 07:00:14 +0000 (00:00 -0700)]
Merge branch 'mb-limit-73' into PHP-7.3
* mb-limit-73:
Add fallbacks for older oniguruma versions
Add mbstring.regex_stack_limit to php.ini-*
Implement RF bug #72777 - ensure stack limits on mbstring functions.
Stanislav Malyshev [Mon, 1 Apr 2019 06:11:30 +0000 (23:11 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Update NEWS
Stanislav Malyshev [Mon, 1 Apr 2019 06:11:27 +0000 (23:11 -0700)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Update NEWS
Stanislav Malyshev [Mon, 1 Apr 2019 06:11:24 +0000 (23:11 -0700)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Update NEWS
Stanislav Malyshev [Mon, 1 Apr 2019 06:11:15 +0000 (23:11 -0700)]
Update NEWS
Stanislav Malyshev [Mon, 1 Apr 2019 06:10:04 +0000 (23:10 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix bug #77753 - Heap-buffer-overflow in php_ifd_get32s
Stanislav Malyshev [Mon, 1 Apr 2019 06:09:57 +0000 (23:09 -0700)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix bug #77753 - Heap-buffer-overflow in php_ifd_get32s
Stanislav Malyshev [Mon, 1 Apr 2019 06:09:18 +0000 (23:09 -0700)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Fix bug #77753 - Heap-buffer-overflow in php_ifd_get32s
Stanislav Malyshev [Mon, 18 Mar 2019 05:54:46 +0000 (22:54 -0700)]
Fix bug #77753 - Heap-buffer-overflow in php_ifd_get32s
Anatol Belski [Mon, 1 Apr 2019 00:16:52 +0000 (02:16 +0200)]
Improve ascii check
Anatol Belski [Sun, 31 Mar 2019 20:10:56 +0000 (22:10 +0200)]
Rework conditions and make them more future proof
Anatol Belski [Sun, 31 Mar 2019 15:28:50 +0000 (17:28 +0200)]
Implement stricter CRT check
This aligns with the recommendations about VS2015, VS2017 and VS2019
compatibility.
More info below
https://devblogs.microsoft.com/cppblog/cpp-binary-compatibility-and-pain-free-upgrades-to-visual-studio-2019/
Anatol Belski [Sun, 31 Mar 2019 12:31:57 +0000 (14:31 +0200)]
Fix return
Anatol Belski [Sun, 31 Mar 2019 12:18:12 +0000 (14:18 +0200)]
Rework the VS version evaluation
For the latest versions, refer also to the Visual Studio version, not to
the exact toolset version. The latest Visual Studio versions are moving
fast and the method existed previously is not sutable to keep up
anymore. Instead of refering to the exact toolset, it refers to the
Visual Studio version and implies the latest toolset available there.
That is still not ideal, another situation can arise where VS version is
not changed, but the toolset version is. It might be better to refer to
it a generic way in the future or even omit at all, and improve the
internal compatibility checks instead.
Anatol Belski [Sun, 31 Mar 2019 12:01:36 +0000 (14:01 +0200)]
Implement stricter extension compatibility check
This hardens the dynamic module loading by checking the linker compatibility
between the core and the dynamic module. This likely should be extended
for the CRT as well, as 2015, 2017 and 2019 versions of Visual Studio
all have same DLL name for the CRT.
Christoph M. Becker [Sun, 31 Mar 2019 11:35:50 +0000 (13:35 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #77827: preg_match does not ignore \r in regex flags
Christoph M. Becker [Sun, 31 Mar 2019 11:32:31 +0000 (13:32 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #77827: preg_match does not ignore \r in regex flags
Christoph M. Becker [Sun, 31 Mar 2019 11:31:54 +0000 (13:31 +0200)]
Fix #77827: preg_match does not ignore \r in regex flags
Joe Watkins [Sun, 31 Mar 2019 07:46:36 +0000 (09:46 +0200)]
typo [ci skip]
Joe Watkins [Sun, 31 Mar 2019 07:43:53 +0000 (09:43 +0200)]
correct readme [ci skip]
Stanislav Malyshev [Sat, 30 Mar 2019 21:52:04 +0000 (14:52 -0700)]
Add fallbacks for older oniguruma versions
Anatol Belski [Sat, 30 Mar 2019 22:04:52 +0000 (23:04 +0100)]
Fix memory leak
Anatol Belski [Sat, 30 Mar 2019 20:30:48 +0000 (21:30 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix memory leak
Anatol Belski [Sat, 30 Mar 2019 20:27:37 +0000 (21:27 +0100)]
Fix memory leak
Anatol Belski [Sat, 30 Mar 2019 20:07:17 +0000 (21:07 +0100)]
Use wchar_t as native type in C
Peter Kokot [Wed, 27 Mar 2019 19:51:45 +0000 (20:51 +0100)]
Move README files to a dedicated docs directory
The new dedicated docs directory has been introduced after a discussion
on GitHub[1].
Main issue it is addressing is the reduction of too many README files in
the project root directory. The new directory is dedicated for notes and
quick documentation files that either can't be put in the manual or wiki
pages or that relate to the php-src repository specifically and need to
live together with the source code.
Also the `docs` directory is by GitHub used for some repository
configuration files such as pull request templates, and contributing
documentation helper files that are integrated in the interface.
[1]: https://github.com/php/php-src/pull/3988
Matteo Beccati [Sat, 30 Mar 2019 17:30:20 +0000 (18:30 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed SKIPIF when --disable-mbregex is used
Matteo Beccati [Fri, 29 Mar 2019 13:09:39 +0000 (14:09 +0100)]
Fixed SKIPIF when --disable-mbregex is used
Matteo Beccati [Sat, 30 Mar 2019 17:29:44 +0000 (18:29 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fixed SKIPIF when --disable-mbregex is used
Matteo Beccati [Fri, 29 Mar 2019 13:09:39 +0000 (14:09 +0100)]
Fixed SKIPIF when --disable-mbregex is used
Peter Kokot [Sat, 30 Mar 2019 15:09:23 +0000 (16:09 +0100)]
[ci skip] Add ffi_parser.c info
Peter Kokot [Mon, 25 Mar 2019 23:00:36 +0000 (00:00 +0100)]
Join README.GIT-RULES and CONTRIBUTING.md
This patch joins two very much related pieces of docs together in a
single file dedicated to all sorts of contributing info.
Some more changes:
- Branches info copied from the current master branch
- LXR and bonsai info removed
- Duplicated info reduced a bit
- Security branch updated to 7.1
- Refactor intro for Git commit rules
- Updated README.GIT-RULES file usage in win32/build/confutils.js
- Refactored configure.ac
Peter Kokot [Sat, 30 Mar 2019 12:59:14 +0000 (13:59 +0100)]
[ci skip] Mention PHP_PROG_BISON and PHP_PROG_RE2C
Anatol Belski [Sat, 30 Mar 2019 11:53:32 +0000 (12:53 +0100)]
Fix handling and extend ext/ffi/tests/044.phpt
Peter Kokot [Sun, 17 Mar 2019 15:22:02 +0000 (16:22 +0100)]
Refactor PHP_PROG_BISON and PHP_PROG_RE2C
This patch refactors these macros to also checks for the required given
versions of bison and re2c.
- PHP_PROG_RE2C and PHP_PROG_BISON take optional args - minmimum version
required, and bison also excluded versions.
- Instead of caching values this uses manual checking and messaging
outputs.
- It looks like the minimum version of RE2C 0.13.4 is working ok so far.
The genfiles script improvements:
- Add make override in genfiles
- Move checkings from makedist to genfiles
- Refactored output messages
- Various minor enhancements
Joe Watkins [Fri, 29 Mar 2019 07:01:31 +0000 (08:01 +0100)]
tsrm environment lock
Dmitry Stogov [Fri, 29 Mar 2019 14:28:57 +0000 (17:28 +0300)]
Partial support for GCC mode attribute.
Matteo Beccati [Fri, 29 Mar 2019 13:24:09 +0000 (14:24 +0100)]
Removed declaration inside for loops
Matteo Beccati [Fri, 29 Mar 2019 13:09:39 +0000 (14:09 +0100)]
Fixed SKIPIF when --disable-mbregex is used
Dmitry Stogov [Fri, 29 Mar 2019 11:33:49 +0000 (14:33 +0300)]
Fixed memory leaks
Dmitry Stogov [Fri, 29 Mar 2019 11:14:56 +0000 (14:14 +0300)]
Allow usage of incomplete types for external variables, function parameters and return values
Christoph M. Becker [Fri, 29 Mar 2019 08:58:37 +0000 (09:58 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix test expectation
Christoph M. Becker [Fri, 29 Mar 2019 08:56:58 +0000 (09:56 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix test expectation
Christoph M. Becker [Fri, 29 Mar 2019 08:45:38 +0000 (09:45 +0100)]
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`.
Stanislav Malyshev [Fri, 29 Mar 2019 05:57:07 +0000 (22:57 -0700)]
Add mbstring.regex_stack_limit to php.ini-*
Dmitry Stogov [Thu, 28 Mar 2019 23:36:55 +0000 (02:36 +0300)]
Added support for more GCC extensions: attributes, __extension__, __asm__ (ignored)
Dmitry Stogov [Thu, 28 Mar 2019 21:52:39 +0000 (00:52 +0300)]
Ignore "__format__" attribute
Dmitry Stogov [Thu, 28 Mar 2019 21:15:12 +0000 (00:15 +0300)]
Allow incomplete array variables - extern const char * const sys_errlist[]
Dmitry Stogov [Thu, 28 Mar 2019 21:02:26 +0000 (00:02 +0300)]
Fixed bug #77768 (FFI: Builtin Types Should Not Raise Error On Redeclaration)
Peter Kokot [Wed, 27 Mar 2019 22:36:59 +0000 (23:36 +0100)]
Remove php7.spec.in file
RPM specification file was introduced via
7c2f1384d45876bbdef255c4a57301e6406f6964 for PHP to include official
RPM packages long time agon. With removal of the makerpm script via
3d51d4c90c77a30a7b88aae7184dcce4b6e26b07 and Linux repositories to
manage such updated and customized info in their repositories this file
is most likely not needed anymore.
Nikita Popov [Thu, 28 Mar 2019 09:14:14 +0000 (10:14 +0100)]
Add additional protected visibility prototype test
See https://github.com/php/php-src/pull/3993 for context.
Nikita Popov [Thu, 28 Mar 2019 08:29:08 +0000 (09:29 +0100)]
Revert "Switch to bison location tracking"
This reverts commit
e528762c1c59bc0bd0bd6d78246c14269630cf0f.
Dmitry reports that this has a non-trivial impact on parsing
overhead, especially on 32-bit systems. As we don't have a strong
need for this change right now, I'm reverting it.
See also comments on
https://github.com/php/php-src/commit/
e528762c1c59bc0bd0bd6d78246c14269630cf0f.
Stanislav Malyshev [Thu, 28 Mar 2019 07:44:42 +0000 (00:44 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
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
Stanislav Malyshev [Thu, 28 Mar 2019 07:37:36 +0000 (00:37 -0700)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
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
Stanislav Malyshev [Thu, 28 Mar 2019 07:35:22 +0000 (00:35 -0700)]
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
Yasuo Ohgaki [Thu, 1 Sep 2016 10:15:32 +0000 (19:15 +0900)]
Implement RF bug #72777 - ensure stack limits on mbstring functions.
The patch creates new config: mbstring.regex_stack_limit, which
defaults to 100000.
Joe Watkins [Thu, 28 Mar 2019 06:35:33 +0000 (07:35 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
fix build: readline support must be disabled by default in phpdbg
Joe Watkins [Thu, 28 Mar 2019 06:35:15 +0000 (07:35 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
fix build: readline support must be disabled by default in phpdbg
Joe Watkins [Thu, 28 Mar 2019 06:34:45 +0000 (07:34 +0100)]
fix build: readline support must be disabled by default in phpdbg
Nikita Popov [Mon, 11 Feb 2019 11:31:59 +0000 (12:31 +0100)]
Validate subject encoding in mb_split and mb_ereg_match
We were already validating the subject encoding in most functions,
but not these two.
Nikita Popov [Mon, 11 Feb 2019 11:10:40 +0000 (12:10 +0100)]
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.
Dmitry Stogov [Thu, 28 Mar 2019 00:01:20 +0000 (03:01 +0300)]
Support for __restrict and few GCC attributes
Dmitry Stogov [Wed, 27 Mar 2019 22:21:06 +0000 (01:21 +0300)]
Use semantic predicates to simplify lookahead and reduce backtracking
Nikita Popov [Wed, 27 Mar 2019 17:09:09 +0000 (18:09 +0100)]
Treat abstract ctors the same, regardless of origin
Abstract ctor signatures should always be respected by all children,
independently of whether it comes from an interface or an abstract
class. Previously abstract ctor signatures (if they didn't come from
an interface) were only checked to one level of inheritance.
Nikita Popov [Wed, 27 Mar 2019 12:02:28 +0000 (13:02 +0100)]
Fix lineno for more inheritance errors
And also include explicit linenos in tests.
Nikita Popov [Wed, 27 Mar 2019 11:42:35 +0000 (12:42 +0100)]
Make line numbers for inheritance errors more precise
Use the line of the conflicting child method, rather than either the
first or last line of the class.
Joe Watkins [Wed, 27 Mar 2019 09:38:56 +0000 (10:38 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Consider phpdbg as cli
Joe Watkins [Wed, 27 Mar 2019 09:38:45 +0000 (10:38 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Consider phpdbg as cli
Samuele Kaplun [Tue, 18 Sep 2018 12:49:36 +0000 (14:49 +0200)]
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>
Joe Watkins [Wed, 27 Mar 2019 09:09:34 +0000 (10:09 +0100)]
Merge branch 'PHP-7.4' of git://github.com/php/php-src into PHP-7.4
Joe Watkins [Wed, 27 Mar 2019 09:04:18 +0000 (10:04 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #77805 phpdbg build fails when readline is shared
Joe Watkins [Wed, 27 Mar 2019 09:03:50 +0000 (10:03 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #77805 phpdbg build fails when readline is shared
Joe Watkins [Wed, 27 Mar 2019 08:58:40 +0000 (09:58 +0100)]
Fix #77805 phpdbg build fails when readline is shared
Sara Golemon [Wed, 27 Mar 2019 04:07:34 +0000 (00:07 -0400)]
Validate interoperability between libsodium and libargon for argon2i(d) hashing
Sara Golemon [Wed, 27 Mar 2019 04:07:55 +0000 (00:07 -0400)]
Increase default time cost for argon2 password hashing
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