Make auth_events arg for auth_check be a ref, cleanup

This commit is contained in:
Devin Ragotzy 2021-01-03 17:44:24 -05:00
parent b0ee71e401
commit f4772e0fcb
4 changed files with 12 additions and 27 deletions

View File

@ -71,7 +71,7 @@ pub fn auth_check<E: Event>(
room_version: &RoomVersionId,
incoming_event: &Arc<E>,
prev_event: Option<Arc<E>>,
auth_events: StateMap<Arc<E>>,
auth_events: &StateMap<Arc<E>>,
current_third_party_invite: Option<Arc<E>>,
) -> Result<bool> {
tracing::info!("auth_check beginning for {}", incoming_event.kind());
@ -315,22 +315,7 @@ pub fn valid_membership_change<E: Event>(
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::<PowerLevelsEventContent>(power_levels.content())
.map_err(Into::into)
@ -458,7 +443,7 @@ pub fn can_send_event<E: Event>(event: &Arc<E>, auth_events: &StateMap<Arc<E>>)
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<E: Event>(
}
lvl
} else {
50
50 // default power level
}
} else {
0

View File

@ -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

View File

@ -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(

View File

@ -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};