aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAriadne Conill <ariadne@dereferenced.org>2019-07-13 18:30:45 +0000
committerAriadne Conill <ariadne@dereferenced.org>2019-07-13 18:53:14 +0000
commit80c46d6d8b84d77d86efc32c1d2af225c1eada33 (patch)
treef409890204d76e5192ab14a59c4ff8c0fac0c7e9 /lib
parentf4c001062e51c207bf84f56473ddf6120e3b50fb (diff)
downloadpleroma-80c46d6d8b84d77d86efc32c1d2af225c1eada33.tar.gz
nodeinfo: implement MRF transparency exclusions
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/nodeinfo/nodeinfo_controller.ex6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
index cd9a4f4a8..a1d7fcc7d 100644
--- a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
+++ b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
@@ -34,8 +34,11 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do
def raw_nodeinfo do
stats = Stats.get_stats()
+ exclusions = Config.get([:instance, :mrf_transparency_exclusions])
+
mrf_simple =
Config.get(:mrf_simple)
+ |> Enum.map(fn {k, v} -> {k, Enum.reject(v, fn v -> v in exclusions end)} end)
|> Enum.into(%{})
# This horror is needed to convert regex sigils to strings
@@ -86,7 +89,8 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do
mrf_simple: mrf_simple,
mrf_keyword: mrf_keyword,
mrf_user_allowlist: mrf_user_allowlist,
- quarantined_instances: quarantined
+ quarantined_instances: quarantined,
+ exclusions: length(exclusions) > 0
}
else
%{}