diff --git a/Crypt_CHAP-php8.patch b/Crypt_CHAP-php8.patch new file mode 100644 index 0000000..f5afdc7 --- /dev/null +++ b/Crypt_CHAP-php8.patch @@ -0,0 +1,76 @@ +diff -up ./CHAP.php.php8 ./CHAP.php +--- ./CHAP.php.php8 2021-04-07 14:09:32.095768893 +0200 ++++ ./CHAP.php 2021-04-07 14:10:52.476326364 +0200 +@@ -199,7 +199,7 @@ class Crypt_CHAP_MSv1 extends Crypt_CHAP + $uni = ''; + $str = (string) $str; + for ($i = 0; $i < strlen($str); $i++) { +- $a = ord($str{$i}) << 8; ++ $a = ord($str[$i]) << 8; + $uni .= sprintf("%X", $a); + } + return pack('H*', $uni); +@@ -259,23 +259,23 @@ class Crypt_CHAP_MSv1 extends Crypt_CHAP + $hash .= "\0"; + } + +- $td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_ECB, ''); +- $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND); ++ $td = @mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_ECB, ''); ++ $iv = @mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND); + $key = $this->_desAddParity(substr($hash, 0, 7)); +- mcrypt_generic_init($td, $key, $iv); +- $resp1 = mcrypt_generic($td, $this->challenge); +- mcrypt_generic_deinit($td); ++ @mcrypt_generic_init($td, $key, $iv); ++ $resp1 = @mcrypt_generic($td, $this->challenge); ++ @mcrypt_generic_deinit($td); + + $key = $this->_desAddParity(substr($hash, 7, 7)); +- mcrypt_generic_init($td, $key, $iv); +- $resp2 = mcrypt_generic($td, $this->challenge); +- mcrypt_generic_deinit($td); ++ @mcrypt_generic_init($td, $key, $iv); ++ $resp2 = @mcrypt_generic($td, $this->challenge); ++ @mcrypt_generic_deinit($td); + + $key = $this->_desAddParity(substr($hash, 14, 7)); +- mcrypt_generic_init($td, $key, $iv); +- $resp3 = mcrypt_generic($td, $this->challenge); +- mcrypt_generic_deinit($td); +- mcrypt_module_close($td); ++ @mcrypt_generic_init($td, $key, $iv); ++ $resp3 = @mcrypt_generic($td, $this->challenge); ++ @mcrypt_generic_deinit($td); ++ @mcrypt_module_close($td); + + return $resp1 . $resp2 . $resp3; + } +@@ -307,12 +307,12 @@ class Crypt_CHAP_MSv1 extends Crypt_CHAP + function _desHash($plain) + { + $key = $this->_desAddParity($plain); +- $td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_ECB, ''); +- $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND); +- mcrypt_generic_init($td, $key, $iv); +- $hash = mcrypt_generic($td, 'KGS!@#$%'); +- mcrypt_generic_deinit($td); +- mcrypt_module_close($td); ++ $td = @mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_ECB, ''); ++ $iv = @mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND); ++ @mcrypt_generic_init($td, $key, $iv); ++ $hash = @mcrypt_generic($td, 'KGS!@#$%'); ++ @mcrypt_generic_deinit($td); ++ @mcrypt_module_close($td); + return $hash; + } + +@@ -345,7 +345,7 @@ class Crypt_CHAP_MSv1 extends Crypt_CHAP + + $bin = ''; + for ($i = 0; $i < strlen($key); $i++) { +- $bin .= sprintf('%08s', decbin(ord($key{$i}))); ++ $bin .= sprintf('%08s', decbin(ord($key[$i]))); + } + + $str1 = explode('-', substr(chunk_split($bin, 7, '-'), 0, -1)); diff --git a/php-pear-Crypt-CHAP.spec b/php-pear-Crypt-CHAP.spec index 857a1d6..df5120e 100644 --- a/php-pear-Crypt-CHAP.spec +++ b/php-pear-Crypt-CHAP.spec @@ -1,6 +1,6 @@ # remirepo/fedora spec file for php-pear-Crypt-CHAP # -# Copyright (c) 2010-2015 Remi Collet +# Copyright (c) 2010-2021 Remi Collet # Copyright (c) 2006-2009 Christopher Stone # # License: MIT @@ -14,13 +14,15 @@ Name: php-pear-Crypt-CHAP Version: 1.5.0 -Release: 20%{?dist} +Release: 21%{?dist} Summary: Class to generate CHAP packets License: BSD URL: http://pear.php.net/package/Crypt_CHAP Source0: http://pear.php.net/get/%{pear_name}-%{version}.tgz +Patch0: %{pear_name}-php8.patch + BuildArch: noarch BuildRequires: php-pear BuildRequires: php-mcrypt @@ -44,8 +46,8 @@ Currently these types of CHAP are supported: %prep %setup -qc cd %{pear_name}-%{version} -# package.xml is V2 -mv ../package.xml %{name}.xml +%patch0 -p1 -b .php8 +sed -e "s/md5sum=.*name/name/" ../package.xml >%{name}.xml %build @@ -93,6 +95,9 @@ fi %changelog +* Wed Apr 7 2021 Remi Collet - 1.5.0-21 +- add minimal patch for PHP 8 + * Wed Jan 27 2021 Fedora Release Engineering - 1.5.0-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild