Page MenuHomePhabricator

Unable to upload TTF due to deprecated mime type
Closed, ResolvedPublicBUG REPORT

Description

List of steps to reproduce (step by step, including full links if applicable):

  1. Download sample free font https://everythingfonts.com/font/good-times-rg-regular
  2. Ensure LocalSettings.php allows ttf upload $wgFileExtensions = array_merge($wgFileExtensions, ['ttf']);
  3. Upload the ttf file

What happens?:

  • File extension ".TTF" does not match the detected MIME type of the file (font/sfnt).

What should have happened instead?:

  • File should be recognized and allow upload

Software version (if not a Wikimedia wiki), browser information, screenshots, other information, etc.:
MediaWiki 1.37.2 - but is also on master

Investigation and temp fix
Looks like application/font-sfnt; is actually deprecated, but is the only one supported in MimeMap.php
https://en.wikipedia.org/wiki/SFNT
https://gerrit.wikimedia.org/g/mediawiki/core/%2B/HEAD/includes/libs/mime/MimeMap.php#138

Ubuntu 20.04 LTS
file -bi good\ times\ rg.ttf
font/sfnt; charset=binary

Temp workaround by

$wgHooks['MimeMagicInit'][] = function ( MimeAnalyzer $mime ) {
    $mime->addExtraTypes( 'font/sfnt ttf' );
};

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Krinkle renamed this task from Unable to upload ttf due to deprecated mime type to Unable to upload TTF due to deprecated mime type.Jun 7 2022, 7:19 PM
Krinkle claimed this task.
Krinkle triaged this task as Low priority.
Krinkle added a project: good first task.
Krinkle subscribed.

Change 901176 had a related patch set uploaded (by Richika Rana; author: Richika Rana):

[mediawiki/core@master] mime: Add support for 'font/sfnt ttf' mime type

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

Change 901353 had a related patch set uploaded (by Richika Rana; author: Richika Rana):

[mediawiki/core@master] mime: Add support for 'font/woff woff' mime type

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

Change 903226 had a related patch set uploaded (by Richika Rana; author: Richika Rana):

[mediawiki/core@master] mime: Make test cases dataprovider

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

Change 901176 merged by jenkins-bot:

[mediawiki/core@master] mime: Add support for 'font/sfnt' mime type

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

Change 901353 merged by jenkins-bot:

[mediawiki/core@master] mime: Add support for 'font/woff' and 'font/woff2' mime type

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

Change 903226 merged by jenkins-bot:

[mediawiki/core@master] mime: Make test cases use data provider

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

Change 935497 had a related patch set uploaded (by Universal Omega; author: Richika Rana):

[mediawiki/core@REL1_40] mime: Add support for 'font/sfnt' mime type

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

Change 935498 had a related patch set uploaded (by Universal Omega; author: Richika Rana):

[mediawiki/core@REL1_39] mime: Add support for 'font/sfnt' mime type

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

Krinkle claimed this task.
Krinkle removed a project: good first task.

Change 935498 merged by jenkins-bot:

[mediawiki/core@REL1_39] mime: Add support for 'font/sfnt' mime type

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

Change 935497 merged by jenkins-bot:

[mediawiki/core@REL1_40] mime: Add support for 'font/sfnt' mime type

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

Change 987739 had a related patch set uploaded (by RhinosF1; author: Richika Rana):

[mediawiki/core@REL1_40] mime: Add support for 'font/woff' and 'font/woff2' mime type

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

Change 987739 merged by jenkins-bot:

[mediawiki/core@REL1_40] mime: Add support for 'font/woff' and 'font/woff2' mime type

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

Change #1014452 had a related patch set uploaded (by Reedy; author: Richika Rana):

[mediawiki/core@REL1_39] mime: Add support for 'font/woff' and 'font/woff2' mime type

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

Change #1014453 had a related patch set uploaded (by Reedy; author: Richika Rana):

[mediawiki/core@REL1_40] mime: Make test cases use data provider

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

Change #1014452 merged by jenkins-bot:

[mediawiki/core@REL1_39] mime: Add support for 'font/woff' and 'font/woff2' mime type

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

Change #1014454 had a related patch set uploaded (by Reedy; author: Richika Rana):

[mediawiki/core@REL1_39] mime: Make test cases use data provider

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

Change #1014453 merged by jenkins-bot:

[mediawiki/core@REL1_40] mime: Make test cases use data provider

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

Change #1014454 merged by jenkins-bot:

[mediawiki/core@REL1_39] mime: Make test cases use data provider

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