jenkins-bot has submitted this change and it was merged.

Change subject: Add "user_wpzero" AbuseFilter variable
......................................................................


Add "user_wpzero" AbuseFilter variable

This adds a variable to the AbuseFilter system allowing administrators
to filter based on whether an edit was made using a connection from a
Wikipedia Zero carrier or not. It checks for the presence of a
'X-Carrier' header, which is set by Varnish.

Any filter hit will log whether the editor was editing over a Wikipedia
Zero carrier, but not any details of specific carriers. Conceptually
this is similar to the "tor_exit_node" variable added by the TorBlock
extension.

Bug: T131211
Change-Id: I6e307866e00ef56fcd02af24fc2527e950bf5132
---
M WikimediaEventsHooks.php
M extension.json
M i18n/en.json
M i18n/qqq.json
4 files changed, 36 insertions(+), 2 deletions(-)

Approvals:
  Bartosz Dziewoński: Looks good to me, approved
  Siebrand: Looks good to me, but someone else must approve
  BBlack: Looks good to me, but someone else must approve
  jenkins-bot: Verified



diff --git a/WikimediaEventsHooks.php b/WikimediaEventsHooks.php
index 7f70a97..31d5479 100644
--- a/WikimediaEventsHooks.php
+++ b/WikimediaEventsHooks.php
@@ -516,4 +516,30 @@
                        }
                } );
        }
+
+       /**
+        * AbuseFilter-GenerateUserVars hook handler
+        *
+        * @param AbuseFilterVariableHolder $vars
+        * @param User $user object
+        */
+       public static function onAbuseFilterGenerateUserVars( $vars, $user ) {
+               global $wgRequest;
+
+               $vars->setVar(
+                       'user_wpzero',
+                       $wgRequest->getHeader( 'X-Carrier' ) !== false
+               );
+       }
+
+       /**
+        * AbuseFilter-builder hook handler
+        *
+        * @param array $builder
+        * @return bool
+        */
+       public static function onAbuseFilterBuilder( &$builder ) {
+               $builder['vars']['user_wpzero'] = 'user-wpzero';
+       }
+
 }
diff --git a/extension.json b/extension.json
index 207f9ed..c33622c 100644
--- a/extension.json
+++ b/extension.json
@@ -63,6 +63,12 @@
                ],
                "RevisionInsertComplete": [
                        "WikimediaEventsHooks::onRevisionInsertComplete"
+               ],
+               "AbuseFilter-generateUserVars": [
+                       "WikimediaEventsHooks::onAbuseFilterGenerateUserVars"
+               ],
+               "AbuseFilter-builder": [
+                       "WikimediaEventsHooks::onAbuseFilterBuilder"
                ]
        },
        "MessagesDirs": {
diff --git a/i18n/en.json b/i18n/en.json
index 04504c5..afc91d4 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -12,5 +12,6 @@
        "tag-cross-wiki-upload-3": "-",
        "tag-cross-wiki-upload-4": "-",
        "tag-HHVM": "[[mw:Special:MyLanguage/HHVM/About|HHVM]]",
-       "tag-HHVM-description": "Revisions made with the HipHop Virtual Machine 
enabled instead of the Zend PHP interpreter (expected to improve performance, 
tagged for debugging/analysis)"
+       "tag-HHVM-description": "Revisions made with the HipHop Virtual Machine 
enabled instead of the Zend PHP interpreter (expected to improve performance, 
tagged for debugging/analysis)",
+       "abusefilter-edit-builder-vars-user-wpzero": "Whether or not a user is 
editing through a zero-rated carrier via Wikipedia Zero"
 }
diff --git a/i18n/qqq.json b/i18n/qqq.json
index 4419806..b35c3f5 100644
--- a/i18n/qqq.json
+++ b/i18n/qqq.json
@@ -13,5 +13,6 @@
        "tag-cross-wiki-upload-3": "{{notranslate}} Tag on cross-wiki uploads 
submitted using interface option 3.",
        "tag-cross-wiki-upload-4": "{{notranslate}} Tag on cross-wiki uploads 
submitted using interface option 4.",
        "tag-HHVM": "{{notranslate}} Tag on edits made via HHVM",
-       "tag-HHVM-description": "Description for the HHVM tag."
+       "tag-HHVM-description": "Description for the HHVM tag.",
+       "abusefilter-edit-builder-vars-user-wpzero": "Description for an 
AbuseFilter variable about whether the user is editing through a zero-rated 
carrier via Wikipedia Zero"
 }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I6e307866e00ef56fcd02af24fc2527e950bf5132
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikimediaEvents
Gerrit-Branch: master
Gerrit-Owner: Legoktm <[email protected]>
Gerrit-Reviewer: BBlack <[email protected]>
Gerrit-Reviewer: Bartosz Dziewoński <[email protected]>
Gerrit-Reviewer: CSteipp <[email protected]>
Gerrit-Reviewer: Dfoy <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to