]>
granicus.if.org Git - php/log
Christoph M. Becker [Wed, 5 Aug 2020 06:59:41 +0000 (08:59 +0200)]
Check linker compatibility directly from HMODULE
Checking the linker compatibility with extranous `ImageLoad()` calls is
possible, but unnecessary, since the modules are either already loaded
or loaded shortly afterwards, so that we can get the required
information directly from the module handles. And actually, doing
`ImageLoad()` as well as `LoadLibrary()` leaves a tiny room for a race
condition, because both functions will lookup the module in the search
path, so there is no *guarantee* that both are dealing with the same
module. Dropping the `ImageLoad()` calls also has the advantage to no
longer face the issue reported in bug #79557. A very minor additional
advantage is that we no longer have to link against Imagehlp.dll.
Furthermore, there is no need to check for CRT compatibility multiple
times, so we can simplify the signature of `php_win32_crt_compatible`,
and at the same time clean up main.c a bit.
These changes require to change the signature of the exported
`php_win32_image_compatible` and `php_win32_crt_compatible` functions,
which now expect a `HMODULE` and nothing, respectively, instead of the
module name.
Christoph M. Becker [Mon, 21 Sep 2020 14:09:17 +0000 (16:09 +0200)]
Merge branch 'PHP-7.4' into master
* PHP-7.4:
Fix mmap copying
Christoph M. Becker [Mon, 21 Sep 2020 11:57:05 +0000 (13:57 +0200)]
Fix mmap copying
Instead of attempting to map large files into memory at once, we map
chunks of at most `PHP_STREAM_MMAP_MAX` bytes, and repeat that until we
hit the point where `php_stream_seek()` fails (see bug 54902), and copy
the rest of the file by reading and writing small chunks.
We also fix the mapping behavior for zero bytes on Windows, which did
not error (as with `mmap()`), but would have mapped the remaining file.
Máté Kocsis [Mon, 21 Sep 2020 12:47:54 +0000 (14:47 +0200)]
Fix a few Iterator signatures
Closes GH-6176
George Peter Banyard [Mon, 21 Sep 2020 13:48:02 +0000 (14:48 +0100)]
Drop some connection retries in IMAP test
They are unnecessary and just take time for no good reason
Nikita Popov [Mon, 21 Sep 2020 13:46:55 +0000 (15:46 +0200)]
pg_unescape_bytea() can only fail on OOM
The implementation did not check for PQunescapeBytea failure
correctly, because it checked for a null pointer after estrndup,
which certainly cannot happen. Inspection of the PGunescapeBytea
implementation has shown that this function can only fail on OOM,
so let's check for that explicitly and remove false as a possible
return type.
While we're here, avoid an unnecessary copy of the result.
Nikita Popov [Mon, 21 Sep 2020 13:29:10 +0000 (15:29 +0200)]
Promote PDORow property write to Error
Nikita Popov [Mon, 21 Sep 2020 13:22:47 +0000 (15:22 +0200)]
Remove dead code
The "if ever" here is the relevant bit...
George Peter Banyard [Wed, 16 Sep 2020 00:03:46 +0000 (02:03 +0200)]
Promote warnings to Error in COM extension
Closes GH-6141
Nikita Popov [Mon, 21 Sep 2020 13:05:03 +0000 (15:05 +0200)]
Synchronize GET_CLASS/GET_CALLED_CLASS opcodes with functions
These error conditions throw in the function implementations,
make the opcodes match.
Nikita Popov [Mon, 21 Sep 2020 12:58:23 +0000 (14:58 +0200)]
Assert on unknown list entry type
Nikita Popov [Mon, 21 Sep 2020 12:56:14 +0000 (14:56 +0200)]
Remove unnecessary check
We should only produce IS_UNDEF if an exception is thrown, this
check is not needed.
Nikita Popov [Mon, 21 Sep 2020 12:45:31 +0000 (14:45 +0200)]
Use proper parameter type in Closure::bindTo() signature
Máté Kocsis [Sat, 19 Sep 2020 12:13:42 +0000 (14:13 +0200)]
Improve default value handling of Exception constructors
Closes GH-6166
Nikita Popov [Mon, 21 Sep 2020 10:42:48 +0000 (12:42 +0200)]
Move arm64 job to cron
As we're branching soon, reduce the number of jobs we run on each
commit, so that Travis can keep up with its role as the fast
feedback build.
Nikita Popov [Mon, 21 Sep 2020 10:37:44 +0000 (12:37 +0200)]
Fix detection of code outside namespace
Due to improvements to early binding, the opcode based check is
no longer accurate. Reuse the syntactic check we're already using
for declares instead.
Nikita Popov [Mon, 21 Sep 2020 10:12:51 +0000 (12:12 +0200)]
Use assertion for null-termination string
Indicates an implementation bug, make sure we can automatically
detect it.
Larry Garfield [Sun, 20 Sep 2020 00:04:49 +0000 (19:04 -0500)]
Standardize mbstring and string on using 'string' as a parameter name.
Closes GH-6171.
Nikita Popov [Mon, 21 Sep 2020 09:32:00 +0000 (11:32 +0200)]
Deprecate pgsql function aliases
These have been documentation-deprecated for a very long time,
make it official.
Christoph M. Becker [Mon, 21 Sep 2020 09:27:51 +0000 (11:27 +0200)]
Merge branch 'PHP-7.4' into master
* PHP-7.4:
Fix memory leak in php_imap_mutf7()
Christoph M. Becker [Mon, 21 Sep 2020 09:26:41 +0000 (11:26 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix memory leak in php_imap_mutf7()
Christoph M. Becker [Mon, 21 Sep 2020 09:21:46 +0000 (11:21 +0200)]
Fix memory leak in php_imap_mutf7()
We have to free the string which has been allocated by libc-client.
Nikita Popov [Mon, 21 Sep 2020 08:50:29 +0000 (10:50 +0200)]
Initialize attributes for internal functions
Fixes a crash in Symfony SecurityBundle tests.
Christoph M. Becker [Mon, 21 Sep 2020 08:29:36 +0000 (10:29 +0200)]
Merge branch 'PHP-7.4' into master
* PHP-7.4:
Fix #80118: Erroneous whitespace match with JIT only
Christoph M. Becker [Sat, 19 Sep 2020 10:37:57 +0000 (12:37 +0200)]
Fix #80118: Erroneous whitespace match with JIT only
We backport r1273[1] from PCRE2.
[1] <https://vcs.pcre.org/pcre2?revision=1273&view=revision>
Closes GH-6165.
Máté Kocsis [Sat, 19 Sep 2020 18:13:08 +0000 (20:13 +0200)]
Add support for `@implementation-alias` in stubs
Closes GH-6170
George Peter Banyard [Sun, 20 Sep 2020 21:20:28 +0000 (22:20 +0100)]
Update README for how to setup IMAP tests
This details which packages needs to be installed on Ubuntun 18.04,
which configure flags are necessary and what the setup.sh shell script does.
Máté Kocsis [Sun, 20 Sep 2020 08:41:10 +0000 (10:41 +0200)]
Consolidate the usage of "either" and "one of" in error messages
Closes GH-6173
Christoph M. Becker [Sun, 20 Sep 2020 13:38:18 +0000 (15:38 +0200)]
Merge branch 'PHP-7.4' into master
* PHP-7.4:
Fix #80114: parse_url does not accept URLs with port 0
Christoph M. Becker [Sun, 20 Sep 2020 13:36:30 +0000 (15:36 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #80114: parse_url does not accept URLs with port 0
Christoph M. Becker [Sun, 20 Sep 2020 11:45:09 +0000 (13:45 +0200)]
Fix #80114: parse_url does not accept URLs with port 0
URIs with a 0 port are generally valid, so `parse_url()` should
recognize such URIs, but still report the port as missing.
Co-authored-by: twosee <twose@qq.com>
Closes GH-6152.
Nikita Popov [Sun, 20 Sep 2020 08:24:54 +0000 (10:24 +0200)]
Only check linking in PHP_TEST_BUILD
Given that this executes a random function with zero parameters,
actually executing the code doesn't make sense.
This should fix the imap + asan build.
Nikita Popov [Sun, 20 Sep 2020 08:03:10 +0000 (10:03 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix mysqli build with mysqlnd and without PDO
Nikita Popov [Sun, 20 Sep 2020 08:02:32 +0000 (10:02 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix mysqli build with mysqlnd and without PDO
Bob Weinand [Sun, 20 Sep 2020 00:57:39 +0000 (02:57 +0200)]
Fix mysqli build with mysqlnd and without PDO
Bob Weinand [Sun, 20 Sep 2020 00:57:39 +0000 (02:57 +0200)]
Fix mysqli build with mysqlnd and without PDO
Máté Kocsis [Sat, 19 Sep 2020 17:04:35 +0000 (19:04 +0200)]
Separate Closure::bind() implementations
Closure::bind() and Closure::bindTo() are currently reported as aliases in stubs because they have a single implementation. They are not aliases in fact though, they just use zend_parse_method_parameters() cleverly.
Thus, let's separate their implementation so that we don't have to alias Closure::bindTo() anymore. This will also have the advantage that the two ZPP implementations become more clear.
Closes GH-6169
Máté Kocsis [Sat, 19 Sep 2020 12:35:37 +0000 (14:35 +0200)]
Fix UNKNOWN default value of apache_note()
Closes GH-6167
Máté Kocsis [Sat, 19 Sep 2020 10:31:36 +0000 (12:31 +0200)]
Adjust the order of method modifiers in stub
All the other method modifiers in stubs follow the guidelines of PSR-12, so let's use it in case of PhpToken::__construct() as well.
Sammy Kaye Powers [Thu, 16 Jul 2020 23:31:10 +0000 (16:31 -0700)]
Add system ID entropy API
The `zend_system_id` is a (true global) system ID that fingerprints a process state. When extensions add engine hooks during MINIT/startup, entropy is added the system ID for each hook. This allows extensions to identify that changes have been made to the engine since the last PHP process restart.
Closes GH-5871
George Peter Banyard [Fri, 18 Sep 2020 13:34:37 +0000 (15:34 +0200)]
Fix IMAP tests
Drop various ZPP checks and make them PASS
Add CONFLICT file as the tests all hit the same mailbox
George Peter Banyard [Thu, 17 Sep 2020 15:22:01 +0000 (17:22 +0200)]
Set-up IMAP in Azure
Closes GH-6162
Nikita Popov [Thu, 17 Sep 2020 13:55:44 +0000 (15:55 +0200)]
Fix some tests for libmysql
Nikita Popov [Fri, 18 Sep 2020 13:49:35 +0000 (15:49 +0200)]
Drop skipifemb.inc
And drop the last remaining uses of it.
Nikita Popov [Fri, 18 Sep 2020 13:30:13 +0000 (15:30 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #78179: mysqli/mysqlnd transaction extensions
Nikita Popov [Fri, 18 Sep 2020 13:30:06 +0000 (15:30 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78179: mysqli/mysqlnd transaction extensions
Daniel Black [Tue, 21 Jul 2020 06:23:14 +0000 (16:23 +1000)]
Fix #78179: mysqli/mysqlnd transaction extensions
MariaDB versioning created a mess with regarding testing
features based on version. We sidestep the problem here
by assuming the extensions are present, and if a syntax
error occurs with a SQL mode TRANS_START_READ_WRITE |
TRANS_START_READ_ONLY enabled, then output the same
warning as before.
Nikita Popov [Fri, 18 Sep 2020 13:26:04 +0000 (15:26 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Support NO_BACKSLASH_ESCAPES with newer libmysqlclient
Nikita Popov [Fri, 18 Sep 2020 13:25:35 +0000 (15:25 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Support NO_BACKSLASH_ESCAPES with newer libmysqlclient
Nikita Popov [Fri, 18 Sep 2020 08:29:28 +0000 (10:29 +0200)]
Support NO_BACKSLASH_ESCAPES with newer libmysqlclient
Requires the use of mysql_real_escape_string_quote().
Dharman [Wed, 16 Sep 2020 13:20:03 +0000 (14:20 +0100)]
mysqli_set_charset now throws an mysqli_sql_exception when incorrect charset is provided
Closes GH-6142.
Nikita Popov [Fri, 18 Sep 2020 10:25:29 +0000 (12:25 +0200)]
Assert that all switch cases are covered
Nikita Popov [Fri, 18 Sep 2020 12:50:11 +0000 (14:50 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Use MyISAM engine for new test
Nikita Popov [Fri, 18 Sep 2020 12:50:02 +0000 (14:50 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Use MyISAM engine for new test
Nikita Popov [Fri, 18 Sep 2020 12:26:34 +0000 (14:26 +0200)]
Use MyISAM engine for new test
Travis on 7.3 is showing this error:
> The size of BLOB/TEXT data inserted in one transaction is greater
> than 10% of redo log size. Increase the redo log size using
> innodb_log_file_size.
Force MyISAM engine to avoid this.
Nikita Popov [Fri, 18 Sep 2020 12:28:32 +0000 (14:28 +0200)]
Run tidy
This should fix most of the remaining issues with tabs and spaces
being mixed in tests.
Nikita Popov [Fri, 18 Sep 2020 10:17:07 +0000 (12:17 +0200)]
Apply tidy to SKIPIF and CLEAN section as well
Nikita Popov [Fri, 18 Sep 2020 10:59:10 +0000 (12:59 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix bug #80107: Handling of large compressed packets
Bug #80107 Add test for mysqli_query() fails for ~16 MB long query when compression is enabled
Nikita Popov [Fri, 18 Sep 2020 10:56:11 +0000 (12:56 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix bug #80107: Handling of large compressed packets
Bug #80107 Add test for mysqli_query() fails for ~16 MB long query when compression is enabled
Nikita Popov [Wed, 16 Sep 2020 14:18:29 +0000 (16:18 +0200)]
Fix bug #80107: Handling of large compressed packets
There's two layers of packet splitting going on. First, packets
need to be split into having a payload of exactly 2^24-1 bytes or
being the last packet. If the split packet has size between 2^24-5
and 2^24-1 bytes, the compressed packets also needs to be split,
though the choice of split doesn't matter here. I'm splitting off
the first 8192 bytes, as that's what I observe libmysqlclient to be
doing.
Máté Kocsis [Tue, 15 Sep 2020 17:14:57 +0000 (19:14 +0200)]
Bug #80107 Add test for mysqli_query() fails for ~16 MB long query when compression is enabled
Dmitry Stogov [Fri, 18 Sep 2020 09:55:58 +0000 (12:55 +0300)]
Cleanup observer API and add JIT support
Máté Kocsis [Fri, 18 Sep 2020 08:31:48 +0000 (10:31 +0200)]
Fix UNKNOWN default values in ext/pdo_pgsql
Closes GH-6159
Máté Kocsis [Fri, 18 Sep 2020 08:43:21 +0000 (10:43 +0200)]
Update the default values of xmlwriter_write_dtd_entity()
Its default method handling had already been fixed not long ago, but only the stub of its method counterpart was updated.
Nikita Popov [Fri, 18 Sep 2020 09:02:51 +0000 (11:02 +0200)]
Remove support for EXT_NOP
This is an annoying edge case that regularly gets broken. As we're
not aware of significant users of this API, and there are other
ways to hook this, remove support for EXT_NOP.
Sammy Kaye Powers [Thu, 17 Sep 2020 21:47:36 +0000 (00:47 +0300)]
Remove specialization of SPEC(OBSERVER) handlers
Dmitry Stogov [Thu, 17 Sep 2020 20:19:28 +0000 (23:19 +0300)]
Support for ZEND_COMPILE_EXTENDED_STMT
Nikita Popov [Thu, 17 Sep 2020 16:55:15 +0000 (18:55 +0200)]
Remove vestiges of embedded mysql from tests
Dmitry Stogov [Thu, 17 Sep 2020 16:39:44 +0000 (19:39 +0300)]
Fixed incorrect live-range construction
Dmitry Stogov [Thu, 17 Sep 2020 15:36:45 +0000 (18:36 +0300)]
Fixed incorrect register allocation
Sara Golemon [Mon, 14 Sep 2020 20:45:39 +0000 (20:45 +0000)]
Use ephemeral ports during curl tests with dev server
Sara Golemon [Mon, 14 Sep 2020 20:08:39 +0000 (20:08 +0000)]
Support ephemeral ports in debug server
Sara Golemon [Tue, 15 Sep 2020 15:36:36 +0000 (15:36 +0000)]
Allow http tests to run in parallel by using ephemeral ports
Christoph M. Becker [Thu, 17 Sep 2020 14:22:21 +0000 (16:22 +0200)]
Merge branch 'PHP-7.4' into master
* PHP-7.4:
Fix bundled libpcre2 build regarding the `-fcf-protection` gcc flag
Christoph M. Becker [Thu, 17 Sep 2020 14:16:44 +0000 (16:16 +0200)]
Fix bundled libpcre2 build regarding the `-fcf-protection` gcc flag
Cf. <https://bugs.exim.org/show_bug.cgi?id=2578>.
Nikita Popov [Thu, 17 Sep 2020 14:05:33 +0000 (16:05 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix mysqli_release_savepoint() on mysqlnd
Nikita Popov [Thu, 17 Sep 2020 14:03:26 +0000 (16:03 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix mysqli_release_savepoint() on mysqlnd
Nikita Popov [Thu, 17 Sep 2020 13:59:09 +0000 (15:59 +0200)]
Fix mysqli_release_savepoint() on mysqlnd
mysqli_release_savepoint() was not actually releasing a savepoint...
Nikita Popov [Thu, 17 Sep 2020 12:49:25 +0000 (14:49 +0200)]
Fix some tests for libmysql
Nikita Popov [Thu, 17 Sep 2020 12:58:20 +0000 (14:58 +0200)]
Remove checks for old libmysqlclient versions in tests
Nikita Popov [Thu, 17 Sep 2020 12:23:25 +0000 (14:23 +0200)]
Fix warnings when building against libmysqlclient
At least for version 8.0 this is warning free now.
Christoph M. Becker [Thu, 17 Sep 2020 12:08:32 +0000 (14:08 +0200)]
Merge branch 'PHP-7.4' into master
* PHP-7.4:
Update to PCRE2 10.35
Christoph M. Becker [Thu, 17 Sep 2020 11:44:42 +0000 (13:44 +0200)]
Update to PCRE2 10.35
We also backport the fix for bug #79846, and add a test case for the
related bug #79363.
Nikita Popov [Thu, 17 Sep 2020 08:44:26 +0000 (10:44 +0200)]
Enable unixODBC in azure
This only checks that it builds though.
Closes GH-6150.
Nikita Popov [Thu, 17 Sep 2020 08:56:45 +0000 (10:56 +0200)]
Fix compilation warnings in odbc
SQLCHAR* cast all the things.
Christoph M. Becker [Thu, 17 Sep 2020 10:39:25 +0000 (12:39 +0200)]
Merge branch 'PHP-7.4' into master
* PHP-7.4:
Fix #80115: mysqlnd.debug doesn't recognize absolute paths with slashes
Christoph M. Becker [Thu, 17 Sep 2020 10:37:57 +0000 (12:37 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #80115: mysqlnd.debug doesn't recognize absolute paths with slashes
Christoph M. Becker [Thu, 17 Sep 2020 10:37:02 +0000 (12:37 +0200)]
Fix #80115: mysqlnd.debug doesn't recognize absolute paths with slashes
Nikita Popov [Thu, 17 Sep 2020 10:05:30 +0000 (12:05 +0200)]
Drop support for libmysqlclient < 5.5
Given how little maintenance the libmysqlclient driver sees, be
more aggressive in dropping old version support here.
Nikita Popov [Thu, 17 Sep 2020 09:40:14 +0000 (11:40 +0200)]
Add missing mysqlnd checks to stubs
Nikita Popov [Thu, 17 Sep 2020 09:35:03 +0000 (11:35 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
pdo_mysql/mysqli (native) libmysqlclient_r no-longer used
mysql: native mysql-8.0 uses _Bool
mysqli: use native api
Nikita Popov [Thu, 17 Sep 2020 09:32:01 +0000 (11:32 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
pdo_mysql/mysqli (native) libmysqlclient_r no-longer used
mysql: native mysql-8.0 uses _Bool
mysqli: use native api
Daniel Black [Sun, 13 Sep 2020 04:09:49 +0000 (14:09 +1000)]
pdo_mysql/mysqli (native) libmysqlclient_r no-longer used
The mysqlclient_r library exists in mysql-5.6 for compatibility only.
Later versions have it removed.
Daniel Black [Sat, 12 Sep 2020 05:29:23 +0000 (15:29 +1000)]
mysql: native mysql-8.0 uses _Bool
MySQL-8.0 removes option MYSQLI_OPT_SSL_VERIFY_SERVER_CERT
Daniel Black [Sat, 29 Aug 2020 07:18:57 +0000 (17:18 +1000)]
mysqli: use native api
Tested with:
* mysql-5.6.49-linux-glibc2.12-x86_64
* mysql-5.7.31-linux-glibc2.12-x86_64
* mysql-8.0.21-linux-glibc2.17-x86_64
* mariadb-10.5.6
configure --with-mysqli=/usr/local/$version/bin/mysql_config --with-pdo-mysql=/usr/local/$version
MySQL-8.0 removed my_bool
Some options where deprecated in mysql-8.0
MY_CHARSET_INFO used with exposed api mysql_get_character_set_info
rather than internal structures.
Máté Kocsis [Wed, 16 Sep 2020 20:33:23 +0000 (22:33 +0200)]
Fix a few UNKNOWN default values in ext/pgsql
Closes GH-6149
Dmitry Stogov [Thu, 17 Sep 2020 08:55:50 +0000 (11:55 +0300)]
Fixed memory leak in ext/spl/tests/bug77263.phpt
Nikita Popov [Thu, 17 Sep 2020 08:31:48 +0000 (10:31 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
ext/soap: Compare Set-Cookie header case-insensitively
Nikita Popov [Thu, 17 Sep 2020 08:31:30 +0000 (10:31 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
ext/soap: Compare Set-Cookie header case-insensitively
Gabríel Arthúr Pétursson [Wed, 16 Sep 2020 14:18:00 +0000 (14:18 +0000)]
ext/soap: Compare Set-Cookie header case-insensitively
Closes GH-6143.