summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordefault <nobody@localhost>2023-02-07 10:33:58 +0100
committerdefault <nobody@localhost>2023-02-07 10:33:58 +0100
commit7be01b7f341e5bbd552179a97809ecc8e17ce7f0 (patch)
tree97ce447046314193a28fefccfc2211c25a8f0d32
parent3ddf76c2aa09ed3e05fbe04c659d80c38a96af17 (diff)
Output messages are sent with send_to_inbox_raw().
-rw-r--r--activitypub.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/activitypub.c b/activitypub.c
index 8e17daa..e87f6d5 100644
--- a/activitypub.c
+++ b/activitypub.c
@@ -1110,17 +1110,21 @@ void process_user_queue_item(snac *snac, xs_dict *q_item)
else
if (strcmp(type, "output") == 0) {
int status;
- xs_str *inbox = xs_dict_get(q_item, "inbox");
- xs_dict *msg = xs_dict_get(q_item, "message");
- int retries = xs_number_get(xs_dict_get(q_item, "retries"));
- xs *payload = NULL;
- int p_size = 0;
-
- if (xs_is_null(inbox) || xs_is_null(msg))
+ xs_str *inbox = xs_dict_get(q_item, "inbox");
+ xs_str *keyid = xs_dict_get(q_item, "keyid");
+ xs_str *seckey = xs_dict_get(q_item, "seckey");
+ xs_dict *msg = xs_dict_get(q_item, "message");
+ int retries = xs_number_get(xs_dict_get(q_item, "retries"));
+ xs *payload = NULL;
+ int p_size = 0;
+
+ if (xs_is_null(inbox) || xs_is_null(msg) || xs_is_null(keyid) || xs_is_null(seckey)) {
+ srv_log(xs_fmt("incomplete output message"));
return;
+ }
/* deliver */
- status = send_to_inbox(snac, inbox, msg, &payload, &p_size, retries == 0 ? 3 : 8);
+ status = send_to_inbox_raw(keyid, seckey, inbox, msg, &payload, &p_size, retries == 0 ? 3 : 8);
snac_log(snac, xs_fmt("process_queue sent to inbox %s %d", inbox, status));