commit df61287

default  ·  2022-12-15 15:37:34 +0000 UTC
parent 32eb3fb
Log repeated Follow messages.
1 files changed,  +16, -12
+16, -12
 1@@ -823,23 +823,27 @@ int process_message(snac *snac, char *msg, char *req)
 2     }
 3 
 4     if (strcmp(type, "Follow") == 0) {
 5-        xs *f_msg = xs_dup(msg);
 6-        xs *reply = msg_accept(snac, f_msg, actor);
 7+        if (!follower_check(snac, actor)) {
 8+            xs *f_msg = xs_dup(msg);
 9+            xs *reply = msg_accept(snac, f_msg, actor);
10 
11-        post(snac, reply);
12+            post(snac, reply);
13 
14-        if (xs_is_null(xs_dict_get(f_msg, "published"))) {
15-            /* add a date if it doesn't include one (Mastodon) */
16-            xs *date = xs_str_utctime(0, "%Y-%m-%dT%H:%M:%SZ");
17-            f_msg = xs_dict_set(f_msg, "published", date);
18-        }
19+            if (xs_is_null(xs_dict_get(f_msg, "published"))) {
20+                /* add a date if it doesn't include one (Mastodon) */
21+                xs *date = xs_str_utctime(0, "%Y-%m-%dT%H:%M:%SZ");
22+                f_msg = xs_dict_set(f_msg, "published", date);
23+            }
24 
25-        timeline_add(snac, xs_dict_get(f_msg, "id"), f_msg, NULL, NULL);
26+            timeline_add(snac, xs_dict_get(f_msg, "id"), f_msg, NULL, NULL);
27 
28-        follower_add(snac, actor);
29+            follower_add(snac, actor);
30 
31-        snac_log(snac, xs_fmt("new follower %s", actor));
32-        do_notify = 1;
33+            snac_log(snac, xs_fmt("new follower %s", actor));
34+            do_notify = 1;
35+        }
36+        else
37+            snac_debug(snac, 1, xs_fmt("repeated 'Follow' from %s", actor));
38     }
39     else
40     if (strcmp(type, "Undo") == 0) {