Following the investigation on AbuseFilter for IP Masking, update the following files to reflect the implementation of Temporary Account Users.
ConsequencesExecutor:: specializeParameters()
Define the expiry block by user type
$consParams[$filter][$name] = [ 'expiry' => $user->isRegistered() ? $parameters[2] : $parameters[1], 'blocktalk' => $parameters[0] === 'blocktalk' ];
Suggestion:
'expiry' => $user->isNamed() ? $parameters[2] : $parameters[1]
,
The temp and anon user get the same expiration time for blocks
BlockAutopromote::execute()
Verify user identity before giving them blockautopromote rights
!$target->isRegistered()
Suggestion:
!$target->isNamed()
Don’t let temp and anon users go through the process of getting blockautopromote rights
CheckUserHandler::onCheckUserInsertChangesRow()
if ( $user->isRegistered() && $this->filterUser->getUserIdentity()->getId() == $user->getId() )
Suggestions: $user->isNamed() - The filter user shouldn’t be a temp user.
CheckUserHandler::onCheckUserInsertLogEventRow()
Logs action should only be by a named user
$user->isNamed()
CheckUserHandler:: onCheckUserInsertPrivateEventRow()
Log action should only be by a named user
$user->isNamed()
RCVariableGenerator::addCreateAccountVars()
Case of object type UserIdentity - only can call ->isTemp() and isRegistered
if ( $userIdentity->isRegistered() && $name !== $userIdentity->getName() ) {
$this->addUserVars( $userIdentity, $this->rc );
}
Suggestion:
$userIsNamed = $userIdentity->isRegistered() && !$userIdentity->isTemp()
if ( $userIsNamed && $name !== $userIdentity->getName() ) {
$this->addUserVars( $userIdentity, $this->rc );
}LazyVariableComputer::compute()
if ( !$user->isRegistered() )
Suggestion: !$user->isNamed()
LazyVariableComputerTest::provideUserRelatedVars()
$user->method( 'isRegistered' )->willReturn( true );
Suggestion: $user->method( ‘isNamed )->willReturn( true );
QueryAbuselog::execute()
if ( isset( $params['user'] ) ) {
$u = User::newFromName( $params['user'] );
if ( $u ) {
// Username normalisation
$params['user'] = $u->getName();
$userId = $u->getId();
} elseif ( IPUtils::isIPAddress( $params['user'] ) ) {
// It's an IP, sanitize it
$params['user'] = IPUtils::sanitizeIP( $params['user'] );
$userId = 0;
}
Sanitizing IPs for the logSuggestion: Eventually remove the elseif condition?


