From 13881b09d4ceac5c96fca5b59c333afd493a44cd Mon Sep 17 00:00:00 2001 From: terrafrost Date: Sat, 11 Dec 2021 10:19:39 -0600 Subject: [PATCH] Travis: add PHP 8.1 support See https://bugs.php.net/75474#1509646645 for more info on the static change --- .travis.yml | 35 ++++++++++++++--------- phpseclib/Crypt/EC/Formats/Keys/XML.php | 4 ++- phpseclib/Math/BigInteger/Engines/PHP.php | 5 ++++ 3 files changed, 29 insertions(+), 15 deletions(-) diff --git a/.travis.yml b/.travis.yml index 30b3d3de..0fba2129 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,23 +1,30 @@ language: php -dist: xenial - -php: - - 5.6 - - 7.0 - - 7.1 - - 7.2 - - 7.3 - - 7.4 - - 8.0 - - nightly - -before_install: true - matrix: + include: + - php: 5.6 + dist: xenial + - php: 7.0 + dist: xenial + - php: 7.1 + dist: xenial + - php: 7.2 + dist: xenial + - php: 7.3 + dist: xenial + - php: 7.4 + dist: xenial + - php: 8.0 + dist: bionic + - php: 8.1.0 + dist: bionic + - php: nightly + dist: bionic allow_failures: - php: nightly +before_install: true + install: - phpenv config-rm xdebug.ini - eval `ssh-agent -s` diff --git a/phpseclib/Crypt/EC/Formats/Keys/XML.php b/phpseclib/Crypt/EC/Formats/Keys/XML.php index d6d8018a..d2e6fdda 100644 --- a/phpseclib/Crypt/EC/Formats/Keys/XML.php +++ b/phpseclib/Crypt/EC/Formats/Keys/XML.php @@ -152,7 +152,9 @@ abstract class XML } $node = $nodes->item(0); $ns_name = $node->lookupPrefix($ns); - $node->removeAttributeNS($ns, $ns_name); + if ($ns_name) { + $node->removeAttributeNS($ns, $ns_name); + } return $dom->saveXML($node); } diff --git a/phpseclib/Math/BigInteger/Engines/PHP.php b/phpseclib/Math/BigInteger/Engines/PHP.php index 63705f9f..599f967a 100644 --- a/phpseclib/Math/BigInteger/Engines/PHP.php +++ b/phpseclib/Math/BigInteger/Engines/PHP.php @@ -578,6 +578,11 @@ abstract class PHP extends Engine $lhs = new static(); $rhs = new static(); } + if (static::class != get_class($temp)) { + $temp = new static(); + $lhs = new static(); + $rhs = new static(); + } $temp_value = &$temp->value; $rhs_value = &$rhs->value;