From 7aafa8e9d0347eda5a8549f2c2929cc694ba4456 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 6 Mar 2019 08:05:23 +0100 Subject: [PATCH] Update to 7.2.16 - http://www.php.net/releases/7_2_16.php add upstream patch for OpenSSL 1.1.1b adapt systzdata patch (v17) (cherry picked from commit 12dede90a4ddb10ef3f79ab7e7ff8b0b92fdc37f) --- .gitignore | 1 + ...16.patch => php-7.2.16-systzdata-v17.patch | 50 ++++++++++--------- php-openssl111.patch | 29 +++++++++++ php.spec | 11 +++- sources | 2 +- 5 files changed, 67 insertions(+), 26 deletions(-) rename php-7.2.3-systzdata-v16.patch => php-7.2.16-systzdata-v17.patch (95%) create mode 100644 php-openssl111.patch diff --git a/.gitignore b/.gitignore index cd764c1..5f1e7d3 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ php-7.1.*.xz /php-7.2.13.tar.xz /php-7.2.14.tar.xz /php-7.2.15.tar.xz +/php-7.2.16.tar.xz diff --git a/php-7.2.3-systzdata-v16.patch b/php-7.2.16-systzdata-v17.patch similarity index 95% rename from php-7.2.3-systzdata-v16.patch rename to php-7.2.16-systzdata-v17.patch index e488beb..640bff2 100644 --- a/php-7.2.3-systzdata-v16.patch +++ b/php-7.2.16-systzdata-v17.patch @@ -5,6 +5,7 @@ Add support for use of the system timezone database, rather than embedding a copy. Discussed upstream but was not desired. History: +r17: adapt for autotool change in 7.2.16RC1 r16: adapt for timelib 2017.06 (in 7.2.3RC1) r15: adapt for timelib 2017.05beta7 (in 7.2.0RC1) r14: improve check for valid tz file @@ -27,9 +28,32 @@ r3: fix a crash if /usr/share/zoneinfo doesn't exist (Raphael Geissert) r2: add filesystem trawl to set up name alias index r1: initial revision -diff -up php-7.2.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.2.3RC1/ext/date/lib/parse_tz.c ---- php-7.2.3RC1/ext/date/lib/parse_tz.c.systzdata 2018-02-13 20:18:34.000000000 +0100 -+++ php-7.2.3RC1/ext/date/lib/parse_tz.c 2018-02-14 06:14:23.484804852 +0100 +diff -up php-7.2.16RC1/ext/date/config0.m4.systzdata php-7.2.16RC1/ext/date/config0.m4 +--- php-7.2.16RC1/ext/date/config0.m4.systzdata 2019-02-19 11:22:22.223741585 +0100 ++++ php-7.2.16RC1/ext/date/config0.m4 2019-02-19 11:23:05.089111556 +0100 +@@ -10,6 +10,19 @@ io.h + dnl Check for strtoll, atoll + AC_CHECK_FUNCS(strtoll atoll) + ++PHP_ARG_WITH(system-tzdata, for use of system timezone data, ++[ --with-system-tzdata[=DIR] to specify use of system timezone data], ++no, no) ++ ++if test "$PHP_SYSTEM_TZDATA" != "no"; then ++ AC_DEFINE(HAVE_SYSTEM_TZDATA, 1, [Define if system timezone data is used]) ++ ++ if test "$PHP_SYSTEM_TZDATA" != "yes"; then ++ AC_DEFINE_UNQUOTED(HAVE_SYSTEM_TZDATA_PREFIX, "$PHP_SYSTEM_TZDATA", ++ [Define for location of system timezone data]) ++ fi ++fi ++ + PHP_DATE_CFLAGS="-I@ext_builddir@/lib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DHAVE_TIMELIB_CONFIG_H=1" + timelib_sources="lib/astro.c lib/dow.c lib/parse_date.c lib/parse_tz.c + lib/timelib.c lib/tm2unixtime.c lib/unixtime2tm.c lib/parse_iso_intervals.c lib/interval.c" +diff -up php-7.2.16RC1/ext/date/lib/parse_tz.c.systzdata php-7.2.16RC1/ext/date/lib/parse_tz.c +--- php-7.2.16RC1/ext/date/lib/parse_tz.c.systzdata 2019-02-19 11:13:22.000000000 +0100 ++++ php-7.2.16RC1/ext/date/lib/parse_tz.c 2019-02-19 11:19:40.245313535 +0100 @@ -25,8 +25,21 @@ #include "timelib.h" #include "timelib_private.h" @@ -632,23 +656,3 @@ diff -up php-7.2.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.2.3RC1/ext/date/li } else { *error_code = TIMELIB_ERROR_NO_SUCH_TIMEZONE; tmp = NULL; -diff -up php-7.2.3RC1/ext/date/lib/timelib.m4.systzdata php-7.2.3RC1/ext/date/lib/timelib.m4 ---- php-7.2.3RC1/ext/date/lib/timelib.m4.systzdata 2018-02-13 20:18:34.000000000 +0100 -+++ php-7.2.3RC1/ext/date/lib/timelib.m4 2018-02-14 06:11:54.273089963 +0100 -@@ -81,3 +81,16 @@ io.h - - dnl Check for strtoll, atoll - AC_CHECK_FUNCS(strtoll atoll strftime gettimeofday) -+ -+PHP_ARG_WITH(system-tzdata, for use of system timezone data, -+[ --with-system-tzdata[=DIR] to specify use of system timezone data], -+no, no) -+ -+if test "$PHP_SYSTEM_TZDATA" != "no"; then -+ AC_DEFINE(HAVE_SYSTEM_TZDATA, 1, [Define if system timezone data is used]) -+ -+ if test "$PHP_SYSTEM_TZDATA" != "yes"; then -+ AC_DEFINE_UNQUOTED(HAVE_SYSTEM_TZDATA_PREFIX, "$PHP_SYSTEM_TZDATA", -+ [Define for location of system timezone data]) -+ fi -+fi diff --git a/php-openssl111.patch b/php-openssl111.patch new file mode 100644 index 0000000..ea43711 --- /dev/null +++ b/php-openssl111.patch @@ -0,0 +1,29 @@ +From 19a44ffb7be91344550fa700830b8e62a73031ba Mon Sep 17 00:00:00 2001 +From: Anatol Belski +Date: Thu, 28 Feb 2019 12:48:47 +0100 +Subject: [PATCH] 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. +--- + ext/openssl/openssl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c +index 871a30c..7df5072 100644 +--- a/ext/openssl/openssl.c ++++ b/ext/openssl/openssl.c +@@ -6494,7 +6494,7 @@ static int php_openssl_cipher_update(const EVP_CIPHER *cipher_type, + { + int i = 0; + +- if (mode->is_single_run_aead && !EVP_EncryptUpdate(cipher_ctx, NULL, &i, NULL, (int)data_len)) { ++ if (mode->is_single_run_aead && !EVP_CipherUpdate(cipher_ctx, NULL, &i, NULL, (int)data_len)) { + php_openssl_store_errors(); + php_error_docref(NULL, E_WARNING, "Setting of data length failed"); + return FAILURE; +-- +2.1.4 + diff --git a/php.spec b/php.spec index ded32c8..cff1751 100644 --- a/php.spec +++ b/php.spec @@ -58,7 +58,7 @@ %global with_lmdb 0 %endif -%global upver 7.2.15 +%global upver 7.2.16 Summary: PHP scripting language for creating dynamic web sites Name: php @@ -99,7 +99,7 @@ Patch8: php-7.2.0-libdb.patch # Functional changes Patch40: php-7.2.4-dlopen.patch -Patch42: php-7.2.3-systzdata-v16.patch +Patch42: php-7.2.16-systzdata-v17.patch # See http://bugs.php.net/53436 Patch43: php-7.2.12-phpize.patch # Use -lldap_r for OpenLDAP @@ -112,6 +112,7 @@ Patch47: php-5.6.3-phpinfo.patch Patch48: php-7.2.8-getallheaders.patch # Upstream fixes (100+) +Patch100: php-openssl111.patch # Security fixes (200+) @@ -714,6 +715,7 @@ low-level PHP extension for the libsodium cryptographic library. %patch48 -p1 -b .getallheaders # upstream patches +%patch100 -p1 -b .up # security patches @@ -1555,6 +1557,11 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || : %changelog +* Wed Mar 6 2019 Remi Collet - 7.2.16-1 +- Update to 7.2.16 - http://www.php.net/releases/7_2_16.php +- add upstream patch for OpenSSL 1.1.1b +- adapt systzdata patch (v17) + * Wed Feb 6 2019 Remi Collet - 7.2.15-1 - Update to 7.2.15 - http://www.php.net/releases/7_2_15.php diff --git a/sources b/sources index e6d2be2..6d40469 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (php-7.2.15.tar.xz) = feecabb6ee1ec4bc98cf1aa868190c758ee57e5f2d80c91376a2d91082d01f481b0a2e3d7dbae4822d6cfbafe8bccffed15335ff561f8b239e16028ed6bdbee7 +SHA512 (php-7.2.16.tar.xz) = cd2ea3c68d7ed20317800f4b838b0dd9ae2fde508c79662b296dacdacf6c7e35b6ef30a6564516d7b22e82749a6e9e2ffcfd95b05cd79a9f227fbfaf9e25bc31