summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2017-07-06 08:06:11 +0200
committerRemi Collet <remi@remirepo.net>2017-07-06 08:06:11 +0200
commit9d7d861262f988fd637982ee0e6423fef091782b (patch)
tree8ecf1dd84dccdc1ed7746c8bf88646c7b7409133
parent954a8be48b19f437bb5b37d28d63801841526047 (diff)
v5.6.31
-rw-r--r--failed.txt46
-rw-r--r--php-5.6.31-oci.patch73
-rw-r--r--php-5.6.31-openssl11.patch (renamed from php-5.6.30-openssl11.patch)151
-rw-r--r--php.spec14
4 files changed, 177 insertions, 107 deletions
diff --git a/failed.txt b/failed.txt
index 79b9bfd..eaf2f3a 100644
--- a/failed.txt
+++ b/failed.txt
@@ -1,27 +1,35 @@
-===== 5.6.30 (2017-01-19)
+===== 5.6.31 (2017-07-06)
$ grep -r 'Tests failed' /var/lib/mock/scl56*/build.log
-/var/lib/mock/scl56el6x/build.log:Tests failed : 0
-/var/lib/mock/scl56el7x/build.log:Tests failed : 0
-/var/lib/mock/scl56fc22x/build.log:Tests failed : 0
-/var/lib/mock/scl56fc23x/build.log:Tests failed : 0
-/var/lib/mock/scl56fc24x/build.log:Tests failed : 0
-/var/lib/mock/scl56fc25x/build.log:Tests failed : 0
-/var/lib/mock/scl56fc25x/build.log:Tests failed : 8
+/var/lib/mock/scl56el6x/build.log:Tests failed : 2
+/var/lib/mock/scl56el7x/build.log:Tests failed : 2
+/var/lib/mock/scl56fc23x/build.log:Tests failed : 9
+/var/lib/mock/scl56fc24x/build.log:Tests failed : 4
+/var/lib/mock/scl56fc25x/build.log:Tests failed : 4
+/var/lib/mock/scl56fc25x/build.log:Tests failed : 2
+el6x, el7x
+ 4 Bug #33414 [2] (Comprehensive list of incorrect days returned after strotime() / date() tests) [ext/date/tests/bug33414-2.phpt]
+ 4 Bug #33415 [2] (Possibly invalid non-one-hour DST or timezone shifts) [ext/date/tests/bug33415-2.phpt]
+fc23x
+ 4 Bug #32086 (strtotime don't work in DST) [ext/date/tests/bug32086.phpt]
+ 4 Bug #33414 [1] (Comprehensive list of incorrect days returned after strotime() / date() tests) [ext/date/tests/bug33414-1.phpt]
+ 4 Bug #33414 [2] (Comprehensive list of incorrect days returned after strotime() / date() tests) [ext/date/tests/bug33414-2.phpt]
+ 4 Bug #33415 [1] (Possibly invalid non-one-hour DST or timezone shifts) [ext/date/tests/bug33415-1.phpt]
+ 4 date_modify() function [1] [ext/date/tests/date_modify-1.phpt]
+fc23x,fc26x, fc25x:
+ 4 Bug #33415 [2] (Possibly invalid non-one-hour DST or timezone shifts) [ext/date/tests/bug33415-2.phpt]
+ 3 Bug #65538: SSL context "cafile" disallows URL stream wrappers [ext/openssl/tests/bug65538_002.phpt]
+ 3 gethostbyname() function - basic return valid ip address test [ext/standard/tests/network/gethostbyname_error004.phpt]
+ 3 getmxrr() test [ext/standard/tests/network/getmxrr.phpt]
fc26x:
- Bug #20382 [2] (strtotime ("Monday", $date) produces wrong result on DST changeover) [ext/date/tests/bug20382-2.phpt]
- Bug #27780 (strtotime(+1 xxx) returns a wrong date/time) [ext/date/tests/bug27780.phpt]
- Bug #32086 (strtotime don't work in DST) [ext/date/tests/bug32086.phpt]
- Bug #33414 [1] (Comprehensive list of incorrect days returned after strotime() / date() tests) [ext/date/tests/bug33414-1.phpt]
- Bug #33414 [2] (Comprehensive list of incorrect days returned after strotime() / date() tests) [ext/date/tests/bug33414-2.phpt]
- Bug #33415 [1] (Possibly invalid non-one-hour DST or timezone shifts) [ext/date/tests/bug33415-1.phpt]
- Bug #33415 [2] (Possibly invalid non-one-hour DST or timezone shifts) [ext/date/tests/bug33415-2.phpt]
- date_modify() function [1] [ext/date/tests/date_modify-1.phpt]
+ 4 Bug #33415 [2] (Possibly invalid non-one-hour DST or timezone shifts) [ext/date/tests/bug33415-2.phpt]
+ Bug #74651: negative-size-param (-1) in memcpy in zif_openssl_seal() [ext/openssl/tests/bug74651.phpt]
-* proc_open have erratic results... :(
-*** test fixed upstream
-*** f26x bugs related to tzdata 2016j vs 2017a
+1 proc_open have erratic results... :(
+2 test fixed upstream
+3 online test
+4 tzdata are no more updated upstream in security branch
diff --git a/php-5.6.31-oci.patch b/php-5.6.31-oci.patch
new file mode 100644
index 0000000..4c67b13
--- /dev/null
+++ b/php-5.6.31-oci.patch
@@ -0,0 +1,73 @@
+From 27d681435174433c3a9b0b8325361dfa383be0a6 Mon Sep 17 00:00:00 2001
+From: Christopher Jones <sixd@php.net>
+Date: Tue, 20 Jun 2017 16:00:22 +1000
+Subject: [PATCH] PDO_OCI: support IC 12.2 in configure option
+
+---
+ NEWS | 4 ++++
+ ext/pdo_oci/config.m4 | 38 ++++++++++++++++++++++++++------------
+ 2 files changed, 30 insertions(+), 12 deletions(-)
+
+diff --git a/ext/pdo_oci/config.m4 b/ext/pdo_oci/config.m4
+index 34cfb13..7132a40 100755
+--- a/ext/pdo_oci/config.m4
++++ b/ext/pdo_oci/config.m4
+@@ -2,16 +2,31 @@ dnl $Id$
+ dnl config.m4 for extension pdo_oci
+ dnl vim:et:sw=2:ts=2:
+
+-SUPPORTED_LIB_VERS="9.0 10.1 11.1 12.1" # The lib vers are not bumped when the DB version is bumped
++if test -z "$SED"; then
++ PHP_PDO_OCI_SED="sed";
++else
++ PHP_PDO_OCI_SED="$SED";
++fi
++
++PHP_PDO_OCI_TAIL1=`echo a | tail -n1 2>/dev/null`
++if test "$PHP_PDO_OCI_TAIL1" = "a"; then
++ PHP_PDO_OCI_TAIL1="tail -n1"
++else
++ PHP_PDO_OCI_TAIL1="tail -1"
++fi
++
+ AC_DEFUN([AC_PDO_OCI_VERSION],[
+ AC_MSG_CHECKING([Oracle version])
+- for OCI_VER in $SUPPORTED_LIB_VERS; do
+- if test -f $PDO_OCI_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.$OCI_VER; then
+- PDO_OCI_VERSION="$OCI_VER"
+- fi
+- done
+- if test -z "$PDO_OCI_VERSION"; then
+- AC_MSG_ERROR([Oracle required OCI8 libraries not found under $PDO_OCI_DIR])
++ PDO_OCI_LCS_BASE=$PDO_OCI_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME
++ PDO_OCI_LCS=`ls $PDO_OCI_LCS_BASE.*.1 2> /dev/null | $PHP_PDO_OCI_TAIL1` # Oracle 10g, 11g, 12c etc
++ if test -f "$PDO_OCI_LCS"; then
++ dnl Oracle 10g, 11g 12c etc. The x.2 version libraries are named x.1 for drop in compatibility
++ PDO_OCI_VERSION=`echo $PDO_OCI_LCS | $PHP_PDO_OCI_SED -e 's/.*\.\(.*\)\.1$/\1.1/'`
++ elif test -f $PDO_OCI_LCS_BASE.9.0; then
++ dnl There is no case for Oracle 9.2. Oracle 9.2 libraries have a 9.0 suffix for drop-in compatibility with Oracle 9.0
++ PDO_OCI_VERSION=9.0
++ else
++ AC_MSG_ERROR(Oracle libclntsh.$SHLIB_SUFFIX_NAME client library not found or its version is lower than 9)
+ fi
+ AC_MSG_RESULT($PDO_OCI_VERSION)
+ ])
+@@ -147,12 +162,11 @@ You need to tell me where to find your Oracle Instant Client SDK, or set ORACLE_
+ fi
+
+ case $PDO_OCI_VERSION in
+- 9.0|10.1|10.2|11.1|11.2|12.1)
+- PHP_ADD_LIBRARY(clntsh, 1, PDO_OCI_SHARED_LIBADD)
++ 7.3|8.0|8.1)
++ AC_MSG_ERROR(Unsupported Oracle version $PDO_OCI_VERSION)
+ ;;
+-
+ *)
+- AC_MSG_ERROR(Unsupported Oracle version $PDO_OCI_VERSION)
++ PHP_ADD_LIBRARY(clntsh, 1, PDO_OCI_SHARED_LIBADD)
+ ;;
+ esac
+
+--
+2.1.4
+
diff --git a/php-5.6.30-openssl11.patch b/php-5.6.31-openssl11.patch
index 52c62fa..267b969 100644
--- a/php-5.6.30-openssl11.patch
+++ b/php-5.6.31-openssl11.patch
@@ -1,10 +1,10 @@
-From 2ceccb05d345d6a4dcbd20619acc7d6b1dcad57d Mon Sep 17 00:00:00 2001
+From d0c386012affb194ea4600ff2b6dbe447ff1898e Mon Sep 17 00:00:00 2001
From: Remi Collet <fedora@famillecollet.com>
Date: Mon, 20 Mar 2017 11:45:54 +0100
Subject: [PATCH] backport needed changes for OpenSSL 1.1
---
- ext/openssl/openssl.c | 523 +++++++++++++++-------
+ ext/openssl/openssl.c | 528 ++++++++++++++--------
ext/openssl/tests/001.phpt | 7 +-
ext/openssl/tests/bug41033.phpt | 4 +-
ext/openssl/tests/bug66501.phpt | 2 +-
@@ -12,10 +12,10 @@ Subject: [PATCH] backport needed changes for OpenSSL 1.1
ext/openssl/tests/sni_server.phpt | 2 +
ext/openssl/xp_ssl.c | 15 -
ext/phar/util.c | 13 +-
- 8 files changed, 368 insertions(+), 204 deletions(-)
+ 8 files changed, 371 insertions(+), 206 deletions(-)
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
-index f8641c6..8bafa98 100644
+index a78a8fb..fc9a708 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -68,7 +68,9 @@
@@ -28,7 +28,17 @@ index f8641c6..8bafa98 100644
#if OPENSSL_VERSION_NUMBER >= 0x0090708fL
#define OPENSSL_ALGO_SHA224 6
#define OPENSSL_ALGO_SHA256 7
-@@ -1053,9 +1055,11 @@ static EVP_MD * php_openssl_get_evp_md_from_algo(long algo) { /* {{{ */
+@@ -825,7 +827,8 @@ static int add_oid_section(struct php_x509_request * req TSRMLS_DC) /* {{{ */
+ }
+ for (i = 0; i < sk_CONF_VALUE_num(sktmp); i++) {
+ cnf = sk_CONF_VALUE_value(sktmp, i);
+- if (OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) {
++ if (OBJ_sn2nid(cnf->name) == NID_undef && OBJ_ln2nid(cnf->name) == NID_undef &&
++ OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "problem creating object %s=%s", cnf->name, cnf->value);
+ return FAILURE;
+ }
+@@ -1053,9 +1056,11 @@ static EVP_MD * php_openssl_get_evp_md_from_algo(long algo) { /* {{{ */
mdtype = (EVP_MD *) EVP_md2();
break;
#endif
@@ -40,7 +50,7 @@ index f8641c6..8bafa98 100644
#if OPENSSL_VERSION_NUMBER >= 0x0090708fL
case OPENSSL_ALGO_SHA224:
mdtype = (EVP_MD *) EVP_sha224();
-@@ -1173,7 +1177,9 @@ PHP_MINIT_FUNCTION(openssl)
+@@ -1173,7 +1178,9 @@ PHP_MINIT_FUNCTION(openssl)
#ifdef HAVE_OPENSSL_MD2_H
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, CONST_CS|CONST_PERSISTENT);
#endif
@@ -50,7 +60,7 @@ index f8641c6..8bafa98 100644
#if OPENSSL_VERSION_NUMBER >= 0x0090708fL
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA224", OPENSSL_ALGO_SHA224, CONST_CS|CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA256", OPENSSL_ALGO_SHA256, CONST_CS|CONST_PERSISTENT);
-@@ -1893,6 +1899,7 @@ static int openssl_x509v3_subjectAltName(BIO *bio, X509_EXTENSION *extension)
+@@ -1893,6 +1900,7 @@ static int openssl_x509v3_subjectAltName(BIO *bio, X509_EXTENSION *extension)
{
GENERAL_NAMES *names;
const X509V3_EXT_METHOD *method = NULL;
@@ -58,7 +68,7 @@ index f8641c6..8bafa98 100644
long i, length, num;
const unsigned char *p;
-@@ -1901,8 +1908,9 @@ static int openssl_x509v3_subjectAltName(BIO *bio, X509_EXTENSION *extension)
+@@ -1901,8 +1909,9 @@ static int openssl_x509v3_subjectAltName(BIO *bio, X509_EXTENSION *extension)
return -1;
}
@@ -70,7 +80,7 @@ index f8641c6..8bafa98 100644
if (method->it) {
names = (GENERAL_NAMES*)(ASN1_item_d2i(NULL, &p, length,
ASN1_ITEM_ptr(method->it)));
-@@ -1965,6 +1973,8 @@ PHP_FUNCTION(openssl_x509_parse)
+@@ -1965,6 +1974,8 @@ PHP_FUNCTION(openssl_x509_parse)
char * tmpstr;
zval * subitem;
X509_EXTENSION *extension;
@@ -79,7 +89,7 @@ index f8641c6..8bafa98 100644
char *extname;
BIO *bio_out;
BUF_MEM *bio_buf;
-@@ -1979,12 +1989,14 @@ PHP_FUNCTION(openssl_x509_parse)
+@@ -1979,12 +1990,14 @@ PHP_FUNCTION(openssl_x509_parse)
}
array_init(return_value);
@@ -98,7 +108,7 @@ index f8641c6..8bafa98 100644
/* hash as used in CA directories to lookup cert by subject name */
{
char buf[32];
-@@ -2008,7 +2020,7 @@ PHP_FUNCTION(openssl_x509_parse)
+@@ -2008,7 +2021,7 @@ PHP_FUNCTION(openssl_x509_parse)
add_assoc_string(return_value, "alias", tmpstr, 1);
}
@@ -107,7 +117,7 @@ index f8641c6..8bafa98 100644
add_assoc_string(return_value, "signatureTypeSN", (char*)OBJ_nid2sn(sig_nid), 1);
add_assoc_string(return_value, "signatureTypeLN", (char*)OBJ_nid2ln(sig_nid), 1);
add_assoc_long(return_value, "signatureTypeNID", sig_nid);
-@@ -3482,14 +3494,21 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC)
+@@ -3482,14 +3495,21 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC)
{
assert(pkey != NULL);
@@ -134,7 +144,7 @@ index f8641c6..8bafa98 100644
break;
#endif
#ifndef NO_DSA
-@@ -3498,29 +3517,50 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC)
+@@ -3498,29 +3518,50 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC)
case EVP_PKEY_DSA2:
case EVP_PKEY_DSA3:
case EVP_PKEY_DSA4:
@@ -200,7 +210,7 @@ index f8641c6..8bafa98 100644
break;
#endif
default:
-@@ -3531,42 +3571,91 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC)
+@@ -3531,42 +3572,91 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC)
}
/* }}} */
@@ -306,7 +316,7 @@ index f8641c6..8bafa98 100644
return 0;
}
/* all good */
-@@ -3574,15 +3663,69 @@ zend_bool php_openssl_pkey_init_dsa(DSA *dsa)
+@@ -3574,15 +3664,69 @@ zend_bool php_openssl_pkey_init_dsa(DSA *dsa)
}
/* }}} */
@@ -380,7 +390,7 @@ index f8641c6..8bafa98 100644
PHP_OPENSSL_RAND_ADD_TIME();
if (!DH_generate_key(dh)) {
return 0;
-@@ -3614,18 +3757,8 @@ PHP_FUNCTION(openssl_pkey_new)
+@@ -3614,18 +3758,8 @@ PHP_FUNCTION(openssl_pkey_new)
if (pkey) {
RSA *rsa = RSA_new();
if (rsa) {
@@ -401,7 +411,7 @@ index f8641c6..8bafa98 100644
}
RSA_free(rsa);
}
-@@ -3638,12 +3771,7 @@ PHP_FUNCTION(openssl_pkey_new)
+@@ -3638,12 +3772,7 @@ PHP_FUNCTION(openssl_pkey_new)
if (pkey) {
DSA *dsa = DSA_new();
if (dsa) {
@@ -415,7 +425,7 @@ index f8641c6..8bafa98 100644
if (EVP_PKEY_assign_DSA(pkey, dsa)) {
RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC));
}
-@@ -3659,11 +3787,7 @@ PHP_FUNCTION(openssl_pkey_new)
+@@ -3659,11 +3788,7 @@ PHP_FUNCTION(openssl_pkey_new)
if (pkey) {
DH *dh = DH_new();
if (dh) {
@@ -428,7 +438,7 @@ index f8641c6..8bafa98 100644
if (EVP_PKEY_assign_DH(pkey, dh)) {
RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC));
}
-@@ -3738,7 +3862,7 @@ PHP_FUNCTION(openssl_pkey_export_to_file)
+@@ -3738,7 +3863,7 @@ PHP_FUNCTION(openssl_pkey_export_to_file)
cipher = NULL;
}
@@ -437,7 +447,7 @@ index f8641c6..8bafa98 100644
#ifdef HAVE_EVP_PKEY_EC
case EVP_PKEY_EC:
pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get1_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL);
-@@ -3807,7 +3931,7 @@ PHP_FUNCTION(openssl_pkey_export)
+@@ -3807,7 +3932,7 @@ PHP_FUNCTION(openssl_pkey_export)
cipher = NULL;
}
@@ -446,7 +456,7 @@ index f8641c6..8bafa98 100644
#ifdef HAVE_EVP_PKEY_EC
case EVP_PKEY_EC:
pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get1_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL);
-@@ -3928,68 +4052,88 @@ PHP_FUNCTION(openssl_pkey_get_details)
+@@ -3928,68 +4053,88 @@ PHP_FUNCTION(openssl_pkey_get_details)
/*TODO: Use the real values once the openssl constants are used
* See the enum at the top of this file
*/
@@ -583,7 +593,7 @@ index f8641c6..8bafa98 100644
zval *ec;
const EC_GROUP *ec_group;
int nid;
-@@ -4546,13 +4690,13 @@ PHP_FUNCTION(openssl_private_encrypt)
+@@ -4546,13 +4691,13 @@ PHP_FUNCTION(openssl_private_encrypt)
cryptedlen = EVP_PKEY_size(pkey);
cryptedbuf = emalloc(cryptedlen + 1);
@@ -599,7 +609,7 @@ index f8641c6..8bafa98 100644
padding) == cryptedlen);
break;
default:
-@@ -4604,13 +4748,13 @@ PHP_FUNCTION(openssl_private_decrypt)
+@@ -4604,13 +4749,13 @@ PHP_FUNCTION(openssl_private_decrypt)
cryptedlen = EVP_PKEY_size(pkey);
crypttemp = emalloc(cryptedlen + 1);
@@ -615,7 +625,7 @@ index f8641c6..8bafa98 100644
padding);
if (cryptedlen != -1) {
cryptedbuf = emalloc(cryptedlen + 1);
-@@ -4669,13 +4813,13 @@ PHP_FUNCTION(openssl_public_encrypt)
+@@ -4669,13 +4814,13 @@ PHP_FUNCTION(openssl_public_encrypt)
cryptedlen = EVP_PKEY_size(pkey);
cryptedbuf = emalloc(cryptedlen + 1);
@@ -631,7 +641,7 @@ index f8641c6..8bafa98 100644
padding) == cryptedlen);
break;
default:
-@@ -4728,13 +4872,13 @@ PHP_FUNCTION(openssl_public_decrypt)
+@@ -4728,13 +4873,13 @@ PHP_FUNCTION(openssl_public_decrypt)
cryptedlen = EVP_PKEY_size(pkey);
crypttemp = emalloc(cryptedlen + 1);
@@ -647,7 +657,7 @@ index f8641c6..8bafa98 100644
padding);
if (cryptedlen != -1) {
cryptedbuf = emalloc(cryptedlen + 1);
-@@ -4798,7 +4942,7 @@ PHP_FUNCTION(openssl_sign)
+@@ -4798,7 +4943,7 @@ PHP_FUNCTION(openssl_sign)
long keyresource = -1;
char * data;
int data_len;
@@ -656,7 +666,7 @@ index f8641c6..8bafa98 100644
zval *method = NULL;
long signature_algo = OPENSSL_ALGO_SHA1;
const EVP_MD *mdtype;
-@@ -4831,9 +4975,11 @@ PHP_FUNCTION(openssl_sign)
+@@ -4831,9 +4976,11 @@ PHP_FUNCTION(openssl_sign)
siglen = EVP_PKEY_size(pkey);
sigbuf = emalloc(siglen + 1);
@@ -671,7 +681,7 @@ index f8641c6..8bafa98 100644
zval_dtor(signature);
sigbuf[siglen] = '\0';
ZVAL_STRINGL(signature, (char *)sigbuf, siglen, 0);
-@@ -4842,7 +4988,7 @@ PHP_FUNCTION(openssl_sign)
+@@ -4842,7 +4989,7 @@ PHP_FUNCTION(openssl_sign)
efree(sigbuf);
RETVAL_FALSE;
}
@@ -680,7 +690,7 @@ index f8641c6..8bafa98 100644
if (keyresource == -1) {
EVP_PKEY_free(pkey);
}
-@@ -4855,8 +5001,8 @@ PHP_FUNCTION(openssl_verify)
+@@ -4855,8 +5002,8 @@ PHP_FUNCTION(openssl_verify)
{
zval **key;
EVP_PKEY *pkey;
@@ -691,7 +701,7 @@ index f8641c6..8bafa98 100644
const EVP_MD *mdtype;
long keyresource = -1;
char * data; int data_len;
-@@ -4890,10 +5036,13 @@ PHP_FUNCTION(openssl_verify)
+@@ -4890,10 +5037,13 @@ PHP_FUNCTION(openssl_verify)
RETURN_FALSE;
}
@@ -709,7 +719,7 @@ index f8641c6..8bafa98 100644
if (keyresource == -1) {
EVP_PKEY_free(pkey);
-@@ -4917,7 +5066,7 @@ PHP_FUNCTION(openssl_seal)
+@@ -4917,7 +5067,7 @@ PHP_FUNCTION(openssl_seal)
char *method =NULL;
int method_len = 0;
const EVP_CIPHER *cipher;
@@ -718,7 +728,7 @@ index f8641c6..8bafa98 100644
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "szza/|s", &data, &data_len, &sealdata, &ekeys, &pubkeys, &method, &method_len) == FAILURE) {
return;
-@@ -4967,9 +5116,10 @@ PHP_FUNCTION(openssl_seal)
+@@ -4967,9 +5117,10 @@ PHP_FUNCTION(openssl_seal)
i++;
}
@@ -731,7 +741,7 @@ index f8641c6..8bafa98 100644
goto clean_exit;
}
-@@ -4979,17 +5129,17 @@ PHP_FUNCTION(openssl_seal)
+@@ -4979,15 +5130,15 @@ PHP_FUNCTION(openssl_seal)
iv = ivlen ? emalloc(ivlen + 1) : NULL;
#endif
/* allocate one byte extra to make room for \0 */
@@ -740,8 +750,12 @@ index f8641c6..8bafa98 100644
+ buf = emalloc(data_len + EVP_CIPHER_CTX_block_size(ctx));
+ EVP_CIPHER_CTX_cleanup(ctx);
-- if (!EVP_SealInit(&ctx, cipher, eks, eksl, NULL, pkeys, nkeys) || !EVP_SealUpdate(&ctx, buf, &len1, (unsigned char *)data, data_len)) {
-+ if (!EVP_SealInit(ctx, cipher, eks, eksl, NULL, pkeys, nkeys) || !EVP_SealUpdate(ctx, buf, &len1, (unsigned char *)data, data_len)) {
+- if (EVP_SealInit(&ctx, cipher, eks, eksl, NULL, pkeys, nkeys) <= 0 ||
+- !EVP_SealUpdate(&ctx, buf, &len1, (unsigned char *)data, data_len) ||
+- !EVP_SealFinal(&ctx, buf + len1, &len2)) {
++ if (!EVP_SealInit(ctx, cipher, eks, eksl, NULL, pkeys, nkeys) ||
++ !EVP_SealUpdate(ctx, buf, &len1, (unsigned char *)data, data_len) ||
++ !EVP_SealFinal(ctx, buf + len1, &len2)) {
RETVAL_FALSE;
efree(buf);
- EVP_CIPHER_CTX_cleanup(&ctx);
@@ -749,12 +763,7 @@ index f8641c6..8bafa98 100644
goto clean_exit;
}
-- EVP_SealFinal(&ctx, buf + len1, &len2);
-+ EVP_SealFinal(ctx, buf + len1, &len2);
-
- if (len1 + len2 > 0) {
- zval_dtor(sealdata);
-@@ -5018,7 +5168,7 @@ PHP_FUNCTION(openssl_seal)
+@@ -5018,7 +5169,7 @@ PHP_FUNCTION(openssl_seal)
efree(buf);
}
RETVAL_LONG(len1 + len2);
@@ -763,7 +772,7 @@ index f8641c6..8bafa98 100644
clean_exit:
for (i=0; i<nkeys; i++) {
-@@ -5045,7 +5195,7 @@ PHP_FUNCTION(openssl_open)
+@@ -5045,7 +5196,7 @@ PHP_FUNCTION(openssl_open)
int len1, len2;
unsigned char *buf;
long keyresource = -1;
@@ -772,7 +781,7 @@ index f8641c6..8bafa98 100644
char * data; int data_len;
char * ekey; int ekey_len;
char *method =NULL;
-@@ -5074,8 +5224,10 @@ PHP_FUNCTION(openssl_open)
+@@ -5074,8 +5225,10 @@ PHP_FUNCTION(openssl_open)
buf = emalloc(data_len + 1);
@@ -785,7 +794,7 @@ index f8641c6..8bafa98 100644
efree(buf);
RETVAL_FALSE;
} else {
-@@ -5091,7 +5243,7 @@ PHP_FUNCTION(openssl_open)
+@@ -5091,7 +5244,7 @@ PHP_FUNCTION(openssl_open)
if (keyresource == -1) {
EVP_PKEY_free(pkey);
}
@@ -794,7 +803,7 @@ index f8641c6..8bafa98 100644
}
/* }}} */
-@@ -5151,7 +5303,7 @@ PHP_FUNCTION(openssl_digest)
+@@ -5151,7 +5304,7 @@ PHP_FUNCTION(openssl_digest)
char *data, *method;
int data_len, method_len;
const EVP_MD *mdtype;
@@ -803,7 +812,7 @@ index f8641c6..8bafa98 100644
int siglen;
unsigned char *sigbuf;
-@@ -5167,9 +5319,10 @@ PHP_FUNCTION(openssl_digest)
+@@ -5167,9 +5320,10 @@ PHP_FUNCTION(openssl_digest)
siglen = EVP_MD_size(mdtype);
sigbuf = emalloc(siglen + 1);
@@ -817,7 +826,7 @@ index f8641c6..8bafa98 100644
if (raw_output) {
sigbuf[siglen] = '\0';
RETVAL_STRINGL((char *)sigbuf, siglen, 0);
-@@ -5185,6 +5338,8 @@ PHP_FUNCTION(openssl_digest)
+@@ -5185,6 +5339,8 @@ PHP_FUNCTION(openssl_digest)
efree(sigbuf);
RETVAL_FALSE;
}
@@ -826,7 +835,7 @@ index f8641c6..8bafa98 100644
}
/* }}} */
-@@ -5230,7 +5385,7 @@ PHP_FUNCTION(openssl_encrypt)
+@@ -5230,7 +5386,7 @@ PHP_FUNCTION(openssl_encrypt)
char *data, *method, *password, *iv = "";
int data_len, method_len, password_len, iv_len = 0, max_iv_len;
const EVP_CIPHER *cipher_type;
@@ -835,7 +844,7 @@ index f8641c6..8bafa98 100644
int i=0, outlen, keylen;
unsigned char *outbuf, *key;
zend_bool free_iv;
-@@ -5244,6 +5399,12 @@ PHP_FUNCTION(openssl_encrypt)
+@@ -5244,6 +5400,12 @@ PHP_FUNCTION(openssl_encrypt)
RETURN_FALSE;
}
@@ -848,7 +857,7 @@ index f8641c6..8bafa98 100644
keylen = EVP_CIPHER_key_length(cipher_type);
if (keylen > password_len) {
key = emalloc(keylen);
-@@ -5262,19 +5423,19 @@ PHP_FUNCTION(openssl_encrypt)
+@@ -5262,19 +5424,19 @@ PHP_FUNCTION(openssl_encrypt)
outlen = data_len + EVP_CIPHER_block_size(cipher_type);
outbuf = safe_emalloc(outlen, 1, 1);
@@ -874,7 +883,7 @@ index f8641c6..8bafa98 100644
outlen += i;
if (options & OPENSSL_RAW_DATA) {
outbuf[outlen] = '\0';
-@@ -5301,7 +5462,7 @@ PHP_FUNCTION(openssl_encrypt)
+@@ -5301,7 +5463,7 @@ PHP_FUNCTION(openssl_encrypt)
if (free_iv) {
efree(iv);
}
@@ -883,7 +892,7 @@ index f8641c6..8bafa98 100644
}
/* }}} */
-@@ -5313,7 +5474,7 @@ PHP_FUNCTION(openssl_decrypt)
+@@ -5313,7 +5475,7 @@ PHP_FUNCTION(openssl_decrypt)
char *data, *method, *password, *iv = "";
int data_len, method_len, password_len, iv_len = 0;
const EVP_CIPHER *cipher_type;
@@ -892,7 +901,7 @@ index f8641c6..8bafa98 100644
int i, outlen, keylen;
unsigned char *outbuf, *key;
int base64_str_len;
-@@ -5335,10 +5496,17 @@ PHP_FUNCTION(openssl_decrypt)
+@@ -5335,10 +5497,17 @@ PHP_FUNCTION(openssl_decrypt)
RETURN_FALSE;
}
@@ -910,7 +919,7 @@ index f8641c6..8bafa98 100644
RETURN_FALSE;
}
data_len = base64_str_len;
-@@ -5359,17 +5527,17 @@ PHP_FUNCTION(openssl_decrypt)
+@@ -5359,17 +5528,17 @@ PHP_FUNCTION(openssl_decrypt)
outlen = data_len + EVP_CIPHER_block_size(cipher_type);
outbuf = emalloc(outlen + 1);
@@ -934,7 +943,7 @@ index f8641c6..8bafa98 100644
outlen += i;
outbuf[outlen] = '\0';
RETVAL_STRINGL((char *)outbuf, outlen, 0);
-@@ -5386,7 +5554,7 @@ PHP_FUNCTION(openssl_decrypt)
+@@ -5386,7 +5555,7 @@ PHP_FUNCTION(openssl_decrypt)
if (base64_str) {
efree(base64_str);
}
@@ -943,7 +952,7 @@ index f8641c6..8bafa98 100644
}
/* }}} */
-@@ -5424,6 +5592,7 @@ PHP_FUNCTION(openssl_dh_compute_key)
+@@ -5424,6 +5593,7 @@ PHP_FUNCTION(openssl_dh_compute_key)
zval *key;
char *pub_str;
int pub_len;
@@ -951,7 +960,7 @@ index f8641c6..8bafa98 100644
EVP_PKEY *pkey;
BIGNUM *pub;
char *data;
-@@ -5433,14 +5602,20 @@ PHP_FUNCTION(openssl_dh_compute_key)
+@@ -5433,14 +5603,20 @@ PHP_FUNCTION(openssl_dh_compute_key)
return;
}
ZEND_FETCH_RESOURCE(pkey, EVP_PKEY *, &key, -1, "OpenSSL key", le_key);
@@ -1185,31 +1194,5 @@ index 828be8f..06e4e55 100644
*signature_len = phar_hex_str((const char*)sig, sig_len, signature TSRMLS_CC);
--
-2.9.3
-
-From 96201be7ef2732231c0e0103bf588eb0ee12b653 Mon Sep 17 00:00:00 2001
-From: Remi Collet <remi@remirepo.net>
-Date: Wed, 26 Apr 2017 16:27:32 +0200
-Subject: [PATCH] Cherry-pick 6822af2e738698aab9fa34ca0c572309960bcd74
-
----
- ext/openssl/openssl.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
-index 8bafa98..191d570 100644
---- a/ext/openssl/openssl.c
-+++ b/ext/openssl/openssl.c
-@@ -827,7 +827,8 @@ static int add_oid_section(struct php_x509_request * req TSRMLS_DC) /* {{{ */
- }
- for (i = 0; i < sk_CONF_VALUE_num(sktmp); i++) {
- cnf = sk_CONF_VALUE_value(sktmp, i);
-- if (OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) {
-+ if (OBJ_sn2nid(cnf->name) == NID_undef && OBJ_ln2nid(cnf->name) == NID_undef &&
-+ OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "problem creating object %s=%s", cnf->name, cnf->value);
- return FAILURE;
- }
---
-2.9.3
+2.9.4
diff --git a/php.spec b/php.spec
index 6488598..0ecc889 100644
--- a/php.spec
+++ b/php.spec
@@ -59,7 +59,7 @@
%global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock)
-%global oraclever 12.1
+%global oraclever 12.2
# Build for LiteSpeed Web Server (LSAPI)
%global with_lsws 1
@@ -138,11 +138,11 @@
%endif
#global rcver RC1
-%global rpmrel 5
+%global rpmrel 1
Summary: PHP scripting language for creating dynamic web sites
Name: %{?scl_prefix}php
-Version: 5.6.30
+Version: 5.6.31
%if 0%{?rcver:1}
Release: 0.%{rpmrel}.%{rcver}%{?dist}
%else
@@ -176,7 +176,7 @@ Source51: opcache-default.blacklist
# Build fixes
Patch1: php-5.6.30-interbase.patch
-Patch2: php-5.6.30-openssl11.patch
+Patch2: php-5.6.31-openssl11.patch
Patch5: php-5.6.3-includedir.patch
Patch6: php-5.6.3-embed.patch
Patch7: php-5.3.0-recode.patch
@@ -200,6 +200,7 @@ Patch47: php-5.6.3-phpinfo.patch
Patch91: php-5.6.3-oci8conf.patch
# Upstream fixes (100+)
+Patch100: php-5.6.31-oci.patch
# Security fixes (200+)
@@ -900,6 +901,7 @@ support for using the enchant library to PHP.
%patch91 -p1 -b .remi-oci8
# upstream patches
+%patch100 -p1 -b .pdo_oci
# security patches
@@ -1831,6 +1833,10 @@ fi
%changelog
+* Thu Jul 6 2017 Remi Collet <remi@fedoraproject.org> 5.6.31-1
+- Update to 5.6.31 - http://www.php.net/releases/5_6_31.php
+- use oracle instant client version 12.2
+
* Tue Mar 21 2017 Remi Collet <remi@remirepo.net> - 5.6.30-5
- add patch for tests with tzdata 2017.1