diff options
author | Roman Chvanikov <chvanikoff@pm.me> | 2020-04-23 02:03:02 +0300 |
---|---|---|
committer | Roman Chvanikov <chvanikoff@pm.me> | 2020-04-23 02:03:02 +0300 |
commit | 416a37fcefbd38d01a46b15e6af039b99a22ee0b (patch) | |
tree | 3c3c4506ad41fb227411facc37e1581ab29d8f25 /lib/pleroma/web/federator/federator.ex | |
parent | 8b522b3b3fead67e6d1c017b79758c12e3b133af (diff) | |
parent | 850377a7b8d380088d8717d82b09a2976bbdd739 (diff) | |
download | pleroma-416a37fcefbd38d01a46b15e6af039b99a22ee0b.tar.gz |
Merge branch 'develop' into refactor/fe-bundles
Diffstat (limited to 'lib/pleroma/web/federator/federator.ex')
-rw-r--r-- | lib/pleroma/web/federator/federator.ex | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/pleroma/web/federator/federator.ex b/lib/pleroma/web/federator/federator.ex index fd904ef0a..f5803578d 100644 --- a/lib/pleroma/web/federator/federator.ex +++ b/lib/pleroma/web/federator/federator.ex @@ -72,19 +72,24 @@ defmodule Pleroma.Web.Federator do # actor shouldn't be acting on objects outside their own AP server. with {:ok, _user} <- ap_enabled_actor(params["actor"]), nil <- Activity.normalize(params["id"]), - :ok <- Containment.contain_origin_from_id(params["actor"], params), + {_, :ok} <- + {:correct_origin?, Containment.contain_origin_from_id(params["actor"], params)}, {:ok, activity} <- Transmogrifier.handle_incoming(params) do {:ok, activity} else + {:correct_origin?, _} -> + Logger.debug("Origin containment failure for #{params["id"]}") + {:error, :origin_containment_failed} + %Activity{} -> Logger.debug("Already had #{params["id"]}") - :error + {:error, :already_present} - _e -> + e -> # Just drop those for now Logger.debug("Unhandled activity") Logger.debug(Jason.encode!(params, pretty: true)) - :error + {:error, e} end end |