Don't ask for master password in clean command

This commit is contained in:
TheAwiteb 2023-12-24 20:26:51 +03:00
parent bdfb17d888
commit 4b15b9403a
No known key found for this signature in database
GPG key ID: ABF818BD15DC2D34

View file

@ -63,26 +63,33 @@ impl Cli {
"Getting password file: {}",
passwords_file.to_string_lossy()
);
let password = scanpw::scanpw!("Master Password: ");
if password::is_new_password_file(&passwords_file)? {
let analyzed = passwords::analyzer::analyze(&password);
if analyzed.length() < 15 {
return Err(PassrsError::WeakPassword(
"The password length must be beggier then 15".to_owned(),
));
} else if passwords::scorer::score(&analyzed) < 80.0 {
return Err(PassrsError::WeakPassword(
"Your password is not stronge enough".to_owned(),
));
let password_manager = if matches!(self.command, Commands::Clean(..)) {
Passwords {
passwords_file,
..Default::default()
}
}
} else {
let password = scanpw::scanpw!("Master Password: ");
let master_password = sha256::digest(password);
let password_manager = Passwords::try_reload(
passwords_file,
master_password.into_bytes().into_iter().take(32).collect(),
)?;
if password::is_new_password_file(&passwords_file)? {
let analyzed = passwords::analyzer::analyze(&password);
if analyzed.length() < 15 {
return Err(PassrsError::WeakPassword(
"The password length must be beggier then 15".to_owned(),
));
} else if passwords::scorer::score(&analyzed) < 80.0 {
return Err(PassrsError::WeakPassword(
"Your password is not stronge enough".to_owned(),
));
}
}
let master_password = sha256::digest(password);
Passwords::try_reload(
passwords_file,
master_password.into_bytes().into_iter().take(32).collect(),
)?
};
self.command.run(password_manager)?;
Ok(())