Fix default-allowed clippy lints

This commit is contained in:
Jonas Platte 2021-05-08 00:03:08 +02:00
parent 509283d947
commit 56bf45c023
No known key found for this signature in database
GPG Key ID: 7D261D771D915378
5 changed files with 41 additions and 46 deletions

View File

@ -55,9 +55,9 @@ fn resolution_shallow_auth_chain(c: &mut Criterion) {
let (state_at_bob, state_at_charlie, _) = store.set_up();
b.iter(|| {
let mut ev_map: state_res::EventMap<Arc<event::StateEvent>> = store.0.clone();
let mut ev_map: state_res::EventMap<Arc<StateEvent>> = store.0.clone();
let state_sets = vec![state_at_bob.clone(), state_at_charlie.clone()];
let _ = match StateResolution::resolve::<event::StateEvent>(
let _ = match StateResolution::resolve::<StateEvent>(
&room_id(),
&RoomVersionId::Version2,
&state_sets,
@ -115,7 +115,7 @@ fn resolve_deeper_event_set(c: &mut Criterion) {
b.iter(|| {
let state_sets = vec![state_set_a.clone(), state_set_b.clone()];
let _ = match StateResolution::resolve::<event::StateEvent>(
let _ = match StateResolution::resolve::<StateEvent>(
&room_id(),
&RoomVersionId::Version2,
&state_sets,
@ -216,7 +216,7 @@ impl<E: Event> TestStore<E> {
Ok(chains
.iter()
.flatten()
.filter(|id| !common.contains(&id))
.filter(|id| !common.contains(id))
.cloned()
.collect::<BTreeSet<_>>()
.into_iter()
@ -227,7 +227,7 @@ impl<E: Event> TestStore<E> {
}
}
impl TestStore<event::StateEvent> {
impl TestStore<StateEvent> {
pub fn set_up(&mut self) -> (StateMap<EventId>, StateMap<EventId>, StateMap<EventId>) {
let create_event = to_pdu_event::<EventId>(
"CREATE",
@ -420,7 +420,7 @@ where
// all graphs start with these input events
#[allow(non_snake_case)]
fn INITIAL_EVENTS() -> BTreeMap<EventId, Arc<event::StateEvent>> {
fn INITIAL_EVENTS() -> BTreeMap<EventId, Arc<StateEvent>> {
vec![
to_pdu_event::<EventId>(
"CREATE",
@ -502,7 +502,7 @@ fn INITIAL_EVENTS() -> BTreeMap<EventId, Arc<event::StateEvent>> {
// all graphs start with these input events
#[allow(non_snake_case)]
fn BAN_STATE_SET() -> BTreeMap<EventId, Arc<event::StateEvent>> {
fn BAN_STATE_SET() -> BTreeMap<EventId, Arc<StateEvent>> {
vec![
to_pdu_event(
"PA",
@ -765,7 +765,7 @@ pub mod event {
pub fn signatures(
&self,
) -> BTreeMap<Box<ServerName>, BTreeMap<ruma::ServerSigningKeyId, String>> {
) -> BTreeMap<Box<ServerName>, BTreeMap<ServerSigningKeyId, String>> {
match &self.rest {
Pdu::RoomV1Pdu(_) => maplit::btreemap! {},
Pdu::RoomV3Pdu(ev) => ev.signatures.clone(),

View File

@ -220,7 +220,7 @@ pub fn auth_check<E: Event>(
incoming_event.content(),
prev_event,
current_third_party_invite,
&auth_events,
auth_events,
)? {
return Ok(false);
}
@ -230,7 +230,7 @@ pub fn auth_check<E: Event>(
}
// If the sender's current membership state is not join, reject
match check_event_sender_in_room(&incoming_event.sender(), &auth_events) {
match check_event_sender_in_room(incoming_event.sender(), auth_events) {
Some(true) => {} // sender in room
Some(false) => {
log::warn!("sender's membership is not join");
@ -245,7 +245,7 @@ pub fn auth_check<E: Event>(
// Allow if and only if sender's current power level is greater than
// or equal to the invite level
if incoming_event.kind() == EventType::RoomThirdPartyInvite
&& !can_send_invite(incoming_event, &auth_events)?
&& !can_send_invite(incoming_event, auth_events)?
{
log::warn!("sender's cannot send invites in this room");
return Ok(false);
@ -253,7 +253,7 @@ pub fn auth_check<E: Event>(
// If the event type's required power level is greater than the sender's power level, reject
// If the event has a state_key that starts with an @ and does not match the sender, reject.
if !can_send_event(&incoming_event, &auth_events) {
if !can_send_event(incoming_event, auth_events) {
log::warn!("user cannot send event");
return Ok(false);
}
@ -262,7 +262,7 @@ pub fn auth_check<E: Event>(
log::info!("starting m.room.power_levels check");
if let Some(required_pwr_lvl) =
check_power_levels(room_version, &incoming_event, &auth_events)
check_power_levels(room_version, incoming_event, auth_events)
{
if !required_pwr_lvl {
log::warn!("power level was not allowed");
@ -283,7 +283,7 @@ pub fn auth_check<E: Event>(
if room_version.extra_redaction_checks
&& incoming_event.kind() == EventType::RoomRedaction
&& !check_redaction(room_version, incoming_event, &auth_events)?
&& !check_redaction(room_version, incoming_event, auth_events)?
{
return Ok(false);
}
@ -405,7 +405,7 @@ pub fn valid_membership_change<E: Event>(
|| join_rules == JoinRule::Public;
if !allow {
warn!("Can't join if join rules is not public and user is not invited/joined")
warn!("Can't join if join rules is not public and user is not invited/joined");
}
allow
}
@ -508,7 +508,7 @@ pub fn can_send_event<E: Event>(event: &Arc<E>, auth_events: &StateMap<Arc<E>>)
let ple = auth_events.get(&(EventType::RoomPowerLevels, "".into()));
let event_type_power_level = get_send_level(&event.kind(), event.state_key(), ple);
let user_level = get_user_power_level(&event.sender(), auth_events);
let user_level = get_user_power_level(event.sender(), auth_events);
log::debug!(
"{} ev_type {} usr {}",
@ -561,7 +561,7 @@ pub fn check_power_levels<E: Event>(
// validation of users is done in Ruma, synapse for loops validating user_ids and integers here
log::info!("validation of power event finished");
let user_level = get_user_power_level(&power_event.sender(), auth_events);
let user_level = get_user_power_level(power_event.sender(), auth_events);
let mut user_levels_to_check = btreeset![];
let old_list = &current_content.users;
@ -690,7 +690,7 @@ pub fn check_redaction<E: Event>(
redaction_event: &Arc<E>,
auth_events: &StateMap<Arc<E>>,
) -> Result<bool> {
let user_level = get_user_power_level(&redaction_event.sender(), auth_events);
let user_level = get_user_power_level(redaction_event.sender(), auth_events);
let redact_level = get_named_level(auth_events, "redact", 50);
if user_level >= redact_level {
@ -806,7 +806,7 @@ pub fn get_send_level<E: Event>(
.and_then(|ple| {
serde_json::from_value::<PowerLevelsEventContent>(ple.content())
.map(|content| {
content.events.get(&e_type).cloned().unwrap_or_else(|| {
content.events.get(e_type).copied().unwrap_or_else(|| {
if state_key.is_some() {
content.state_default
} else {
@ -822,7 +822,7 @@ pub fn get_send_level<E: Event>(
/// Check user can send invite.
pub fn can_send_invite<E: Event>(event: &Arc<E>, auth_events: &StateMap<Arc<E>>) -> Result<bool> {
let user_level = get_user_power_level(&event.sender(), auth_events);
let user_level = get_user_power_level(event.sender(), auth_events);
let key = (EventType::RoomPowerLevels, "".into());
let invite_level = auth_events
.get(&key)

View File

@ -59,7 +59,7 @@ impl StateResolution {
log::info!("State resolution starting");
// split non-conflicting and conflicting state
let (clean, conflicting) = StateResolution::separate(&state_sets);
let (clean, conflicting) = StateResolution::separate(state_sets);
log::info!("non conflicting {:?}", clean.len());
@ -96,7 +96,7 @@ impl StateResolution {
// get only the control events with a state_key: "" or ban/kick event (sender != state_key)
let control_events = all_conflicted
.iter()
.filter(|id| is_power_event_id(id, &event_map))
.filter(|id| is_power_event_id(id, event_map))
.cloned()
.collect::<Vec<_>>();
@ -281,7 +281,7 @@ impl StateResolution {
// this is used in the `key_fn` passed to the lexico_topo_sort fn
let mut event_to_pl = BTreeMap::new();
for event_id in graph.keys() {
let pl = StateResolution::get_power_level_for_sender(room_id, &event_id, event_map);
let pl = StateResolution::get_power_level_for_sender(room_id, event_id, event_map);
log::info!("{} power level {}", event_id.to_string(), pl);
event_to_pl.insert(event_id.clone(), pl);
@ -408,12 +408,11 @@ impl StateResolution {
return 0;
}
if let Some(content) = pl
.map(|pl| serde_json::from_value::<PowerLevelsEventContent>(pl.content()).ok())
.flatten()
if let Some(content) =
pl.and_then(|pl| serde_json::from_value::<PowerLevelsEventContent>(pl.content()).ok())
{
if let Ok(ev) = event {
if let Some(user) = content.users.get(&ev.sender()) {
if let Some(user) = content.users.get(ev.sender()) {
log::debug!("found {} at power_level {}", ev.sender().as_str(), user);
return (*user).into();
}
@ -461,7 +460,7 @@ impl StateResolution {
let mut auth_events = BTreeMap::new();
for aid in &event.auth_events() {
if let Ok(ev) = StateResolution::get_or_load_event(room_id, &aid, event_map) {
if let Ok(ev) = StateResolution::get_or_load_event(room_id, aid, event_map) {
// TODO synapse check "rejected_reason", I'm guessing this is redacted_because in ruma ??
auth_events.insert(
(
@ -477,9 +476,9 @@ impl StateResolution {
}
}
for key in event_auth::auth_types_for_event(
for key in auth_types_for_event(
&event.kind(),
&event.sender(),
event.sender(),
Some(state_key.clone()),
event.content(),
) {
@ -510,7 +509,7 @@ impl StateResolution {
}
});
if event_auth::auth_check(
if auth_check(
room_version,
&event,
most_recent_prev_event,
@ -563,7 +562,7 @@ impl StateResolution {
let auth_events = &event.auth_events();
pl = None;
for aid in auth_events {
let ev = StateResolution::get_or_load_event(room_id, &aid, event_map).unwrap();
let ev = StateResolution::get_or_load_event(room_id, aid, event_map).unwrap();
if is_type_and_key(&ev, EventType::RoomPowerLevels, "") {
pl = Some(aid.clone());
break;
@ -625,7 +624,7 @@ impl StateResolution {
while let Some(sort_ev) = event {
log::debug!("mainline event_id {}", sort_ev.event_id().to_string());
let id = &sort_ev.event_id();
if let Some(depth) = mainline_map.get(&id) {
if let Some(depth) = mainline_map.get(id) {
return Ok(*depth);
}
@ -634,7 +633,7 @@ impl StateResolution {
event = None;
for aid in auth_events {
// dbg!(&aid);
let aev = StateResolution::get_or_load_event(room_id, &aid, event_map)?;
let aev = StateResolution::get_or_load_event(room_id, aid, event_map)?;
if is_type_and_key(&aev, EventType::RoomPowerLevels, "") {
event = Some(aev);
break;
@ -663,8 +662,8 @@ impl StateResolution {
.unwrap()
.auth_events()
{
if auth_diff.contains(&aid) {
if !graph.contains_key(&aid) {
if auth_diff.contains(aid) {
if !graph.contains_key(aid) {
state.push(aid.clone());
}

View File

@ -1,13 +1,9 @@
use std::sync::Arc;
#[rustfmt::skip] // this deletes the comments for some reason yay!
use state_res::{
event_auth::{
// auth_check, auth_types_for_event, can_federate, check_power_levels, check_redaction,
valid_membership_change,
},
StateMap
};
use state_res::{event_auth::valid_membership_change, StateMap};
// use state_res::event_auth:::{
// auth_check, auth_types_for_event, can_federate, check_power_levels, check_redaction,
// };
mod utils;
use utils::{alice, charlie, event_id, member_content_ban, to_pdu_event, INITIAL_EVENTS};

View File

@ -28,7 +28,7 @@ fn test_event_sort() {
let power_events = event_map
.values()
.filter(|pdu| is_power_event(&pdu))
.filter(|pdu| is_power_event(pdu))
.map(|pdu| pdu.event_id().clone())
.collect::<Vec<_>>();
@ -39,7 +39,7 @@ fn test_event_sort() {
&room_id(),
&power_events,
&mut events,
&auth_chain,
auth_chain,
);
// This is a TODO in conduit