diff options
author | Morris Jobke <hey@morrisjobke.de> | 2018-01-14 21:16:06 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-14 21:16:06 +0100 |
commit | c0c42635465cc2731912f44d3f64eb64edfe77bb (patch) | |
tree | 808d9a035f0421dfeda46be4cf96e782398d8d55 /lib/private/Security | |
parent | 2ed4bea18f207b6bb498cfa67e04652c3d5e69da (diff) | |
parent | bb2938a47dd86edae5e94bb9e0775250bb0a2aa9 (diff) | |
download | nextcloud-server-c0c42635465cc2731912f44d3f64eb64edfe77bb.tar.gz nextcloud-server-c0c42635465cc2731912f44d3f64eb64edfe77bb.zip |
Merge pull request #7850 from nextcloud/strict_ipaddress
Make IPAddress typed and strict
Diffstat (limited to 'lib/private/Security')
-rw-r--r-- | lib/private/Security/Normalizer/IpAddress.php | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/private/Security/Normalizer/IpAddress.php b/lib/private/Security/Normalizer/IpAddress.php index e9bb0be34cc..84c87054c76 100644 --- a/lib/private/Security/Normalizer/IpAddress.php +++ b/lib/private/Security/Normalizer/IpAddress.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); /** * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch> * @@ -36,7 +37,7 @@ class IpAddress { /** * @param string $ip IP to normalized */ - public function __construct($ip) { + public function __construct(string $ip) { $this->ip = $ip; } @@ -47,13 +48,12 @@ class IpAddress { * @param int $maskBits * @return string */ - private function getIPv4Subnet($ip, - $maskBits = 32) { + private function getIPv4Subnet(string $ip, int $maskBits = 32): string { $binary = \inet_pton($ip); for ($i = 32; $i > $maskBits; $i -= 8) { $j = \intdiv($i, 8) - 1; $k = (int) \min(8, $i - $maskBits); - $mask = (0xff - ((pow(2, $k)) - 1)); + $mask = (0xff - ((2 ** $k) - 1)); $int = \unpack('C', $binary[$j]); $binary[$j] = \pack('C', $int[1] & $mask); } @@ -67,12 +67,12 @@ class IpAddress { * @param int $maskBits * @return string */ - private function getIPv6Subnet($ip, $maskBits = 48) { + private function getIPv6Subnet(string $ip, int $maskBits = 48): string { $binary = \inet_pton($ip); for ($i = 128; $i > $maskBits; $i -= 8) { $j = \intdiv($i, 8) - 1; $k = (int) \min(8, $i - $maskBits); - $mask = (0xff - ((pow(2, $k)) - 1)); + $mask = (0xff - ((2 ** $k) - 1)); $int = \unpack('C', $binary[$j]); $binary[$j] = \pack('C', $int[1] & $mask); } @@ -84,7 +84,7 @@ class IpAddress { * * @return string */ - public function getSubnet() { + public function getSubnet(): string { if (\preg_match('/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/', $this->ip)) { return $this->getIPv4Subnet( $this->ip, @@ -102,7 +102,7 @@ class IpAddress { * * @return string */ - public function __toString() { + public function __toString(): string { return $this->ip; } } |