summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorqkzk <qu3nt1n@gmail.com>2023-10-31 19:48:58 +0100
committerqkzk <qu3nt1n@gmail.com>2023-10-31 19:48:58 +0100
commitef6b7a1e3ca1ee232b4fe7a679f4684cf193941a (patch)
tree48874857292490a0095e550fdc3b32d0b7527322
parent5363d5ebd2984a1d09133ce9b62a2e0c0649e912 (diff)
documentation
-rw-r--r--src/password.rs17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/password.rs b/src/password.rs
index 1cd0158..24ec0a7 100644
--- a/src/password.rs
+++ b/src/password.rs
@@ -25,9 +25,10 @@ impl std::fmt::Display for PasswordKind {
}
/// What will this password be used for ?
-/// ATM only 2 usages are supported:
+/// ATM only 3 usages are supported:
/// * mounting an ISO file,
/// * opening an mounting an encrypted device.
+/// * running a sudo command
#[derive(Debug, Clone, Copy)]
pub enum PasswordUsage {
ISO,
@@ -35,33 +36,35 @@ pub enum PasswordUsage {
SUDOCOMMAND,
}
+type Password = String;
+
/// Holds passwords allowing to mount or unmount an encrypted drive.
#[derive(Default, Clone, Debug)]
pub struct PasswordHolder {
- sudo: Option<String>,
- cryptsetup: Option<String>,
+ sudo: Option<Password>,
+ cryptsetup: Option<Password>,
}
impl PasswordHolder {
/// Set the sudo password.
- pub fn set_sudo(&mut self, password: String) {
+ pub fn set_sudo(&mut self, password: Password) {
self.sudo = Some(password)
}
/// Set the encrypted device passphrase
- pub fn set_cryptsetup(&mut self, passphrase: String) {
+ pub fn set_cryptsetup(&mut self, passphrase: Password) {
self.cryptsetup = Some(passphrase)
}
/// Reads the cryptsetup password
- pub fn cryptsetup(&self) -> Result<String> {
+ pub fn cryptsetup(&self) -> Result<Password> {
self.cryptsetup
.clone()
.context("PasswordHolder: cryptsetup password isn't set")
}
/// Reads the sudo password
- pub fn sudo(&self) -> Result<String> {
+ pub fn sudo(&self) -> Result<Password> {
self.sudo
.clone()
.context("PasswordHolder: sudo password isn't set")