summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authortusooa <tusooa@kazv.moe>2023-03-02 02:25:11 +0000
committertusooa <tusooa@kazv.moe>2023-03-02 02:25:11 +0000
commit714bf0cb2332050a3a64c6197dae729cf7de1b95 (patch)
tree801241b58afee15329bcd7dbfb5ed1d888e6c4c6 /lib
parent8a0162cd9694a1c5bf131fefb6e6a8d3dcb68fae (diff)
parentf33401f54be8c216d04e4bd9747801309dd2b4a6 (diff)
downloadpleroma-714bf0cb2332050a3a64c6197dae729cf7de1b95.tar.gz
pleroma-714bf0cb2332050a3a64c6197dae729cf7de1b95.zip
Merge branch 'mergeback/2.5.1' into 'develop'
mergeback: 2.5.1 See merge request pleroma/pleroma!3846
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index b9206b4da..1ab2db94a 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -1453,13 +1453,22 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
@spec upload(Upload.source(), keyword()) :: {:ok, Object.t()} | {:error, any()}
def upload(file, opts \\ []) do
- with {:ok, data} <- Upload.store(file, opts) do
+ with {:ok, data} <- Upload.store(sanitize_upload_file(file), opts) do
obj_data = Maps.put_if_present(data, "actor", opts[:actor])
Repo.insert(%Object{data: obj_data})
end
end
+ defp sanitize_upload_file(%Plug.Upload{filename: filename} = upload) when is_binary(filename) do
+ %Plug.Upload{
+ upload
+ | filename: Path.basename(filename)
+ }
+ end
+
+ defp sanitize_upload_file(upload), do: upload
+
@spec get_actor_url(any()) :: binary() | nil
defp get_actor_url(url) when is_binary(url), do: url
defp get_actor_url(%{"href" => href}) when is_binary(href), do: href