Merge branch 'fix/unsafe-variables' into 'develop'

Get rid of unsafe variables.

See merge request pleroma/pleroma!145
This commit is contained in:
lambda 2018-05-06 18:41:46 +00:00
commit 2b708f76e0
5 changed files with 50 additions and 35 deletions

View File

@ -17,9 +17,10 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicy do
if actor_info.host in @media_removal do
child_object = Map.delete(object["object"], "attachment")
object = Map.put(object, "object", child_object)
end
{:ok, object}
else
{:ok, object}
end
end
@media_nsfw Keyword.get(@mrf_policy, :media_nsfw)
@ -32,9 +33,10 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicy do
child_object = Map.put(child_object, "tags", tags)
child_object = Map.put(child_object, "sensitive", true)
object = Map.put(object, "object", child_object)
end
{:ok, object}
else
{:ok, object}
end
end
@ftl_removal Keyword.get(@mrf_policy, :federated_timeline_removal)
@ -43,6 +45,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicy do
user = User.get_by_ap_id(object["actor"])
# flip to/cc relationship to make the post unlisted
object =
if "https://www.w3.org/ns/activitystreams#Public" in object["to"] and
user.follower_address in object["cc"] do
to =
@ -53,12 +56,17 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicy do
List.delete(object["cc"], user.follower_address) ++
["https://www.w3.org/ns/activitystreams#Public"]
object = Map.put(object, "to", to)
object = Map.put(object, "cc", cc)
end
object
|> Map.put("to", to)
|> Map.put("cc", cc)
else
object
end
{:ok, object}
else
{:ok, object}
end
end
def filter(object) do

View File

@ -72,8 +72,11 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
|> Enum.reduce(%{}, fn data, mapping ->
name = data["name"]
name =
if String.starts_with?(name, ":") do
name = name |> String.slice(1..-2)
else
name
end
mapping |> Map.put(name, data["icon"]["url"])

View File

@ -123,8 +123,11 @@ defmodule Pleroma.Web.ActivityPub.UserView do
"limit" => "10"
}
params =
if max_qid != nil do
params = Map.put(params, "max_id", max_qid)
Map.put(params, "max_id", max_qid)
else
params
end
activities = ActivityPub.fetch_public_activities(params)

View File

@ -212,11 +212,11 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|> Map.put("actor_id", ap_id)
|> Map.put("whole_db", true)
activities =
if params["pinned"] == "true" do
# Since Pleroma has no "pinned" posts feature, we'll just set an empty list here
activities = []
[]
else
activities =
ActivityPub.fetch_public_activities(params)
|> Enum.reverse()
end

View File

@ -239,12 +239,13 @@ defmodule Pleroma.Web.WebFinger do
URI.parse(account).host
end
address =
case find_lrdd_template(domain) do
{:ok, template} ->
address = String.replace(template, "{uri}", URI.encode(account))
String.replace(template, "{uri}", URI.encode(account))
_ ->
address = "http://#{domain}/.well-known/webfinger?resource=acct:#{account}"
"http://#{domain}/.well-known/webfinger?resource=acct:#{account}"
end
with response <-