summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2019-07-31 22:05:12 +0300
committerrinpatch <rinpatch@sdf.org>2019-07-31 22:05:12 +0300
commit813c686dd77e6d441c235b2f7a57ac7911e249af (patch)
tree6d89155a20c4091453c3538d639bd18b696839a6 /lib
parent8980c1c769dab3df91d34a90407d31e09788beff (diff)
downloadpleroma-813c686dd77e6d441c235b2f7a57ac7911e249af.tar.gz
pleroma-813c686dd77e6d441c235b2f7a57ac7911e249af.zip
Disallow following locked accounts over OStatus
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/ostatus/handlers/follow_handler.ex4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/pleroma/web/ostatus/handlers/follow_handler.ex b/lib/pleroma/web/ostatus/handlers/follow_handler.ex
index 03e4cbbb0..24513972e 100644
--- a/lib/pleroma/web/ostatus/handlers/follow_handler.ex
+++ b/lib/pleroma/web/ostatus/handlers/follow_handler.ex
@@ -14,9 +14,13 @@ defmodule Pleroma.Web.OStatus.FollowHandler do
followed_uri when not is_nil(followed_uri) <-
XML.string_from_xpath("/entry/activity:object/id", entry),
{:ok, followed} <- OStatus.find_or_make_user(followed_uri),
+ {:locked, false} <- {:locked, followed.info.locked},
{:ok, activity} <- ActivityPub.follow(actor, followed, id, false) do
User.follow(actor, followed)
{:ok, activity}
+ else
+ {:locked, true} ->
+ {:error, "It's not possible to follow locked accounts over OStatus"}
end
end
end