summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar default2023-12-17 19:53:54 +0100
committerGravatar default2023-12-17 19:53:54 +0100
commitaf912dba0b37e27bbd95e6ee6057289c6d9540bb (patch)
tree4aa013c9a267f8c691c6120f35f3082fb1c799c6
parentDeleted debug messages. (diff)
downloadsnac2-af912dba0b37e27bbd95e6ee6057289c6d9540bb.tar.gz
snac2-af912dba0b37e27bbd95e6ee6057289c6d9540bb.tar.xz
snac2-af912dba0b37e27bbd95e6ee6057289c6d9540bb.zip
actor_request() accepts again an optional snac argument.
-rw-r--r--activitypub.c14
-rw-r--r--http.c2
-rw-r--r--main.c6
-rw-r--r--mastoapi.c2
-rw-r--r--snac.h2
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
118int actor_request(const char *actor, xs_dict **data) 118int 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;
diff --git a/http.c b/http.c
index 33ed53d..2952e68 100644
--- a/http.c
+++ b/http.c
@@ -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 }
diff --git a/main.c b/main.c
index 6363184..2631eb7 100644
--- a/main.c
+++ b/main.c
@@ -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
diff --git a/mastoapi.c b/mastoapi.c
index bf5f071..426e692 100644
--- a/mastoapi.c
+++ b/mastoapi.c
@@ -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);
diff --git a/snac.h b/snac.h
index c99b840..ba71ec6 100644
--- a/snac.h
+++ b/snac.h
@@ -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
245int activitypub_request(snac *snac, const char *url, xs_dict **data); 245int activitypub_request(snac *snac, const char *url, xs_dict **data);
246int actor_request(const char *actor, xs_dict **data); 246int actor_request(snac *user, const char *actor, xs_dict **data);
247void timeline_request_replies(snac *user, const char *id); 247void timeline_request_replies(snac *user, const char *id);
248int send_to_inbox_raw(const char *keyid, const char *seckey, 248int 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,