From: jenkins-bot Date: Tue, 7 May 2019 17:50:21 +0000 (+0000) Subject: Merge "Fix Block::newLoad for IPv6 range blocks" X-Git-Tag: 1.34.0-rc.0~1780 X-Git-Url: http://git.cyclocoop.org/data/%24%7Bnav_urls/membership/href%7D?a=commitdiff_plain;h=b00ce7312209b885ceefe37b710931eef8f8d901;p=lhc%2Fweb%2Fwiklou.git Merge "Fix Block::newLoad for IPv6 range blocks" --- b00ce7312209b885ceefe37b710931eef8f8d901 diff --cc includes/Block.php index 0d13f7d3a2,3b236038b3..3b2d395a07 --- a/includes/Block.php +++ b/includes/Block.php @@@ -387,11 -388,13 +387,12 @@@ class Block if ( $block->getType() == self::TYPE_RANGE ) { # This is the number of bits that are allowed to vary in the block, give # or take some floating point errors - $end = Wikimedia\base_convert( $block->getRangeEnd(), 16, 10 ); - $start = Wikimedia\base_convert( $block->getRangeStart(), 16, 10 ); + $prefix = 'v6-'; + $end = Wikimedia\base_convert( ltrim( $block->getRangeEnd(), $prefix ), 16, 10 ); + $start = Wikimedia\base_convert( ltrim( $block->getRangeStart(), $prefix ), 16, 10 ); $size = log( $end - $start + 1, 2 ); - # This has the nice property that a /32 block is ranked equally with a - # single-IP block, which is exactly what it is... + # Rank a range block covering a single IP equally with a single-IP block $score = self::TYPE_RANGE - 1 + ( $size / 128 ); } else {