From: nutomic Date: Thu, 13 Aug 2020 13:20:35 +0000 (+0000) Subject: Limit number of items read from community outbox (#84) X-Git-Url: http://these/git/%24%7BgetStaticDir%28%29%7D/styles/static/%7BpictshareAvatarThumbnail%28?a=commitdiff_plain;h=9a343cfe8bd4d3278462c2d8b67328e13f768fac;p=lemmy.git Limit number of items read from community outbox (#84) Limit number of items read from community outbox Co-authored-by: Felix Ableitner Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/84 --- diff --git a/server/lemmy_utils/src/lib.rs b/server/lemmy_utils/src/lib.rs index d4c75bf3..41cdcec8 100644 --- a/server/lemmy_utils/src/lib.rs +++ b/server/lemmy_utils/src/lib.rs @@ -160,7 +160,7 @@ pub fn is_valid_username(name: &str) -> bool { // Can't do a regex here, reverse lookarounds not supported pub fn is_valid_preferred_username(preferred_username: &str) -> bool { - !preferred_username.starts_with("@") + !preferred_username.starts_with('@') && preferred_username.len() >= 3 && preferred_username.len() <= 20 } diff --git a/server/src/apub/fetcher.rs b/server/src/apub/fetcher.rs index 5fcf6ad9..d083e10f 100644 --- a/server/src/apub/fetcher.rs +++ b/server/src/apub/fetcher.rs @@ -325,7 +325,9 @@ async fn fetch_remote_community( let outbox = fetch_remote_object::(client, &community.get_outbox_url()?).await?; let outbox_items = outbox.items().context(location_info!())?.clone(); - for o in outbox_items.many().context(location_info!())? { + let outbox_items = outbox_items.many().context(location_info!())?; + let outbox_items = outbox_items[0..20].to_vec(); + for o in outbox_items { let page = PageExt::from_any_base(o)?.context(location_info!())?; let post = PostForm::from_apub(&page, client, pool, None).await?; let post_ap_id = post.ap_id.clone();