summaryrefslogtreecommitdiff
path: root/activitypub.c
diff options
context:
space:
mode:
authordefault <nobody@localhost>2024-03-24 06:23:48 +0100
committerdefault <nobody@localhost>2024-03-24 06:23:48 +0100
commit840fde45f17940c8fba7ac5151e96de2fe1a606f (patch)
treecb6e107492400d963d18e5a1c6acc76b8f16f6ce /activitypub.c
parentf0a032044bc4da3d5baa3188c76f37d6f3cc1038 (diff)
Only reply to direct Ping activities.
Diffstat (limited to 'activitypub.c')
-rw-r--r--activitypub.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/activitypub.c b/activitypub.c
index 376082d..2b4ff81 100644
--- a/activitypub.c
+++ b/activitypub.c
@@ -659,6 +659,12 @@ int is_msg_for_me(snac *snac, const xs_dict *c_msg)
return !xs_is_null(object) && strcmp(snac->actor, object) == 0;
}
+ /* only accept Ping directed to us */
+ if (xs_match(type, "Ping")) {
+ char *dest = xs_dict_get(c_msg, "to");
+ return !xs_is_null(dest) && strcmp(snac->actor, dest) == 0;
+ }
+
/* if it's not a Create or Update, allow as is */
if (!xs_match(type, "Create|Update")) {
return 1;