diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/user.ex | 8 | ||||
-rw-r--r-- | lib/pleroma/web/activity_pub/utils.ex | 4 | ||||
-rw-r--r-- | lib/pleroma/web/federator/federator.ex | 15 |
3 files changed, 4 insertions, 23 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index cba391072..273b76dd0 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -704,12 +704,8 @@ defmodule Pleroma.User do follow(follower, followed) end - def maybe_direct_follow(%User{} = follower, %User{} = followed) do - if not ap_enabled?(followed) do - follow(follower, followed) - else - {:ok, follower} - end + def maybe_direct_follow(%User{} = follower, _followed) do + {:ok, follower} end @doc "A mass follow for local users. Respects blocks in both directions but does not create activities." diff --git a/lib/pleroma/web/activity_pub/utils.ex b/lib/pleroma/web/activity_pub/utils.ex index f2375bcc4..825174899 100644 --- a/lib/pleroma/web/activity_pub/utils.ex +++ b/lib/pleroma/web/activity_pub/utils.ex @@ -42,10 +42,6 @@ defmodule Pleroma.Web.ActivityPub.Utils do def get_ap_id(%{"id" => id} = _), do: id def get_ap_id(id), do: id - def normalize_params(params) do - Map.put(params, "actor", get_ap_id(params["actor"])) - end - @spec determine_explicit_mentions(map()) :: [any] def determine_explicit_mentions(%{"tag" => tag}) when is_list(tag) do Enum.flat_map(tag, fn diff --git a/lib/pleroma/web/federator/federator.ex b/lib/pleroma/web/federator/federator.ex index d988dc215..7d733129a 100644 --- a/lib/pleroma/web/federator/federator.ex +++ b/lib/pleroma/web/federator/federator.ex @@ -8,7 +8,6 @@ defmodule Pleroma.Web.Federator do alias Pleroma.User alias Pleroma.Web.ActivityPub.ActivityPub alias Pleroma.Web.ActivityPub.Transmogrifier - alias Pleroma.Web.ActivityPub.Utils alias Pleroma.Web.Federator.Publisher alias Pleroma.Workers.PublisherWorker alias Pleroma.Workers.ReceiverWorker @@ -66,11 +65,11 @@ defmodule Pleroma.Web.Federator do def perform(:incoming_ap_doc, params) do Logger.debug("Handling incoming AP activity") - params = Utils.normalize_params(params) + actor = Containment.get_actor(params) # NOTE: we use the actor ID to do the containment, this is fine because an # actor shouldn't be acting on objects outside their own AP server. - with {:ok, _user} <- ap_enabled_actor(params["actor"]), + with {_, {:ok, _user}} <- {:get_user, User.get_or_fetch_by_ap_id(actor)}, nil <- Activity.normalize(params["id"]), {_, :ok} <- {:correct_origin?, Containment.contain_origin_from_id(params["actor"], params)}, @@ -92,14 +91,4 @@ defmodule Pleroma.Web.Federator do {:error, e} end end - - def ap_enabled_actor(id) do - user = User.get_cached_by_ap_id(id) - - if User.ap_enabled?(user) do - {:ok, user} - else - ActivityPub.make_user_from_ap_id(id) - end - end end |