diff --git a/activitypub.c b/activitypub.c index 720e83a..ff568c8 100644 --- a/activitypub.c +++ b/activitypub.c @@ -468,11 +468,16 @@ int is_msg_for_me(snac *snac, const xs_dict *c_msg) return following_check(snac, actor); } - /* if it's an Undo, it must be from someone we follow */ + /* if it's an Undo + Follow, it must be from someone we follow */ if (xs_match(type, "Undo")) { return following_check(snac, actor); } + /* if it's an Accept + Follow, it must be for a Follow we created */ + if (xs_match(type, "Accept")) { + return following_check(snac, actor); + } + /* if it's not a Create or Update, allow as is */ if (!xs_match(type, "Create|Update")) { return 1;