From b5838c5248b23895e75da1c56026d89b21c6245c Mon Sep 17 00:00:00 2001
From: Lukas Reschke <lukas@statuscode.ch>
Date: Wed, 7 Apr 2021 12:07:08 +0000
Subject: [PATCH] Increase subnet matcher

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
---
 lib/private/Security/Normalizer/IpAddress.php   |  4 ++--
 tests/lib/Security/Normalizer/IpAddressTest.php | 12 ++++++++++--
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/lib/private/Security/Normalizer/IpAddress.php b/lib/private/Security/Normalizer/IpAddress.php
index cbfc212e1ce..0a3606de28a 100644
--- a/lib/private/Security/Normalizer/IpAddress.php
+++ b/lib/private/Security/Normalizer/IpAddress.php
@@ -93,7 +93,7 @@ class IpAddress {
 	}
 
 	/**
-	 * Gets either the /32 (IPv4) or the /128 (IPv6) subnet of an IP address
+	 * Gets either the /32 (IPv4) or the /64 (IPv6) subnet of an IP address
 	 *
 	 * @return string
 	 */
@@ -106,7 +106,7 @@ class IpAddress {
 		}
 		return $this->getIPv6Subnet(
 			$this->ip,
-			128
+			64
 		);
 	}
 
diff --git a/tests/lib/Security/Normalizer/IpAddressTest.php b/tests/lib/Security/Normalizer/IpAddressTest.php
index 16be71cb225..044fc52b4b9 100644
--- a/tests/lib/Security/Normalizer/IpAddressTest.php
+++ b/tests/lib/Security/Normalizer/IpAddressTest.php
@@ -37,11 +37,19 @@ class IpAddressTest extends TestCase {
 			],
 			[
 				'2001:0db8:85a3:0000:0000:8a2e:0370:7334',
-				'2001:db8:85a3::8a2e:370:7334/128',
+				'2001:db8:85a3::/64',
+			],
+			[
+				'2001:db8:3333:4444:5555:6666:7777:8888',
+				'2001:db8:3333:4444::/64',
+			],
+			[
+				'::1234:5678',
+				'::/64',
 			],
 			[
 				'[::1]',
-				'::1/128',
+				'::/64',
 			],
 		];
 	}
-- 
GitLab