commit a55a54d

grunfink  ·  2026-06-24 11:08:20 +0000 UTC
parent 1920562
Improved error archiving.
1 files changed,  +13, -9
+13, -9
 1@@ -2977,8 +2977,9 @@ int process_input_message(snac *snac, const xs_dict *msg, const xs_dict *req)
 2             snac_debug(snac, 1, xs_dup("ignored 'Accept' + 'Create'"));
 3         }
 4         else {
 5-            srv_archive_error("accept", "ignored Accept", req, msg);
 6-            snac_debug(snac, 1, xs_fmt("ignored 'Accept' for object type '%s'", utype));
 7+            xs_str *e = xs_fmt("ignored 'Accept' for object type '%s'", utype);
 8+            srv_archive_error("accept", e, req, msg);
 9+            snac_debug(snac, 1, e);
10         }
11     }
12     else
13@@ -3074,8 +3075,9 @@ int process_input_message(snac *snac, const xs_dict *msg, const xs_dict *req)
14                 snac_log(snac, xs_fmt("updated actor %s", actor));
15             }
16             else {
17-                srv_log(xs_fmt("Update: mismatched actor '%s' and key '%s'", actor, key_id));
18-                srv_archive_error("update_actor_key_mismatch", "bad keyId", req, msg);
19+                xs_str *e = xs_fmt("Update: mismatched actor '%s' and key '%s'", actor, key_id);
20+                srv_archive_error("update_actor_key_mismatch", e, req, msg);
21+                snac_log(snac, e);
22             }
23         }
24         else
25@@ -3092,8 +3094,9 @@ int process_input_message(snac *snac, const xs_dict *msg, const xs_dict *req)
26                     snac_log(snac, xs_fmt("ignored post 'Update' with no attributedTo %s", id));
27                 else
28                 if (strcmp(atto, key_id) != 0) {
29-                    snac_log(snac, xs_fmt("Update: mismatched attributedTo '%s' and key '%s'", atto, key_id));
30-                    srv_archive_error("update_post_key_mismatch", "bad keyId", req, msg);
31+                    xs_str *e = xs_fmt("Update: mismatched attributedTo '%s' and key '%s'", atto, key_id);
32+                    srv_archive_error("update_post_key_mismatch", e, req, msg);
33+                    snac_log(snac, e);
34                 }
35                 else
36                 if (xs_startswith(id, srv_baseurl) && !xs_startswith(id, actor))
37@@ -3148,8 +3151,8 @@ int process_input_message(snac *snac, const xs_dict *msg, const xs_dict *req)
38                 snac_log(snac, xs_fmt("ignored 'Delete' for object without attributedTo %s", object));
39             else
40             if (strcmp(atto, key_id) != 0) {
41+                /* don't call srv_archive_error() on this, because it can be a delete from a relay */
42                 snac_log(snac, xs_fmt("Delete: mismatched attributedTo '%s' and key '%s'", atto, key_id));
43-                srv_archive_error("delete_post_key_mismatch", "bad keyId", req, msg);
44             }
45             else
46             if (xs_startswith(object, srv_baseurl) && !is_msg_mine(snac, object))
47@@ -3197,8 +3200,9 @@ int process_input_message(snac *snac, const xs_dict *msg, const xs_dict *req)
48 
49         if (xs_is_string(old_account) && xs_is_string(new_account)) {
50             if (strcmp(old_account, key_id) != 0) {
51-                snac_log(snac, xs_fmt("'Move': mismatched old_account %s and key %s", old_account, key_id));
52-                srv_archive_error("move_old_account_key_mismatch", "bad keyId", req, msg);
53+                xs_str *e = xs_fmt("'Move': mismatched old_account %s and key %s", old_account, key_id);
54+                srv_archive_error("move_old_account_key_mismatch", e, req, msg);
55+                snac_log(snac, e);
56             }
57             else
58             if (following_check(snac, old_account)) {