Anatol Belski [Thu, 28 Feb 2019 11:48:47 +0000 (12:48 +0100)]
Sync with behavior change in OpenSSL 1.1.1b
A behavior change in revealed by some openssl_decrypt() based test,
where an encrypt API is used with a decrypt context. The EVP_Cipher*
functions will automatically choose the right operation depending on the
context passed.
Peter Kokot [Thu, 7 Mar 2019 19:58:14 +0000 (20:58 +0100)]
Clean *nix build system
- remove some outdated and not used macro calls
- remove some unused variables
- Remove not needed comment from tokenizer config.m4
- Remove not needed comment
- remove not needed local variables for editors and syntax highlighting
Peter Kokot [Thu, 7 Mar 2019 00:57:53 +0000 (01:57 +0100)]
Refactor README.md file
- Initial refactorings of the README.md file with some more user
oriented information about the php-src repository and PHP in general.
- SVG logo added
- README.WIN32-BUILD-SYSTEM file contents moved to README.md
- INSTALL file contents moved to README.md
- Windows releases now instead of install.txt file ship with the
README.md.
- A brief installation section added with help options mentioned for the
configure and make.
- Also mentioned the `-j` option for build and tests
Co-authored-by: Javier Eguiluz <javier.eguiluz@gmail.com> Co-authored-by: Gabriel Caruso <carusogabriel34@gmail.com> Co-authored-by: Matthias Kaschubowski <nihylum@gmail.com>
Peter Kokot [Sun, 17 Feb 2019 13:21:58 +0000 (14:21 +0100)]
Update editorconfig
Changes:
- New property max_line_length
- COMMIT_EDITMSG file added when writing commit messages
- Markdown files can have trimmed trailing whitespace also to simplify
settings.
- https link used to EditorConfig page.
- Added also *.y, *.cpp, and *.inc files
- The tab_width moved to a new all files section
Peter Kokot [Sat, 2 Mar 2019 13:42:21 +0000 (14:42 +0100)]
Remove legacy AC_CHECK_TYPE calls for uint and ulong
The AC_CHECK_TYPE was refactored in more recent versions of Autoconf
and the call with two arguments is obsolete and not recommended anymore.
This patch also refactors some leftovers of using ulong and uint which
are not standard nor common usages of types in C.
The ulong can be used as zend_ulong and uint usage is actually
`unsigned int`.
The usage of HAVE_ULONG removed since it is not used in current code
base.
Legacy edgecase for some legacy HPUX systems removed:
- sys/stream.h header is not checked and the HAVE_SYS_STREAM_H is
not defined with current build system.
- flags are unsigned int
- max_allowed_packet changed to unsigned int
Signed shift of 31 for int and 63 for long is flagged as undefined
behavior by UBSan (-fsanitize=undefined) and seems to be indeed so
according to the standard.
Fix #77700: Writing truecolor images as GIF ignores interlace flag
We revert the interlace flag related part of commit ff2822a[1], since
contrary to the transparent color, the interlace flag is not retained
by `gdImageCreatePaletteFromTrueColor()`. This also matches upstream
libgd.
In order to rename safer, we do the following:
- set umask to 077 (unfortunately, not TS, so excluding ZTS)
- chown() first, to set proper group before allowing group access
- chmod() after, even if chown() fails
Nikita Popov [Mon, 4 Mar 2019 12:11:12 +0000 (13:11 +0100)]
Fixed bug #77691
We cannot replace an op1_def opcode with an ASSIGN, if it also has
a used res_def. Usually this doesn't happen because the res_def use
can be eliminated first. The example is a case where operand replacement
on the res_def use fails.
Breakage found in the wild: Mockery uses a parent:: call in the
implementation regardless of whether the class has a parent or not:
https://github.com/mockery/mockery/blob/4324afeaf9d95b492507e6587abb3f024e2576de/library/Mockery/Mock.php#L600
Peter Kokot [Sun, 3 Mar 2019 01:54:03 +0000 (02:54 +0100)]
Replace PHP_TM_GMTOFF with AC_CHECK_MEMBERS
Changes:
- PHP_TM_GMTOFF removed
- HAVE_TM_GMTOFF replaced with HAVE_STRUCT_TM_TM_GMTOFF
- HAVE_TM_ZONE replaced with HAVE_STRUCT_TM_TM_ZONE
- HAVE_TZNAME removed
The PHP_TM_GMTOFF macro can be replaced with Autoconf's AC_CHECK_MEMBERS
that defines the HAVE_STRUCT_TM_TM_GMTOFF symbol instead of the
HAVE_TM_ZONE.
The HAVE_TZNAME symbol is not used in current code. The obsolete
HAVE_TM_ZONE symbol has been replaced with more proper
HAVE_STRUCT_TM_TM_ZONE. These are defined by the AC_STRUCT_TIMEZONE
macro.
Peter Kokot [Sat, 2 Mar 2019 22:15:52 +0000 (23:15 +0100)]
Remove AC_PROG_CC_C_O
The AC_PROG_CC_C_O macro checks if compiler can use both -c and -o
options together and if not it defines the NO_MINUS_C_MINUS_O symbol.
It is not used in current codebase and therefore removed.
Kevin Adler [Mon, 18 Feb 2019 17:01:23 +0000 (11:01 -0600)]
Fix shared module generation on AIX bug #77676
Makefiles for PHP extensions generated by phpize expect the PHP_MODULES
to contain a list of libtool .la files so that it can read the $dlname
variable from them by sourcing them in to a shell. On AIX, the code was
setting PHP_MODULES to a list of .so files, which meant the dlname was
blank, preventing the tests from being able to run.
Change the AIX code path in the PHP_SHARED_MODULE macro to match the
output on other platforms, using libtool .la files.
Peter Kokot [Sat, 2 Mar 2019 11:11:44 +0000 (12:11 +0100)]
Remove LIBZEND_CHECK_INT_TYPE and PHP_CHECK_TYPES
Checking for int32_t and uint32_t types is already done by the
PHP_CHECK_STDINT_TYPES m4 macro.
The PHP_CHECK_TYPES m4 macro has been once used by the mysqlnd and has
been removed via 14caf174ff219376e4f1234bd297ffe973cc416e and
additionally, the internal unused macro _PHP_DEF_HAVE_FILE has been
removed.
Additionally, the unused PHP_HAVE_STDINT_TYPES symbol has been removed.