aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2019-03-24 15:02:13 +0000
committerrinpatch <rinpatch@sdf.org>2019-03-24 15:02:13 +0000
commit750de7d84272c050ce7158f9c51dfe6d9823e81c (patch)
tree0fb6817aa459eb18f7cebf8a70860b28e9dab28f
parenta32bcab04bed54984b76dc9ad59dd02e41f1e04d (diff)
parenteab9425cc48d60145f363870fe384672b01a94f3 (diff)
downloadpleroma-750de7d84272c050ce7158f9c51dfe6d9823e81c.tar.gz
Merge branch 'features/mrf-keyword-nil-summary' into 'develop'
mrf/keyword_policy.ex: Fix when summary == nil, do not whitelist content == nil See merge request pleroma/pleroma!968
-rw-r--r--lib/pleroma/web/activity_pub/mrf/keyword_policy.ex23
1 files changed, 18 insertions, 5 deletions
diff --git a/lib/pleroma/web/activity_pub/mrf/keyword_policy.ex b/lib/pleroma/web/activity_pub/mrf/keyword_policy.ex
index 25d5f9cd3..e8dfba672 100644
--- a/lib/pleroma/web/activity_pub/mrf/keyword_policy.ex
+++ b/lib/pleroma/web/activity_pub/mrf/keyword_policy.ex
@@ -4,6 +4,10 @@
defmodule Pleroma.Web.ActivityPub.MRF.KeywordPolicy do
@behaviour Pleroma.Web.ActivityPub.MRF
+ defp string_matches?(string, _) when not is_binary(string) do
+ false
+ end
+
defp string_matches?(string, pattern) when is_binary(pattern) do
String.contains?(string, pattern)
end
@@ -44,6 +48,20 @@ defmodule Pleroma.Web.ActivityPub.MRF.KeywordPolicy do
end
defp check_replace(%{"object" => %{"content" => content, "summary" => summary}} = message) do
+ content =
+ if is_binary(content) do
+ content
+ else
+ ""
+ end
+
+ summary =
+ if is_binary(summary) do
+ summary
+ else
+ ""
+ end
+
{content, summary} =
Enum.reduce(
Pleroma.Config.get([:mrf_keyword, :replace]),
@@ -61,11 +79,6 @@ defmodule Pleroma.Web.ActivityPub.MRF.KeywordPolicy do
end
@impl true
- def filter(%{"object" => %{"content" => nil}} = message) do
- {:ok, message}
- end
-
- @impl true
def filter(%{"type" => "Create", "object" => %{"content" => _content}} = message) do
with {:ok, message} <- check_reject(message),
{:ok, message} <- check_ftl_removal(message),