commit: e944b1529862a2a40158803da5fe04a024f7aa4f
parent 53ef576739939aec40279269fa424262951d9f7e
Author: feld <feld@feld.me>
Date: Wed, 15 May 2024 20:51:47 +0000
Merge branch 'strip-object-actor' into 'develop'
Strip actor from objects before federating
Closes #3269
See merge request pleroma/pleroma!4105
Diffstat:
6 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/changelog.d/strip-object-actor.fix b/changelog.d/strip-object-actor.fix
@@ -0,0 +1 @@
+Strip actor property from objects before federating
diff --git a/lib/pleroma/constants.ex b/lib/pleroma/constants.ex
@@ -9,6 +9,7 @@ defmodule Pleroma.Constants do
const(object_internal_fields,
do: [
+ "actor",
"reactions",
"reaction_count",
"likes",
diff --git a/test/fixtures/create-chat-message.json b/test/fixtures/create-chat-message.json
@@ -1,10 +1,10 @@
{
- "actor": "http://2hu.gensokyo/users/raymoo",
- "id": "http://2hu.gensokyo/objects/1",
+ "actor": "http://mastodon.example.org/users/admin",
+ "id": "http://mastodon.example.org/objects/1",
"object": {
- "attributedTo": "http://2hu.gensokyo/users/raymoo",
+ "attributedTo": "http://mastodon.example.org/users/admin",
"content": "You expected a cute girl? Too bad. <script>alert('XSS')</script>",
- "id": "http://2hu.gensokyo/objects/2",
+ "id": "http://mastodon.example.org/objects/2",
"published": "2020-02-12T14:08:20Z",
"to": [
"http://2hu.gensokyo/users/marisa"
diff --git a/test/pleroma/user/backup_test.exs b/test/pleroma/user/backup_test.exs
@@ -221,7 +221,6 @@ defmodule Pleroma.User.BackupTest do
"orderedItems" => [
%{
"object" => %{
- "actor" => "http://cofe.io/users/cofe",
"content" => "status1",
"type" => "Note"
},
@@ -229,7 +228,6 @@ defmodule Pleroma.User.BackupTest do
},
%{
"object" => %{
- "actor" => "http://cofe.io/users/cofe",
"content" => "status2"
}
},
diff --git a/test/pleroma/web/activity_pub/transmogrifier/chat_message_test.exs b/test/pleroma/web/activity_pub/transmogrifier/chat_message_test.exs
@@ -116,8 +116,6 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.ChatMessageTest do
data =
File.read!("test/fixtures/create-chat-message.json")
|> Jason.decode!()
- |> Map.put("actor", "http://mastodon.example.org/users/admin")
- |> put_in(["object", "actor"], "http://mastodon.example.org/users/admin")
_recipient = insert(:user, ap_id: List.first(data["to"]), local: true)
diff --git a/test/pleroma/web/activity_pub/transmogrifier_test.exs b/test/pleroma/web/activity_pub/transmogrifier_test.exs
@@ -169,7 +169,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
{:ok, modified} = Transmogrifier.prepare_outgoing(announce_activity.data)
assert modified["object"]["content"] == "hey"
- assert modified["object"]["actor"] == modified["object"]["attributedTo"]
+ assert activity.actor == modified["object"]["attributedTo"]
end
test "it turns mentions into tags" do
@@ -220,7 +220,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
{:ok, activity} = CommonAPI.post(user, %{status: "hey"})
{:ok, modified} = Transmogrifier.prepare_outgoing(activity.data)
- assert modified["object"]["actor"] == modified["object"]["attributedTo"]
+ assert activity.actor == modified["object"]["attributedTo"]
end
test "it strips internal hashtag data" do
@@ -266,6 +266,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
assert is_nil(modified["object"]["announcements"])
assert is_nil(modified["object"]["announcement_count"])
assert is_nil(modified["object"]["generator"])
+ assert is_nil(modified["object"]["actor"])
end
test "it strips internal fields of article" do