logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
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:

Mlib/pleroma/web/activity_pub/activity_pub.ex3+++
Mtest/web/federator_test.exs16++++++++++++++++
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