Add MRF specific error messages, fix cachex

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

View File

@ -172,7 +172,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

@ -38,7 +38,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

@ -22,7 +22,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
@ -87,8 +87,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

@ -34,14 +34,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

@ -572,11 +572,6 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|> put_status(422)
|> json(%{error: message})
{:reject, message} ->
conn
|> put_status(500)
|> json(%{error: message})
{_, activity} ->
conn
|> put_view(StatusView)
@ -596,6 +591,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