| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
RFC: https://wiki.php.net/rfc/enumerations
Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
Closes GH-6489.
|
|
|
|
| |
Closes GH-6784
|
|
|
|
|
| |
This allows to eliminate re-calculation of string lenght and hash value.
See the detailed list of changes in UPGRADING.INTERNALS.
|
|
|
|
|
|
|
| |
This reverts commit c386b1fb177ec0dccc840cbec801e69609ced5c3.
It looks like at least some of these might be needed for ordering
in a clean build?
|
|
|
|
| |
These are now automatically tracked by the build system.
|
|\
| |
| |
| |
| | |
* PHP-8.0:
Fix #80838: HTTP wrapper waits for HTTP 1 response after HTTP 101
|
| |\
| | |
| | |
| | |
| | | |
* PHP-7.4:
Fix #80838: HTTP wrapper waits for HTTP 1 response after HTTP 101
|
| | |
| | |
| | |
| | |
| | |
| | | |
Don't wait for further responses after a HTTP 101 (Switching Protocols) response
Closes GH-6730.
|
| | |
| | |
| | |
| | | |
Closes GH-6750.
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix test wrt. server.inc changes
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix #78719: http wrapper silently ignores long Location headers
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.4:
Fix #78719: http wrapper silently ignores long Location headers
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When opening HTTP streams, and reading the headers, we currently
discard header lines longer than `HTTP_HEADER_BLOCK_SIZE` (1024 bytes).
While this is not generally forbidden by RFC 7230, section 3.2.5, it
is not generally allowed either, since that may change the "message
framing or response semantics".
We thus fix this by allowing arbitrarily long header lines.
Closes GH-6720.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix #80751: Comma in recipient name breaks email delivery
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.4:
Fix #80751: Comma in recipient name breaks email delivery
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
So far, `SendText()` simply separates potential email address lists at
any comma, disregarding that commas inside a quoted-string do not
delimit addresses. We fix that by introducing an own variant of
`strtok_r()` which caters to quoted-strings.
We also make `FormatEmailAddress()` aware of quoted strings.
We do not cater to email address comments, and potentially other quirks
of RFC 5322 email addresses, but catering to quoted-strings is supposed
to solve almost all practical use cases.
Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
Closes GH-6735.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Because of the memcpy, compilers can't infer that ZSTR_LEN (i.e. class_name->len)
did not change, so they copy it out of memory into a register for the last two
accesses.
php_var_serialize_string already does something similar.
Closes GH-6734
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
etc.
Now properties are ordered according to their layout in zend_object structure.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
This is barely used and more of a hinderence than anything else
Closes GH-6712
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
crc32 module, clang spurious warning removal.
|
| | |
| | |
| | |
| | | |
Closes GH-6725.
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix #75776: Flushing streams with compression filter is broken
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.4:
Fix #75776: Flushing streams with compression filter is broken
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
First, the `bzip2.compress` filter has the same issue as `zlib.deflate`
so we port the respective fix[1] to ext/bz2.
Second, there is still an issue, if a stream with an attached
compression filter is flushed before it is closed, without any writes
in between. In that case, the compression is never finalized. We fix
this by enforcing a `_php_stream_flush()` with the `closing` flag set
in `_php_stream_free()`, whenever a write filter is attached. This
call is superfluous for most write filters, but does not hurt, even
when it is unnecessary.
[1] <http://git.php.net/?p=php-src.git;a=commit;h=20e75329f2adb11dd231852c061926d0e4080929>
Closes GH-6703.
|
| | |
| | |
| | |
| | |
| | |
| | | |
xsl, zip, Zend
Closes GH-6706
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix #80771: phpinfo(INFO_CREDITS) displays nothing in CLI
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.4:
Fix #80771: phpinfo(INFO_CREDITS) displays nothing in CLI
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There is no good reason not to show the credits in text based SAPIs,
except for brevity. Thus, we suppress the credits from `php -i`.
Closes GH-6710.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 61cf1355fd53b6556f0502510ba3e1efbd04d242.
Class name validation is only performed if key is not passed. Here, lc_name is passed as key.
|
| | | |
|
| | |
| | |
| | |
| | | |
ext\standard\tests\file\basename_bug66395_variation2-win32.phpt and ext\standard\tests\file\pathinfo_basic1-win32.phpt
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The UNDEF marker here is important to prevent the creation of
a reference to the property currently being overwritten, which
would then leak.
This fixes oss-fuzz 6029559193534464, which was incorrectly
merged into oss-fuzz #30584 (which is reported at
https://github.com/google/oss-fuzz/issues/5211).
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Avoid signed integer overflow in substr()
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Perform negation after the (size_t) cast rather than before,
so as to avoid a signed integer overflow for PHP_INT_MIN.
Fixes oss-fuzz #31069.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This restores the previous behavior for this case. We'll continue
to use the mangled name, even if it does not correspond to a
declared property.
This also fixes an assertion failure for the case of property
overwrite, as the add_new was not guaranteed to be "new" previously.
Fixes oss-fuzz #31045.
|
| | |
| | |
| | |
| | | |
and perform it only before autoloading.
|
| | |
| | |
| | |
| | | |
change" were moved, to be performed only if name/visibility had been really changed.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This deprecates passing null to non-nullable scale arguments of
internal functions, with the eventual goal of making the behavior
consistent with userland functions, where null is never accepted
for non-nullable arguments.
This change is expected to cause quite a lot of fallout. In most
cases, calling code should be adjusted to avoid passing null. In
some cases, PHP should be adjusted to make some function arguments
nullable. I have already fixed a number of functions before landing
this, but feel free to file a bug if you encounter a function that
doesn't accept null, but probably should. (The rule of thumb for
this to be applicable is that the function must have special behavior
for 0 or "", which is distinct from the natural behavior of the
parameter.)
RFC: https://wiki.php.net/rfc/deprecate_null_to_scalar_internal_arg
Closes GH-6475.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fixed bug #80718
|
| | | |
|