summaryrefslogtreecommitdiff
path: root/lib/pleroma/web/media_proxy/controller.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pleroma/web/media_proxy/controller.ex')
-rw-r--r--lib/pleroma/web/media_proxy/controller.ex14
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/pleroma/web/media_proxy/controller.ex b/lib/pleroma/web/media_proxy/controller.ex
index c0552d89f..a711b54e9 100644
--- a/lib/pleroma/web/media_proxy/controller.ex
+++ b/lib/pleroma/web/media_proxy/controller.ex
@@ -28,17 +28,17 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do
end
def filename_matches(has_filename, path, url) do
- filename =
- url
- |> MediaProxy.filename()
- |> URI.decode()
+ filename = url |> MediaProxy.filename()
- path = URI.decode(path)
-
- if has_filename && filename && Path.basename(path) != filename do
+ if has_filename && filename && does_not_match(path, filename) do
{:wrong_filename, filename}
else
:ok
end
end
+
+ defp does_not_match(path, filename) do
+ basename = Path.basename(path)
+ basename != filename and URI.decode(basename) != filename and URI.encode(basename) != filename
+ end
end