logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: 86dcfb4eb990dc8d06f799663264655ce04d0d5d
parent 530fb5b29ebd414781c703e4b41d204135f3efe7
Author: Mark Felder <feld@feld.me>
Date:   Fri,  8 Jan 2021 17:05:55 -0600

More places we should be using Upload.base_url

Diffstat:

Mlib/pleroma/web/media_proxy.ex14++++++++------
Mlib/pleroma/web/plugs/uploaded_media.ex2+-
Mlib/pleroma/workers/attachments_cleanup_worker.ex10++--------
3 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/lib/pleroma/web/media_proxy.ex b/lib/pleroma/web/media_proxy.ex @@ -69,7 +69,7 @@ defmodule Pleroma.Web.MediaProxy do # non-local non-whitelisted URLs through it and be sure that body size constraint is preserved. def preview_enabled?, do: enabled?() and !!Config.get([:media_preview_proxy, :enabled]) - def local?(url), do: String.starts_with?(url, Pleroma.Web.base_url()) + def local?(url), do: String.starts_with?(url, Upload.base_url()) def whitelisted?(url) do %{host: domain} = URI.parse(url) @@ -80,11 +80,13 @@ defmodule Pleroma.Web.MediaProxy do |> Enum.map(&maybe_get_domain_from_url/1) whitelist_domains = - if base_url = Config.get([Upload, :base_url]) do - %{host: base_domain} = URI.parse(base_url) - [base_domain | mediaproxy_whitelist_domains] - else - mediaproxy_whitelist_domains + cond do + Web.base_url() == Upload.base_url() -> + mediaproxy_whitelist_domains + + true -> + %{host: base_domain} = URI.parse(Upload.base_url()) + [base_domain | mediaproxy_whitelist_domains] end domain in whitelist_domains diff --git a/lib/pleroma/web/plugs/uploaded_media.ex b/lib/pleroma/web/plugs/uploaded_media.ex @@ -62,7 +62,7 @@ defmodule Pleroma.Web.Plugs.UploadedMedia do def call(conn, _opts), do: conn defp media_is_banned(%{request_path: path} = _conn, {:static_dir, _}) do - MediaProxy.in_banned_urls(Pleroma.Web.base_url() <> path) + MediaProxy.in_banned_urls(Pleroma.Upload.base_url() <> path) end defp media_is_banned(_, {:url, url}), do: MediaProxy.in_banned_urls(url) diff --git a/lib/pleroma/workers/attachments_cleanup_worker.ex b/lib/pleroma/workers/attachments_cleanup_worker.ex @@ -32,21 +32,15 @@ defmodule Pleroma.Workers.AttachmentsCleanupWorker do defp do_clean({object_ids, attachment_urls}) do uploader = Pleroma.Config.get([Pleroma.Upload, :uploader]) - prefix = - case Pleroma.Config.get([Pleroma.Upload, :base_url]) do - nil -> "media" - _ -> "" - end - base_url = String.trim_trailing( - Pleroma.Config.get([Pleroma.Upload, :base_url], Pleroma.Web.base_url()), + Pleroma.Upload.base_url(), "/" ) Enum.each(attachment_urls, fn href -> href - |> String.trim_leading("#{base_url}/#{prefix}") + |> String.trim_leading("#{base_url}") |> uploader.delete_file() end)