diff options
author | rinpatch <rinpatch@sdf.org> | 2019-03-15 08:29:51 +0300 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2019-03-15 08:29:51 +0300 |
commit | d02f1120f9fe8e048bac6665e95e51648a50c53b (patch) | |
tree | b5c79b2f26c312447ff7779b6e04b76c65119f17 /lib | |
parent | 958227d5563d76f4f983b7cabb6948897d93bd4b (diff) | |
download | pleroma-d02f1120f9fe8e048bac6665e95e51648a50c53b.tar.gz |
Content-Disposition regex improvements
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/reverse_proxy.ex | 6 |
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 |