projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added tests for OstatusController
[akkoma]
/
lib
/
pleroma
/
object
/
containment.ex
diff --git
a/lib/pleroma/object/containment.ex
b/lib/pleroma/object/containment.ex
index 27e89d87fb839045d08db024cd3801801b7528c1..f077a9f32436841f1ffb01975c970d3082fd80a7 100644
(file)
--- a/
lib/pleroma/object/containment.ex
+++ b/
lib/pleroma/object/containment.ex
@@
-1,7
+1,9
@@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
defmodule Pleroma.Object.Containment do
@moduledoc """
defmodule Pleroma.Object.Containment do
@moduledoc """
- # Object Containment
-
This module contains some useful functions for containing objects to specific
origins and determining those origins. They previously lived in the
ActivityPub `Transmogrifier` module.
This module contains some useful functions for containing objects to specific
origins and determining those origins. They previously lived in the
ActivityPub `Transmogrifier` module.
@@
-9,9
+11,6
@@
defmodule Pleroma.Object.Containment do
Object containment is an important step in validating remote objects to prevent
spoofing, therefore removal of object containment functions is NOT recommended.
"""
Object containment is an important step in validating remote objects to prevent
spoofing, therefore removal of object containment functions is NOT recommended.
"""
-
- require Logger
-
def get_actor(%{"actor" => actor}) when is_binary(actor) do
actor
end
def get_actor(%{"actor" => actor}) when is_binary(actor) do
actor
end
@@
-49,6
+48,9
@@
defmodule Pleroma.Object.Containment do
end
end
end
end
+ def contain_origin(id, %{"attributedTo" => actor} = params),
+ do: contain_origin(id, Map.put(params, "actor", actor))
+
def contain_origin_from_id(_id, %{"id" => nil}), do: :error
def contain_origin_from_id(id, %{"id" => other_id} = _params) do
def contain_origin_from_id(_id, %{"id" => nil}), do: :error
def contain_origin_from_id(id, %{"id" => other_id} = _params) do
@@
-61,4
+63,9
@@
defmodule Pleroma.Object.Containment do
:error
end
end
:error
end
end
+
+ def contain_child(%{"object" => %{"id" => id, "attributedTo" => _} = object}),
+ do: contain_origin(id, object)
+
+ def contain_child(_), do: :ok
end
end