Add MRF specific error messages, fix cachex

This commit is contained in:
Karen Konou 2019-04-23 19:45:13 +02:00
parent 3910163895
commit 76f2c1423e
5 changed files with 8 additions and 12 deletions

View File

@ -163,7 +163,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
{:ok, activity}
{:reject, nil} ->
{:reject, "Unspecified MRF error"}
{:reject, "Unspecified MRF rejection"}
{:reject, message} ->
{:reject, message}

View File

@ -36,7 +36,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.HellthreadPolicy do
defp reject_message(message, threshold) when threshold > 0 do
with {_, recipients} <- get_recipient_count(message) do
if recipients > threshold do
{:reject, nil}
{:reject, "Message recipient count above MRF policy threshold"}
else
{:ok, message}
end

View File

@ -20,7 +20,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.KeywordPolicy do
if Enum.any?(Pleroma.Config.get([:mrf_keyword, :reject]), fn pattern ->
string_matches?(content, pattern) or string_matches?(summary, pattern)
end) do
{:reject, nil}
{:reject, "Message contains a rejected keyword"}
else
{:ok, message}
end
@ -85,8 +85,8 @@ defmodule Pleroma.Web.ActivityPub.MRF.KeywordPolicy do
{:ok, message} <- check_replace(message) do
{:ok, message}
else
_e ->
{:reject, nil}
{:reject, error_message} ->
{:reject, error_message}
end
end

View File

@ -33,14 +33,14 @@ defmodule Pleroma.Web.ActivityPub.MRF.RejectNonPublic do
with true <- Keyword.get(policy, :allow_followersonly) do
{:ok, object}
else
_e -> {:reject, nil}
_e -> {:reject, "Follower only messages not allowed by server"}
end
"direct" ->
with true <- Keyword.get(policy, :allow_direct) do
{:ok, object}
else
_e -> {:reject, nil}
_e -> {:reject, "Direct messages not allowed by server"}
end
end
end

View File

@ -470,11 +470,6 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|> put_status(401)
|> json(%{error: message})
{:reject, message} ->
conn
|> put_status(500)
|> json(%{error: message})
{_, activity} ->
conn
|> put_view(StatusView)
@ -494,6 +489,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
case CommonAPI.post(user, params) do
{:ok, activity} -> activity
{:error, message} -> {:ignore, message}
{:reject, message} -> {:ignore, message}
end
end)
end