From f4772e0fcb1fd37e1f4c0ac7bb6b8075198ce6a0 Mon Sep 17 00:00:00 2001 From: Devin Ragotzy Date: Sun, 3 Jan 2021 17:44:24 -0500 Subject: [PATCH] Make auth_events arg for auth_check be a ref, cleanup --- src/event_auth.rs | 23 ++++------------------- src/lib.rs | 4 ++-- tests/event_auth.rs | 10 +++++----- tests/event_sorting.rs | 2 +- 4 files changed, 12 insertions(+), 27 deletions(-) diff --git a/src/event_auth.rs b/src/event_auth.rs index eaf6ef57..29c0e703 100644 --- a/src/event_auth.rs +++ b/src/event_auth.rs @@ -71,7 +71,7 @@ pub fn auth_check( room_version: &RoomVersionId, incoming_event: &Arc, prev_event: Option>, - auth_events: StateMap>, + auth_events: &StateMap>, current_third_party_invite: Option>, ) -> Result { tracing::info!("auth_check beginning for {}", incoming_event.kind()); @@ -315,22 +315,7 @@ pub fn valid_membership_change( let key = (EventType::RoomPowerLevels, Some("".into())); let power_levels = auth_events.get(&key).map_or_else( - || { - Ok::<_, Error>(power_levels::PowerLevelsEventContent { - ban: 50.into(), - events: BTreeMap::new(), - events_default: 0.into(), - invite: 50.into(), - kick: 50.into(), - redact: 50.into(), - state_default: 0.into(), - users: BTreeMap::new(), - users_default: 0.into(), - notifications: ruma::events::room::power_levels::NotificationPowerLevels { - room: 50.into(), - }, - }) - }, + || Ok::<_, Error>(power_levels::PowerLevelsEventContent::default()), |power_levels| { serde_json::from_value::(power_levels.content()) .map_err(Into::into) @@ -458,7 +443,7 @@ pub fn can_send_event(event: &Arc, auth_events: &StateMap>) tracing::debug!( "{} ev_type {} usr {}", - event.event_id().to_string(), + event.event_id().as_str(), event_type_power_level, user_level ); @@ -773,7 +758,7 @@ pub fn get_send_level( } lvl } else { - 50 + 50 // default power level } } else { 0 diff --git a/src/lib.rs b/src/lib.rs index de68bac3..2411d42c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -72,7 +72,7 @@ impl StateResolution { } } - event_auth::auth_check(room_version, &ev, prev_event, auth_events, None) + event_auth::auth_check(room_version, &ev, prev_event, &auth_events, None) } /// Resolve sets of state events as they come in. Internally `StateResolution` builds a graph @@ -586,7 +586,7 @@ impl StateResolution { room_version, &event, most_recent_prev_event, - auth_events, + &auth_events, current_third_party, )? { // add event to resolved state map diff --git a/tests/event_auth.rs b/tests/event_auth.rs index 46270ca7..4d9c6fe7 100644 --- a/tests/event_auth.rs +++ b/tests/event_auth.rs @@ -10,7 +10,7 @@ use state_res::{ }; mod utils; -use utils::{alice, charlie, event_id, member_content_ban, room_id, to_pdu_event, INITIAL_EVENTS}; +use utils::{alice, charlie, event_id, member_content_ban, to_pdu_event, INITIAL_EVENTS}; #[test] fn test_ban_pass() { @@ -32,8 +32,8 @@ fn test_ban_pass() { ruma::events::EventType::RoomMember, Some(charlie().as_str()), member_content_ban(), - &vec![], - &vec![event_id("IMC")], + &[], + &[event_id("IMC")], ); assert!(valid_membership_change( @@ -67,8 +67,8 @@ fn test_ban_fail() { ruma::events::EventType::RoomMember, Some(alice().as_str()), member_content_ban(), - &vec![], - &vec![event_id("IMC")], + &[], + &[event_id("IMC")], ); assert!(!valid_membership_change( diff --git a/tests/event_sorting.rs b/tests/event_sorting.rs index 168cf03e..2448e0a9 100644 --- a/tests/event_sorting.rs +++ b/tests/event_sorting.rs @@ -4,7 +4,7 @@ use ruma::{ events::EventType, identifiers::{EventId, RoomVersionId}, }; -use state_res::{is_power_event, Event, StateMap}; +use state_res::{is_power_event, StateMap}; mod utils; use utils::{room_id, TestStore, INITIAL_EVENTS};