diff options
author | default <nobody@localhost> | 2022-09-28 20:24:47 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2022-09-28 20:24:47 +0200 |
commit | 51ed24be474c44f687c67ec66dc16e5d5c279e95 (patch) | |
tree | 2b7e8e6b075401af8aee7e8c87959fd59a18e006 | |
parent | e4967cfcb375d9611001e0e78be31e9c915a85b6 (diff) |
If an actor cannot be retrieved, move the message back to the queue.
-rw-r--r-- | activitypub.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/activitypub.c b/activitypub.c index ca6bf52..20c734b 100644 --- a/activitypub.c +++ b/activitypub.c @@ -574,7 +574,12 @@ void process_message(snac *snac, char *msg, char *req) utype = "(null)"; /* bring the actor */ - actor_request(snac, actor, &actor_o); + if (!valid_status(actor_request(snac, actor, &actor_o))) { + /* error: re-enqueue to try later */ + enqueue_input(snac, msg, req); + snac_log(snac, xs_fmt("error requesting actor %s -- retry later", actor)); + return; + } /* check the signature */ /* ... */ |