From 48196da9a20dac65e2034d27108aa603673042a1 Mon Sep 17 00:00:00 2001 From: Tayeb B Date: Tue, 16 Sep 2025 13:36:09 +0200 Subject: [PATCH] Fix php >= 8.0 deprecations --- .gitignore | 15 +++++++++++++++ src/Eher/OAuth/Consumer.php | 11 +++++++---- src/Eher/OAuth/RsaSha1.php | 30 +++++++++++++++++++++--------- 3 files changed, 43 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index eeeaea3..8f47ea3 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,18 @@ composer.phar composer.lock vendor + +### PHPUnit ### +# Covers PHPUnit +# Reference: https://phpunit.de/ + +# Generated files +.phpunit.result.cache +.phpunit.cache + +# PHPUnit +/app/phpunit.xml +/phpunit.xml + +# Build data +/build/ \ No newline at end of file diff --git a/src/Eher/OAuth/Consumer.php b/src/Eher/OAuth/Consumer.php index 44dbc59..2e8c5fa 100644 --- a/src/Eher/OAuth/Consumer.php +++ b/src/Eher/OAuth/Consumer.php @@ -2,18 +2,21 @@ namespace Eher\OAuth; -class Consumer { +class Consumer +{ public $key; public $secret; + public $callback_url; - function __construct($key, $secret, $callback_url=NULL) { + function __construct($key, $secret, $callback_url = NULL) + { $this->key = $key; $this->secret = $secret; $this->callback_url = $callback_url; } - function __toString() { + function __toString() + { return "Consumer[key=$this->key,secret=$this->secret]"; } } - diff --git a/src/Eher/OAuth/RsaSha1.php b/src/Eher/OAuth/RsaSha1.php index a749ce3..afb01d7 100644 --- a/src/Eher/OAuth/RsaSha1.php +++ b/src/Eher/OAuth/RsaSha1.php @@ -10,8 +10,10 @@ * specification. * - Chapter 9.3 ("RSA-SHA1") */ -abstract class RsaSha1 extends SignatureMethod { - public function get_name() { +abstract class RsaSha1 extends SignatureMethod +{ + public function get_name() + { return "RSA-SHA1"; } @@ -29,7 +31,8 @@ protected abstract function fetch_public_cert(&$request); // Either way should return a string representation of the certificate protected abstract function fetch_private_cert(&$request); - public function build_signature($request, $consumer, $token) { + public function build_signature($request, $consumer, $token) + { $base_string = $request->get_signature_base_string(); $request->base_string = $base_string; @@ -40,15 +43,20 @@ public function build_signature($request, $consumer, $token) { $privatekeyid = openssl_get_privatekey($cert); // Sign using the key - $ok = openssl_sign($base_string, $signature, $privatekeyid); + openssl_sign($base_string, $signature, $privatekeyid); - // Release the key resource - openssl_free_key($privatekeyid); + if (PHP_MAJOR_VERSION < 8) { + // Release the key resource + openssl_free_key($privatekeyid); + } else { + unset($privatekeyid); + } return base64_encode($signature); } - public function check_signature($request, $consumer, $token, $signature) { + public function check_signature($request, $consumer, $token, $signature) + { $decoded_sig = base64_decode($signature); $base_string = $request->get_signature_base_string(); @@ -62,8 +70,12 @@ public function check_signature($request, $consumer, $token, $signature) { // Check the computed signature against the one passed in the query $ok = openssl_verify($base_string, $decoded_sig, $publickeyid); - // Release the key resource - openssl_free_key($publickeyid); + if (PHP_MAJOR_VERSION < 8) { + // Release the key resource + openssl_free_key($publickeyid); + } else { + unset($privatekeyid); + } return $ok == 1; }