aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/media_proxy/controller.ex
diff options
context:
space:
mode:
authorkaniini <ariadne@dereferenced.org>2019-07-29 16:28:53 +0000
committerkaniini <ariadne@dereferenced.org>2019-07-29 16:28:53 +0000
commitce6dfb6f066616553d8594fd6ffadcc96ad1daff (patch)
treeb7b4022f45fd01233bf76138d5222b81f16e8ad4 /lib/pleroma/web/media_proxy/controller.ex
parent5cb37412a21420509f61027fe486ae66242f800a (diff)
parentd9aacbec4d8e787ff9f62427a120d28366463a7f (diff)
downloadpleroma-ce6dfb6f066616553d8594fd6ffadcc96ad1daff.tar.gz
Merge branch 'release/1.0.2' into 'master'v1.0.2
1.0.2 release See merge request pleroma/pleroma!1499
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