summaryrefslogtreecommitdiff
path: root/win32
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge branch 'PHP-7.4'Nikita Popov2019-06-051-2/+6
|\ \ \ | |/ /
| * | Allow exceptions in __toString()Nikita Popov2019-06-051-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RFC: https://wiki.php.net/rfc/tostring_exceptions And convert some object to string conversion related recoverable fatal errors into Error exceptions. Improve exception safety of internal code performing string conversions.
* | | Merge branch 'PHP-7.4'Christoph M. Becker2019-06-011-4/+5
|\ \ \ | |/ / | | | | | | | | | * PHP-7.4: Fix ZTS issue regarding new Windows CTRL handling API
| * | Fix ZTS issue regarding new Windows CTRL handling APIChristoph M. Becker2019-06-011-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | php_win32_signal_system_ctrl_handler() is called from a kernel thread, so the former initialization of `vm_interrupt_flag` has no effect, since it is defined as thread-local. This is, however, not necessary, since the CTRL signal handling is supposed to work only for the main thread anyway. We therefore change `vm_interrupt_flag` and the related variables to true globals. This also allows us to unmark the respective test case as XFAIL. Furthermore, `vm_interrupt_flag` is declared as `zend_bool *`, so we better treat it such.
* | | Merge branch 'PHP-7.4'Joe Watkins2019-05-201-6/+6
|\ \ \ | |/ / | | | | | | | | | * PHP-7.4: Revert "Rename *.l files to *.re"
| * | Revert "Rename *.l files to *.re"Joe Watkins2019-05-201-6/+6
| | | | | | | | | | | | This reverts commit 969047749d33bb88a0573aa91a57e2070335111a.
* | | Merge branch 'PHP-7.4'Peter Kokot2019-05-171-6/+6
|\ \ \ | |/ / | | | | | | | | | * PHP-7.4: Rename *.l files to *.re
| * | Rename *.l files to *.rePeter Kokot2019-05-171-6/+6
| | | | | | | | | | | | | | | This syncs PHP lexer files to all use *.re extension. The *.re files are processed with the RE2C tool.
* | | Merge branch 'PHP-7.4'Peter Kokot2019-05-111-1/+0
|\ \ \ | |/ / | | | | | | | | | | | | * PHP-7.4: Remove unused symbol definition Remove redundant memory.h file
| * | Remove redundant memory.h filePeter Kokot2019-05-111-1/+0
| | | | | | | | | | | | | | | The memory.h file is part of the pre-C89 era and is on today's systems only a simple wrapper for including the final string.h header file.
* | | Merge branch 'PHP-7.4'Christoph M. Becker2019-05-091-3/+7
|\ \ \ | |/ / | | | | | | | | | * PHP-7.4: Fix erroneous assertions
| * | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2019-05-091-3/+7
| |\ \ | | |/ | | | | | | | | | * PHP-7.3: Fix erroneous assertions
| | * Merge branch 'PHP-7.2' into PHP-7.3Christoph M. Becker2019-05-091-4/+7
| | |\ | | | | | | | | | | | | | | | | * PHP-7.2: Fix erroneous assertions
| | | * Fix erroneous assertionsChristoph M. Becker2019-05-091-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since PHP strings are binary safe (i.e. they may contain NUL bytes), we must not assume that strlen()/wcslen() actually return the length of the string. Only if the given in_len is zero, it is safe to assert this.
* | | | Merge branch 'PHP-7.4'Stanislav Malyshev2019-04-291-6/+7
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-7.4: Fix #77821: Potential heap corruption in TSendMail()
| * | | Merge branch 'PHP-7.3' into PHP-7.4Stanislav Malyshev2019-04-291-6/+7
| |\ \ \ | | |/ / | | | | | | | | | | | | * PHP-7.3: Fix #77821: Potential heap corruption in TSendMail()
| | * | Merge branch 'PHP-7.2' into PHP-7.3Stanislav Malyshev2019-04-291-6/+7
| | |\ \ | | | |/ | | | | | | | | | | | | * PHP-7.2: Fix #77821: Potential heap corruption in TSendMail()
| | | * Merge branch 'PHP-7.1' into PHP-7.2Stanislav Malyshev2019-04-291-6/+7
| | | |\ | | | | | | | | | | | | | | | | | | | | * PHP-7.1: Fix #77821: Potential heap corruption in TSendMail()
| | | | * Fix #77821: Potential heap corruption in TSendMail()Christoph M. Becker2019-04-291-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `zend_string_tolower()` returns a copy (not a duplicate) of the given string, if it is already in lower case. In this case we must not not `zend_string_free()` both strings. The cleanest solution is to call ` zend_string_release()` on both strings, which properly handles the refcount.
| | | | * Sync leading and final newlines in source code filesPeter Kokot2018-10-1417-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
| | | | * Trim trailing whitespace in source code filesPeter Kokot2018-10-1319-122/+122
| | | | |
| | | | * Convert CRLF line endings to LFPeter Kokot2018-10-132-265/+265
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch simplifies line endings tracked in the Git repository and syncs them to all include the LF style instead of the CRLF files. Newline characters: - LF (\n) (*nix and Mac) - CRLF (\r\n) (Windows) - CR (\r) (old Mac, obsolete) To see which line endings are in the index and in the working copy the following command can be used: `git ls-files --eol` Git additionally provides `.gitattributes` file to specify if some files need to have specific line endings on all platforms (either CRLF or LF). Changed files shouldn't cause issues on modern Windows platforms because also Git can do output conversion is core.autocrlf=true is set on Windows and use CRLF newlines in all files in the working tree. Unless CRLF files are tracked specifically, Git by default tracks all files in the index using LF newlines.
| | | * | Fix potential OPcache file cache related issuesAnatol Belski2019-04-111-10/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To solve issues detected during testing, we backport the following commits to PHP 7.2: 129c5c1181bf344b37e13fd6dc5dfe76c13d7208 9ac133a0b3863ca4d9659140154ee237e5f4669a ce72bc6b658c335dd37393d0beb28584e6805e97
* | | | | Merge branch 'PHP-7.4'Peter Kokot2019-04-231-1/+0
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * PHP-7.4: Remove php.gif from the project root directory
| * | | | Merge branch 'pull-request/4046' into PHP-7.4Peter Kokot2019-04-231-1/+0
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * pull-request/4046: Remove php.gif from the project root directory
| | * | | | Remove php.gif from the project root directoryPeter Kokot2019-04-211-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PHP logo is also displayed in the main README.md file using a shiny SVG format so there is no need to use GIF format.
* | | | | | Merge branch 'PHP-7.4'Christoph M. Becker2019-04-221-1/+1
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | * PHP-7.4: Fix parameter order
| * | | | | Fix parameter orderChristoph M. Becker2019-04-221-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The parameter order of `php_sys_link()` should be identical on Windows and POSIX, bug commit c9861bd[1] got that wrong. [1] <http://git.php.net/?p=php-src.git;a=commit;h=c9861bd7a974ef1555395b879c1035a0bbc12ef1>
* | | | | Merge branch 'PHP-7.4'Peter Kokot2019-04-131-1/+0
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * PHP-7.4: Remove PHP_READDIR_R_TYPE
| * | | | Remove PHP_READDIR_R_TYPEPeter Kokot2019-04-131-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PHP_READDIR_R_TYPE m4 macro has been removed via 2b28f7189144a21e753dbc09efadd571121a82b9. HAVE_POSIX_READDIR_R in windows header file is also not needed anymore.
* | | | | Merge branch 'PHP-7.4'Nikita Popov2019-04-112-43/+0
|\ \ \ \ \ | |/ / / /
| * | | | Use readdir() instead of readdir_r()Nikita Popov2019-04-112-43/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | readdir_r() is deprecated in modern glibc versions. readdir() is thread safe in practice, as long as there are no concurrent accesses on the *same* directory stream.
* | | | | Merge branch 'PHP-7.4'Anatol Belski2019-04-101-10/+32
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * PHP-7.4: Ensure double slashes are replaced by the path normalization
| * | | | Merge branch 'PHP-7.3' into PHP-7.4Anatol Belski2019-04-101-10/+32
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | * PHP-7.3: Ensure double slashes are replaced by the path normalization
| | * | | Ensure double slashes are replaced by the path normalizationAnatol Belski2019-04-101-10/+32
| | | | |
* | | | | Merge branch 'PHP-7.4'Peter Kokot2019-04-071-2/+0
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * PHP-7.4: Remove checks for locale.h, setlocale, localeconv
| * | | | Remove checks for locale.h, setlocale, localeconvPeter Kokot2019-04-071-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `<loccale.h>` header file, setlocale, and localeconv are part of the standard C89 [1] and on current systems can be used unconditionally. Since PHP 7.4 requires at least C89 or greater, the `HAVE_LOCALE_H`, `HAVE_SETLOCALE`, and `HAVE_LOCALECONV` symbols defined by Autoconf in configure.ac [2] can be ommitted and simplifed. The bundled libmagic (file) has also been patched already in version 5.35 and up in upstream location so when it will be patched also in php-src the check for locale.h header is still left in the configure.ac and in windows headers definition file. [1] https://port70.net/~nsz/c/c89/c89-draft.html#4.4 [2] https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4 Omit the bundled libmagic files
* | | | | Merge branch 'PHP-7.4'Peter Kokot2019-04-071-14/+7
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * PHP-7.4: Refactor AC_INIT in configure.ac and PHP versions
| * | | | Refactor AC_INIT in configure.ac and PHP versionsPeter Kokot2019-04-071-14/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Autoconf 2.53 the AC_INIT call with only a single argument has been made obsolete and now includes several other optional arguments to make installation experience a bit better by providing program version and links to the project in the `./configure -h` output. This patch also updates win build version. The phpize.m4 AC_INIT has been updated with the call without arguments.
* | | | | Merge branch 'PHP-7.4'Christoph M. Becker2019-04-061-3/+3
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * PHP-7.4: Fix ASAN configuration
| * | | | Fix ASAN configurationChristoph M. Becker2019-04-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 6a624c1[1] mostly replaced `COMPILER_NAME` with `COMPILER_NAME_LONG` and `COMPILER_NAME_SHORT`, but not all occurrences, what broke the Clang ASAN configuration. We fix this by getting rid of `COMPILER_NAME` altogether. [1] <http://git.php.net/?p=php-src.git;a=commit;h=6a624c1dfda0dbfaaff3e453e6cb58de12748fb3>
* | | | | Merge branch 'PHP-7.4'Anatol Belski2019-04-011-12/+14
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * PHP-7.4: Improve ascii check
| * | | | Improve ascii checkAnatol Belski2019-04-011-12/+14
| | | | |
* | | | | Merge branch 'PHP-7.4'Anatol Belski2019-03-311-9/+10
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * PHP-7.4: Rework conditions and make them more future proof
| * | | | Rework conditions and make them more future proofAnatol Belski2019-03-311-9/+10
| | | | |
* | | | | Merge branch 'PHP-7.4'Anatol Belski2019-03-312-1/+38
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * PHP-7.4: Implement stricter CRT check
| * | | | Implement stricter CRT checkAnatol Belski2019-03-312-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/
* | | | | Merge branch 'PHP-7.4'Anatol Belski2019-03-313-61/+89
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | * PHP-7.4: Rework the VS version evaluation Implement stricter extension compatibility check
| * | | | Rework the VS version evaluationAnatol Belski2019-03-311-61/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | Implement stricter extension compatibility checkAnatol Belski2019-03-312-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.