add upstream patch for OpenSSL 1.1.1b
adapt systzdata patch (v17)
This commit is contained in:
Remi Collet 2019-03-06 08:05:23 +01:00
parent 9ee90b3f27
commit 12dede90a4
5 changed files with 67 additions and 26 deletions

1
.gitignore vendored
View File

@ -36,3 +36,4 @@ php-7.3.*.xz
/php-7.2.14RC1.tar.xz
/php-7.2.14.tar.xz
/php-7.2.15.tar.xz
/php-7.2.16.tar.xz

View File

@ -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

29
php-openssl111.patch Normal file
View File

@ -0,0 +1,29 @@
From 19a44ffb7be91344550fa700830b8e62a73031ba Mon Sep 17 00:00:00 2001
From: Anatol Belski <ab@php.net>
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

View File

@ -58,7 +58,7 @@
%global with_lmdb 0
%endif
%global upver 7.2.15
%global upver 7.2.16
#global rcver RC1
%global rpmrel 1
@ -101,7 +101,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
@ -114,6 +114,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+)
@ -716,6 +717,7 @@ low-level PHP extension for the libsodium cryptographic library.
%patch48 -p1 -b .getallheaders
# upstream patches
%patch100 -p1 -b .up
# security patches
@ -1557,6 +1559,11 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || :
%changelog
* Wed Mar 6 2019 Remi Collet <remi@remirepo.net> - 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 <remi@remirepo.net> - 7.2.15-1
- Update to 7.2.15 - http://www.php.net/releases/7_2_15.php

View File

@ -1 +1 @@
SHA512 (php-7.2.15.tar.xz) = feecabb6ee1ec4bc98cf1aa868190c758ee57e5f2d80c91376a2d91082d01f481b0a2e3d7dbae4822d6cfbafe8bccffed15335ff561f8b239e16028ed6bdbee7
SHA512 (php-7.2.16.tar.xz) = cd2ea3c68d7ed20317800f4b838b0dd9ae2fde508c79662b296dacdacf6c7e35b6ef30a6564516d7b22e82749a6e9e2ffcfd95b05cd79a9f227fbfaf9e25bc31