From 6ee0f037f6b0dc8edfd4cf0b6e421df2cdb5222a Mon Sep 17 00:00:00 2001 From: Alec Murphy Date: Sun, 23 Feb 2025 09:23:09 -0500 Subject: [PATCH] Slon/Modules/ActivityPub: Always send the Accept request to signatory, rather than the actor specified in the object --- Slon/Modules/ActivityPub.HC | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Slon/Modules/ActivityPub.HC b/Slon/Modules/ActivityPub.HC index 221f6a1..478fdda 100644 --- a/Slon/Modules/ActivityPub.HC +++ b/Slon/Modules/ActivityPub.HC @@ -408,7 +408,7 @@ U0 @slon_activitypub_async_accept_request(JsonObject* o) accept_object->set("object", request, JSON_OBJECT); U8* fetch_buffer = CAlloc(HTTP_FETCH_BUFFER_SIZE, adam_task); - StrPrint(scratch_buffer, "%s/inbox", request->@("actor")); + StrPrint(scratch_buffer, "%s/inbox", o->@("actor_for_key_id")); @slon_activitypub_signed_request(scratch_buffer, fetch_buffer, accept_object); Free(fetch_buffer); Json.Delete(accept_object); @@ -820,6 +820,7 @@ U0 @slon_activitypub_users_inbox(SlonHttpSession* session, U8* user) if (request_object) { JsonObject* o = Json.CreateObject(); + o->set("actor_for_key_id", session->actor_for_key_id, JSON_STRING); o->set("user", user, JSON_STRING); o->set("request", request_object, JSON_OBJECT); Spawn(&@slon_activitypub_async_accept_request, o, "SlonAsyncAcceptTask");