diff options
| author | 2023-12-17 19:53:54 +0100 | |
|---|---|---|
| committer | 2023-12-17 19:53:54 +0100 | |
| commit | af912dba0b37e27bbd95e6ee6057289c6d9540bb (patch) | |
| tree | 4aa013c9a267f8c691c6120f35f3082fb1c799c6 | |
| parent | Deleted debug messages. (diff) | |
| download | snac2-af912dba0b37e27bbd95e6ee6057289c6d9540bb.tar.gz snac2-af912dba0b37e27bbd95e6ee6057289c6d9540bb.tar.xz snac2-af912dba0b37e27bbd95e6ee6057289c6d9540bb.zip | |
actor_request() accepts again an optional snac argument.
| -rw-r--r-- | activitypub.c | 14 | ||||
| -rw-r--r-- | http.c | 2 | ||||
| -rw-r--r-- | main.c | 6 | ||||
| -rw-r--r-- | mastoapi.c | 2 | ||||
| -rw-r--r-- | snac.h | 2 |
5 files changed, 13 insertions, 13 deletions
diff --git a/activitypub.c b/activitypub.c index 114e35c..720e83a 100644 --- a/activitypub.c +++ b/activitypub.c | |||
| @@ -115,7 +115,7 @@ int activitypub_request(snac *user, const char *url, xs_dict **data) | |||
| 115 | } | 115 | } |
| 116 | 116 | ||
| 117 | 117 | ||
| 118 | int actor_request(const char *actor, xs_dict **data) | 118 | int actor_request(snac *user, const char *actor, xs_dict **data) |
| 119 | /* request an actor */ | 119 | /* request an actor */ |
| 120 | { | 120 | { |
| 121 | int status; | 121 | int status; |
| @@ -129,7 +129,7 @@ int actor_request(const char *actor, xs_dict **data) | |||
| 129 | 129 | ||
| 130 | if (status != 200) { | 130 | if (status != 200) { |
| 131 | /* actor data non-existent or stale: get from the net */ | 131 | /* actor data non-existent or stale: get from the net */ |
| 132 | status = activitypub_request(NULL, actor, &payload); | 132 | status = activitypub_request(user, actor, &payload); |
| 133 | 133 | ||
| 134 | if (valid_status(status)) { | 134 | if (valid_status(status)) { |
| 135 | /* renew data */ | 135 | /* renew data */ |
| @@ -207,7 +207,7 @@ int timeline_request(snac *snac, char **id, xs_str **wrk, int level) | |||
| 207 | 207 | ||
| 208 | /* request (and drop) the actor for this entry */ | 208 | /* request (and drop) the actor for this entry */ |
| 209 | if (!xs_is_null(actor)) | 209 | if (!xs_is_null(actor)) |
| 210 | actor_request(actor, NULL); | 210 | actor_request(snac, actor, NULL); |
| 211 | 211 | ||
| 212 | /* does it have an ancestor? */ | 212 | /* does it have an ancestor? */ |
| 213 | char *in_reply_to = xs_dict_get(object, "inReplyTo"); | 213 | char *in_reply_to = xs_dict_get(object, "inReplyTo"); |
| @@ -331,7 +331,7 @@ xs_str *get_actor_inbox(const char *actor) | |||
| 331 | xs *data = NULL; | 331 | xs *data = NULL; |
| 332 | char *v = NULL; | 332 | char *v = NULL; |
| 333 | 333 | ||
| 334 | if (valid_status(actor_request(actor, &data))) { | 334 | if (valid_status(actor_request(NULL, actor, &data))) { |
| 335 | /* try first endpoints/sharedInbox */ | 335 | /* try first endpoints/sharedInbox */ |
| 336 | if ((v = xs_dict_get(data, "endpoints"))) | 336 | if ((v = xs_dict_get(data, "endpoints"))) |
| 337 | v = xs_dict_get(v, "sharedInbox"); | 337 | v = xs_dict_get(v, "sharedInbox"); |
| @@ -1127,7 +1127,7 @@ xs_dict *msg_follow(snac *snac, const char *q) | |||
| 1127 | } | 1127 | } |
| 1128 | 1128 | ||
| 1129 | /* request the actor */ | 1129 | /* request the actor */ |
| 1130 | status = actor_request(actor, &actor_o); | 1130 | status = actor_request(snac, actor, &actor_o); |
| 1131 | 1131 | ||
| 1132 | if (valid_status(status)) { | 1132 | if (valid_status(status)) { |
| 1133 | /* check if the actor is an alias */ | 1133 | /* check if the actor is an alias */ |
| @@ -1560,7 +1560,7 @@ int process_input_message(snac *snac, xs_dict *msg, xs_dict *req) | |||
| 1560 | } | 1560 | } |
| 1561 | 1561 | ||
| 1562 | /* bring the actor */ | 1562 | /* bring the actor */ |
| 1563 | a_status = actor_request(actor, &actor_o); | 1563 | a_status = actor_request(snac, actor, &actor_o); |
| 1564 | 1564 | ||
| 1565 | /* do not retry permanent failures */ | 1565 | /* do not retry permanent failures */ |
| 1566 | if (a_status == 404 || a_status == 410 || a_status < 0) { | 1566 | if (a_status == 404 || a_status == 410 || a_status < 0) { |
| @@ -1748,7 +1748,7 @@ int process_input_message(snac *snac, xs_dict *msg, xs_dict *req) | |||
| 1748 | /* bring the actor */ | 1748 | /* bring the actor */ |
| 1749 | xs *who_o = NULL; | 1749 | xs *who_o = NULL; |
| 1750 | 1750 | ||
| 1751 | if (valid_status(actor_request(who, &who_o))) { | 1751 | if (valid_status(actor_request(snac, who, &who_o))) { |
| 1752 | timeline_admire(snac, object, actor, 0); | 1752 | timeline_admire(snac, object, actor, 0); |
| 1753 | snac_log(snac, xs_fmt("new 'Announce' %s %s", actor, object)); | 1753 | snac_log(snac, xs_fmt("new 'Announce' %s %s", actor, object)); |
| 1754 | do_notify = 1; | 1754 | do_notify = 1; |
| @@ -173,7 +173,7 @@ int check_signature(xs_dict *req, xs_str **err) | |||
| 173 | 173 | ||
| 174 | xs *actor = NULL; | 174 | xs *actor = NULL; |
| 175 | 175 | ||
| 176 | if (!valid_status(actor_request(keyId, &actor))) { | 176 | if (!valid_status(actor_request(NULL, keyId, &actor))) { |
| 177 | *err = xs_fmt("unknown actor %s", keyId); | 177 | *err = xs_fmt("unknown actor %s", keyId); |
| 178 | return 0; | 178 | return 0; |
| 179 | } | 179 | } |
| @@ -184,7 +184,7 @@ int main(int argc, char *argv[]) | |||
| 184 | xs *actor = NULL; | 184 | xs *actor = NULL; |
| 185 | int status; | 185 | int status; |
| 186 | 186 | ||
| 187 | status = actor_request(user, &actor); | 187 | status = actor_request(NULL, user, &actor); |
| 188 | 188 | ||
| 189 | printf("status: %d\n", status); | 189 | printf("status: %d\n", status); |
| 190 | if (valid_status(status)) { | 190 | if (valid_status(status)) { |
| @@ -341,7 +341,7 @@ int main(int argc, char *argv[]) | |||
| 341 | if (strcmp(cmd, "ping") == 0) { /** **/ | 341 | if (strcmp(cmd, "ping") == 0) { /** **/ |
| 342 | xs *actor_o = NULL; | 342 | xs *actor_o = NULL; |
| 343 | 343 | ||
| 344 | if (valid_status(actor_request(url, &actor_o))) { | 344 | if (valid_status(actor_request(&snac, url, &actor_o))) { |
| 345 | xs *msg = msg_ping(&snac, url); | 345 | xs *msg = msg_ping(&snac, url); |
| 346 | 346 | ||
| 347 | enqueue_output_by_actor(&snac, msg, url, 0); | 347 | enqueue_output_by_actor(&snac, msg, url, 0); |
| @@ -416,7 +416,7 @@ int main(int argc, char *argv[]) | |||
| 416 | int status; | 416 | int status; |
| 417 | xs *data = NULL; | 417 | xs *data = NULL; |
| 418 | 418 | ||
| 419 | status = actor_request(url, &data); | 419 | status = actor_request(&snac, url, &data); |
| 420 | 420 | ||
| 421 | printf("status: %d\n", status); | 421 | printf("status: %d\n", status); |
| 422 | 422 | ||
| @@ -1944,7 +1944,7 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path, | |||
| 1944 | if (valid_status(webfinger_request(q, &actor, &user))) { | 1944 | if (valid_status(webfinger_request(q, &actor, &user))) { |
| 1945 | xs *actor_o = NULL; | 1945 | xs *actor_o = NULL; |
| 1946 | 1946 | ||
| 1947 | if (valid_status(actor_request(actor, &actor_o))) { | 1947 | if (valid_status(actor_request(&snac1, actor, &actor_o))) { |
| 1948 | xs *acct = mastoapi_account(actor_o); | 1948 | xs *acct = mastoapi_account(actor_o); |
| 1949 | 1949 | ||
| 1950 | acl = xs_list_append(acl, acct); | 1950 | acl = xs_list_append(acl, acct); |
| @@ -243,7 +243,7 @@ xs_dict *msg_question(snac *user, const char *content, xs_list *attach, | |||
| 243 | const xs_list *opts, int multiple, int end_secs); | 243 | const xs_list *opts, int multiple, int end_secs); |
| 244 | 244 | ||
| 245 | int activitypub_request(snac *snac, const char *url, xs_dict **data); | 245 | int activitypub_request(snac *snac, const char *url, xs_dict **data); |
| 246 | int actor_request(const char *actor, xs_dict **data); | 246 | int actor_request(snac *user, const char *actor, xs_dict **data); |
| 247 | void timeline_request_replies(snac *user, const char *id); | 247 | void timeline_request_replies(snac *user, const char *id); |
| 248 | int send_to_inbox_raw(const char *keyid, const char *seckey, | 248 | int send_to_inbox_raw(const char *keyid, const char *seckey, |
| 249 | const xs_str *inbox, const xs_dict *msg, | 249 | const xs_str *inbox, const xs_dict *msg, |