aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgrunfink <grunfink@comam.es>2026-03-22 08:49:24 +0100
committergrunfink <grunfink@comam.es>2026-03-22 08:49:24 +0100
commitb5524d7e265e49bdc57b8aaa86794ee85f40b13c (patch)
tree6c64783bb119729147c82faa1f012ee620bab128
parent210bb07a3494e1f08f12aaa4637821ef97ce1565 (diff)
Also check for actor_alt in is_msg_for_me().
-rw-r--r--activitypub.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/activitypub.c b/activitypub.c
index bbd17f4..e1d4d2d 100644
--- a/activitypub.c
+++ b/activitypub.c
@@ -813,13 +813,13 @@ int is_msg_for_me(snac *snac, const xs_dict *c_msg)
/* if it's a Follow, it must be explicitly for us */
if (xs_match(type, "Follow")) {
const char *object = xs_dict_get(c_msg, "object");
- return !xs_is_null(object) && strcmp(snac->actor, object) == 0;
+ return !xs_is_null(object) && (strcmp(snac->actor, object) == 0 || strcmp(snac->actor_alt, object) == 0);
}
/* only accept Ping directed to us */
if (xs_match(type, "Ping")) {
const char *dest = xs_dict_get(c_msg, "to");
- return !xs_is_null(dest) && strcmp(snac->actor, dest) == 0;
+ return !xs_is_null(dest) && (strcmp(snac->actor, dest) == 0 || strcmp(snac->actor_alt, dest) == 0);
}
/* if it's not a Create or Update, allow as is */
@@ -860,7 +860,7 @@ int is_msg_for_me(snac *snac, const xs_dict *c_msg)
while(xs_list_iter(&p, &v)) {
/* explicitly for me? accept */
- if (strcmp(v, snac->actor) == 0)
+ if (strcmp(v, snac->actor) == 0 || strcmp(v, snac->actor_alt) == 0)
return 2;
if (pub_msg) {