restructuring

Fix (remove) lifetimes and restructure the code

Co-authored-by: Dietrich <dietrich@teilgedanken.de>
Reviewed-on: http://git.teilgedanken.de/Rust/useradd/pulls/2
This commit was merged in pull request #2.
This commit is contained in:
2020-10-07 15:11:10 +00:00
parent 180934b789
commit b6eb9972d2
10 changed files with 1085 additions and 674 deletions
+36
View File
@@ -0,0 +1,36 @@
extern crate adduser;
use adduser::NewFromString;
use adduser::Shadow;
use adduser::User;
use std::fs::File;
use std::io::{prelude::*, BufReader};
fn main() {
simplelog::CombinedLogger::init(vec![simplelog::TermLogger::new(
simplelog::LevelFilter::Warn,
simplelog::Config::default(),
simplelog::TerminalMode::Mixed,
)])
.unwrap();
let file = File::open("/etc/passwd").unwrap();
let reader = BufReader::new(file);
for line in reader.lines() {
let line = line.unwrap();
println!("{}", User::new_from_string(line).unwrap());
}
let line = "test:!!$6$/RotIe4VZzzAun4W$7YUONvru1rDnllN5TvrnOMsWUD5wSDUPAD6t6/Xwsr/0QOuWF3HcfAhypRkGa8G1B9qqWV5kZSnCb8GKMN9N61:18260:0:99999:7:::".to_string();
assert_eq!(
format!("{}", Shadow::new_from_string(line.clone()).unwrap()),
line
);
// let pwd = User::default();
// let pwd2 =
// User::new_from_string("howdy:notencrypted:1001:1001:not done:/home/test:/bin/bash");
// println!("Test struct: {}", pwd);
// assert_eq!(pwd, pwd2.unwrap())
}