summaryrefslogtreecommitdiff
path: root/activitypub.c
diff options
context:
space:
mode:
Diffstat (limited to 'activitypub.c')
-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))) {