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,
|
room_version: &RoomVersionId,
|
||||||
incoming_event: &Arc<E>,
|
incoming_event: &Arc<E>,
|
||||||
prev_event: Option<Arc<E>>,
|
prev_event: Option<Arc<E>>,
|
||||||
auth_events: StateMap<Arc<E>>,
|
auth_events: &StateMap<Arc<E>>,
|
||||||
current_third_party_invite: Option<Arc<E>>,
|
current_third_party_invite: Option<Arc<E>>,
|
||||||
) -> Result<bool> {
|
) -> Result<bool> {
|
||||||
tracing::info!("auth_check beginning for {}", incoming_event.kind());
|
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 key = (EventType::RoomPowerLevels, Some("".into()));
|
||||||
let power_levels = auth_events.get(&key).map_or_else(
|
let power_levels = auth_events.get(&key).map_or_else(
|
||||||
|| {
|
|| Ok::<_, Error>(power_levels::PowerLevelsEventContent::default()),
|
||||||
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(),
|
|
||||||
},
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|power_levels| {
|
|power_levels| {
|
||||||
serde_json::from_value::<PowerLevelsEventContent>(power_levels.content())
|
serde_json::from_value::<PowerLevelsEventContent>(power_levels.content())
|
||||||
.map_err(Into::into)
|
.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!(
|
tracing::debug!(
|
||||||
"{} ev_type {} usr {}",
|
"{} ev_type {} usr {}",
|
||||||
event.event_id().to_string(),
|
event.event_id().as_str(),
|
||||||
event_type_power_level,
|
event_type_power_level,
|
||||||
user_level
|
user_level
|
||||||
);
|
);
|
||||||
@ -773,7 +758,7 @@ pub fn get_send_level<E: Event>(
|
|||||||
}
|
}
|
||||||
lvl
|
lvl
|
||||||
} else {
|
} else {
|
||||||
50
|
50 // default power level
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
0
|
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
|
/// Resolve sets of state events as they come in. Internally `StateResolution` builds a graph
|
||||||
@ -586,7 +586,7 @@ impl StateResolution {
|
|||||||
room_version,
|
room_version,
|
||||||
&event,
|
&event,
|
||||||
most_recent_prev_event,
|
most_recent_prev_event,
|
||||||
auth_events,
|
&auth_events,
|
||||||
current_third_party,
|
current_third_party,
|
||||||
)? {
|
)? {
|
||||||
// add event to resolved state map
|
// add event to resolved state map
|
||||||
|
@ -10,7 +10,7 @@ use state_res::{
|
|||||||
};
|
};
|
||||||
|
|
||||||
mod utils;
|
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]
|
#[test]
|
||||||
fn test_ban_pass() {
|
fn test_ban_pass() {
|
||||||
@ -32,8 +32,8 @@ fn test_ban_pass() {
|
|||||||
ruma::events::EventType::RoomMember,
|
ruma::events::EventType::RoomMember,
|
||||||
Some(charlie().as_str()),
|
Some(charlie().as_str()),
|
||||||
member_content_ban(),
|
member_content_ban(),
|
||||||
&vec![],
|
&[],
|
||||||
&vec![event_id("IMC")],
|
&[event_id("IMC")],
|
||||||
);
|
);
|
||||||
|
|
||||||
assert!(valid_membership_change(
|
assert!(valid_membership_change(
|
||||||
@ -67,8 +67,8 @@ fn test_ban_fail() {
|
|||||||
ruma::events::EventType::RoomMember,
|
ruma::events::EventType::RoomMember,
|
||||||
Some(alice().as_str()),
|
Some(alice().as_str()),
|
||||||
member_content_ban(),
|
member_content_ban(),
|
||||||
&vec![],
|
&[],
|
||||||
&vec![event_id("IMC")],
|
&[event_id("IMC")],
|
||||||
);
|
);
|
||||||
|
|
||||||
assert!(!valid_membership_change(
|
assert!(!valid_membership_change(
|
||||||
|
@ -4,7 +4,7 @@ use ruma::{
|
|||||||
events::EventType,
|
events::EventType,
|
||||||
identifiers::{EventId, RoomVersionId},
|
identifiers::{EventId, RoomVersionId},
|
||||||
};
|
};
|
||||||
use state_res::{is_power_event, Event, StateMap};
|
use state_res::{is_power_event, StateMap};
|
||||||
|
|
||||||
mod utils;
|
mod utils;
|
||||||
use utils::{room_id, TestStore, INITIAL_EVENTS};
|
use utils::{room_id, TestStore, INITIAL_EVENTS};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user