]> granicus.if.org Git - php/log
php
4 years agoDeny serialization of finfo objects
Nikita Popov [Mon, 26 Oct 2020 15:54:30 +0000 (16:54 +0100)]
Deny serialization of finfo objects

The resulting objects were already unusable, make it error out
earlier.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Nikita Popov [Mon, 26 Oct 2020 15:51:53 +0000 (16:51 +0100)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Deny cloning of fileinfo objects

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 26 Oct 2020 15:50:48 +0000 (16:50 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Deny cloning of fileinfo objects

4 years agoDeny cloning of fileinfo objects
Nikita Popov [Mon, 26 Oct 2020 15:50:20 +0000 (16:50 +0100)]
Deny cloning of fileinfo objects

Using a cloned finfo object will crash.

4 years agoConsistent error handling in mysqli_poll
Dharman [Wed, 14 Oct 2020 22:17:48 +0000 (23:17 +0100)]
Consistent error handling in mysqli_poll

This error condition should not actually be reachable, but change
it to be consistent with the other ones.

Also fix a memory leak.

Closes GH-6340.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Mon, 26 Oct 2020 14:42:08 +0000 (15:42 +0100)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Revert "Fix out-of-bounds write"

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 26 Oct 2020 14:40:55 +0000 (15:40 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Revert "Fix out-of-bounds write"

4 years agoRevert "Fix out-of-bounds write"
Christoph M. Becker [Tue, 20 Oct 2020 15:09:20 +0000 (17:09 +0200)]
Revert "Fix out-of-bounds write"

This reverts commit bf6873a18e3b6b00f82a645c0893a281ae8eadb8.

CVE-2020-26159 is bogus; the "bug" was apparently a false positive
reported by Coverity, and the "fix" apparently wrong, see
<https://github.com/kkos/oniguruma/issues/221>.

Closes GH-6357.

4 years agoRe-enable laravel tests
Nikita Popov [Mon, 19 Oct 2020 14:45:44 +0000 (16:45 +0200)]
Re-enable laravel tests

Laravel is now sufficiently PHP 8 compatible.

Closes GH-6353.

4 years agoFixed incorrect register allocation in ext/gd/tests/imagecopyresampled_variation1...
Dmitry Stogov [Mon, 26 Oct 2020 12:56:37 +0000 (15:56 +0300)]
Fixed incorrect register allocation in ext/gd/tests/imagecopyresampled_variation1.phpt

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Mon, 26 Oct 2020 12:14:05 +0000 (13:14 +0100)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix #80268: loadHTML() truncates at NUL bytes

4 years agoDon't set xdebug.default_enable in run-tests
bashkarev [Mon, 12 Oct 2020 12:28:48 +0000 (15:28 +0300)]
Don't set xdebug.default_enable in run-tests

This throws a deprecation warning in XDebug 3.

Closes GH-6324.

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 26 Oct 2020 12:08:47 +0000 (13:08 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #80268: loadHTML() truncates at NUL bytes

4 years agoFix #80268: loadHTML() truncates at NUL bytes
Christoph M. Becker [Fri, 23 Oct 2020 09:06:30 +0000 (11:06 +0200)]
Fix #80268: loadHTML() truncates at NUL bytes

libxml2 has no particular issues parsing HTML strings with NUL bytes;
these just cause truncation of the current text content, but parsing
continues generally.  Since `::loadHTMLFile()` already supports NUL
bytes, `::loadHTML()` should as well.

Note that this is different from XML, which does not allow any NUL
bytes.

Closes GH-6368.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Nikita Popov [Mon, 26 Oct 2020 11:41:12 +0000 (12:41 +0100)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Declare may_retry_reparse_point on windows only

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 26 Oct 2020 11:40:56 +0000 (12:40 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Declare may_retry_reparse_point on windows only

4 years agoDeclare may_retry_reparse_point on windows only
Nikita Popov [Mon, 26 Oct 2020 11:40:27 +0000 (12:40 +0100)]
Declare may_retry_reparse_point on windows only

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Mon, 26 Oct 2020 10:55:10 +0000 (11:55 +0100)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix #62474: com_event_sink crashes on certain arguments

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 26 Oct 2020 10:54:33 +0000 (11:54 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #62474: com_event_sink crashes on certain arguments

4 years agoFix #62474: com_event_sink crashes on certain arguments
Christoph M. Becker [Thu, 22 Oct 2020 15:50:22 +0000 (17:50 +0200)]
Fix #62474: com_event_sink crashes on certain arguments

We have to make sure that the variant is of type `VT_DISPATCH` before
we access it as such.

Closes GH-6372.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Mon, 26 Oct 2020 10:22:16 +0000 (11:22 +0100)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix #80258: Windows Deduplication Enabled, randon permission errors

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 26 Oct 2020 10:21:35 +0000 (11:21 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #80258: Windows Deduplication Enabled, randon permission errors

4 years agoFix #80258: Windows Deduplication Enabled, randon permission errors
Christoph M. Becker [Mon, 19 Oct 2020 15:41:58 +0000 (17:41 +0200)]
Fix #80258: Windows Deduplication Enabled, randon permission errors

A recent bug fix regarding symlinks claimed:

> After resolving reparse points, the path still may be a reparse
> point; in that case we have to resolve that reparse point as well.

While that is basically correct, some reparse points may point to
inaccessible system folders (e.g. `IO_REPARSE_TAG_DEDUP` points to
"\System Volume Information").  Since we don't know details about
arbitrary reparse points, and are mainly interested in nested symlinks,
we take a step back, and only resolve `IO_REPARSE_TAG_SYMLINK` for now.

Close GH-6354.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Mon, 26 Oct 2020 10:05:48 +0000 (11:05 +0100)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix #80280: ADD_EXTENSION_DEP() fails for ext/standard and ext/date

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 26 Oct 2020 10:04:57 +0000 (11:04 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #80280: ADD_EXTENSION_DEP() fails for ext/standard and ext/date

4 years agoFix #80280: ADD_EXTENSION_DEP() fails for ext/standard and ext/date
Christoph M. Becker [Sat, 24 Oct 2020 14:08:02 +0000 (16:08 +0200)]
Fix #80280: ADD_EXTENSION_DEP() fails for ext/standard and ext/date

`ADD_EXTENSION_DEP()` relies on the `PHP_<extname>` config variables to
be set to `"yes"`, and since the standard and date extension are always
enabled, we define the respective variables uncoditionally.

Closes GH-6383.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Mon, 26 Oct 2020 09:59:46 +0000 (10:59 +0100)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix bug 76618
  Fix bug 76618

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 26 Oct 2020 09:58:26 +0000 (10:58 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix bug 76618

4 years agoUse separate directory in dit_004.phpt
Nikita Popov [Mon, 26 Oct 2020 08:25:38 +0000 (09:25 +0100)]
Use separate directory in dit_004.phpt

Make sure the directory is not modified while we're iterating it,
which may give unstable results.

4 years agoFix parameter stats generation
Nikita Popov [Mon, 26 Oct 2020 08:05:25 +0000 (09:05 +0100)]
Fix parameter stats generation

[ci skip]

4 years agoDocument breaking change in strspn/strcspn
Thiemo Kreuz [Sat, 24 Oct 2020 10:26:27 +0000 (12:26 +0200)]
Document breaking change in strspn/strcspn

See https://phabricator.wikimedia.org/T264502.

[ci skip]

4 years agoRevert "Make ReflectionUnionType final"
Nikita Popov [Mon, 26 Oct 2020 07:51:06 +0000 (08:51 +0100)]
Revert "Make ReflectionUnionType final"

This reverts commit ef6adb4e27853eb19bf50bad6486311920d6af7b.

Per Ondrej's comment, this is already being used by BetterReflection
adaptors, ugh.

4 years agoMake ReflectionUnionType final
Máté Kocsis [Sun, 25 Oct 2020 18:20:03 +0000 (19:20 +0100)]
Make ReflectionUnionType final

Closes GH-6384

4 years ago[ci skip] Fix typos in UPGRADING
Christoph M. Becker [Sun, 25 Oct 2020 15:27:20 +0000 (16:27 +0100)]
[ci skip] Fix typos in UPGRADING

4 years agoDefine config var PHP_JSON
Christoph M. Becker [Sat, 24 Oct 2020 13:31:10 +0000 (15:31 +0200)]
Define config var PHP_JSON

Otherwise, `ADD_EXTENSION_DEP('foo', 'json')` fails, even though the
JSON extension is available.

4 years agoThrow Value/TypeError for invalid $bodies in imap_mail_compose()
George Peter Banyard [Thu, 22 Oct 2020 14:23:35 +0000 (15:23 +0100)]
Throw Value/TypeError for invalid $bodies in imap_mail_compose()

Small drive by refactoring to use HashTables

Closes GH-6371

4 years agoRequire stubs to declare return types for magic methods when possible
Máté Kocsis [Fri, 23 Oct 2020 12:09:23 +0000 (14:09 +0200)]
Require stubs to declare return types for magic methods when possible

Closes GH-6376

4 years agoMake GC default threshold handling consistent
Nikita Popov [Fri, 23 Oct 2020 08:30:07 +0000 (10:30 +0200)]
Make GC default threshold handling consistent

While the initial threshold is set to 10001 roots, the threshold
adjustment logic may then set it to 10000. The exact value really
doesn't matter, but we should make it consistent.

4 years agoDon't allow passing unknown named params to class without ctor
Nikita Popov [Wed, 21 Oct 2020 09:55:03 +0000 (11:55 +0200)]
Don't allow passing unknown named params to class without ctor

See also https://externals.io/message/112083.

Closes GH-6364.

4 years agoFixed some typos
Javier Eguiluz [Thu, 22 Oct 2020 17:46:24 +0000 (19:46 +0200)]
Fixed some typos

Closes GH-6373.

[ci skip]

4 years agoFixed register allocation
Dmitry Stogov [Thu, 22 Oct 2020 20:16:41 +0000 (23:16 +0300)]
Fixed register allocation

4 years agoFixed reference-counter inference
Dmitry Stogov [Thu, 22 Oct 2020 20:15:39 +0000 (23:15 +0300)]
Fixed reference-counter inference

4 years agoMissed warning
Dmitry Stogov [Thu, 22 Oct 2020 20:15:15 +0000 (23:15 +0300)]
Missed warning

4 years agoRun arginfo/ZPP verification tests in strict mode as well
Máté Kocsis [Thu, 22 Oct 2020 10:48:12 +0000 (12:48 +0200)]
Run arginfo/ZPP verification tests in strict mode as well

Closes GH-6370

4 years agoFix bug 76618
George Peter Banyard [Thu, 22 Oct 2020 16:01:48 +0000 (17:01 +0100)]
Fix bug 76618

Apply patch which was attached to the bug in July 2018

4 years agoFix bug 76618
George Peter Banyard [Thu, 22 Oct 2020 16:01:48 +0000 (17:01 +0100)]
Fix bug 76618

Apply patch which was attached to the bug in July 2018

4 years agoFix bug 76618
George Peter Banyard [Thu, 22 Oct 2020 16:01:48 +0000 (17:01 +0100)]
Fix bug 76618

Apply patch which was attached to the bug in July 2018

4 years agoChecj type guards before loading values into CPU registers
Dmitry Stogov [Thu, 22 Oct 2020 15:23:49 +0000 (18:23 +0300)]
Checj type guards before loading values into CPU registers

4 years agoAvoid register allocation for ASSIGN into aliased variable (it might be indirectly...
Dmitry Stogov [Thu, 22 Oct 2020 15:22:36 +0000 (18:22 +0300)]
Avoid register allocation for ASSIGN into aliased variable (it might be indirectly changed into IS_REFERENCE)

4 years agoFix segfaults after conversion from zval to zend_string params
George Peter Banyard [Thu, 22 Oct 2020 14:21:57 +0000 (15:21 +0100)]
Fix segfaults after conversion from zval to zend_string params

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Nikita Popov [Thu, 22 Oct 2020 14:05:57 +0000 (16:05 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Don't crash on uninitialized tidy object

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 22 Oct 2020 14:05:34 +0000 (16:05 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Don't crash on uninitialized tidy object

4 years agoDon't crash on uninitialized tidy object
Nikita Popov [Thu, 22 Oct 2020 14:04:22 +0000 (16:04 +0200)]
Don't crash on uninitialized tidy object

"Uninitialized" here means that the object was created ordinarily
-- no constructor skipping involved. Most tidy methods seem to
handle this fine, but these three need to be guarded.

4 years agoProperly validate ArrayObject::asort() argument
Nikita Popov [Thu, 22 Oct 2020 13:19:47 +0000 (15:19 +0200)]
Properly validate ArrayObject::asort() argument

4 years agoFix parameter name of pspell_config_save_repl()
Máté Kocsis [Thu, 22 Oct 2020 09:44:19 +0000 (11:44 +0200)]
Fix parameter name of pspell_config_save_repl()

Closes GH-6369.

4 years agoFix stub for dba_key_split()
Nikita Popov [Thu, 22 Oct 2020 12:49:48 +0000 (14:49 +0200)]
Fix stub for dba_key_split()

This is an extremely weird function, but the behavior seems to be
intentional, and is quite clearly documented.

So we adjust the stub to also accept false|null as arguments. I
believe the implementation already correctly matches union type
semantics.

4 years agoMake highlight_string() accept string in zpp
Nikita Popov [Thu, 22 Oct 2020 12:31:23 +0000 (14:31 +0200)]
Make highlight_string() accept string in zpp

To satisfy the type declaration.

4 years agoDon't leak pcntl last_error across requests
Nikita Popov [Thu, 22 Oct 2020 12:18:45 +0000 (14:18 +0200)]
Don't leak pcntl last_error across requests

4 years agoDon't leak json error_code across requests
Nikita Popov [Thu, 22 Oct 2020 10:41:52 +0000 (12:41 +0200)]
Don't leak json error_code across requests

4 years agoDon't leak pcre error_code across requests
Nikita Popov [Thu, 22 Oct 2020 09:01:59 +0000 (11:01 +0200)]
Don't leak pcre error_code across requests

4 years agoUpdated to version 2020.4 (2020d)
Derick Rethans [Thu, 22 Oct 2020 09:12:27 +0000 (10:12 +0100)]
Updated to version 2020.4 (2020d)

4 years agoEmpty merge
Derick Rethans [Thu, 22 Oct 2020 09:12:27 +0000 (10:12 +0100)]
Empty merge

4 years agoUpdated to version 2020.4 (2020d)
Derick Rethans [Thu, 22 Oct 2020 09:12:26 +0000 (10:12 +0100)]
Updated to version 2020.4 (2020d)

4 years agoEmpty merge
Derick Rethans [Thu, 22 Oct 2020 09:12:25 +0000 (10:12 +0100)]
Empty merge

4 years agoUpdated to version 2020.4 (2020d)
Derick Rethans [Thu, 22 Oct 2020 09:12:24 +0000 (10:12 +0100)]
Updated to version 2020.4 (2020d)

4 years agoDon't allow properties on GdImage
Nikita Popov [Thu, 22 Oct 2020 08:34:14 +0000 (10:34 +0200)]
Don't allow properties on GdImage

Just like all the other former resources... we missed this case.

4 years agoSimplify and fix generator tree management
Nikita Popov [Thu, 15 Oct 2020 14:42:59 +0000 (16:42 +0200)]
Simplify and fix generator tree management

This makes a number of related changes to the generator tree
management, that should hopefully make it easier to understand,
more robust and faster for the common linear-chain case. Fixes
https://bugs.php.net/bug.php?id=80240, which was the original
motivation here.

 * Generators now only add a ref to their direct parent.
 * Nodes only store their children, not their leafs, which avoids
   any need for leaf updating. This means it's no longer possible
   to fetch the child for a certain leaf, which is something we
   only needed in one place (update_current). If multi-children
   nodes are involved, this will require doing a walk in the other
   direction (from leaf to root). It does not affect the common
   case of single-child nodes.
 * The root/leaf pointers are now seen as a pair. One leaf generator
   can point to the current root. If a different leaf generator is
   used, we'll move the root pointer over to that one. Again, this
   is a cache to make the common linear chain case fast, trees may
   need to scan up the parent link.

Closes GH-6344.

4 years agoUpdate bcmath.scale when calling bcscale()
Nikita Popov [Wed, 21 Oct 2020 15:03:54 +0000 (17:03 +0200)]
Update bcmath.scale when calling bcscale()

We should keep the value of bcmath.scale and the internal
bc_precision global synchronized.

Probably more important than the ability to retrieve bcmath.scale
via ini_get(), this also makes sure that the set scale does not
leak into the next request, as it currently does.

4 years agoMore accurate live range construction
Dmitry Stogov [Wed, 21 Oct 2020 13:05:13 +0000 (16:05 +0300)]
More accurate live range construction

4 years agoEliminate useless mov(s)
Dmitry Stogov [Wed, 21 Oct 2020 13:03:28 +0000 (16:03 +0300)]
Eliminate useless mov(s)

4 years agoAdd test for zend_extension loading
Nikita Popov [Wed, 21 Oct 2020 08:34:34 +0000 (10:34 +0200)]
Add test for zend_extension loading

Closes GH-6363.

4 years agoFix invalid memory read on libpath
twosee [Wed, 21 Oct 2020 05:17:16 +0000 (13:17 +0800)]
Fix invalid memory read on libpath

Introduced in 3e33e1e86d15e262cd9e0224a9604e252f5d9284.

Closes GH-6362.

4 years agoEliminate dead type store
Dmitry Stogov [Tue, 20 Oct 2020 20:37:19 +0000 (23:37 +0300)]
Eliminate dead type store

4 years agoImprove JIT for fetching character form string
Dmitry Stogov [Tue, 20 Oct 2020 17:29:33 +0000 (20:29 +0300)]
Improve JIT for fetching character form string

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Tue, 20 Oct 2020 17:01:56 +0000 (19:01 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix #80242: imap_mail_compose() segfaults for multipart with rfc822

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 20 Oct 2020 17:00:04 +0000 (19:00 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #80242: imap_mail_compose() segfaults for multipart with rfc822

4 years agoFix #80242: imap_mail_compose() segfaults for multipart with rfc822
Christoph M. Becker [Tue, 20 Oct 2020 14:38:16 +0000 (16:38 +0200)]
Fix #80242: imap_mail_compose() segfaults for multipart with rfc822

libc-client expects `TYPEMESSAGE` with an explicit subtype of `RFC822`
to have a `nested.msg` (otherwise there will be a segfault during
free), but not to have any `contents.text.data` (this will leak
otherwise).

Closes GH-6345.

4 years agoFix default value handling of mysqli_fetch_object()
Máté Kocsis [Tue, 13 Oct 2020 22:12:51 +0000 (00:12 +0200)]
Fix default value handling of mysqli_fetch_object()

Make [] acceptable both for classes without constructors and
classes with a constructor that takes no arguments.

Closes GH-6336.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Tue, 20 Oct 2020 14:33:56 +0000 (16:33 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Add char* cast to avoid compiler warnings

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 20 Oct 2020 14:31:25 +0000 (16:31 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Add char* cast to avoid compiler warnings

4 years agoAdd char* cast to avoid compiler warnings
Christoph M. Becker [Tue, 20 Oct 2020 14:25:00 +0000 (16:25 +0200)]
Add char* cast to avoid compiler warnings

In libc-client 2007f `data` is declared as `unsigned char *`; there may
be variants which declare it as `void *`, but in any case picky
compilers may warn about a pointer type mismatch in the conditional
(and error with `-W-error`), so we're adding a `char *` cast for good
measure.

4 years agoFixed bug #80256
Nikita Popov [Tue, 20 Oct 2020 13:32:01 +0000 (15:32 +0200)]
Fixed bug #80256

Remove the transfer_encoding stream filter immediately when we
destroy the old stream, to make sure it doesn't get attached to
the new stream.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Tue, 20 Oct 2020 11:36:17 +0000 (13:36 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Properly fix #80220

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 20 Oct 2020 11:34:27 +0000 (13:34 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Properly fix #80220

4 years agoProperly fix #80220
Christoph M. Becker [Fri, 16 Oct 2020 09:58:50 +0000 (11:58 +0200)]
Properly fix #80220

The original fix for that bug[1] broke the formerly working composition
of message/rfc822 messages, which results in a segfault when freeing
the message body now.  While `imap_mail_compose()` does not really
support composition of meaningful message/rfc822 messages (although
libc-client appears to support that), some code may still use this to
compose partial messages, and using string manipulation to create the
final message.

The point is that libc-client expects `TYPEMESSAGE` with an explicit
subtype of `RFC822` to have a `nested.msg` (otherwise there will be a
segfault during free), but not to have any `contents.text.data` (this
will leak otherwise).

[1] <http://git.php.net/?p=php-src.git;a=commit;h=0d022ddf03c5fabaaa22e486d1e4a367ed9170a7>

Closes GH-6343.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Nikita Popov [Tue, 20 Oct 2020 10:51:08 +0000 (12:51 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix bug #79643: Invalid memory read when opcache.interned_strings_buffer is 0

4 years agoFix bug #79643: Invalid memory read when opcache.interned_strings_buffer is 0
twosee [Tue, 9 Jun 2020 06:55:36 +0000 (14:55 +0800)]
Fix bug #79643: Invalid memory read when opcache.interned_strings_buffer is 0

4 years agoImprove register allocator (register reuse)
Dmitry Stogov [Tue, 20 Oct 2020 10:46:32 +0000 (13:46 +0300)]
Improve register allocator (register reuse)

4 years agoImprove register allocator (give preference to loop variables).
Dmitry Stogov [Tue, 20 Oct 2020 09:19:44 +0000 (12:19 +0300)]
Improve register allocator (give preference to loop variables).

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Nikita Popov [Tue, 20 Oct 2020 08:52:50 +0000 (10:52 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix CCM tag length setting for old OpenSSL versions

4 years agoFix CCM tag length setting for old OpenSSL versions
Nikita Popov [Tue, 20 Oct 2020 08:50:50 +0000 (10:50 +0200)]
Fix CCM tag length setting for old OpenSSL versions

While OpenSSL 1.1 allows unconditionally setting the CCM tag length
even for decryption, some older versions apparently do not. As such,
we do need to treat CCM and OCB separately after all.

4 years agoIncrease timeout on file cache job
Nikita Popov [Tue, 20 Oct 2020 07:53:50 +0000 (09:53 +0200)]
Increase timeout on file cache job

[ci skip]

4 years agoFixed range propagation
Dmitry Stogov [Mon, 19 Oct 2020 23:27:24 +0000 (02:27 +0300)]
Fixed range propagation

4 years agoAvoid partial register stall
Dmitry Stogov [Mon, 19 Oct 2020 20:22:43 +0000 (23:22 +0300)]
Avoid partial register stall

4 years agoUse zero-extended mov insted of sign-signed movsxd
Dmitry Stogov [Mon, 19 Oct 2020 16:39:51 +0000 (19:39 +0300)]
Use zero-extended mov insted of sign-signed movsxd

4 years agoFixed bug #80255
Nikita Popov [Mon, 19 Oct 2020 13:13:40 +0000 (15:13 +0200)]
Fixed bug #80255

This was a copy&paste mistake, target_block was used where
follow_block was intended. Also update copy&paste mistakes in
the comments.

4 years agoRevert "Fix bug #64865: Use CONTEXT_DOCUMENT_ROOT for scanning dir tree"
Nikita Popov [Mon, 19 Oct 2020 09:22:32 +0000 (11:22 +0200)]
Revert "Fix bug #64865: Use CONTEXT_DOCUMENT_ROOT for scanning dir tree"

This reverts commit 98bfad738ad2734dfba5733323f7ba733daf3ec3.

This doesn't work well in some setups, see bug #80113 and GH-5051.
Reverting this for now.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Nikita Popov [Mon, 19 Oct 2020 09:09:17 +0000 (11:09 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix bug #79983: Add support for OCB mode

4 years agoFix bug #79983: Add support for OCB mode
Nikita Popov [Wed, 14 Oct 2020 11:03:03 +0000 (13:03 +0200)]
Fix bug #79983: Add support for OCB mode

OCB mode ciphers were already exposed to openssl_encrypt/decrypt,
but misbehaved, because they were not treated as AEAD ciphers.
From that perspective, OCB should be treated the same way as GCM.
In OpenSSL 1.1 the necessary controls were unified under
EVP_CTRL_AEAD_* (and OCB is only supported since OpenSSL 1.1).

Closes GH-6337.

4 years agoDisable Laravel testing
Nikita Popov [Mon, 19 Oct 2020 08:43:43 +0000 (10:43 +0200)]
Disable Laravel testing

This has been failing for months now, let's make the scheduled
build status meaningful again.

[ci skip]