Bladeren bron

Discard output messages to blocked instances.

default 2 jaren geleden
bovenliggende
commit
073a2d962a
2 gewijzigde bestanden met toevoegingen van 10 en 2 verwijderingen
  1. 5 0
      activitypub.c
  2. 5 2
      data.c

+ 5 - 0
activitypub.c

@@ -1875,6 +1875,11 @@ void process_queue_item(xs_dict *q_item)
             return;
         }
 
+        if (is_instance_blocked(inbox)) {
+            srv_debug(0, xs_fmt("discarded output message to blocked instance %s", inbox));
+            return;
+        }
+
         /* deliver */
         status = send_to_inbox_raw(keyid, seckey, inbox, msg, &payload, &p_size, retries == 0 ? 3 : 8);
 

+ 5 - 2
data.c

@@ -1759,8 +1759,11 @@ void inbox_add_by_actor(const xs_dict *actor)
     char *v;
 
     if (!xs_is_null(v = xs_dict_get(actor, "endpoints")) &&
-        !xs_is_null(v = xs_dict_get(v, "sharedInbox")))
-        inbox_add(v);
+        !xs_is_null(v = xs_dict_get(v, "sharedInbox"))) {
+        /* only collect this inbox if its instance is not blocked */
+        if (!is_instance_blocked(v))
+            inbox_add(v);
+    }
 }