From b9b85843572bf283f48285001e276ba7e61b63f6 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sun, 22 Feb 2009 13:37:51 +0100 Subject: updated to MediaWiki 1.14.0 --- includes/ProxyTools.php | 58 +++++-------------------------------------------- 1 file changed, 6 insertions(+), 52 deletions(-) (limited to 'includes/ProxyTools.php') diff --git a/includes/ProxyTools.php b/includes/ProxyTools.php index 0f010421..771fd577 100644 --- a/includes/ProxyTools.php +++ b/includes/ProxyTools.php @@ -67,7 +67,7 @@ function wfGetAgent() { * @return string */ function wfGetIP() { - global $wgIP; + global $wgIP, $wgUsePrivateIPs; # Return cached result if ( !empty( $wgIP ) ) { @@ -97,8 +97,10 @@ function wfGetIP() { foreach ( $ipchain as $i => $curIP ) { $curIP = IP::canonicalize( $curIP ); if ( wfIsTrustedProxy( $curIP ) ) { - if ( isset( $ipchain[$i + 1] ) && IP::isPublic( $ipchain[$i + 1] ) ) { - $ip = $ipchain[$i + 1]; + if ( isset( $ipchain[$i + 1] ) ) { + if( $wgUsePrivateIPs || IP::isPublic( $ipchain[$i + 1 ] ) ) { + $ip = $ipchain[$i + 1]; + } } } else { break; @@ -121,8 +123,7 @@ function wfIsTrustedProxy( $ip ) { global $wgSquidServers, $wgSquidServersNoPurge; if ( in_array( $ip, $wgSquidServers ) || - in_array( $ip, $wgSquidServersNoPurge ) || - wfIsAOLProxy( $ip ) + in_array( $ip, $wgSquidServersNoPurge ) ) { $trusted = true; } else { @@ -212,50 +213,3 @@ function wfIsLocallyBlockedProxy( $ip ) { return $ret; } -/** - * TODO: move this list to the database in a global IP info table incorporating - * trusted ISP proxies, blocked IP addresses and open proxies. - * @return bool - */ -function wfIsAOLProxy( $ip ) { - # From http://webmaster.info.aol.com/proxyinfo.html - $ranges = array( - '64.12.96.0/19', - '149.174.160.0/20', - '152.163.240.0/21', - '152.163.248.0/22', - '152.163.252.0/23', - '152.163.96.0/22', - '152.163.100.0/23', - '195.93.32.0/22', - '195.93.48.0/22', - '195.93.64.0/19', - '195.93.96.0/19', - '195.93.16.0/20', - '198.81.0.0/22', - '198.81.16.0/20', - '198.81.8.0/23', - '202.67.64.128/25', - '205.188.192.0/20', - '205.188.208.0/23', - '205.188.112.0/20', - '205.188.146.144/30', - '207.200.112.0/21', - ); - - static $parsedRanges; - if ( is_null( $parsedRanges ) ) { - $parsedRanges = array(); - foreach ( $ranges as $range ) { - $parsedRanges[] = IP::parseRange( $range ); - } - } - - $hex = IP::toHex( $ip ); - foreach ( $parsedRanges as $range ) { - if ( $hex >= $range[0] && $hex <= $range[1] ) { - return true; - } - } - return false; -} -- cgit v1.2.3-54-g00ecf