logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: 11844084d0fce0bd94df66561c47ef21b7b38e1d
parent 24d66b60a0272ef4e78f2f9802682964059c44ce
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Mon, 31 May 2021 10:41:31 +0200

MIME.valid?(type) → is_bitstring(type) && MIME.extensions(type) != []

Since mime 1.6.0:

  warning: MIME.valid?/1 is deprecated. Use MIME.extensions(type) != [] instead

As for the bitstring(type) part it's because MIME.extensions only expects a string.
https://github.com/elixir-plug/mime/issues/43

Diffstat:

Mlib/pleroma/web/activity_pub/object_validators/attachment_validator.ex2+-
Mlib/pleroma/web/activity_pub/transmogrifier.ex15+++++++++++----
2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/lib/pleroma/web/activity_pub/object_validators/attachment_validator.ex b/lib/pleroma/web/activity_pub/object_validators/attachment_validator.ex @@ -61,7 +61,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AttachmentValidator do def fix_media_type(data) do data = Map.put_new(data, "mediaType", data["mimeType"]) - if MIME.valid?(data["mediaType"]) do + if is_bitstring(data["mediaType"]) && MIME.extensions(data["mediaType"]) != [] do data else Map.put(data, "mediaType", "application/octet-stream") diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -203,10 +203,17 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do media_type = cond do - is_map(url) && MIME.valid?(url["mediaType"]) -> url["mediaType"] - MIME.valid?(data["mediaType"]) -> data["mediaType"] - MIME.valid?(data["mimeType"]) -> data["mimeType"] - true -> nil + is_map(url) && MIME.extensions(url["mediaType"]) != [] -> + url["mediaType"] + + is_bitstring(data["mediaType"]) && MIME.extensions(data["mediaType"]) != [] -> + data["mediaType"] + + is_bitstring(data["mimeType"]) && MIME.extensions(data["mimeType"]) != [] -> + data["mimeType"] + + true -> + nil end href =