forked from YokaiRick/akkoma
Merge branch 'fix/unsafe-variables' into 'develop'
Get rid of unsafe variables. See merge request pleroma/pleroma!145
This commit is contained in:
commit
2b708f76e0
5 changed files with 50 additions and 35 deletions
|
@ -17,9 +17,10 @@ defp check_media_removal(actor_info, object) do
|
|||
if actor_info.host in @media_removal do
|
||||
child_object = Map.delete(object["object"], "attachment")
|
||||
object = Map.put(object, "object", child_object)
|
||||
{:ok, object}
|
||||
else
|
||||
{:ok, object}
|
||||
end
|
||||
|
||||
{:ok, object}
|
||||
end
|
||||
|
||||
@media_nsfw Keyword.get(@mrf_policy, :media_nsfw)
|
||||
|
@ -32,9 +33,10 @@ defp check_media_nsfw(actor_info, object) do
|
|||
child_object = Map.put(child_object, "tags", tags)
|
||||
child_object = Map.put(child_object, "sensitive", true)
|
||||
object = Map.put(object, "object", child_object)
|
||||
{:ok, object}
|
||||
else
|
||||
{:ok, object}
|
||||
end
|
||||
|
||||
{:ok, object}
|
||||
end
|
||||
|
||||
@ftl_removal Keyword.get(@mrf_policy, :federated_timeline_removal)
|
||||
|
@ -43,22 +45,28 @@ defp check_ftl_removal(actor_info, object) do
|
|||
user = User.get_by_ap_id(object["actor"])
|
||||
|
||||
# flip to/cc relationship to make the post unlisted
|
||||
if "https://www.w3.org/ns/activitystreams#Public" in object["to"] and
|
||||
user.follower_address in object["cc"] do
|
||||
to =
|
||||
List.delete(object["to"], "https://www.w3.org/ns/activitystreams#Public") ++
|
||||
[user.follower_address]
|
||||
object =
|
||||
if "https://www.w3.org/ns/activitystreams#Public" in object["to"] and
|
||||
user.follower_address in object["cc"] do
|
||||
to =
|
||||
List.delete(object["to"], "https://www.w3.org/ns/activitystreams#Public") ++
|
||||
[user.follower_address]
|
||||
|
||||
cc =
|
||||
List.delete(object["cc"], user.follower_address) ++
|
||||
["https://www.w3.org/ns/activitystreams#Public"]
|
||||
cc =
|
||||
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
|
||||
|
||||
{:ok, object}
|
||||
end
|
||||
|
||||
def filter(object) do
|
||||
|
|
|
@ -72,9 +72,12 @@ def fix_emoji(object) do
|
|||
|> Enum.reduce(%{}, fn data, mapping ->
|
||||
name = data["name"]
|
||||
|
||||
if String.starts_with?(name, ":") do
|
||||
name = name |> String.slice(1..-2)
|
||||
end
|
||||
name =
|
||||
if String.starts_with?(name, ":") do
|
||||
name = name |> String.slice(1..-2)
|
||||
else
|
||||
name
|
||||
end
|
||||
|
||||
mapping |> Map.put(name, data["icon"]["url"])
|
||||
end)
|
||||
|
|
|
@ -123,9 +123,12 @@ def render("outbox.json", %{user: user, max_id: max_qid}) do
|
|||
"limit" => "10"
|
||||
}
|
||||
|
||||
if max_qid != nil do
|
||||
params = Map.put(params, "max_id", max_qid)
|
||||
end
|
||||
params =
|
||||
if max_qid != nil do
|
||||
Map.put(params, "max_id", max_qid)
|
||||
else
|
||||
params
|
||||
end
|
||||
|
||||
activities = ActivityPub.fetch_public_activities(params)
|
||||
min_id = Enum.at(activities, 0).id
|
||||
|
|
|
@ -212,14 +212,14 @@ def user_statuses(%{assigns: %{user: user}} = conn, params) do
|
|||
|> Map.put("actor_id", ap_id)
|
||||
|> Map.put("whole_db", true)
|
||||
|
||||
if params["pinned"] == "true" do
|
||||
# Since Pleroma has no "pinned" posts feature, we'll just set an empty list here
|
||||
activities = []
|
||||
else
|
||||
activities =
|
||||
activities =
|
||||
if params["pinned"] == "true" do
|
||||
# Since Pleroma has no "pinned" posts feature, we'll just set an empty list here
|
||||
[]
|
||||
else
|
||||
ActivityPub.fetch_public_activities(params)
|
||||
|> Enum.reverse()
|
||||
end
|
||||
end
|
||||
|
||||
conn
|
||||
|> add_link_headers(:user_statuses, activities, params["id"])
|
||||
|
|
|
@ -239,13 +239,14 @@ def finger(account) do
|
|||
URI.parse(account).host
|
||||
end
|
||||
|
||||
case find_lrdd_template(domain) do
|
||||
{:ok, template} ->
|
||||
address = String.replace(template, "{uri}", URI.encode(account))
|
||||
address =
|
||||
case find_lrdd_template(domain) do
|
||||
{:ok, template} ->
|
||||
String.replace(template, "{uri}", URI.encode(account))
|
||||
|
||||
_ ->
|
||||
address = "http://#{domain}/.well-known/webfinger?resource=acct:#{account}"
|
||||
end
|
||||
_ ->
|
||||
"http://#{domain}/.well-known/webfinger?resource=acct:#{account}"
|
||||
end
|
||||
|
||||
with response <-
|
||||
@httpoison.get(
|
||||
|
|
Loading…
Reference in a new issue