summaryrefslogtreecommitdiff
path: root/activitypub.c
diff options
context:
space:
mode:
Diffstat (limited to 'activitypub.c')
-rw-r--r--activitypub.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/activitypub.c b/activitypub.c
index 402d6a1..b253b22 100644
--- a/activitypub.c
+++ b/activitypub.c
@@ -383,12 +383,16 @@ int is_msg_for_me(snac *snac, const xs_dict *c_msg)
{
const char *type = xs_dict_get(c_msg, "type");
- if (strcmp(type, "Announce") == 0) {
+ if (strcmp(type, "Like") == 0 || strcmp(type, "Announce") == 0) {
const char *object = xs_dict_get(c_msg, "object");
if (xs_type(object) == XSTYPE_DICT)
object = xs_dict_get(object, "id");
+ /* bad object id? reject */
+ if (xs_type(object) != XSTYPE_STRING)
+ return 0;
+
/* if it's about one of our posts, accept it */
if (xs_startswith(object, snac->actor))
return 2;