geforkt von mirrored/vaultwarden
Fixed some lint issues
Dieser Commit ist enthalten in:
Ursprung
948554a20f
Commit
8651df8c2a
11 geänderte Dateien mit 25 neuen und 27 gelöschten Zeilen
|
@ -41,13 +41,11 @@ fn register(data: JsonUpcase<RegisterData>, conn: DbConn) -> EmptyResult {
|
||||||
user_org.save(&conn);
|
user_org.save(&conn);
|
||||||
};
|
};
|
||||||
user
|
user
|
||||||
} else {
|
} else if CONFIG.signups_allowed {
|
||||||
if CONFIG.signups_allowed {
|
|
||||||
err!("Account with this email already exists")
|
err!("Account with this email already exists")
|
||||||
} else {
|
} else {
|
||||||
err!("Registration not allowed")
|
err!("Registration not allowed")
|
||||||
}
|
}
|
||||||
}
|
|
||||||
},
|
},
|
||||||
None => {
|
None => {
|
||||||
if CONFIG.signups_allowed || Invitation::take(&data.Email, &conn) {
|
if CONFIG.signups_allowed || Invitation::take(&data.Email, &conn) {
|
||||||
|
@ -305,7 +303,7 @@ fn password_hint(data: JsonUpcase<PasswordHintData>, conn: DbConn) -> EmptyResul
|
||||||
if let Some(hint) = user.password_hint {
|
if let Some(hint) = user.password_hint {
|
||||||
err!(format!("Your password hint is: {}", &hint));
|
err!(format!("Your password hint is: {}", &hint));
|
||||||
} else {
|
} else {
|
||||||
err!(format!("Sorry, you have no password hint..."));
|
err!("Sorry, you have no password hint...");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -376,11 +376,11 @@ fn put_cipher_share_seleted(data: JsonUpcase<ShareSelectedCipherData>, headers:
|
||||||
let mut data: ShareSelectedCipherData = data.into_inner().data;
|
let mut data: ShareSelectedCipherData = data.into_inner().data;
|
||||||
let mut cipher_ids: Vec<String> = Vec::new();
|
let mut cipher_ids: Vec<String> = Vec::new();
|
||||||
|
|
||||||
if data.Ciphers.len() == 0 {
|
if data.Ciphers.is_empty() {
|
||||||
err!("You must select at least one cipher.")
|
err!("You must select at least one cipher.")
|
||||||
}
|
}
|
||||||
|
|
||||||
if data.CollectionIds.len() == 0 {
|
if data.CollectionIds.is_empty() {
|
||||||
err!("You must select at least one collection.")
|
err!("You must select at least one collection.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -393,7 +393,7 @@ fn put_cipher_share_seleted(data: JsonUpcase<ShareSelectedCipherData>, headers:
|
||||||
|
|
||||||
let attachments = Attachment::find_by_ciphers(cipher_ids, &conn);
|
let attachments = Attachment::find_by_ciphers(cipher_ids, &conn);
|
||||||
|
|
||||||
if attachments.len() > 0 {
|
if !attachments.is_empty() {
|
||||||
err!("Ciphers should not have any attachments.")
|
err!("Ciphers should not have any attachments.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -289,7 +289,7 @@ fn get_collection_users(org_id: String, coll_id: String, _headers: AdminHeaders,
|
||||||
.iter().map(|col_user| {
|
.iter().map(|col_user| {
|
||||||
UserOrganization::find_by_user_and_org(&col_user.user_uuid, &org_id, &conn)
|
UserOrganization::find_by_user_and_org(&col_user.user_uuid, &org_id, &conn)
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.to_json_collection_user_details(&col_user.read_only, &conn)
|
.to_json_collection_user_details(col_user.read_only, &conn)
|
||||||
}).collect();
|
}).collect();
|
||||||
|
|
||||||
Ok(Json(json!({
|
Ok(Json(json!({
|
||||||
|
|
|
@ -293,7 +293,7 @@ impl RegisterResponseCopy {
|
||||||
RegisterResponse {
|
RegisterResponse {
|
||||||
registration_data: self.registration_data,
|
registration_data: self.registration_data,
|
||||||
version: self.version,
|
version: self.version,
|
||||||
challenge: challenge,
|
challenge,
|
||||||
client_data: self.client_data,
|
client_data: self.client_data,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ fn icon(domain: String) -> Content<Vec<u8>> {
|
||||||
let icon_type = ContentType::new("image", "x-icon");
|
let icon_type = ContentType::new("image", "x-icon");
|
||||||
|
|
||||||
// Validate the domain to avoid directory traversal attacks
|
// Validate the domain to avoid directory traversal attacks
|
||||||
if domain.contains("/") || domain.contains("..") {
|
if domain.contains('/') || domain.contains("..") {
|
||||||
return Content(icon_type, get_fallback_icon());
|
return Content(icon_type, get_fallback_icon());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -158,7 +158,7 @@ fn twofactor_auth(
|
||||||
let providers: Vec<_> = twofactors.iter().map(|tf| tf.type_).collect();
|
let providers: Vec<_> = twofactors.iter().map(|tf| tf.type_).collect();
|
||||||
|
|
||||||
// No twofactor token if twofactor is disabled
|
// No twofactor token if twofactor is disabled
|
||||||
if twofactors.len() == 0 {
|
if twofactors.is_empty() {
|
||||||
return Ok(None);
|
return Ok(None);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -60,20 +60,20 @@ fn serialize(val: Value) -> Vec<u8> {
|
||||||
|
|
||||||
// Add size bytes at the start
|
// Add size bytes at the start
|
||||||
// Extracted from BinaryMessageFormat.js
|
// Extracted from BinaryMessageFormat.js
|
||||||
let mut size = buf.len();
|
let mut size: usize = buf.len();
|
||||||
let mut len_buf: Vec<u8> = Vec::new();
|
let mut len_buf: Vec<u8> = Vec::new();
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
let mut size_part = size & 0x7f;
|
let mut size_part = size & 0x7f;
|
||||||
size = size >> 7;
|
size >>= 7;
|
||||||
|
|
||||||
if size > 0 {
|
if size > 0 {
|
||||||
size_part = size_part | 0x80;
|
size_part |= 0x80;
|
||||||
}
|
}
|
||||||
|
|
||||||
len_buf.push(size_part as u8);
|
len_buf.push(size_part as u8);
|
||||||
|
|
||||||
if size <= 0 {
|
if size == 0 {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -129,7 +129,7 @@ impl Handler for WSHandler {
|
||||||
fn on_open(&mut self, hs: Handshake) -> ws::Result<()> {
|
fn on_open(&mut self, hs: Handshake) -> ws::Result<()> {
|
||||||
// TODO: Improve this split
|
// TODO: Improve this split
|
||||||
let path = hs.request.resource();
|
let path = hs.request.resource();
|
||||||
let mut query_split: Vec<_> = path.split("?").nth(1).unwrap().split("&").collect();
|
let mut query_split: Vec<_> = path.split('?').nth(1).unwrap().split('&').collect();
|
||||||
query_split.sort();
|
query_split.sort();
|
||||||
let access_token = &query_split[0][13..];
|
let access_token = &query_split[0][13..];
|
||||||
let _id = &query_split[1][3..];
|
let _id = &query_split[1][3..];
|
||||||
|
@ -255,7 +255,7 @@ impl WebSocketUsers {
|
||||||
vec![
|
vec![
|
||||||
("UserId".into(), user.uuid.clone().into()),
|
("UserId".into(), user.uuid.clone().into()),
|
||||||
("Date".into(), serialize_date(user.updated_at)),
|
("Date".into(), serialize_date(user.updated_at)),
|
||||||
].into(),
|
],
|
||||||
ut,
|
ut,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -268,7 +268,7 @@ impl WebSocketUsers {
|
||||||
("Id".into(), folder.uuid.clone().into()),
|
("Id".into(), folder.uuid.clone().into()),
|
||||||
("UserId".into(), folder.user_uuid.clone().into()),
|
("UserId".into(), folder.user_uuid.clone().into()),
|
||||||
("RevisionDate".into(), serialize_date(folder.updated_at)),
|
("RevisionDate".into(), serialize_date(folder.updated_at)),
|
||||||
].into(),
|
],
|
||||||
ut,
|
ut,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -286,7 +286,7 @@ impl WebSocketUsers {
|
||||||
("OrganizationId".into(), org_uuid),
|
("OrganizationId".into(), org_uuid),
|
||||||
("CollectionIds".into(), Value::Nil),
|
("CollectionIds".into(), Value::Nil),
|
||||||
("RevisionDate".into(), serialize_date(cipher.updated_at)),
|
("RevisionDate".into(), serialize_date(cipher.updated_at)),
|
||||||
].into(),
|
],
|
||||||
ut,
|
ut,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -78,7 +78,7 @@ impl Attachment {
|
||||||
println!("ERROR: Failed with 10 retries");
|
println!("ERROR: Failed with 10 retries");
|
||||||
return Err(err)
|
return Err(err)
|
||||||
} else {
|
} else {
|
||||||
retries = retries - 1;
|
retries -= 1;
|
||||||
println!("Had to retry! Retries left: {}", retries);
|
println!("Had to retry! Retries left: {}", retries);
|
||||||
thread::sleep(time::Duration::from_millis(500));
|
thread::sleep(time::Duration::from_millis(500));
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -362,6 +362,6 @@ impl Cipher {
|
||||||
)
|
)
|
||||||
))
|
))
|
||||||
.select(ciphers_collections::collection_uuid)
|
.select(ciphers_collections::collection_uuid)
|
||||||
.load::<String>(&**conn).unwrap_or(vec![])
|
.load::<String>(&**conn).unwrap_or_default()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -194,7 +194,7 @@ impl UserOrganization {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn to_json_collection_user_details(&self, read_only: &bool, conn: &DbConn) -> JsonValue {
|
pub fn to_json_collection_user_details(&self, read_only: bool, conn: &DbConn) -> JsonValue {
|
||||||
let user = User::find_by_uuid(&self.user_uuid, conn).unwrap();
|
let user = User::find_by_uuid(&self.user_uuid, conn).unwrap();
|
||||||
|
|
||||||
json!({
|
json!({
|
||||||
|
@ -281,14 +281,14 @@ impl UserOrganization {
|
||||||
users_organizations::table
|
users_organizations::table
|
||||||
.filter(users_organizations::user_uuid.eq(user_uuid))
|
.filter(users_organizations::user_uuid.eq(user_uuid))
|
||||||
.filter(users_organizations::status.eq(UserOrgStatus::Confirmed as i32))
|
.filter(users_organizations::status.eq(UserOrgStatus::Confirmed as i32))
|
||||||
.load::<Self>(&**conn).unwrap_or(vec![])
|
.load::<Self>(&**conn).unwrap_or_default()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn find_invited_by_user(user_uuid: &str, conn: &DbConn) -> Vec<Self> {
|
pub fn find_invited_by_user(user_uuid: &str, conn: &DbConn) -> Vec<Self> {
|
||||||
users_organizations::table
|
users_organizations::table
|
||||||
.filter(users_organizations::user_uuid.eq(user_uuid))
|
.filter(users_organizations::user_uuid.eq(user_uuid))
|
||||||
.filter(users_organizations::status.eq(UserOrgStatus::Invited as i32))
|
.filter(users_organizations::status.eq(UserOrgStatus::Invited as i32))
|
||||||
.load::<Self>(&**conn).unwrap_or(vec![])
|
.load::<Self>(&**conn).unwrap_or_default()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn find_by_org(org_uuid: &str, conn: &DbConn) -> Vec<Self> {
|
pub fn find_by_org(org_uuid: &str, conn: &DbConn) -> Vec<Self> {
|
||||||
|
|
|
@ -113,7 +113,7 @@ impl User {
|
||||||
let orgs = UserOrganization::find_by_user(&self.uuid, conn);
|
let orgs = UserOrganization::find_by_user(&self.uuid, conn);
|
||||||
let orgs_json: Vec<JsonValue> = orgs.iter().map(|c| c.to_json(&conn)).collect();
|
let orgs_json: Vec<JsonValue> = orgs.iter().map(|c| c.to_json(&conn)).collect();
|
||||||
|
|
||||||
let twofactor_enabled = TwoFactor::find_by_user(&self.uuid, conn).len() > 0;
|
let twofactor_enabled = !TwoFactor::find_by_user(&self.uuid, conn).is_empty();
|
||||||
|
|
||||||
json!({
|
json!({
|
||||||
"Id": self.uuid,
|
"Id": self.uuid,
|
||||||
|
|
Laden …
In neuem Issue referenzieren