summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHaelwenn <contact+git.pleroma.social@hacktivis.me>2023-08-03 10:01:32 +0000
committerHaelwenn <contact+git.pleroma.social@hacktivis.me>2023-08-03 10:01:32 +0000
commit819fccb7d1391ad88f5c236f32390b3e0430ef6c (patch)
tree81c26a2e27475d434bd0838fbbd660e12767d468 /lib
parentb08cbe76f18c1e745511adf26ebdc3b675dd45ba (diff)
parentea4225a646b355150fb8e5e8c77d7fdc58b5e7ef (diff)
downloadpleroma-819fccb7d1391ad88f5c236f32390b3e0430ef6c.tar.gz
pleroma-819fccb7d1391ad88f5c236f32390b3e0430ef6c.zip
Merge branch 'tusooa/3154-attachment-type-check' into 'develop'
Restrict attachments to only uploaded files only Closes #3154 See merge request pleroma/pleroma!3923
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/constants.ex2
-rw-r--r--lib/pleroma/web/common_api/utils.ex7
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/pleroma/constants.ex b/lib/pleroma/constants.ex
index 7b4fd03b6..6befc6897 100644
--- a/lib/pleroma/constants.ex
+++ b/lib/pleroma/constants.ex
@@ -81,4 +81,6 @@ defmodule Pleroma.Constants do
const(mime_regex,
do: ~r/^[^[:cntrl:] ()<>@,;:\\"\/\[\]?=]+\/[^[:cntrl:] ()<>@,;:\\"\/\[\]?=]+(; .*)?$/
)
+
+ const(upload_object_types, do: ["Document", "Image"])
end
diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex
index a93c97e1e..b9fe0224c 100644
--- a/lib/pleroma/web/common_api/utils.ex
+++ b/lib/pleroma/web/common_api/utils.ex
@@ -59,7 +59,12 @@ defmodule Pleroma.Web.CommonAPI.Utils do
end
defp get_attachment(media_id) do
- Repo.get(Object, media_id)
+ with %Object{data: data} = object <- Repo.get(Object, media_id),
+ %{"type" => type} when type in Pleroma.Constants.upload_object_types() <- data do
+ object
+ else
+ _ -> nil
+ end
end
@spec get_to_and_cc(ActivityDraft.t()) :: {list(String.t()), list(String.t())}