diff options
| author | 2023-03-06 11:26:43 +0100 | |
|---|---|---|
| committer | 2023-03-06 11:26:43 +0100 | |
| commit | 60f77b6cad7f64a4b6ef44010c8d103093ce32c2 (patch) | |
| tree | 10504593969dd8ccba2df8aa8a0ed016885965d8 | |
| parent | Don't send public admirations of non-public messages. (diff) | |
| download | snac2-60f77b6cad7f64a4b6ef44010c8d103093ce32c2.tar.gz snac2-60f77b6cad7f64a4b6ef44010c8d103093ce32c2.tar.xz snac2-60f77b6cad7f64a4b6ef44010c8d103093ce32c2.zip | |
msg_update() sends copies the 'to' and 'cc' fields in notes.
| -rw-r--r-- | activitypub.c | 11 | ||||
| -rw-r--r-- | snac.h | 2 |
2 files changed, 10 insertions, 3 deletions
diff --git a/activitypub.c b/activitypub.c index 7599b58..e5713fa 100644 --- a/activitypub.c +++ b/activitypub.c | |||
| @@ -445,12 +445,19 @@ d_char *msg_accept(snac *snac, char *object, char *to) | |||
| 445 | } | 445 | } |
| 446 | 446 | ||
| 447 | 447 | ||
| 448 | d_char *msg_update(snac *snac, char *object) | 448 | xs_dict *msg_update(snac *snac, xs_dict *object) |
| 449 | /* creates an Update message */ | 449 | /* creates an Update message */ |
| 450 | { | 450 | { |
| 451 | d_char *msg = msg_base(snac, "Update", "@object", snac->actor, "@now", object); | 451 | d_char *msg = msg_base(snac, "Update", "@object", snac->actor, "@now", object); |
| 452 | 452 | ||
| 453 | msg = xs_dict_append(msg, "to", public_address); | 453 | char *type = xs_dict_get(object, "type"); |
| 454 | |||
| 455 | if (strcmp(type, "Note") == 0) { | ||
| 456 | msg = xs_dict_append(msg, "to", xs_dict_get(object, "to")); | ||
| 457 | msg = xs_dict_append(msg, "cc", xs_dict_get(object, "cc")); | ||
| 458 | } | ||
| 459 | else | ||
| 460 | msg = xs_dict_append(msg, "to", public_address); | ||
| 454 | 461 | ||
| 455 | return msg; | 462 | return msg; |
| 456 | } | 463 | } |
| @@ -183,7 +183,7 @@ xs_dict *msg_note(snac *snac, xs_str *content, xs_val *rcpts, | |||
| 183 | d_char *msg_undo(snac *snac, char *object); | 183 | d_char *msg_undo(snac *snac, char *object); |
| 184 | d_char *msg_delete(snac *snac, char *id); | 184 | d_char *msg_delete(snac *snac, char *id); |
| 185 | d_char *msg_actor(snac *snac); | 185 | d_char *msg_actor(snac *snac); |
| 186 | d_char *msg_update(snac *snac, char *object); | 186 | xs_dict *msg_update(snac *snac, xs_dict *object); |
| 187 | 187 | ||
| 188 | int activitypub_request(snac *snac, char *url, d_char **data); | 188 | int activitypub_request(snac *snac, char *url, d_char **data); |
| 189 | int actor_request(snac *snac, char *actor, d_char **data); | 189 | int actor_request(snac *snac, char *actor, d_char **data); |