aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2018-05-13 23:28:56 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2018-05-13 19:05:02 -0500
commit93904921381300ddeefab99350cba5f551e0e2b0 (patch)
tree4a691bd3d8b3e4bd3a268dbe48d7cadbc87b3741 /lib
parent89954a2ce7a5003c539650112c974d1d05908e27 (diff)
downloadpleroma-93904921381300ddeefab99350cba5f551e0e2b0.tar.gz
ActivityPub create: discard activities from deactivated users
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index 491ad3705..76cda0b4c 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -16,9 +16,20 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
(data["to"] || []) ++ (data["cc"] || [])
end
+ defp check_actor_is_active(actor) do
+ user = User.get_cached_by_ap_id(actor)
+
+ if user.info["deactivated"] == true do
+ :reject
+ else
+ :ok
+ end
+ end
+
def insert(map, local \\ true) when is_map(map) do
with nil <- Activity.get_by_ap_id(map["id"]),
map <- lazy_put_activity_defaults(map),
+ :ok <- check_actor_is_active(map["actor"]),
{:ok, map} <- MRF.filter(map),
:ok <- insert_full_object(map) do
{:ok, activity} =