summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordefault <nobody@localhost>2023-08-07 19:21:57 +0200
committerdefault <nobody@localhost>2023-08-07 19:21:57 +0200
commit135e690a27cd315653a3df93adcaf7d35fb07e0a (patch)
treedda7acbffa438dfcede74f42035d6a91b7092c8d
parenta3f1387daaaa15253a242876aa0e9e4639e8e23d (diff)
Limited users can announce our own posts.
-rw-r--r--activitypub.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/activitypub.c b/activitypub.c
index 702840c..24cf49d 100644
--- a/activitypub.c
+++ b/activitypub.c
@@ -1558,15 +1558,15 @@ int process_input_message(snac *snac, xs_dict *msg, xs_dict *req)
}
else
if (strcmp(type, "Announce") == 0) { /** **/
- if (is_limited(snac, actor))
+ if (xs_type(object) == XSTYPE_DICT)
+ object = xs_dict_get(object, "id");
+
+ if (is_limited(snac, actor) && !xs_startswith(object, snac->actor))
snac_log(snac, xs_fmt("dropped 'Announce' from limited actor %s", actor));
else {
xs *a_msg = NULL;
xs *wrk = NULL;
- if (xs_type(object) == XSTYPE_DICT)
- object = xs_dict_get(object, "id");
-
timeline_request(snac, &object, &wrk, 0);
if (valid_status(object_get(object, &a_msg))) {