commit 2135bdf

grunfink  ·  2026-06-24 08:58:59 +0000 UTC
parent fe83b48
Added an additional check for updated actor objects.
1 files changed,  +9, -3
+9, -3
 1@@ -3067,10 +3067,16 @@ int process_input_message(snac *snac, const xs_dict *msg, const xs_dict *req)
 2     else
 3     if (strcmp(type, "Update") == 0) { /** **/
 4         if (xs_match(utype, "Person|Service|Application")) { /** **/
 5-            actor_add(actor, xs_dict_get(msg, "object"));
 6-            timeline_touch(snac);
 7+            if (strcmp(actor, key_id) == 0) {
 8+                actor_add(actor, xs_dict_get(msg, "object"));
 9+                timeline_touch(snac);
10 
11-            snac_log(snac, xs_fmt("updated actor %s", actor));
12+                snac_log(snac, xs_fmt("updated actor %s", actor));
13+            }
14+            else {
15+                srv_log(xs_fmt("Update: mismatched actor '%s' and key '%s'", actor, key_id));
16+                srv_archive_error("update_actor_key_mismatch", "bad keyId", actor, key_id);
17+            }
18         }
19         else
20         if (xs_match(utype, "Note|Page|Article|Video|Audio|Event")) { /** **/