aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2019-03-15 08:29:51 +0300
committerrinpatch <rinpatch@sdf.org>2019-03-15 08:29:51 +0300
commitd02f1120f9fe8e048bac6665e95e51648a50c53b (patch)
treeb5c79b2f26c312447ff7779b6e04b76c65119f17 /lib
parent958227d5563d76f4f983b7cabb6948897d93bd4b (diff)
downloadpleroma-d02f1120f9fe8e048bac6665e95e51648a50c53b.tar.gz
Content-Disposition regex improvements
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/reverse_proxy.ex6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/pleroma/reverse_proxy.ex b/lib/pleroma/reverse_proxy.ex
index 39ede8619..a3f177fec 100644
--- a/lib/pleroma/reverse_proxy.ex
+++ b/lib/pleroma/reverse_proxy.ex
@@ -316,9 +316,9 @@ defmodule Pleroma.ReverseProxy do
{{"content-disposition", content_disposition_string}, _} =
List.keytake(headers, "content-disposition", 0)
- [name] =
+ [name | _] =
Regex.run(
- ~r/filename=\"(.*)\"/u,
+ ~r/filename="((?:[^"\\]|\\.)*)"/u,
content_disposition_string || "",
capture: :all_but_first
)
@@ -328,7 +328,7 @@ defmodule Pleroma.ReverseProxy do
MatchError -> Keyword.get(opts, :attachment_name, "attachment")
end
- disposition = "attachment; filename=" <> name
+ disposition = "attachment; filename=\"#{name}\""
List.keystore(headers, "content-disposition", 0, {"content-disposition", disposition})
else