Procházet zdrojové kódy

Also reject Like messages in is_msg_for_me().

default před 3 roky
rodič
revize
cf2cfca624
1 změnil soubory, kde provedl 5 přidání a 1 odebrání
  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;