Moved wfIsLocallyBlockedProxy() to User::isLocallyBlockedProxy() to put it near other proxy checks. No other call to that function in core or extension.

Also added a check to not execute a part of User::getBlockedStatus() if $ip is null.
This commit is contained in:
Alexandre Emsenhuber 2011-06-19 12:57:31 +00:00
parent 7ea7f9c238
commit e663f9bce6
2 changed files with 33 additions and 34 deletions

View file

@ -179,35 +179,3 @@ function wfProxyCheck() {
$wgMemc->set( $mcKey, 1, $wgProxyMemcExpiry );
}
}
/**
* Check if an IP address is in the local proxy list
* @return bool
*/
function wfIsLocallyBlockedProxy( $ip ) {
global $wgProxyList;
if ( !$wgProxyList ) {
return false;
}
wfProfileIn( __METHOD__ );
if ( !is_array( $wgProxyList ) ) {
# Load from the specified file
$wgProxyList = array_map( 'trim', file( $wgProxyList ) );
}
if ( !is_array( $wgProxyList ) ) {
$ret = false;
} elseif ( array_search( $ip, $wgProxyList ) !== false ) {
$ret = true;
} elseif ( array_key_exists( $ip, $wgProxyList ) ) {
# Old-style flipped proxy list
$ret = true;
} else {
$ret = false;
}
wfProfileOut( __METHOD__ );
return $ret;
}

View file

@ -1220,9 +1220,9 @@ class User {
}
# Proxy blocking
if ( !$this->isAllowed( 'proxyunbannable' ) && !in_array( $ip, $wgProxyWhitelist ) ) {
if ( $ip !== null && !$this->isAllowed( 'proxyunbannable' ) && !in_array( $ip, $wgProxyWhitelist ) ) {
# Local list
if ( wfIsLocallyBlockedProxy( $ip ) ) {
if ( self::isLocallyBlockedProxy( $ip ) ) {
$this->mBlockedby = wfMsg( 'proxyblocker' );
$this->mBlockreason = wfMsg( 'proxyblockreason' );
}
@ -1300,6 +1300,37 @@ class User {
return $found;
}
/**
* Check if an IP address is in the local proxy list
* @return bool
*/
public static function isLocallyBlockedProxy( $ip ) {
global $wgProxyList;
if ( !$wgProxyList ) {
return false;
}
wfProfileIn( __METHOD__ );
if ( !is_array( $wgProxyList ) ) {
# Load from the specified file
$wgProxyList = array_map( 'trim', file( $wgProxyList ) );
}
if ( !is_array( $wgProxyList ) ) {
$ret = false;
} elseif ( array_search( $ip, $wgProxyList ) !== false ) {
$ret = true;
} elseif ( array_key_exists( $ip, $wgProxyList ) ) {
# Old-style flipped proxy list
$ret = true;
} else {
$ret = false;
}
wfProfileOut( __METHOD__ );
return $ret;
}
/**
* Is this user subject to rate limiting?
*