extend reject MRF to check if originating instance is blocked
[akkoma] / lib / pleroma / web / activity_pub / publisher.ex
index cd820fa3dcdb20241f92e45fb597fb92ad052f2f..b187d3a48040cee9c5b1b182c4ea28051fcef093 100644 (file)
@@ -103,11 +103,16 @@ defmodule Pleroma.Web.ActivityPub.Publisher do
     end
   end
 
-  defp should_federate?(inbox) do
-    %{host: host} = URI.parse(inbox)
+  defp blocked_instances do
+    Config.get([:instance, :quarantined_instances], []) ++
+      Config.get([:mrf_simple, :reject], [])
+  end
+
+  def should_federate?(url) do
+    %{host: host} = URI.parse(url)
 
     quarantined_instances =
-      Config.get([:instance, :quarantined_instances], [])
+      blocked_instances()
       |> Pleroma.Web.ActivityPub.MRF.instance_list_from_tuples()
       |> Pleroma.Web.ActivityPub.MRF.subdomains_regex()