aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorlambda <pleromagit@rogerbraun.net>2018-06-08 05:10:08 +0000
committerlambda <pleromagit@rogerbraun.net>2018-06-08 05:10:08 +0000
commitc86823f724cff550bd4a394035f63218114b5d1d (patch)
tree7e9283bfa9c18b4e694011dcb159e31ccddafff7 /lib
parent595ca3bb3a80eb3908a96b13c8b446296219a9c7 (diff)
parent1e9dd6fbc2ecf0c3e7528c40f3145b2a9e591d7a (diff)
downloadpleroma-c86823f724cff550bd4a394035f63218114b5d1d.tar.gz
Merge branch 'bugfix/locked-account-regression' into 'develop'
security fix: locked account regression See merge request pleroma/pleroma!200
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/user.ex4
-rw-r--r--lib/pleroma/web/activity_pub/transmogrifier.ex3
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index b1b935a0f..828370cab 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -174,7 +174,7 @@ defmodule Pleroma.User do
should_direct_follow =
cond do
# if the account is locked, don't pre-create the relationship
- user_info["locked"] == true ->
+ user_info[:locked] == true ->
false
# if the users are blocking each other, we shouldn't even be here, but check for it anyway
@@ -193,7 +193,7 @@ defmodule Pleroma.User do
if should_direct_follow do
follow(follower, followed)
else
- follower
+ {:ok, follower}
end
end
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex
index 3c9377be9..75ba36729 100644
--- a/lib/pleroma/web/activity_pub/transmogrifier.ex
+++ b/lib/pleroma/web/activity_pub/transmogrifier.ex
@@ -252,11 +252,12 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
{:ok, new_user_data} = ActivityPub.user_data_from_user_object(object)
banner = new_user_data[:info]["banner"]
+ locked = new_user_data[:info]["locked"]
update_data =
new_user_data
|> Map.take([:name, :bio, :avatar])
- |> Map.put(:info, Map.merge(actor.info, %{"banner" => banner}))
+ |> Map.put(:info, Map.merge(actor.info, %{"banner" => banner, "locked" => locked}))
actor
|> User.upgrade_changeset(update_data)