summaryrefslogtreecommitdiff
path: root/activitypub.c
diff options
context:
space:
mode:
Diffstat (limited to 'activitypub.c')
-rw-r--r--activitypub.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/activitypub.c b/activitypub.c
index 13e17b3..39d1605 100644
--- a/activitypub.c
+++ b/activitypub.c
@@ -555,7 +555,7 @@ d_char *msg_accept(snac *snac, char *object, char *to)
xs_dict *msg_update(snac *snac, xs_dict *object)
/* creates an Update message */
{
- d_char *msg = msg_base(snac, "Update", "@object", snac->actor, "@now", object);
+ xs_dict *msg = msg_base(snac, "Update", "@object", snac->actor, "@now", object);
char *type = xs_dict_get(object, "type");
@@ -564,6 +564,16 @@ xs_dict *msg_update(snac *snac, xs_dict *object)
msg = xs_dict_append(msg, "cc", xs_dict_get(object, "cc"));
}
else
+ if (strcmp(type, "Person") == 0) {
+ msg = xs_dict_append(msg, "to", public_address);
+
+ /* also spam the people being followed, so that
+ they have the newest information about who we are */
+ xs *cc = following_list(snac);
+
+ msg = xs_dict_append(msg, "cc", cc);
+ }
+ else
msg = xs_dict_append(msg, "to", public_address);
return msg;