Page MenuHomePhabricator

Review and deploy BounceHandler extension to Wikimedia wikis
Closed, ResolvedPublic

Description

Extension Wikipage: https://www.mediawiki.org/wiki/Extension:BounceHandler

The BounceHandler extension generates a unique VERP address on every sent email, and has the bouncehandler API that can handle incoming email bounces once the bounce is HTTP POSTed to it via curl from exim. The extension was built as part of the VERP project to properly handle email bounces.

Pipe incoming bounces to the bouncehandler API:-
You need to add the following to your incoming mails to *@wikimedia.com receving PIPE transport:
command = /usr/bin/curl "action=bouncehandler" --data-urlencode "email@-" http://$IP/api.php

The genrated VERP address is of the form
$wikiId-base36( $UserID )-base36( $Timestamp )-hash( $algorithm,$key, $prefix )@$email_domain

where
$wikiId - The wiki database name, to support multiple wikis
$userID - The user_id from table 'user' - to uniquely identify a recipient.
$Timestamp - The unix timestamp.
$prefix = $wikiId. '-'. base_convert( $uid, 10, 36). '-'. base_convert( $timeNow, 10, 36);

Gerrit: https://github.com/wikimedia/mediawiki-extensions-BounceHandler


Version: unspecified
Severity: enhancement

Details

Reference
bz69019

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 3:28 AM
bzimport set Reference to bz69019.
bzimport added a subscriber: Unknown Object (MLST).

For clarification, have security review and performance review of the code base happened already, or are there explicit tickets requesting those actions?

For completeness' sake, see the checklist and please create bugs for parts still needing to be done: https://www.mediawiki.org/wiki/Review_queue#Checklist

Requested separate bugs for Architecture, Performance, Security and Product reviews. Please check See Also link for the links.

With I758f82729b1c9c6993f536fbd5f3ea9d83b4be28, we have an option to not unconfirm emails and just log bounces. So I'm thinking we should just deploy in a log-only configuration for a month or so, figure out a good threshold for when to start unsubscribing people, and go from there.

72779 doesn't have to be a blocker to deployment...

Change 170369 had a related patch set uploaded by 01tonythomas:
Added the Plancake e-mail parser library to MediaWiki using Composer

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

Change 172322 had a related patch set uploaded by Legoktm:
[WIP] Deploy BounceHandler extension to production

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

(In reply to Greg Grossmeier from comment #5)

Scheduled for Wed Nov 5th.

How about we try this again... ;)

Wed Nov 19th at 10am Pacific

Change 172322 merged by jenkins-bot:
Deploy BounceHandler extension to production

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