From 1ee458b5c1cdaf254dccadee77bb77b421b0fd45 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 15 Sep 2020 07:54:46 +0300 Subject: [PATCH] cached_url: perform mimetype validation before possible HOOK_SEND_LOCAL_FILE hooks --- include/functions.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/include/functions.php b/include/functions.php index 220a8e9d8..fe6dc3934 100644 --- a/include/functions.php +++ b/include/functions.php @@ -1811,15 +1811,6 @@ if (is_writable($filename)) touch($filename); - $tmppluginhost = new PluginHost(); - - $tmppluginhost->load(PLUGINS, PluginHost::KIND_SYSTEM); - $tmppluginhost->load_data(); - - foreach ($tmppluginhost->get_hooks(PluginHost::HOOK_SEND_LOCAL_FILE) as $plugin) { - if ($plugin->hook_send_local_file($filename)) return true; - } - $mimetype = mime_content_type($filename); // this is hardly ideal but 1) only media is cached in images/ and 2) seemingly only mp4 @@ -1837,6 +1828,15 @@ return false; } + $tmppluginhost = new PluginHost(); + + $tmppluginhost->load(PLUGINS, PluginHost::KIND_SYSTEM); + $tmppluginhost->load_data(); + + foreach ($tmppluginhost->get_hooks(PluginHost::HOOK_SEND_LOCAL_FILE) as $plugin) { + if ($plugin->hook_send_local_file($filename)) return true; + } + header("Content-type: $mimetype"); $stamp = gmdate("D, d M Y H:i:s", filemtime($filename)) . " GMT";