Browse Source

Reject MUTEd actor messages ASAP with a 403 status.

default 2 years ago
parent
commit
79ea0bf4ab
1 changed files with 11 additions and 0 deletions
  1. 11 0
      activitypub.c

+ 11 - 0
activitypub.c

@@ -1484,6 +1484,17 @@ int activitypub_post_handler(d_char *req, char *q_path,
         }
     }
 
+    /* if the message is from a muted actor, reject it right now */
+    if (!xs_is_null(v = xs_dict_get(msg, "actor")) && *v) {
+        if (is_muted(&snac, v)) {
+            srv_log(xs_fmt("rejected message from MUTEd actor %s", v));
+
+            *body  = xs_str_new("rejected");
+            *ctype = "text/plain";
+            status = 403;
+        }
+    }
+
     if (valid_status(status)) {
         enqueue_input(&snac, msg, req, 0);
         *ctype = "application/activity+json";