aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2020-04-20 18:30:01 +0000
committerrinpatch <rinpatch@sdf.org>2020-04-20 18:30:01 +0000
commite57c1b60e4a0f882d5217bf1be8b1a7240aa322d (patch)
treec434f6400c46b5b166434d43b6ffdab98631459c /lib
parent7e456ac7f622f5524b74fbe45a16a58eb30551ff (diff)
parentbedc558809832ce6ef6063fe91656a0fff0e222c (diff)
downloadpleroma-e57c1b60e4a0f882d5217bf1be8b1a7240aa322d.tar.gz
Merge branch 'accept-deletes' into 'develop'
Always accept deletions through SimplePolicy, add :reject_deletes group See merge request pleroma/pleroma!2371
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/mrf/simple_policy.ex15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/pleroma/web/activity_pub/mrf/simple_policy.ex b/lib/pleroma/web/activity_pub/mrf/simple_policy.ex
index 4edc007fd..b7dcb1b86 100644
--- a/lib/pleroma/web/activity_pub/mrf/simple_policy.ex
+++ b/lib/pleroma/web/activity_pub/mrf/simple_policy.ex
@@ -149,6 +149,21 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicy do
defp check_banner_removal(_actor_info, object), do: {:ok, object}
@impl true
+ def filter(%{"type" => "Delete", "actor" => actor} = object) do
+ %{host: actor_host} = URI.parse(actor)
+
+ reject_deletes =
+ Pleroma.Config.get([:mrf_simple, :reject_deletes])
+ |> MRF.subdomains_regex()
+
+ if MRF.subdomain_match?(reject_deletes, actor_host) do
+ {:reject, nil}
+ else
+ {:ok, object}
+ end
+ end
+
+ @impl true
def filter(%{"actor" => actor} = object) do
actor_info = URI.parse(actor)