From 3c7d6d57dbdd8440ae915cbdf3e21016e97d905b Mon Sep 17 00:00:00 2001 From: Caleb Mazalevskis Date: Thu, 3 Aug 2023 21:46:11 +0800 Subject: [PATCH] Bug-fix (CIDRAM/CIDRAM#486). Changelog excerpt: - The aggregator's constructTables method was constructing the wrong IPv6 netmask for last hextet; Fixed. --- Changelog.txt | 3 +++ src/Aggregator.php | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index fd87bdb..ea2ae27 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -20,6 +20,9 @@ Versioning guidelines for SemVer can be found at: https://semver.org/ - [2022.12.09; Maikuolan]: Avoid packaging unnecessary files into dist. +- [2023.08.03; Bug-fix; neufeind]: The aggregator's constructTables method was + constructing the wrong IPv6 netmask for last hextet; Fixed. + === Version/Release 1.3.3 === PATCH RELEASE. diff --git a/src/Aggregator.php b/src/Aggregator.php index 8858834..885bb29 100644 --- a/src/Aggregator.php +++ b/src/Aggregator.php @@ -1,6 +1,6 @@ 0; $Octet--) { $Base = str_repeat('ffff:', $Octet - 1); - $End = ($Octet === 8) ? ':0' : '::'; + $End = ($Octet === 8) ? '' : '::'; for ($Addresses = 1, $Iterate = 0; $Iterate < 16; $Iterate++, $Addresses *= 2, $CIDR--) { $Netmask = $Base . (dechex(65536 - $Addresses)) . $End; $this->TableNetmaskIPv6[$CIDR] = $Netmask;