Преглед изворни кода

Also reject Like messages in is_msg_for_me().

default пре 3 година
родитељ
комит
cf2cfca624
1 измењених фајлова са 5 додато и 1 уклоњено
  1. 5 1
      activitypub.c

+ 5 - 1
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;