commit 1af00ab

default  ·  2024-02-22 13:11:05 +0000 UTC
parent 4a97294
Also reject posts from accounts that are too old to be true.
1 files changed,  +18, -5
+18, -5
 1@@ -1833,16 +1833,29 @@ int process_input_message(snac *snac, xs_dict *msg, xs_dict *req)
 2         char *actor_date = xs_dict_get(actor_o, "published");
 3         if (!xs_is_null(actor_date)) {
 4             time_t actor_t = xs_parse_iso_date(actor_date, 0);
 5-            int td = (int)(time(NULL) - actor_t);
 6 
 7-            snac_debug(snac, 2, xs_fmt("actor %s age: %d seconds", actor, td));
 8-
 9-            if (td < min_account_age) {
10-                srv_log(xs_fmt("rejected activity from %s (too new, %d seconds)", actor, td));
11+            if (actor_t < 950000000) {
12+                snac_log(snac, xs_fmt("rejected activity from %s (suspicious date, %s)",
13+                    actor, actor_date));
14 
15                 return 1;
16             }
17+
18+            if (actor_t > 0) {
19+                int td = (int)(time(NULL) - actor_t);
20+
21+                snac_debug(snac, 2, xs_fmt("actor %s age: %d seconds", actor, td));
22+
23+                if (td < min_account_age) {
24+                    snac_log(snac, xs_fmt("rejected activity from %s (too new, %d seconds)",
25+                        actor, td));
26+
27+                    return 1;
28+                }
29+            }
30         }
31+        else
32+            snac_log(snac, xs_fmt("warning: empty or null creation date for %s", actor));
33     }
34 
35     if (strcmp(type, "Follow") == 0) { /** **/