summaryrefslogtreecommitdiff
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-05-222-1/+21
|\ | | | | | | | | * PHP-7.3: Fix #79615: Wrong GIF header written in GD GIFEncode
| * Fix #79615: Wrong GIF header written in GD GIFEncodeChristoph M. Becker2020-05-222-1/+21
| | | | | | | | | | | | | | | | The color resolution is expected in bits 4-6 of the packed fields byte of the logical screen descriptor (byte 10 of the GIF data stream), according to the specification[1], section 18. [1] <https://www.w3.org/Graphics/GIF/spec-gif89a.txt>
* | Fix static property indirections in file cacheNikita Popov2020-05-201-18/+15
| | | | | | | | | | | | If the class is already linked, we need to serialize and unserialize INDIRECTed static properties. Normally these would be set up when copying from cache.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-05-152-2/+32
|\ \ | |/ | | | | | | * PHP-7.3: Fix #79596: MySQL FLOAT truncates to int some locales
| * Fix #79596: MySQL FLOAT truncates to int some localesChristoph M. Becker2020-05-152-2/+32
| | | | | | | | | | We must not do locale aware float to string conversion here; instead we using our `snprintf()` implementation with the `F` specifier.
* | Canonicalize bison error during ini parsingNikita Popov2020-05-141-1/+1
| | | | | | | | | | Bison 3.6 seems to use "end of file" rather than "$end" for this. Force the same on older bison versions to be consistent.
* | Properly detect CRC32 APIs on aarch64 from configureOndřej Surý2020-05-141-2/+2
| | | | | | | | | | | | | | The CRC32 APIs are optional for armv8-a. They became mandatory since armv8.1-a. Closes GH-5564.
* | Fix brittle shmop testChristoph M. Becker2020-05-131-9/+6
| | | | | | | | | | | | | | | | | | | | To solve bug #70886, the test uses random keys to prevent collisions; however, this is not guaranteed, and as such it may even collide with other tests in the shmop test suite. The proper solution would be to use a single key (which could be randomly generated), but to actually `shmop_close()` after each `shmop_delete()`. This would, however, not work on Windows due to bug #65987. Therefore we use three different keys for now.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-05-121-5/+5
|\ \ | |/ | | | | | | * PHP-7.3: Fix #79588: Boolean opcache settings ignore on/off values
| * Fix #79588: Boolean opcache settings ignore on/off valuesChristoph M. Becker2020-05-121-5/+5
| | | | | | | | We should display boolean INI settings as boolean.
* | Skip test on big-endian architecturesChristoph M. Becker2020-05-121-0/+3
| | | | | | | | | | Due to the memory layout on BE architectures, the address would be `0x2a00000000` instead of `0x2a` on little-endian architectures.
* | Fix #79571: FFI: var_dumping unions may segfaultChristoph M. Becker2020-05-112-12/+43
| | | | | | | | | | | | | | We must not attempt to access arbitrary union members when retrieving debug info, because that may not be valid. Therefore we do no longer dereference pointer types inside of unions, but report their address as string in `%p` format instead.
* | Don't check directory atime in lstat_stat_variation10.phpt testAlex Dowad2020-05-111-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a funny one. I discovered that lstat_stat_variation10.phpt was failing every now and again when the PHP test suite was run on my dev PC. The output from the failing test showed that the atime (access time) of the directory created in the test was changing between these lines: $old_stat = stat($dirname); clearstatcache(); sleep(1); var_dump( is_dir($dirname) ); $new_stat = stat($dirname); Could is_dir() be accessing the directory and changing the atime? strace showed that is_dir was only issuing a single stat() syscall. Could stat() change the atime? No, no, that would just be perverse. Nobody would be stupid enough to implement the kernel in that way. Checked the kernel source, found that the function called when atime needs to be updated appears to be touch_atime(). Broke out the BCC kernel tracing tools and ran this one while running the flaky test case in a loop: sudo trace -I<kernel src dir>/include/linux/path.h -I<same>/include/linux/dcache.h 'touch_atime(struct path *path) "%s", path->dentry->d_name.name' Inspecting the results showed that something called "git_thread" was occcasionally updating the atime on the directory in question!! What on earth...??? The PID shown by trace revealed that this was a background thread for Sublime Text 3. Sublime now has git integration and shows when there are untracked or modified files. It seems that it uses a background thread to regularly scan the project directory and look for new and modified files. This was causing the atime to change. Even though other developers may not be running ST3, there are any number of reasons why a background process might recurse through various directories and could cause the atime to change unexpectedly. Therefore, update the test case so it doesn't fail in such cases. Closes GH-5553.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-05-051-0/+23
|\ \ | |/ | | | | | | * PHP-7.3: Fix #79566: Private SHM is not private on Windows
| * Fix #79566: Private SHM is not private on WindowsChristoph M. Becker2020-05-051-0/+23
| | | | | | | | | | | | | | We map the POSIX semantics of `IPC_PRIVATE` by creating unnamed file mapping objects on Windows. While that is not particularly useful for ext/shmop, which is the only bundled extension which uses `shmget()`, it may be useful for external extensions.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-05-042-1/+19
|\ \ | |/ | | | | | | * PHP-7.3: Fix #79561: dns_get_record() fails with DNS_ALL
| * Fix #79561: dns_get_record() fails with DNS_ALLChristoph M. Becker2020-05-042-1/+19
| | | | | | | | | | Since Windows has its own definitions of the `PHP_DNS_*` macros, we have to use these when registering the PHP constants.
* | Fixed bug #79548Nikita Popov2020-05-042-0/+27
| | | | | | | | | | When duplicating user functions with static variables, make sure that we init a new map ptr slot for the static variables.
* | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2020-05-042-0/+16
|\ \ | |/ | | | | | | * PHP-7.3: Fixed bug #79535
| * Fixed bug #79535Nikita Popov2020-05-042-4/+20
| | | | | | | | | | We did not allocate a cache slot for FETCH_CLASS. This is already fixed on newer PHP versions.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-05-041-0/+21
|\ \ | |/ | | | | | | * PHP-7.3: Add basic sapi_windows_cp_conv() test
| * Add basic sapi_windows_cp_conv() testChristoph M. Becker2020-05-041-0/+21
| | | | | | | | This function is lacking any tests so far.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-05-015-108/+7
|\ \ | |/ | | | | | | * PHP-7.3: Fix #79528: Different object of the same xml between 7.4.5 and 7.4.4
| * Fix #79528: Different object of the same xml between 7.4.5 and 7.4.4Christoph M. Becker2020-05-015-108/+7
| | | | | | | | | | | | Revert "Fix #61597: SXE properties may lack attributes and content" This reverts commit 7c081db885756d7b176a55b90b8746f664d1e042.
| * Updated to version 2020.1 (2020a)Derick Rethans2020-04-241-792/+830
| |
| * Add additional preg_match test caseGraham Campbell2020-04-231-0/+35
| | | | | | | | | | (cherry picked from commit a1a044dcc74379fafb2b63db5ab033aa062aada7 on author's explicit request)
* | Merge branch 'PHP-7.4' of git.php.net:/php-src into PHP-7.4Xinchen Hui2020-04-296-0/+50
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'PHP-7.4' of git.php.net:/php-src: Fix #79532: sizeof off_t can be wrong Make 045.phpt busy wait Revert "Fix #79065: DOM classes do not expose properties to Reflection" Bump version Fix #79065: DOM classes do not expose properties to Reflection Fix #79470: PHP incompatible with 3rd party file system on demand
| * | Fix #79532: sizeof off_t can be wrongChristoph M. Becker2020-04-296-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | We have to actually determine the proper `SIZEOF_OFF_T`. Interestingly, it is `4` on Windows x64. We also have to prevent the redefinition in pg_config.h. The clean solution would likely be to not include pg_config.h at all, but that's out of scope for BC reasons for now.
| * | Revert "Fix #79065: DOM classes do not expose properties to Reflection"Nikita Popov2020-04-282-53/+0
| | | | | | | | | | | | | | | | | | This reverts commit 6bc8f7e5a9949b2ba79376abd1ed13d0b4d0ae3c. This causes an assertion failure in PHPUnit.
| * | Fix #79065: DOM classes do not expose properties to ReflectionChristoph M. Becker2020-04-272-0/+53
| | | | | | | | | | | | | | | We add a `get_properties` handler which complements the already existing `has_property` and `read_property`handlers.
* | | Fixed bug #79536 (zend_clear_exception prevent exception's destructor to be ↵Xinchen Hui2020-04-291-0/+63
|/ / | | | | | | called).
* | Updated to version 2020.1 (2020a)Derick Rethans2020-04-241-792/+830
| |
* | Fix bug #79447Nicolas Grekas2020-04-232-28/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partially reverts 846b6479537a112d1ded725e6484e46462048b35: instead of throwing, this skips uninitialized typed properties when serializing objects. This makes serialize with __sleep() behave the same as serialize() without __sleep(). As in the non-__sleep() case, unserialize(serialize($x)) identity may not be preserved due to replacement of uninitialized/unset properties with default values. Fixing this will require changes to the serialization format. Closes GH-5396.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-04-223-0/+24
|\ \ | |/ | | | | | | * PHP-7.3: Fix #79503: Memory leak on duplicate metadata
| * Fix #79503: Memory leak on duplicate metadataChristoph M. Becker2020-04-223-0/+24
| | | | | | | | | | Duplicate metadata can only happen if someone tampers with the phar, so we can and should treat that as error.
* | Add additional preg_match test caseGraham Campbell2020-04-221-0/+35
| |
* | Upgrade to PCRE2 10.34Christoph M. Becker2020-04-2238-4628/+7351
| | | | | | | | We backport the slightly modified variant from master.
* | Don't rand() in testNikita Popov2020-04-201-8/+10
| | | | | | | | Instead use port 0 to get a free port from the OS.
* | Fix file name clash in touch_variation1.phptNikita Popov2020-04-201-2/+1
| |
* | Fix bug #67369 ArrayObject serializatino drops the iterator classAlex Dowad2020-04-207-14/+88
| | | | | | | | | | | | When ArrayObject is round-tripped through serialize() and unserialize(), it forgets any iterator class name which was set using ::setIteratorClass(). Fix that.
* | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2020-04-201-2/+2
|\ \ | |/ | | | | | | * PHP-7.3: Fix #79497: Fix php_openssl_subtract_timeval()
| * Fix #79497: Fix php_openssl_subtract_timeval()Joe Cai2020-04-201-2/+2
| | | | | | | | | | | | | | | | | | I stumbled upon this while debugging a strange issue with stream_socket_client() where it randomly throws out errors when the connection timeout is set to below 1s. The logic to calculate time difference in php_openssl_subtract_timeval() is wrong when a.tv_usec < b.tv_usec, causing connection errors before the timeout is reached.
* | Fix bug #79336Nikita Popov2020-04-161-9/+34
| | | | | | | | Make reading of floats and doubles host-endian independent.
* | Move test to its folderGabriel Caruso2020-04-161-0/+0
| |
* | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2020-04-164-12/+12
|\ \ | |/ | | | | | | * PHP-7.3: Fix MySQL local infile / attr handling on big endian systems
| * Fix MySQL local infile / attr handling on big endian systemsguirish2020-04-164-12/+12
| | | | | | | | | | | | Make sure pointer types match what is used by libmysql everywhere. Closes GH-5380.
* | Fix directory clash in tempnam_variation4 testNikita Popov2020-04-152-2/+2
| |
* | Fix #79472: ext/ffi/tests/040.phpt TC fails on Big endian archChristoph M. Becker2020-04-141-1/+6
| | | | | | | | | | For now we are choosing the simplest solution, namely to skip the test on big-endian architectures.
* | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2020-04-141-0/+3
|\ \ | |/ | | | | | | * PHP-7.3: Don't leak peername if accept fails
| * Don't leak peername if accept failsNikita Popov2020-04-141-0/+3
| | | | | | | | Even if the accept fails, the peername may be populated.