diff options
author | William Pitcock <nenolod@dereferenced.org> | 2019-05-22 04:15:59 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2019-05-22 18:53:12 +0000 |
commit | 75b6c4b00433560fb5ee502f13e8261b4b8a246a (patch) | |
tree | a50e8eb6f2a4be5cd15debb36ffd3985fec6172c | |
parent | 0b4f569c5ba10be61733d37f0be9bee5af693daf (diff) | |
download | pleroma-75b6c4b00433560fb5ee502f13e8261b4b8a246a.tar.gz |
mrf: defang policy modules for filtering user profile objects
-rw-r--r-- | lib/pleroma/web/activity_pub/mrf/simple_policy.ex | 6 | ||||
-rw-r--r-- | lib/pleroma/web/activity_pub/mrf/user_allowlist.ex | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/lib/pleroma/web/activity_pub/mrf/simple_policy.ex b/lib/pleroma/web/activity_pub/mrf/simple_policy.ex index 7190652d2..ffaa4b7db 100644 --- a/lib/pleroma/web/activity_pub/mrf/simple_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/simple_policy.ex @@ -105,8 +105,8 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicy do defp check_report_removal(_actor_info, object), do: {:ok, object} @impl true - def filter(object) do - actor_info = URI.parse(object["actor"]) + def filter(%{"actor" => actor} = object) do + actor_info = URI.parse(actor) with {:ok, object} <- check_accept(actor_info, object), {:ok, object} <- check_reject(actor_info, object), @@ -119,4 +119,6 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicy do _e -> {:reject, nil} end end + + def filter(object), do: {:ok, object} end diff --git a/lib/pleroma/web/activity_pub/mrf/user_allowlist.ex b/lib/pleroma/web/activity_pub/mrf/user_allowlist.ex index f5078d818..47663414a 100644 --- a/lib/pleroma/web/activity_pub/mrf/user_allowlist.ex +++ b/lib/pleroma/web/activity_pub/mrf/user_allowlist.ex @@ -19,10 +19,12 @@ defmodule Pleroma.Web.ActivityPub.MRF.UserAllowListPolicy do end @impl true - def filter(object) do - actor_info = URI.parse(object["actor"]) + def filter(%{"actor" => actor} = object) do + actor_info = URI.parse(actor) allow_list = Config.get([:mrf_user_allowlist, String.to_atom(actor_info.host)], []) filter_by_list(object, allow_list) end + + def filter(object), do: {:ok, object} end |