diff options
author | ryexandra <68085235+ryexandra@users.noreply.github.com> | 2020-07-14 07:17:25 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-14 09:17:25 -0400 |
commit | 29037b49952dd95a08639b27b08c8a8e68a13026 (patch) | |
tree | eed2656e786b389aa599667df496632421ad91bd /server/src/apub/user_inbox.rs | |
parent | 52983907c4d1b7fda1182316cb631f9b5e913f5b (diff) |
Security/fix permission bugs (#966)
* secure the `EditPost` API endpoint
* Check user is moderator in BanFromCommunity
* secure the `EditComment` API endpoint
* pass orig `read` prob when not explicitly updating it.
* Block random users from adding mods.
* use cleaner logic from `EditPost`
* prevent editing a community by a mod from transfering ownership to them
* secure `read` action in `EditPrivateMessage`
* Add check in UserMention
* only let the indended recipient mark as read
* simplify booleans to satisfy clippy
* requested changes + cargo +nightly fmt
* fix to pass federation tests for deleting comments and posts
Co-authored-by: chiminh <chiminh.tutanota.com>
Co-authored-by: Hex Bear <buildadangtrain@protonmail.com>
Diffstat (limited to 'server/src/apub/user_inbox.rs')
-rw-r--r-- | server/src/apub/user_inbox.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/server/src/apub/user_inbox.rs b/server/src/apub/user_inbox.rs index 2bf26957..9bc102a7 100644 --- a/server/src/apub/user_inbox.rs +++ b/server/src/apub/user_inbox.rs @@ -3,12 +3,14 @@ use crate::{ apub::{ extensions::signatures::verify, fetcher::{get_or_fetch_and_upsert_remote_community, get_or_fetch_and_upsert_remote_user}, - insert_activity, FromApub, + insert_activity, + FromApub, }, blocking, routes::{ChatServerParam, DbPoolParam}, websocket::{server::SendUserRoomMessage, UserOperation}, - DbPool, LemmyError, + DbPool, + LemmyError, }; use activitystreams::{ activity::{Accept, Create, Delete, Undo, Update}, @@ -21,7 +23,8 @@ use lemmy_db::{ private_message::{PrivateMessage, PrivateMessageForm}, private_message_view::PrivateMessageView, user::User_, - Crud, Followable, + Crud, + Followable, }; use log::debug; use serde::Deserialize; |