jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/319785 )
Change subject: Use IPSet for matching IPv6 ranges ...................................................................... Use IPSet for matching IPv6 ranges Change-Id: I98ca8943ac9430eaf4690e2fb174fbef7718f966 --- M TrustedXFF.body.php 1 file changed, 10 insertions(+), 5 deletions(-) Approvals: Reedy: Looks good to me, approved jenkins-bot: Verified diff --git a/TrustedXFF.body.php b/TrustedXFF.body.php index d907ed5..4042400 100644 --- a/TrustedXFF.body.php +++ b/TrustedXFF.body.php @@ -1,6 +1,7 @@ <?php use Cdb\Reader as CdbReader; +use IPSet\IPSet; class TrustedXFF { static $instance; @@ -24,6 +25,11 @@ $wgTrustedXffFile = $IP . '/cache/trusted-xff.cdb'; } } + + /** + * @var IPSet|null + */ + private static $ipv6Set; /** * @param string $ip @@ -80,12 +86,11 @@ // Try IPv6 ranges if ( substr( $hex, 0, 2 ) === 'v6' ) { - foreach ( self::$ipv6Ranges as $range ) { - list( $start, $end ) = IP::parseRange( $range ); - if ( $hex >= $start && $hex <= $end ) { - return true; - } + if ( !self::$ipv6Set ) { + self::$ipv6Set = new IPSet( self::$ipv6Ranges ); } + + return self::$ipv6Set->match( $ip ); } return false; -- To view, visit https://gerrit.wikimedia.org/r/319785 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I98ca8943ac9430eaf4690e2fb174fbef7718f966 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/TrustedXFF Gerrit-Branch: master Gerrit-Owner: Legoktm <lego...@member.fsf.org> Gerrit-Reviewer: Reedy <re...@wikimedia.org> Gerrit-Reviewer: Tim Starling <tstarl...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits