Feature/1087 wildcard option for blocks
[akkoma] / lib / pleroma / web / activity_pub / publisher.ex
index f8a4a4420b6897dda9af9d99daad52f11ef1fcbd..0bbe6ee805fdd6b613b2dcf4bb518a9437de7784 100644 (file)
@@ -87,8 +87,13 @@ defmodule Pleroma.Web.ActivityPub.Publisher do
     if public do
       true
     else
-      inbox_info = URI.parse(inbox)
-      !Enum.member?(Config.get([:instance, :quarantined_instances], []), inbox_info.host)
+      %{host: host} = URI.parse(inbox)
+
+      quarantined_instances =
+        Config.get([:instance, :quarantined_instances], [])
+        |> Pleroma.Web.ActivityPub.MRF.subdomains_regex()
+
+      !Pleroma.Web.ActivityPub.MRF.subdomain_match?(quarantined_instances, host)
     end
   end