Page MenuHomePhabricator

ApiQueryMessageCollection does not validate language parameter
Closed, ResolvedPublic

Description

The api module should validate the language parameter to avoid warnings like this:

2015-01-21 20:23:30 translatewiki.net translatewiki_net-bw_: [a853cae1] /w/api.php?action=query&list=messagecollection&mclanguage=../..../..../..../..../..../..../..../..etc/passwd&mcfilter=!hastranslation|!ignor
ed|!optional&format=php&mcgroup=ext-proofreadpage ErrorException from line 300 of /srv/mediawiki/tags/2015-01-06_19:35:09/includes/debug/MWDebug.php: PHP Notice: Invalid title 8:apihelp-query+proofread-description/../..../..
../..../..../..../..../..../..etc/passwd [Called from MessageCollection::fixKeys in /srv/mediawiki/tags/2015-01-06_19:35:09/extensions/Translate/MessageCollection.php at line 612]
#0 [internal function]: MWExceptionHandler::handleError(1024, 'Invalid title 8...', '/srv/mediawiki/...', 300, Array)
#1 /srv/mediawiki/tags/2015-01-06_19:35:09/includes/debug/MWDebug.php(300): trigger_error('Invalid title 8...', 1024)
#2 /srv/mediawiki/tags/2015-01-06_19:35:09/includes/debug/MWDebug.php(155): MWDebug::sendMessage('Invalid title 8...', Array, 'warning', 1024)
#3 /srv/mediawiki/tags/2015-01-06_19:35:09/includes/GlobalFunctions.php(1157): MWDebug::warning('Invalid title 8...', 2, 1024, 'auto')
#4 /srv/mediawiki/tags/2015-01-06_19:35:09/extensions/Translate/MessageCollection.php(612): wfWarn('Invalid title 8...')
#5 /srv/mediawiki/tags/2015-01-06_19:35:09/extensions/Translate/MessageCollection.php(255): MessageCollection->fixKeys()
#6 /srv/mediawiki/tags/2015-01-06_19:35:09/extensions/Translate/MessageCollection.php(96): MessageCollection->resetForNewLanguage('../..../......')
#7 /srv/mediawiki/tags/2015-01-06_19:35:09/extensions/Translate/messagegroups/MessageGroupBase.php(208): MessageCollection::newFromDefinitions(Object(MessageDefinitions), '../..../......')
#8 /srv/mediawiki/tags/2015-01-06_19:35:09/extensions/Translate/api/ApiQueryMessageCollection.php(63): MessageGroupBase->initCollection('../..../......')
#9 /srv/mediawiki/tags/2015-01-06_19:35:09/extensions/Translate/api/ApiQueryMessageCollection.php(23): ApiQueryMessageCollection->run()
#10 /srv/mediawiki/tags/2015-01-06_19:35:09/includes/api/ApiQuery.php(297): ApiQueryMessageCollection->execute()
#11 /srv/mediawiki/tags/2015-01-06_19:35:09/includes/api/ApiMain.php(1023): ApiQuery->execute()
#12 /srv/mediawiki/tags/2015-01-06_19:35:09/includes/api/ApiMain.php(393): ApiMain->executeAction()
#13 /srv/mediawiki/tags/2015-01-06_19:35:09/includes/api/ApiMain.php(364): ApiMain->executeActionWithErrorHandling()
#14 /srv/mediawiki/tags/2015-01-06_19:35:09/api.php(85): ApiMain->execute()
#15 {main}

Event Timeline

Nikerabbit raised the priority of this task from to Low.
Nikerabbit updated the task description. (Show Details)
Nikerabbit subscribed.

Change 381625 had a related patch set uploaded (by Omidfi; owner: Omidfi):
[mediawiki/extensions/Translate@master] Validate language param in ApiQueryMessageCollection

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

Change 381625 merged by jenkins-bot:
[mediawiki/extensions/Translate@master] Validate language param in ApiQueryMessageCollection

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

Nikerabbit removed a project: Patch-For-Review.

Thanks again! One step closer to quiet error logs.