aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authoreal <eal@waifu.club>2018-06-03 23:33:33 +0300
committereal <eal@waifu.club>2018-06-03 23:33:33 +0300
commit9075b6d25b4b136bb8d8ae888bd52996a9f302e2 (patch)
tree0a98f84c85f7cc26acc6daf9a69b0992a070eb2f /lib
parent4856962434ffd36826a4fc3052b867e751efc828 (diff)
downloadpleroma-9075b6d25b4b136bb8d8ae888bd52996a9f302e2.tar.gz
ActivityPub.ex: filter domain blocked activities.
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index 4e0be5ba2..5c61920e5 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -439,11 +439,13 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
defp restrict_blocked(query, %{"blocking_user" => %User{info: info}}) do
blocks = info["blocks"] || []
+ domain_blocks = info["domain_blocks"] || []
from(
activity in query,
where: fragment("not (? = ANY(?))", activity.actor, ^blocks),
- where: fragment("not (?->'to' \\?| ?)", activity.data, ^blocks)
+ where: fragment("not (?->'to' \\?| ?)", activity.data, ^blocks),
+ where: fragment("not (? ~ ANY(?))", activity.actor, ^domain_blocks)
)
end