diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e08d63..eae1c5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v4] + +## [v4.0.0] - 2025-01-22 +### Changed +- PHPSecLib v2.0 to v3.0. Updated all imports to use `phpseclib3` + +## [v3] + ## [v3.2.0] - 2023-08-14 ### Added - Support for PHP 8.1 and up diff --git a/composer.json b/composer.json index e332b08..bcc3367 100644 --- a/composer.json +++ b/composer.json @@ -24,6 +24,6 @@ "require": { "php": "^7.4||^8.1", "dxw/result": "^1.0", - "phpseclib/phpseclib": "^2.0" + "phpseclib/phpseclib": "~3.0" } } diff --git a/spec/ipv4address.spec.php b/spec/ipv4address.spec.php index 55756d8..8752fe0 100644 --- a/spec/ipv4address.spec.php +++ b/spec/ipv4address.spec.php @@ -41,7 +41,7 @@ describe('::FromBinary()', function () { it('handles correct addresses (small)', function () { - $result = \Dxw\CIDR\IPv4Address::FromBinary(new \phpseclib\Math\BigInteger(1)); + $result = \Dxw\CIDR\IPv4Address::FromBinary(new \phpseclib3\Math\BigInteger(1)); expect($result->isErr())->toEqual(false); expect($result->unwrap())->toBeAnInstanceOf(\Dxw\CIDR\IPv4Address::class); @@ -49,7 +49,7 @@ }); it('handles correct addresses (large)', function () { - $result = \Dxw\CIDR\IPv4Address::FromBinary(new \phpseclib\Math\BigInteger('ffffffff', 16)); + $result = \Dxw\CIDR\IPv4Address::FromBinary(new \phpseclib3\Math\BigInteger('ffffffff', 16)); expect($result->isErr())->toEqual(false); expect($result->unwrap())->toBeAnInstanceOf(\Dxw\CIDR\IPv4Address::class); @@ -57,14 +57,14 @@ }); it('handles broken addresses (too large)', function () { - $result = \Dxw\CIDR\IPv4Address::FromBinary(new \phpseclib\Math\BigInteger('100000000', 16)); + $result = \Dxw\CIDR\IPv4Address::FromBinary(new \phpseclib3\Math\BigInteger('100000000', 16)); expect($result->isErr())->toEqual(true); expect($result->getErr())->toEqual('address size cannot exceed 32 bytes'); }); it('handles broken addresses (negative)', function () { - $result = \Dxw\CIDR\IPv4Address::FromBinary(new \phpseclib\Math\BigInteger(-1)); + $result = \Dxw\CIDR\IPv4Address::FromBinary(new \phpseclib3\Math\BigInteger(-1)); expect($result->isErr())->toEqual(true); expect($result->getErr())->toEqual('address cannot be negative'); @@ -75,7 +75,7 @@ it('returns a binary representation', function () { $address = \Dxw\CIDR\IPv4Address::Make('127.0.0.1')->unwrap(); - expect($address->getBinary())->toBeAnInstanceOf(\phpseclib\Math\BigInteger::class); + expect($address->getBinary())->toBeAnInstanceOf(\phpseclib3\Math\BigInteger::class); expect($address->getBinary()->toHex())->toEqual( '7f000001' ); diff --git a/spec/ipv4block.spec.php b/spec/ipv4block.spec.php index d321bcc..428efd4 100644 --- a/spec/ipv4block.spec.php +++ b/spec/ipv4block.spec.php @@ -29,7 +29,7 @@ it('returns a binary representation for /32', function () { $block = \Dxw\CIDR\IPv4Block::Make(32)->unwrap(); - expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib\Math\BigInteger::class); + expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib3\Math\BigInteger::class); expect($block->getNetmask()->toHex())->toEqual( 'ffffffff' ); @@ -38,7 +38,7 @@ it('returns a binary representation for /0', function () { $block = \Dxw\CIDR\IPv4Block::Make(0)->unwrap(); - expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib\Math\BigInteger::class); + expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib3\Math\BigInteger::class); expect($block->getNetmask()->toHex())->toEqual( '' ); @@ -47,7 +47,7 @@ it('returns a binary representation for /8', function () { $block = \Dxw\CIDR\IPv4Block::Make(8)->unwrap(); - expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib\Math\BigInteger::class); + expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib3\Math\BigInteger::class); expect($block->getNetmask()->toHex())->toEqual( 'ff000000' ); @@ -56,7 +56,7 @@ it('returns a binary representation for /9', function () { $block = \Dxw\CIDR\IPv4Block::Make(9)->unwrap(); - expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib\Math\BigInteger::class); + expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib3\Math\BigInteger::class); expect($block->getNetmask()->toHex())->toEqual( 'ff800000' ); diff --git a/spec/ipv6address.spec.php b/spec/ipv6address.spec.php index 428d3fc..34d5a95 100644 --- a/spec/ipv6address.spec.php +++ b/spec/ipv6address.spec.php @@ -43,7 +43,7 @@ describe('::FromBinary()', function () { it('handles correct addresses (small)', function () { - $result = \Dxw\CIDR\IPv6Address::FromBinary(new \phpseclib\Math\BigInteger(1)); + $result = \Dxw\CIDR\IPv6Address::FromBinary(new \phpseclib3\Math\BigInteger(1)); expect($result->isErr())->toEqual(false); expect($result->unwrap())->toBeAnInstanceOf(\Dxw\CIDR\IPv6Address::class); @@ -51,7 +51,7 @@ }); it('handles correct addresses (large)', function () { - $result = \Dxw\CIDR\IPv6Address::FromBinary(new \phpseclib\Math\BigInteger('ffffffffffffffffffffffffffffffff', 16)); + $result = \Dxw\CIDR\IPv6Address::FromBinary(new \phpseclib3\Math\BigInteger('ffffffffffffffffffffffffffffffff', 16)); expect($result->isErr())->toEqual(false); expect($result->unwrap())->toBeAnInstanceOf(\Dxw\CIDR\IPv6Address::class); @@ -59,14 +59,14 @@ }); it('handles broken addresses (too large)', function () { - $result = \Dxw\CIDR\IPv6Address::FromBinary(new \phpseclib\Math\BigInteger('100000000000000000000000000000000', 16)); + $result = \Dxw\CIDR\IPv6Address::FromBinary(new \phpseclib3\Math\BigInteger('100000000000000000000000000000000', 16)); expect($result->isErr())->toEqual(true); expect($result->getErr())->toEqual('address size cannot exceed 128 bytes'); }); it('handles broken addresses (negative)', function () { - $result = \Dxw\CIDR\IPv6Address::FromBinary(new \phpseclib\Math\BigInteger(-1)); + $result = \Dxw\CIDR\IPv6Address::FromBinary(new \phpseclib3\Math\BigInteger(-1)); expect($result->isErr())->toEqual(true); expect($result->getErr())->toEqual('address cannot be negative'); @@ -77,7 +77,7 @@ it('returns a binary representation', function () { $address = \Dxw\CIDR\IPv6Address::Make('::1')->unwrap(); - expect($address->getBinary())->toBeAnInstanceOf(\phpseclib\Math\BigInteger::class); + expect($address->getBinary())->toBeAnInstanceOf(\phpseclib3\Math\BigInteger::class); expect($address->getBinary()->toHex())->toEqual( '01' ); @@ -87,7 +87,7 @@ it('returns a binary representation for IPv4-compatible addresses', function () { $address = \Dxw\CIDR\IPv6Address::Make('::127.0.0.1')->unwrap(); - expect($address->getBinary())->toBeAnInstanceOf(\phpseclib\Math\BigInteger::class); + expect($address->getBinary())->toBeAnInstanceOf(\phpseclib3\Math\BigInteger::class); expect($address->getBinary()->toHex())->toEqual( '7f000001' ); @@ -97,7 +97,7 @@ it('returns a binary representation for IPv4-mapped addresses', function () { $address = \Dxw\CIDR\IPv6Address::Make('::ffff:127.0.0.1')->unwrap(); - expect($address->getBinary())->toBeAnInstanceOf(\phpseclib\Math\BigInteger::class); + expect($address->getBinary())->toBeAnInstanceOf(\phpseclib3\Math\BigInteger::class); expect($address->getBinary()->toHex())->toEqual( 'ffff7f000001' ); diff --git a/spec/ipv6block.spec.php b/spec/ipv6block.spec.php index 0602942..7ffbd22 100644 --- a/spec/ipv6block.spec.php +++ b/spec/ipv6block.spec.php @@ -29,7 +29,7 @@ it('returns a binary representation for /32', function () { $block = \Dxw\CIDR\IPv6Block::Make(32)->unwrap(); - expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib\Math\BigInteger::class); + expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib3\Math\BigInteger::class); expect($block->getNetmask()->toHex())->toEqual( 'ffffffff000000000000000000000000' ); @@ -38,7 +38,7 @@ it('returns a binary representation for /0', function () { $block = \Dxw\CIDR\IPv6Block::Make(0)->unwrap(); - expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib\Math\BigInteger::class); + expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib3\Math\BigInteger::class); expect($block->getNetmask()->toHex())->toEqual( '' ); @@ -47,7 +47,7 @@ it('returns a binary representation for /8', function () { $block = \Dxw\CIDR\IPv6Block::Make(8)->unwrap(); - expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib\Math\BigInteger::class); + expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib3\Math\BigInteger::class); expect($block->getNetmask()->toHex())->toEqual( 'ff000000000000000000000000000000' ); @@ -56,7 +56,7 @@ it('returns a binary representation for /9', function () { $block = \Dxw\CIDR\IPv6Block::Make(9)->unwrap(); - expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib\Math\BigInteger::class); + expect($block->getNetmask())->toBeAnInstanceOf(\phpseclib3\Math\BigInteger::class); expect($block->getNetmask()->toHex())->toEqual( 'ff800000000000000000000000000000' ); diff --git a/src/AddressBase.php b/src/AddressBase.php index 6062321..167c078 100644 --- a/src/AddressBase.php +++ b/src/AddressBase.php @@ -39,9 +39,9 @@ public function __toString(): string return $value; } - public static function FromBinary(\phpseclib\Math\BigInteger $binary): \Dxw\Result\Result + public static function FromBinary(\phpseclib3\Math\BigInteger $binary): \Dxw\Result\Result { - if ($binary->compare(new \phpseclib\Math\BigInteger(0)) < 0) { + if ($binary->compare(new \phpseclib3\Math\BigInteger(0)) < 0) { return \Dxw\Result\Result::err('address cannot be negative'); } @@ -58,8 +58,8 @@ public static function FromBinary(\phpseclib\Math\BigInteger $binary): \Dxw\Resu return \Dxw\Result\Result::ok(new static($bytes)); } - public function getBinary(): \phpseclib\Math\BigInteger + public function getBinary(): \phpseclib3\Math\BigInteger { - return new \phpseclib\Math\BigInteger($this->address, 256); + return new \phpseclib3\Math\BigInteger($this->address, 256); } } diff --git a/src/BlockBase.php b/src/BlockBase.php index af3f344..58a3625 100644 --- a/src/BlockBase.php +++ b/src/BlockBase.php @@ -33,7 +33,7 @@ public function getValue(): int return $this->value; } - public function getNetmask(): \phpseclib\Math\BigInteger + public function getNetmask(): \phpseclib3\Math\BigInteger { $i = $this->value; $s = ''; @@ -44,7 +44,7 @@ public function getNetmask(): \phpseclib\Math\BigInteger $s .= '0'; } - return new \phpseclib\Math\BigInteger($s, 2); + return new \phpseclib3\Math\BigInteger($s, 2); } public function __toString(): string