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 <[email protected]>
Gerrit-Reviewer: Reedy <[email protected]>
Gerrit-Reviewer: Tim Starling <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits