32 lines
747 B
Rust
32 lines
747 B
Rust
use macros::RmcSerialize;
|
|
|
|
#[derive(RmcSerialize, Clone)]
|
|
pub struct Account {
|
|
pub pid: u32,
|
|
pub username: String,
|
|
pub kerbros_password: Box<[u8]>,
|
|
}
|
|
|
|
impl Account {
|
|
pub fn new(pid: u32, username: &str, passwd: &str) -> Self {
|
|
let passwd_data = passwd.as_bytes();
|
|
|
|
Self {
|
|
kerbros_password: passwd.as_bytes().into(),
|
|
username: username.into(),
|
|
pid,
|
|
}
|
|
}
|
|
|
|
pub fn new_raw_password(pid: u32, username: &str, passwd: &[u8]) -> Self {
|
|
Self {
|
|
kerbros_password: passwd.into(),
|
|
username: username.into(),
|
|
pid,
|
|
}
|
|
}
|
|
|
|
pub fn get_login_data(&self) -> (u32, &[u8]) {
|
|
(self.pid, &self.kerbros_password)
|
|
}
|
|
}
|