diff --git a/Cargo.toml b/Cargo.toml index d8fb72b2eb..ef04651fa3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "userutils" version = "0.1.0" +edition = "2024" [[bin]] name = "id" diff --git a/src/bin/getty.rs b/src/bin/getty.rs index 1dfcfb2c3e..1f2ca4491c 100644 --- a/src/bin/getty.rs +++ b/src/bin/getty.rs @@ -1,10 +1,5 @@ #[macro_use] extern crate clap; -extern crate event; -extern crate extra; -extern crate libredox; -extern crate orbclient; -extern crate redox_termios; use std::io::{self, ErrorKind, Stderr}; use std::process::{Child, Command, Stdio}; diff --git a/src/bin/groupadd.rs b/src/bin/groupadd.rs index e820e1bd4c..826bd1740d 100644 --- a/src/bin/groupadd.rs +++ b/src/bin/groupadd.rs @@ -1,7 +1,5 @@ #[macro_use] extern crate clap; -extern crate extra; -extern crate redox_users; use extra::option::OptionalExt; diff --git a/src/bin/groupdel.rs b/src/bin/groupdel.rs index 6b761571ee..9e02d6322f 100644 --- a/src/bin/groupdel.rs +++ b/src/bin/groupdel.rs @@ -1,7 +1,5 @@ #[macro_use] extern crate clap; -extern crate extra; -extern crate redox_users; use extra::option::OptionalExt; use redox_users::{All, AllGroups, Config}; diff --git a/src/bin/groupmod.rs b/src/bin/groupmod.rs index 66ae249ef7..b4713f97cc 100644 --- a/src/bin/groupmod.rs +++ b/src/bin/groupmod.rs @@ -1,7 +1,5 @@ #[macro_use] extern crate clap; -extern crate extra; -extern crate redox_users; use std::process::exit; diff --git a/src/bin/id.rs b/src/bin/id.rs index c6de0e685f..e1f2668407 100644 --- a/src/bin/id.rs +++ b/src/bin/id.rs @@ -1,7 +1,5 @@ #[macro_use] extern crate clap; -extern crate extra; -extern crate redox_users; use std::env::args; use std::process::exit; diff --git a/src/bin/login.rs b/src/bin/login.rs index 087807328c..b159123d0d 100644 --- a/src/bin/login.rs +++ b/src/bin/login.rs @@ -1,10 +1,5 @@ #[macro_use] extern crate clap; -extern crate extra; -extern crate liner; -extern crate termion; -extern crate redox_users; -extern crate userutils; use std::fs::File; use std::io::{self, Write}; @@ -47,8 +42,8 @@ pub fn main() { ).get_matches(); if let Ok(mut issue) = File::open(ISSUE_FILE) { - io::copy(&mut issue, &mut stdout).try(&mut stderr); - stdout.flush().try(&mut stderr); + io::copy(&mut issue, &mut stdout).r#try(&mut stderr); + stdout.flush().r#try(&mut stderr); } loop { @@ -56,9 +51,9 @@ pub fn main() { .read_line( liner::Prompt::from("\x1B[1mredox login:\x1B[0m "), None, - &mut liner::BasicCompleter::new(Vec::::new()) + &mut liner::BasicCompleter::new(Vec::::new()), ) - .try(&mut stderr); + .r#try(&mut stderr); if !user.is_empty() { let stdin = io::stdin(); @@ -67,32 +62,32 @@ pub fn main() { match sys_users.get_by_name(user) { None => { - stdout.write(b"\nLogin incorrect\n").try(&mut stderr); - stdout.write(b"\n").try(&mut stderr); - stdout.flush().try(&mut stderr); + stdout.write(b"\nLogin incorrect\n").r#try(&mut stderr); + stdout.write(b"\n").r#try(&mut stderr); + stdout.flush().r#try(&mut stderr); continue; }, Some(user) => { if user.is_passwd_blank() { if let Ok(mut motd) = File::open(MOTD_FILE) { - io::copy(&mut motd, &mut stdout).try(&mut stderr); - stdout.flush().try(&mut stderr); + io::copy(&mut motd, &mut stdout).r#try(&mut stderr); + stdout.flush().r#try(&mut stderr); } spawn_shell(user).unwrap_or_exit(1); break; } - stdout.write_all(b"\x1B[1mpassword:\x1B[0m ").try(&mut stderr); - stdout.flush().try(&mut stderr); - if let Some(password) = stdin.read_passwd(&mut stdout).try(&mut stderr) { - stdout.write(b"\n").try(&mut stderr); - stdout.flush().try(&mut stderr); + stdout.write_all(b"\x1B[1mpassword:\x1B[0m ") .r#try(&mut stderr); + stdout.flush().r#try(&mut stderr); + if let Some(password) = stdin.read_passwd(&mut stdout).r#try(&mut stderr) { + stdout.write(b"\n").r#try(&mut stderr); + stdout.flush().r#try(&mut stderr); if user.verify_passwd(&password) { if let Ok(mut motd) = File::open(MOTD_FILE) { - io::copy(&mut motd, &mut stdout).try(&mut stderr); - stdout.flush().try(&mut stderr); + io::copy(&mut motd, &mut stdout).r#try(&mut stderr); + stdout.flush().r#try(&mut stderr); } spawn_shell(user).unwrap_or_exit(1); @@ -102,8 +97,8 @@ pub fn main() { } } } else { - stdout.write(b"\n").try(&mut stderr); - stdout.flush().try(&mut stderr); + stdout.write(b"\n").r#try(&mut stderr); + stdout.flush().r#try(&mut stderr); } } } diff --git a/src/bin/passwd.rs b/src/bin/passwd.rs index 737cb35a5c..3a24960310 100644 --- a/src/bin/passwd.rs +++ b/src/bin/passwd.rs @@ -1,8 +1,5 @@ #[macro_use] extern crate clap; -extern crate extra; -extern crate termion; -extern crate redox_users; use std::io; use std::io::Write; @@ -73,8 +70,8 @@ fn main() { user.unset_passwd(); } else if user.uid == uid || uid == 0 { let msg = format!("changing password for '{}' \n", user.user); - stdout.write_all(&msg.as_bytes()).try(&mut stderr); - stdout.flush().try(&mut stderr); + stdout.write_all(&msg.as_bytes()).r#try(&mut stderr); + stdout.flush().r#try(&mut stderr); let mut verified = false; if user.is_passwd_blank() { @@ -82,12 +79,12 @@ fn main() { } else if user.is_passwd_unset() && uid != 0 { verified = false; } else if user.uid == uid || uid != 0 { - stdout.write_all(b"current password: ").try(&mut stderr); - stdout.flush().try(&mut stderr); + stdout.write_all(b"current password: ").r#try(&mut stderr); + stdout.flush().r#try(&mut stderr); - if let Some(password) = stdin.read_passwd(&mut stdout).try(&mut stderr) { - stdout.write(b"\n").try(&mut stderr); - stdout.flush().try(&mut stderr); + if let Some(password) = stdin.read_passwd(&mut stdout).r#try(&mut stderr) { + stdout.write(b"\n").r#try(&mut stderr); + stdout.flush().r#try(&mut stderr); verified = user.verify_passwd(&password) } @@ -96,16 +93,16 @@ fn main() { } if verified { - stdout.write_all(b"new password: ").try(&mut stderr); - stdout.flush().try(&mut stderr); + stdout.write_all(b"new password: ").r#try(&mut stderr); + stdout.flush().r#try(&mut stderr); - if let Some(new_password) = stdin.read_passwd(&mut stdout).try(&mut stderr) { - stdout.write(b"\nconfirm password: ").try(&mut stderr); - stdout.flush().try(&mut stderr); + if let Some(new_password) = stdin.read_passwd(&mut stdout).r#try(&mut stderr) { + stdout.write(b"\nconfirm password: ").r#try(&mut stderr); + stdout.flush().r#try(&mut stderr); - if let Some(confirm_password) = stdin.read_passwd(&mut stdout).try(&mut stderr) { - stdout.write(b"\n").try(&mut stderr); - stdout.flush().try(&mut stderr); + if let Some(confirm_password) = stdin.read_passwd(&mut stdout).r#try(&mut stderr) { + stdout.write(b"\n").r#try(&mut stderr); + stdout.flush().r#try(&mut stderr); if new_password == confirm_password { user.set_passwd(&new_password).unwrap_or_exit(1); diff --git a/src/bin/su.rs b/src/bin/su.rs index 0dec35461c..7c5cfc994d 100644 --- a/src/bin/su.rs +++ b/src/bin/su.rs @@ -1,9 +1,5 @@ #[macro_use] extern crate clap; -extern crate extra; -extern crate termion; -extern crate redox_users; -extern crate userutils; use std::io::{self, Write}; use std::process::exit; @@ -67,7 +63,7 @@ pub fn main() { stdout.flush().unwrap_or_exit(1); // Read the password, reading an empty string if CTRL-d is specified - let password = stdin.read_passwd(&mut stdout).try(&mut stderr).unwrap_or(String::new()); + let password = stdin.read_passwd(&mut stdout).r#try(&mut stderr).unwrap_or(String::new()); writeln!(stderr, "\n").unwrap_or_exit(1); diff --git a/src/bin/sudo.rs b/src/bin/sudo.rs index 9564f1206d..8058912f80 100644 --- a/src/bin/sudo.rs +++ b/src/bin/sudo.rs @@ -1,7 +1,3 @@ -extern crate extra; -extern crate redox_users; -extern crate termion; - use std::env; use std::io::{self, Write}; use std::os::unix::process::CommandExt; diff --git a/src/bin/useradd.rs b/src/bin/useradd.rs index 27682a8b0d..037b19d695 100644 --- a/src/bin/useradd.rs +++ b/src/bin/useradd.rs @@ -1,8 +1,5 @@ #[macro_use] extern crate clap; -extern crate extra; -extern crate redox_users; -extern crate userutils; use std::process::exit; diff --git a/src/bin/userdel.rs b/src/bin/userdel.rs index 28f6be9179..bbb4720e7d 100644 --- a/src/bin/userdel.rs +++ b/src/bin/userdel.rs @@ -1,8 +1,5 @@ #[macro_use] extern crate clap; -extern crate extra; -extern crate redox_users; -extern crate userutils; use std::fs::remove_dir; use std::process::exit; diff --git a/src/bin/usermod.rs b/src/bin/usermod.rs index 22622ddff4..edf3ea87cd 100644 --- a/src/bin/usermod.rs +++ b/src/bin/usermod.rs @@ -1,8 +1,5 @@ #[macro_use] extern crate clap; -extern crate extra; -extern crate redox_users; -extern crate userutils; use std::fs::{remove_dir, rename}; use std::process::exit; diff --git a/src/lib.rs b/src/lib.rs index 72c2d12435..34e2c2507c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -16,9 +16,6 @@ //! - `sudo`: Enables users to execute a command as another user. //! - `whoami`: Display effective user ID. -extern crate redox_users; -extern crate libredox; - use std::io::Result as IoResult; use redox_users::{auth, All, AllGroups, Result, User, Error};