summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2018-09-11 13:17:03 +0200
committerRemi Collet <remi@remirepo.net>2018-09-11 13:17:03 +0200
commit8844eb924e4ecca72b92b37d84c4e5e5cfa96137 (patch)
treef45f8d48ba7528366bf002a8ea1435c1d2a29688
parent418f4c3d20d95e5e32d74ad57553ad077ff995a8 (diff)
Update to 7.0.32 - http://www.php.net/releases/7_0_32.php
-rw-r--r--2ef8809ef3beb5f58b81dcff49bdcde4d2cb8426.patch73
-rw-r--r--be50a72715c141befe6f34ece660745da894aaf3.patch41
-rw-r--r--failed.txt5
-rw-r--r--php.spec12
4 files changed, 127 insertions, 4 deletions
diff --git a/2ef8809ef3beb5f58b81dcff49bdcde4d2cb8426.patch b/2ef8809ef3beb5f58b81dcff49bdcde4d2cb8426.patch
new file mode 100644
index 0000000..12a9208
--- /dev/null
+++ b/2ef8809ef3beb5f58b81dcff49bdcde4d2cb8426.patch
@@ -0,0 +1,73 @@
+Backported from 7.1 by Remi
+
+
+
+From 2ef8809ef3beb5f58b81dcff49bdcde4d2cb8426 Mon Sep 17 00:00:00 2001
+From: Jakub Zelenka <bukka@php.net>
+Date: Sun, 15 Apr 2018 20:41:23 +0100
+Subject: [PATCH] Make openssl_error_string test work in OpenSSL 1.1.1
+
+It was the only failing test
+---
+ ext/openssl/tests/openssl_error_string_basic.phpt | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/ext/openssl/tests/openssl_error_string_basic.phpt b/ext/openssl/tests/openssl_error_string_basic.phpt
+index 04cc5508a4af..7817fbafb2f0 100644
+--- a/ext/openssl/tests/openssl_error_string_basic.phpt
++++ b/ext/openssl/tests/openssl_error_string_basic.phpt
+@@ -79,6 +79,9 @@ while (($enc_error_new = openssl_error_string()) !== false) {
+ var_dump($error_queue_size);
+ echo "\n";
+
++$is_111 = OPENSSL_VERSION_NUMBER >= 0x10101000;
++$err_pem_no_start_line = $is_111 ? '0909006C': '0906D06C';
++
+ // PKEY
+ echo "PKEY errors\n";
+ // file for pkey (file:///) fails when opennig (BIO_new_file)
+@@ -86,7 +89,7 @@ echo "PKEY errors\n";
+ expect_openssl_errors('openssl_pkey_export_to_file opening', ['02001002', '2006D080']);
+ // file or private pkey is not correct PEM - failing PEM_read_bio_PrivateKey
+ @openssl_pkey_export_to_file($csr_file, $output_file);
+-expect_openssl_errors('openssl_pkey_export_to_file pem', ['0906D06C']);
++expect_openssl_errors('openssl_pkey_export_to_file pem', [$err_pem_no_start_line]);
+ // file to export cannot be written
+ @openssl_pkey_export_to_file($private_key_file, $invalid_file_for_write);
+ expect_openssl_errors('openssl_pkey_export_to_file write', ['2006D002']);
+@@ -95,7 +98,7 @@ expect_openssl_errors('openssl_pkey_export_to_file write', ['2006D002']);
+ expect_openssl_errors('openssl_pkey_export', ['06065064', '0906A065']);
+ // invalid x509 for getting public key
+ @openssl_pkey_get_public($private_key_file);
+-expect_openssl_errors('openssl_pkey_get_public', ['0906D06C']);
++expect_openssl_errors('openssl_pkey_get_public', [$err_pem_no_start_line]);
+ // private encrypt with unknown padding
+ @openssl_private_encrypt("data", $crypted, $private_key_file, 1000);
+ expect_openssl_errors('openssl_private_encrypt', ['04066076']);
+@@ -105,7 +108,7 @@ expect_openssl_errors('openssl_private_decrypt', ['04065072']);
+ // public encrypt and decrypt with failed padding check and padding
+ @openssl_public_encrypt("data", $crypted, $public_key_file, 1000);
+ @openssl_public_decrypt("data", $crypted, $public_key_file);
+-expect_openssl_errors('openssl_private_(en|de)crypt padding', ['0906D06C', '04068076', '04067072']);
++expect_openssl_errors('openssl_private_(en|de)crypt padding', [$err_pem_no_start_line, '04068076', '04067072']);
+
+ // X509
+ echo "X509 errors\n";
+@@ -114,7 +117,7 @@ echo "X509 errors\n";
+ expect_openssl_errors('openssl_x509_export_to_file open', ['02001002']);
+ // file or str cert is not correct PEM - failing PEM_read_bio_X509 or PEM_ASN1_read_bio
+ @openssl_x509_export_to_file($csr_file, $output_file);
+-expect_openssl_errors('openssl_x509_export_to_file pem', ['0906D06C']);
++expect_openssl_errors('openssl_x509_export_to_file pem', [$err_pem_no_start_line]);
+ // file to export cannot be written
+ @openssl_x509_export_to_file($crt_file, $invalid_file_for_write);
+ expect_openssl_errors('openssl_x509_export_to_file write', ['2006D002']);
+@@ -129,7 +132,7 @@ echo "CSR errors\n";
+ expect_openssl_errors('openssl_csr_get_subject open', ['02001002', '2006D080']);
+ // file or str csr is not correct PEM - failing PEM_read_bio_X509_REQ
+ @openssl_csr_get_subject($crt_file);
+-expect_openssl_errors('openssl_csr_get_subjec pem', ['0906D06C']);
++expect_openssl_errors('openssl_csr_get_subjec pem', [$err_pem_no_start_line]);
+
+ // other possible cuases that are difficult to catch:
+ // - ASN1_STRING_to_UTF8 fails in add_assoc_name_entry
diff --git a/be50a72715c141befe6f34ece660745da894aaf3.patch b/be50a72715c141befe6f34ece660745da894aaf3.patch
new file mode 100644
index 0000000..48a0768
--- /dev/null
+++ b/be50a72715c141befe6f34ece660745da894aaf3.patch
@@ -0,0 +1,41 @@
+Backported from 7.1 by Remi
+
+
+
+From be50a72715c141befe6f34ece660745da894aaf3 Mon Sep 17 00:00:00 2001
+From: Jakub Zelenka <bukka@php.net>
+Date: Sun, 9 Sep 2018 18:53:37 +0100
+Subject: [PATCH] Fix ssl stream reneg limit test to print only after first
+ renegotiation
+
+It has been reported that in some setup the test does multiple
+renegotiations which is allowed.
+---
+ ext/openssl/tests/stream_server_reneg_limit.phpt | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/ext/openssl/tests/stream_server_reneg_limit.phpt b/ext/openssl/tests/stream_server_reneg_limit.phpt
+index f0353351a23a..f033cbabe343 100644
+--- a/ext/openssl/tests/stream_server_reneg_limit.phpt
++++ b/ext/openssl/tests/stream_server_reneg_limit.phpt
+@@ -22,14 +22,18 @@ if(substr(PHP_OS, 0, 3) == 'WIN') {
+ */
+
+ $serverCode = <<<'CODE'
++ $printed = false;
+ $serverUri = "ssl://127.0.0.1:64321";
+ $serverFlags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN;
+ $serverCtx = stream_context_create(['ssl' => [
+ 'local_cert' => __DIR__ . '/bug54992.pem',
+ 'reneg_limit' => 0,
+ 'reneg_window' => 30,
+- 'reneg_limit_callback' => function($stream) {
+- var_dump($stream);
++ 'reneg_limit_callback' => function($stream) use (&$printed) {
++ if (!$printed) {
++ $printed = true;
++ var_dump($stream);
++ }
+ }
+ ]]);
+
diff --git a/failed.txt b/failed.txt
index 8d1f596..d84ab48 100644
--- a/failed.txt
+++ b/failed.txt
@@ -1,4 +1,4 @@
-===== 7.0.31 (2018-07-19)
+===== 7.0.32 (2018-09-13)
$ grep -r 'Tests failed' /var/lib/mock/scl70*/build.log
@@ -8,8 +8,11 @@ $ grep -r 'Tests failed' /var/lib/mock/scl70*/build.log
/var/lib/mock/scl70fc26x/build.log:Tests failed : 0
/var/lib/mock/scl70fc27x/build.log:Tests failed : 0
/var/lib/mock/scl70fc28x/build.log:Tests failed : 0
+/var/lib/mock/scl70fc29x/build.log:Tests failed : 1
+fc29x:
+ openssl_error_string() tests [ext/openssl/tests/openssl_error_string_basic.phpt]
1 proc_open give erratic test results :(
diff --git a/php.spec b/php.spec
index 47459ad..7b5fe4a 100644
--- a/php.spec
+++ b/php.spec
@@ -120,14 +120,13 @@
%global db_devel libdb-devel
%endif
-%global upver 7.0.31
-#global rcver RC1
+%global upver 7.0.32
Summary: PHP scripting language for creating dynamic web sites
Name: %{?scl_prefix}php
Version: %{upver}%{?rcver:~%{rcver}}
-Release: 2%{?dist}
+Release: 1%{?dist}
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
# TSRM is licensed under BSD
@@ -186,6 +185,8 @@ Patch47: php-5.6.3-phpinfo.patch
Patch91: php-5.6.3-oci8conf.patch
# Upstream fixes (100+)
+Patch100: https://github.com/php/php-src/commit/be50a72715c141befe6f34ece660745da894aaf3.patch
+Patch101: https://github.com/php/php-src/commit/2ef8809ef3beb5f58b81dcff49bdcde4d2cb8426.patch
# Security fixes (200+)
@@ -916,6 +917,8 @@ support for JavaScript Object Notation (JSON) to PHP.
%patch91 -p1 -b .remi-oci8
# upstream patches
+%patch100 -p1 -b .up1
+%patch101 -p1 -b .up2
# security patches
@@ -1851,6 +1854,9 @@ fi
%changelog
+* Tue Sep 11 2018 Remi Collet <remi@remirepo.net> - 7.0.32-1
+- Update to 7.0.32 - http://www.php.net/releases/7_0_32.php
+
* Thu Aug 23 2018 Remi Collet <remi@remirepo.net> - 7.0.31-2
- F29: backport ICU 62.1 support from 7.1