Page MenuHomePhabricator

GlobalBlocking GlobalBlockManager: Validation of global block ID target uses a SQL query without provided caller
Closed, ResolvedPublic0.1 Estimated Story PointsBUG REPORT

Description

Summary

The GlobalBlockManager::validateGlobalBlockTarget method has a query to check if a global block ID target is valid. However, this query does not specify the caller for the query which generates a warning when this happens

Technical notes

from /srv/mediawiki/php-1.46.0-wmf.1/includes/libs/rdbms/platform/SQLPlatform.php(755)
#0 /srv/mediawiki/php-1.46.0-wmf.1/includes/libs/rdbms/database/Database.php(3387): Wikimedia\Rdbms\Platform\SQLPlatform->selectSQLText(array, string, array, string, array, array)
#1 /srv/mediawiki/php-1.46.0-wmf.1/includes/libs/rdbms/database/DatabaseMySQL.php(666): Wikimedia\Rdbms\Database->selectSQLText(array, string, array, string, array, array)
#2 /srv/mediawiki/php-1.46.0-wmf.1/includes/libs/rdbms/database/Database.php(1355): Wikimedia\Rdbms\DatabaseMySQL->selectSQLText(array, string, array, string, array, array)
#3 /srv/mediawiki/php-1.46.0-wmf.1/includes/libs/rdbms/database/Database.php(1312): Wikimedia\Rdbms\Database->select(array, string, array, string, array, array)
#4 /srv/mediawiki/php-1.46.0-wmf.1/includes/libs/rdbms/database/DBConnRef.php(127): Wikimedia\Rdbms\Database->selectField(array, string, array, string, array, array)
#5 /srv/mediawiki/php-1.46.0-wmf.1/includes/libs/rdbms/database/DBConnRef.php(369): Wikimedia\Rdbms\DBConnRef->__call(string, array)
#6 /srv/mediawiki/php-1.46.0-wmf.1/includes/libs/rdbms/querybuilder/SelectQueryBuilder.php(779): Wikimedia\Rdbms\DBConnRef->selectField(array, string, array, string, array, array)
#7 /srv/mediawiki/php-1.46.0-wmf.1/extensions/GlobalBlocking/includes/Services/GlobalBlockManager.php(633): Wikimedia\Rdbms\SelectQueryBuilder->fetchField()
#8 /srv/mediawiki/php-1.46.0-wmf.1/extensions/GlobalBlocking/includes/Services/GlobalBlockManager.php(576): MediaWiki\Extension\GlobalBlocking\Services\GlobalBlockManager->validateGlobalBlockTarget(string, MediaWiki\User\User)
#9 /srv/mediawiki/php-1.46.0-wmf.1/extensions/GlobalBlocking/includes/Special/SpecialRemoveGlobalBlock.php(67): MediaWiki\Extension\GlobalBlocking\Services\GlobalBlockManager->unblock(string, string, MediaWiki\User\User)
#10 /srv/mediawiki/php-1.46.0-wmf.1/includes/HTMLForm/HTMLForm.php(812): MediaWiki\Extension\GlobalBlocking\Special\SpecialRemoveGlobalBlock->onSubmit(array, MediaWiki\HTMLForm\OOUIHTMLForm)
#11 /srv/mediawiki/php-1.46.0-wmf.1/includes/HTMLForm/HTMLForm.php(693): MediaWiki\HTMLForm\HTMLForm->trySubmit()
#12 /srv/mediawiki/php-1.46.0-wmf.1/includes/HTMLForm/HTMLForm.php(709): MediaWiki\HTMLForm\HTMLForm->tryAuthorizedSubmit()
#13 /srv/mediawiki/php-1.46.0-wmf.1/includes/SpecialPage/FormSpecialPage.php(197): MediaWiki\HTMLForm\HTMLForm->show()
#14 /srv/mediawiki/php-1.46.0-wmf.1/extensions/GlobalBlocking/includes/Special/SpecialRemoveGlobalBlock.php(32): MediaWiki\SpecialPage\FormSpecialPage->execute(null)
#15 /srv/mediawiki/php-1.46.0-wmf.1/includes/SpecialPage/SpecialPage.php(711): MediaWiki\Extension\GlobalBlocking\Special\SpecialRemoveGlobalBlock->execute(null)
#16 /srv/mediawiki/php-1.46.0-wmf.1/includes/SpecialPage/SpecialPageFactory.php(1736): MediaWiki\SpecialPage\SpecialPage->run(null)
#17 /srv/mediawiki/php-1.46.0-wmf.1/includes/actions/ActionEntryPoint.php(499): MediaWiki\SpecialPage\SpecialPageFactory->executePath(string, MediaWiki\Context\RequestContext)
#18 /srv/mediawiki/php-1.46.0-wmf.1/includes/actions/ActionEntryPoint.php(143): MediaWiki\Actions\ActionEntryPoint->performRequest()
#19 /srv/mediawiki/php-1.46.0-wmf.1/includes/MediaWikiEntryPoint.php(184): MediaWiki\Actions\ActionEntryPoint->execute()
#20 /srv/mediawiki/php-1.46.0-wmf.1/index.php(44): MediaWiki\MediaWikiEntryPoint->run()
#21 /srv/mediawiki/w/index.php(3): require(string)
#22 {main}

Acceptance criteria

  • No more warnings about a missing SQL caller are generated

Event Timeline

Dreamy_Jazz set the point value for this task to 0.1.Nov 12 2025, 1:30 PM

Change #1218327 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/extensions/GlobalBlocking@master] Provide missing caller for query in GlobalBlockManager

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

Change #1218327 merged by jenkins-bot:

[mediawiki/extensions/GlobalBlocking@master] Provide missing caller for query in GlobalBlockManager

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