diff options
author | href <href@random.sh> | 2020-06-10 17:34:23 +0200 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2020-06-12 18:57:46 +0300 |
commit | 8efd1614ecfe694a7c6c58a6c59e3acf88e99c91 (patch) | |
tree | 01c321dee3d9c28dbbe3ff08a396fc7822be2ed6 /lib | |
parent | 8b8b8599e9359ea5c1212144c50ab406025016c5 (diff) | |
download | pleroma-8efd1614ecfe694a7c6c58a6c59e3acf88e99c91.tar.gz |
Remove use of atoms in MRF.UserAllowListPolicy
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/config/deprecation_warnings.ex | 25 | ||||
-rw-r--r-- | lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex | 2 |
2 files changed, 25 insertions, 2 deletions
diff --git a/lib/pleroma/config/deprecation_warnings.ex b/lib/pleroma/config/deprecation_warnings.ex index c39a8984b..b68ded01f 100644 --- a/lib/pleroma/config/deprecation_warnings.ex +++ b/lib/pleroma/config/deprecation_warnings.ex @@ -4,9 +4,10 @@ defmodule Pleroma.Config.DeprecationWarnings do require Logger + alias Pleroma.Config def check_hellthread_threshold do - if Pleroma.Config.get([:mrf_hellthread, :threshold]) do + if Config.get([:mrf_hellthread, :threshold]) do Logger.warn(""" !!!DEPRECATION WARNING!!! You are using the old configuration mechanism for the hellthread filter. Please check config.md. @@ -14,7 +15,29 @@ defmodule Pleroma.Config.DeprecationWarnings do end end + def mrf_user_allowlist do + config = Config.get(:mrf_user_allowlist) + + if config && Enum.any?(config, fn {k, _} -> is_atom(k) end) do + rewritten = + Enum.reduce(Config.get(:mrf_user_allowlist), Map.new(), fn {k, v}, acc -> + Map.put(acc, to_string(k), v) + end) + + Config.put(:mrf_user_allowlist, rewritten) + + Logger.error(""" + !!!DEPRECATION WARNING!!! + As of Pleroma 2.0.7, the `mrf_user_allowlist` setting changed of format. + Pleroma 2.1 will remove support for the old format. Please change your configuration to match this: + + config :pleroma, :mrf_user_allowlist, #{inspect(rewritten, pretty: true)} + """) + end + end + def warn do check_hellthread_threshold() + mrf_user_allowlist() end end diff --git a/lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex b/lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex index a927a4ed8..651aed70f 100644 --- a/lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex @@ -24,7 +24,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.UserAllowListPolicy do allow_list = Config.get( - [:mrf_user_allowlist, String.to_atom(actor_info.host)], + [:mrf_user_allowlist, actor_info.host], [] ) |