commit: 7319b41e340ac17ed7f31f89cd0edc959de270ce
parent: ba72d02f86d229ae83d4ca669e548b9968bdf8dd
Author: kaniini <ariadne@dereferenced.org>
Date: Sat, 3 Aug 2019 18:12:39 +0000
Merge branch 'fix/with-reject-nil-clause' into 'develop'
Handle MRF rejections of incoming AP activities
Closes #1095
See merge request pleroma/pleroma!1520
Diffstat:
2 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -267,6 +267,9 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
else
{:fake, true, activity} ->
{:ok, activity}
+
+ {:error, message} ->
+ {:error, message}
end
end
diff --git a/test/web/federator_test.exs b/test/web/federator_test.exs
@@ -229,5 +229,21 @@ defmodule Pleroma.Web.FederatorTest do
:error = Federator.incoming_ap_doc(params)
end
+
+ test "it does not crash if MRF rejects the post" do
+ policies = Pleroma.Config.get([:instance, :rewrite_policy])
+ mrf_keyword_policy = Pleroma.Config.get(:mrf_keyword)
+ Pleroma.Config.put([:mrf_keyword, :reject], ["lain"])
+ Pleroma.Config.put([:instance, :rewrite_policy], Pleroma.Web.ActivityPub.MRF.KeywordPolicy)
+
+ params =
+ File.read!("test/fixtures/mastodon-post-activity.json")
+ |> Poison.decode!()
+
+ assert Federator.incoming_ap_doc(params) == :error
+
+ Pleroma.Config.put([:instance, :rewrite_policy], policies)
+ Pleroma.Config.put(:mrf_keyword, mrf_keyword_policy)
+ end
end
end