diff options
author | default <nobody@localhost> | 2023-12-28 09:26:08 +0100 |
---|---|---|
committer | default <nobody@localhost> | 2023-12-28 09:26:08 +0100 |
commit | 3414ab48c6b97cfd358472f0dc87b6d28387b4b4 (patch) | |
tree | 48829d626eb73c3b6d4bf14b247800c14efb1ac4 /activitypub.c | |
parent | ecdb5aced89876814712bb3b83d671b787d47f4c (diff) |
In 'Follow', ensure the actor object to be followed is here.
Due to the routing change made for the shared inboxes, local users
are not in the data storage, so this fixes it.
Diffstat (limited to 'activitypub.c')
-rw-r--r-- | activitypub.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/activitypub.c b/activitypub.c index c6e4b26..2dd1358 100644 --- a/activitypub.c +++ b/activitypub.c @@ -1624,6 +1624,13 @@ int process_input_message(snac *snac, xs_dict *msg, xs_dict *req) if (strcmp(type, "Follow") == 0) { /** **/ if (!follower_check(snac, actor)) { + /* ensure the actor object is here */ + if (!object_here(actor)) { + xs *actor_obj = NULL; + actor_request(snac, actor, &actor_obj); + object_add(actor, actor_obj); + } + xs *f_msg = xs_dup(msg); xs *reply = msg_accept(snac, f_msg, actor); |