Move to the 2024 edition
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
[package]
|
||||
name = "userutils"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[[bin]]
|
||||
name = "id"
|
||||
|
||||
@@ -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};
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
#[macro_use]
|
||||
extern crate clap;
|
||||
extern crate extra;
|
||||
extern crate redox_users;
|
||||
|
||||
use extra::option::OptionalExt;
|
||||
|
||||
|
||||
@@ -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};
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
#[macro_use]
|
||||
extern crate clap;
|
||||
extern crate extra;
|
||||
extern crate redox_users;
|
||||
|
||||
use std::process::exit;
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
#[macro_use]
|
||||
extern crate clap;
|
||||
extern crate extra;
|
||||
extern crate redox_users;
|
||||
|
||||
use std::env::args;
|
||||
use std::process::exit;
|
||||
|
||||
+18
-23
@@ -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::<String>::new())
|
||||
&mut liner::BasicCompleter::new(Vec::<String>::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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+15
-18
@@ -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);
|
||||
|
||||
+1
-5
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
#[macro_use]
|
||||
extern crate clap;
|
||||
extern crate extra;
|
||||
extern crate redox_users;
|
||||
extern crate userutils;
|
||||
|
||||
use std::process::exit;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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};
|
||||
|
||||
Reference in New Issue
Block a user