diff options
author | Mark Felder <feld@feld.me> | 2021-01-11 14:01:31 -0600 |
---|---|---|
committer | Mark Felder <feld@feld.me> | 2021-01-11 14:01:31 -0600 |
commit | 10408810473ad211423cae49db94c33a765dbe33 (patch) | |
tree | f0ba90f505e51543328cbb667704d0d3a491690e | |
parent | 9887cdf9be049ca12ea6ba45d38f9072de1b0fc0 (diff) | |
download | pleroma-10408810473ad211423cae49db94c33a765dbe33.tar.gz |
Fix regression in MediaProxy.local?/0 and appending the Upload.base_url to whitelisted domains
-rw-r--r-- | lib/pleroma/web/media_proxy.ex | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/pleroma/web/media_proxy.ex b/lib/pleroma/web/media_proxy.ex index cbe717584..1dab35d2c 100644 --- a/lib/pleroma/web/media_proxy.ex +++ b/lib/pleroma/web/media_proxy.ex @@ -69,24 +69,24 @@ 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, Upload.base_url()) + def local?(url), do: String.starts_with?(url, Web.base_url()) def whitelisted?(url) do %{host: domain} = URI.parse(url) + %{host: web_domain} = Web.base_url() |> URI.parse() + %{host: upload_domain} = Upload.base_url() |> URI.parse() mediaproxy_whitelist_domains = [:media_proxy, :whitelist] |> Config.get() |> Enum.map(&maybe_get_domain_from_url/1) - whitelist_domains = base_url = Upload.base_url() - - if Web.base_url() == base_url do - mediaproxy_whitelist_domains - else - %{host: base_domain} = URI.parse(base_url) - [base_domain | mediaproxy_whitelist_domains] - end + whitelist_domains = + if web_domain == upload_domain do + mediaproxy_whitelist_domains + else + [upload_domain | mediaproxy_whitelist_domains] + end domain in whitelist_domains end |