Hoo man has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/55828


Change subject: Make use of the user_timestamp index in ApiQueryAbuseLog
......................................................................

Make use of the user_timestamp index in ApiQueryAbuseLog

Furthermore sanitize IPs as ::01 == ::1

Change-Id: I91489d17c012004f607bbe571b9a2702afbf3d81
---
M api/ApiQueryAbuseLog.php
1 file changed, 20 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/AbuseFilter 
refs/changes/28/55828/1

diff --git a/api/ApiQueryAbuseLog.php b/api/ApiQueryAbuseLog.php
index 7bb12ee..ea0a3d9 100644
--- a/api/ApiQueryAbuseLog.php
+++ b/api/ApiQueryAbuseLog.php
@@ -105,7 +105,26 @@
                $db = $this->getDB();
                $notDeletedCond = SpecialAbuseLog::getNotDeletedCond($db);
 
-               $this->addWhereIf( array( 'afl_user_text' => $params['user'] ), 
isset( $params['user'] ) );
+               if ( isset( $params['user'] ) ) {
+                       $u = User::newFromName( $params['user'] );
+                       if ( $u ) {
+                               // Username normalisation
+                               $params['user'] = $u->getName();
+                               $userId = $u->getId();
+                       } elseif( IP::isIPAddress( $params['user'] ) ) {
+                               // It's an IP, sanitize it
+                               $params['user'] = IP::sanitizeIP( 
$params['user'] );
+                               $userId = 0;
+                       }
+
+                       $this->addWhere(
+                               array(
+                                       'afl_user' => $userId,
+                                       'afl_user_text' => $params['user']
+                               )
+                       );
+               }
+
                $this->addWhereIf( array( 'afl_filter' => $params['filter'] ), 
isset( $params['filter'] ) );
                $this->addWhereIf( $notDeletedCond, 
!SpecialAbuseLog::canSeeHidden( $user ) );
 

-- 
To view, visit https://gerrit.wikimedia.org/r/55828
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I91489d17c012004f607bbe571b9a2702afbf3d81
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/AbuseFilter
Gerrit-Branch: master
Gerrit-Owner: Hoo man <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to