Page MenuHomePhabricator

Prepare VipsScaler extension for IP Masking
Closed, ResolvedPublic

Description

A preliminary investigation (T326759) has found that the VipsScaler extension may be affected by IP Masking

Event Timeline

  1. I assume this has something to do with a permissions check. In that case, this extension has a Special page, which is not in use currently on wikimedia as far as I can tell (it was purpose build to test extension), which seems to me the only place that this is exposed to.
  2. Is this extension even in use anywhere within Wikimedia after thumbor was introduced ? If not, we should probably decommission it, if it is, we should limit where it is deployed I think. (This seems to be T291014)
  1. I assume this has something to do with a permissions check. In that case, this extension has a Special page, which is not in use currently on wikimedia as far as I can tell (it was purpose build to test extension), which seems to me the only place that this is exposed to.
  2. Is this extension even in use anywhere within Wikimedia after thumbor was introduced ? If not, we should probably decommission it, if it is, we should limit where it is deployed I think. (This seems to be T291014)

It does seem to be used, as far as I can see https://gerrit.wikimedia.org/g/operations/mediawiki-config/+/635d96f93c21d7efcfce782ef5478594be2eadba/wmf-config/InitialiseSettings.php#7426

'wmgUseVips' => [
	'default' => true,
	'group0' => false,
	'wikitech' => false,
	'lockeddown' => false,
],
  1. I assume this has something to do with a permissions check. In that case, this extension has a Special page, which is not in use currently on wikimedia as far as I can tell (it was purpose build to test extension), which seems to me the only place that this is exposed to.
  2. Is this extension even in use anywhere within Wikimedia after thumbor was introduced ? If not, we should probably decommission it, if it is, we should limit where it is deployed I think. (This seems to be T291014)

It does seem to be used, as far as I can see https://gerrit.wikimedia.org/g/operations/mediawiki-config/+/635d96f93c21d7efcfce782ef5478594be2eadba/wmf-config/InitialiseSettings.php#7426

That is only because undeploying it is a challenge T290759

Came across this task while going through the revision history of Developers/Maintainers -- just noting that this task is currently under the "Update unowned extensions" column of Temporary accounts, but VipsScaler was added to Developers/Maintainers in October 2024 with the information that MediaWiki-Engineering/Content-Transform-Team stewards this extension.

Came across this task while going through the revision history of Developers/Maintainers -- just noting that this task is currently under the "Update unowned extensions" column of Temporary accounts, but VipsScaler was added to Developers/Maintainers in October 2024 with the information that MediaWiki-Engineering/Content-Transform-Team stewards this extension.

Thanks for the information! I've tagged this task with that team for their attention.

I believe the current plan is to try to undeploy T290759: Undeploy VipsScaler from Wikimedia wikis because /in theory/ some other changes in core have made it easier to do this?
See
https://wikis.world/@anticomposite/114489679162565721

I believe the current plan is to try to undeploy T290759: Undeploy VipsScaler from Wikimedia wikis because /in theory/ some other changes in core have made it easier to do this?
See
https://wikis.world/@anticomposite/114489679162565721

Undeploying sounds fine to me.

ABreault-WMF closed this task as Resolved.EditedJun 26 2025, 2:26 PM
ABreault-WMF claimed this task.
ABreault-WMF subscribed.

The special page was disabled in,
https://gerrit.wikimedia.org/r/c/mediawiki/extensions/VipsScaler/+/722385

and, in any case, calls SpecialPage->userCanExecute which seems like it would be prepared for IP masking.

Looking at the methods in T326759, the only thing I see is,

includes/SpecialVipsTest.php:use Wikimedia\IPUtils;
includes/SpecialVipsTest.php:                   $bits = IPUtils::splitHostAndPort( $vipsThumbnailerHost );
includes/SpecialVipsTest.php:                   $proxy = IPUtils::combineHostAndPort( $host, $port );

which seems fine using $vipsThumbnailerHost.

As of T290759#10948723, VipsScaler is undeployed though.