aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Security
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2018-01-14 21:16:06 +0100
committerGitHub <noreply@github.com>2018-01-14 21:16:06 +0100
commitc0c42635465cc2731912f44d3f64eb64edfe77bb (patch)
tree808d9a035f0421dfeda46be4cf96e782398d8d55 /lib/private/Security
parent2ed4bea18f207b6bb498cfa67e04652c3d5e69da (diff)
parentbb2938a47dd86edae5e94bb9e0775250bb0a2aa9 (diff)
downloadnextcloud-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.php16
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;
}
}