Make auth_events arg for auth_check be a ref, cleanup
This commit is contained in:
parent
b0ee71e401
commit
f4772e0fcb
@ -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
|
||||
|
@ -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
|
||||
|
@ -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(
|
||||
|
@ -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};
|
||||
|
Loading…
x
Reference in New Issue
Block a user