diff --git a/lib/private/Repair/RepairMimeTypes.php b/lib/private/Repair/RepairMimeTypes.php index 8afaca9c3c615..2859477863678 100644 --- a/lib/private/Repair/RepairMimeTypes.php +++ b/lib/private/Repair/RepairMimeTypes.php @@ -362,7 +362,18 @@ private function introduceTextType(): IResult|int|null { return $this->updateMimetypes($updatedMimetypes); } + /** + * @throws Exception + * @since 33.0.0 + */ + private function introduceTomlAndOvpnType(): IResult|int|null { + $updatedMimetypes = [ + 'ovpn' => 'application/x-openvpn-profile', + 'toml' => 'application/toml', + ]; + return $this->updateMimetypes($updatedMimetypes); + } /** * Check if there are any migrations available @@ -482,6 +493,10 @@ public function run(IOutput $output): void { $output->info('Fixed text mime type'); } + if (version_compare($mimeTypeVersion, '33.0.0.0', '<') && $this->introduceTomlAndOvpnType()) { + $output->info('Fixed toml and ovpn mime type'); + } + if (!$this->dryRun) { $this->appConfig->setValueString('files', 'mimetype_version', $serverVersion); } diff --git a/resources/config/mimetypealiases.dist.json b/resources/config/mimetypealiases.dist.json index 209031c6b8a92..abbacc9a59231 100644 --- a/resources/config/mimetypealiases.dist.json +++ b/resources/config/mimetypealiases.dist.json @@ -27,6 +27,7 @@ "application/octet-stream": "file", "application/postscript": "image", "application/rss+xml": "application/xml", + "application/toml": "text/code", "application/vnd.android.package-archive": "package/x-generic", "application/vnd.excalidraw+json": "whiteboard", "application/vnd.garmin.tcx+xml": "location", @@ -92,6 +93,7 @@ "application/x-iwork-numbers-sffnumbers": "x-office/spreadsheet", "application/x-iwork-pages-sffpages": "x-office/document", "application/x-mobipocket-ebook": "text", + "application/x-openvpn-profile": "text", "application/x-perl": "text/code", "application/x-photoshop": "image", "application/x-php": "text/code", diff --git a/resources/config/mimetypemapping.dist.json b/resources/config/mimetypemapping.dist.json index 31fd566993baf..f0d4cc7243598 100644 --- a/resources/config/mimetypemapping.dist.json +++ b/resources/config/mimetypemapping.dist.json @@ -152,6 +152,7 @@ "otp": ["application/vnd.oasis.opendocument.presentation-template"], "ots": ["application/vnd.oasis.opendocument.spreadsheet-template"], "ott": ["application/vnd.oasis.opendocument.text-template"], + "ovpn": ["application/x-openvpn-profile", "text/plain"], "pages": ["application/x-iwork-pages-sffpages"], "pdf": ["application/pdf"], "pef": ["image/x-dcraw"], @@ -194,12 +195,13 @@ "tbz2": ["application/x-bzip2"], "tcx": ["application/vnd.garmin.tcx+xml"], "tex": ["application/x-tex"], + "text": ["text/plain"], "tga": ["image/tga"], "tgz": ["application/gzip"], "tif": ["image/tiff"], "tiff": ["image/tiff"], + "toml": ["application/toml", "text/code"], "ttf": ["application/font-sfnt"], - "text": ["text/plain"], "txt": ["text/plain"], "url": ["application/internet-shortcut"], "vcard": ["text/vcard"], diff --git a/resources/config/mimetypenames.dist.json b/resources/config/mimetypenames.dist.json index 6d0bbfe48e1e4..53dc763502cec 100644 --- a/resources/config/mimetypenames.dist.json +++ b/resources/config/mimetypenames.dist.json @@ -34,6 +34,7 @@ "application/postscript": "PostScript document", "application/rss+xml": "RSS summary", "application/sgf": "", + "application/toml": "TOML configuration file", "application/vnd.android.package-archive": "Android package", "application/vnd.excalidraw+json": "", "application/vnd.garmin.tcx+xml": "", @@ -105,6 +106,7 @@ "application/x-ms-dos-executable": "", "application/x-msdos-program": "", "application/x-msi": "Windows Installer package", + "application/x-openvpn-profile": "OpenVPN connection profile", "application/x-perl": "Perl script", "application/x-photoshop": "", "application/x-php": "PHP script", diff --git a/tests/data/integritycheck/mimetypeListModified/core/js/mimetypelist.js b/tests/data/integritycheck/mimetypeListModified/core/js/mimetypelist.js index c0acd57fb646c..b956193385f08 100644 --- a/tests/data/integritycheck/mimetypeListModified/core/js/mimetypelist.js +++ b/tests/data/integritycheck/mimetypeListModified/core/js/mimetypelist.js @@ -27,6 +27,7 @@ OC.MimeTypeList={ "application/octet-stream": "file", "application/postscript": "image", "application/rss+xml": "application/xml", + "application/toml": "text/code", "application/vnd.android.package-archive": "package/x-generic", "application/vnd.excalidraw+json": "whiteboard", "application/vnd.garmin.tcx+xml": "location", @@ -92,6 +93,7 @@ OC.MimeTypeList={ "application/x-iwork-numbers-sffnumbers": "x-office/spreadsheet", "application/x-iwork-pages-sffpages": "x-office/document", "application/x-mobipocket-ebook": "text", + "application/x-openvpn-profile": "text", "application/x-perl": "text/code", "application/x-photoshop": "image", "application/x-php": "text/code", @@ -182,6 +184,7 @@ OC.MimeTypeList={ 'application/pdf': t('core', "PDF document"), 'application/postscript': t('core', "PostScript document"), 'application/rss+xml': t('core', "RSS summary"), +'application/toml': t('core', "TOML configuration file"), 'application/vnd.android.package-archive': t('core', "Android package"), 'application/vnd.google-earth.kml+xml': t('core', "KML geographic data"), 'application/vnd.google-earth.kmz': t('core', "KML geographic compressed data"), @@ -229,6 +232,7 @@ OC.MimeTypeList={ 'application/x-krita': t('core', "Krita document"), 'application/x-mobipocket-ebook': t('core', "Mobipocket e-book"), 'application/x-msi': t('core', "Windows Installer package"), +'application/x-openvpn-profile': t('core', "OpenVPN connection profile"), 'application/x-perl': t('core', "Perl script"), 'application/x-php': t('core', "PHP script"), 'application/x-tar': t('core', "Tar archive"), diff --git a/tests/data/integritycheck/mimetypeListModified/core/signature.json b/tests/data/integritycheck/mimetypeListModified/core/signature.json index 03761f448afb3..b2718e2bb90a7 100644 --- a/tests/data/integritycheck/mimetypeListModified/core/signature.json +++ b/tests/data/integritycheck/mimetypeListModified/core/signature.json @@ -1,7 +1,7 @@ { "hashes": { - "core\/js\/mimetypelist.js": "82e28020421dc595e547ac13b2e44960844e391a755bc43ab805a0b69998423095db8c61f20bf5df6bb2e334d7171eec7e07ae6dc2ffb57004f05fb4c65bb951" + "core\/js\/mimetypelist.js": "30fcba049c84f79c33756dbd9c3b89dbcda3804dccb9c35498ed0b442d1ec51334e99bb1db23149e9e181655290b1de7cc5a150f3fd9aa1e71bf42a1be3eb544" }, - "signature": "Oa1j+GTIuWF2OW0gvjJXj1qptdX5jVUm1DjsKRx5P0b77kvkW8n8mD7Rq+et6H4Hy+if2XXxbaZWNfmSvwDnRlhOJ1G+HuMZuqIk7T0LePurv49T2ODmr883UiuD3p9V1J8ReQ3JcEM\/y5n4aNisblRNyDd1x\/eZQVfEJOuPxS7W5036+oHc73s94g+rGuuK5VL8Ld1tOpdrZ5tmUDqnxWVqoQqgcSKOB3bRZSrebvFK0kVPovunxjEE5PJSVvSWIPqf42pdvtwWCgLNmit\/+0T0AS8yXt9fGMnz5H7puAvUu4C\/kumHQOYipdPWqPrZUHDx08AeoKIbdmQLt1oAJ1m5FVKOv1HuHCYhJX9LMGmHTCywpbo9l+EqGqxc99tRB8MoNRUmH1QYGPay6gia+ozmhfAB0DRicGoXYGqsjyXDthh6uG8uQIrr1ZAd8JvD43LbCATtRKiHlgEj2dFRWuRpbZ2Dt\/ynReA64Y5s+RWAv2YNKckA216EeuUhgyUAZUFj+CiixAfwnZhJcbd22OMl\/Y7L4AZvG7lXZYnnbRyaYMPR07NLt+QVQLLY+YsEXIJDYVCdi5li7LRTpvphix3wwfzZhIny9U18hB4PM+a+TUnPKzQvtNj1srGJbSoS68lJGsxoVXjygsSFtw8QHAx9amDfmFYKSVbo\/Vh6woo=", + "signature": "Bhy0\/LujK4pvLgC1jT2vAnqfvcxZ1pb7Js+SHyFR7dJscb6+crApBHNNXYGRCsRg84eIMNyMc6Vp6qzcg4QP5ZR4ANw7xrX9XurYRM1RyF7oaXkEHdmxHRm7dT4kmqm+LJpwu5ryEPN0r01N1LlPqQ+2hF1LH090WvM5Po3mBIF1onM7n4QYio0JGgZ9tGJrXyErm+HGTpUTzfqRdgn4c\/sy\/ogBMij4Jp5cDjyoRVnGiYxfj0PEvu1IEE15VJfdC5RU0K9eEQY8B2cpYtXPg2PrSXf\/UrKaMpOjLvGcK6uqY30csUXGGOsdi5YifY8gKop1RBgixFf1kdlPET3doTYAVC2aTbwKM77ghmrQeDQVQuhJcSn1Hl3g\/hPLXk6JE8UH5Roq+2rnMCemngqSpDxdrQevU6Oq0qrJjcFYUdcP+fQBsNh12DqQjtrPr0475IoClXbz4us\/x\/gEhNk8YoSegyJqKj5gSI2IKT4gB3ieWm1KKSQQqruauwrO\/js\/d3wLfAW2VKlH6QzJHxTknI2SzeY+RYDabnmODSM8EexqJoTpHygCDKLlqViHc9v7O7CGQe2hCds0PPapsg39btkTpOyuqBxP37bAVKWXpu5cI35YXm\/Wo0P9jRFtxtg6aJsvVTgg+JWg76mgfToQlI5Q\/txlBWgbsa0\/lxGBl2A=", "certificate": "-----BEGIN CERTIFICATE-----\r\nMIIEvjCCAqagAwIBAgIUc\/0FxYrsgSs9rDxp03EJmbjN0NwwDQYJKoZIhvcNAQEF\r\nBQAwIzEhMB8GA1UECgwYb3duQ2xvdWQgQ29kZSBTaWduaW5nIENBMB4XDTE1MTEw\r\nMzIxMDMzM1oXDTE2MTEwMzIxMDMzM1owDzENMAsGA1UEAwwEY29yZTCCAiIwDQYJ\r\nKoZIhvcNAQEBBQADggIPADCCAgoCggIBALb6EgHpkAqZbO5vRO8XSh7G7XGWHw5s\r\niOf4RwPXR6SE9bWZEm\/b72SfWk\/\/J6AbrD8WiOzBuT\/ODy6k5T1arEdHO+Pux0W1\r\nMxYJJI4kH74KKgMpC0SB0Rt+8WrMqV1r3hhJ46df6Xr\/xolP3oD+eLbShPcblhdS\r\nVtkZEkoev8Sh6L2wDCeHDyPxzvj1w2dTdGVO9Kztn0xIlyfEBakqvBWtcxyi3Ln0\r\nklnxlMx3tPDUE4kqvpia9qNiB1AN2PV93eNr5\/2riAzIssMFSCarWCx0AKYb54+d\r\nxLpcYFyqPJ0ydBCkF78DD45RCZet6PNYkdzgbqlUWEGGomkuDoJbBg4wzgzO0D77\r\nH87KFhYW8tKFFvF1V3AHl\/sFQ9tDHaxM9Y0pZ2jPp\/ccdiqnmdkBxBDqsiRvHvVB\r\nCn6qpb4vWGFC7vHOBfYspmEL1zLlKXZv3ezMZEZw7O9ZvUP3VO\/wAtd2vUW8UFiq\r\ns2v1QnNLN6jNh51obcwmrBvWhJy9vQIdtIjQbDxqWTHh1zUSrw9wrlklCBZ\/zrM0\r\ni8nfCFwTxWRxp3H9KoECzO\/zS5R5KIS7s3\/wq\/w9T2Ie4rcecgXwDizwnn0C\/aKc\r\nbDIjujpL1s9HO05pcD\/V3wKcPZ1izymBkmMyIbL52iRVN5FTVHeZdXPpFuq+CTQJ\r\nQ238lC+A\/KOVAgMBAAEwDQYJKoZIhvcNAQEFBQADggIBAGoKTnh8RfJV4sQItVC2\r\nAvfJagkrIqZ3iiQTUBQGTKBsTnAqE1H7QgUSV9vSd+8rgvHkyZsRjmtyR1e3A6Ji\r\noNCXUbExC\/0iCPUqdHZIVb+Lc\/vWuv4ByFMybGPydgtLoEUX2ZrKFWmcgZFDUSRd\r\n9Uj26vtUhCC4bU4jgu6hIrR9IuxOBLQUxGTRZyAcXvj7obqRAEZwFAKQgFpfpqTb\r\nH+kjcbZSaAlLVSF7vBc1syyI8RGYbqpwvtREqJtl5IEIwe6huEqJ3zPnlP2th\/55\r\ncf3Fovj6JJgbb9XFxrdnsOsDOu\/tpnaRWlvv5ib4+SzG5wWFT5UUEo4Wg2STQiiX\r\nuVSRQxK1LE1yg84bs3NZk9FSQh4B8vZVuRr5FaJsZZkwlFlhRO\/\/+TJtXRbyNgsf\r\noMRZGi8DLGU2SGEAHcRH\/QZHq\/XDUWVzdxrSBYcy7GSpT7UDVzGv1rEJUrn5veP1\r\n0KmauAqtiIaYRm4f6YBsn0INcZxzIPZ0p8qFtVZBPeHhvQtvOt0iXI\/XUxEWOa2F\r\nK2EqhErgMK\/N07U1JJJay5tYZRtvkGq46oP\/5kQG8hYST0MDK6VihJoPpvCmAm4E\r\npEYKQ96x6A4EH9Y9mZlYozH\/eqmxPbTK8n89\/p7Ydun4rI+B2iiLnY8REWWy6+UQ\r\nV204fGUkJqW5CrKy3P3XvY9X\r\n-----END CERTIFICATE-----" } \ No newline at end of file