From dbe60be4f3818336e7e91c6153fcf846303eed04 Mon Sep 17 00:00:00 2001 From: default Date: Wed, 2 Nov 2022 20:28:40 +0100 Subject: Fixed bug when following by @user@host. --- activitypub.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'activitypub.c') diff --git a/activitypub.c b/activitypub.c index 164c6e6..be1cc5d 100644 --- a/activitypub.c +++ b/activitypub.c @@ -484,13 +484,22 @@ d_char *msg_delete(snac *snac, char *id) } -d_char *msg_follow(snac *snac, char *actor) +d_char *msg_follow(snac *snac, char *url_or_uid) /* creates a 'Follow' message */ { - d_char *actor_o = NULL; + xs *actor_o = NULL; + xs *actor = NULL; d_char *msg = NULL; int status; + if (xs_startswith(url_or_uid, "https:/")) + actor = xs_dup(url_or_uid); + else + if (!valid_status(webfinger_request(url_or_uid, &actor, NULL))) { + snac_log(snac, xs_fmt("cannot resolve user %s to follow", url_or_uid)); + return NULL; + } + /* request the actor */ status = actor_request(snac, actor, &actor_o); -- cgit v1.2.3