Merge branch 'syscall-update' into 'master'
Update redox-syscall See merge request redox-os/installer!84
This commit is contained in:
Generated
+15
-8
@@ -1010,12 +1010,13 @@ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
|
||||
|
||||
[[package]]
|
||||
name = "libredox"
|
||||
version = "0.1.12"
|
||||
version = "0.1.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616"
|
||||
checksum = "c943259e342f1e06ff2da7a83eabdfe7f92ce10262688dbf1895ff0b3e6e4652"
|
||||
dependencies = [
|
||||
"bitflags 2.10.0",
|
||||
"libc",
|
||||
"plain",
|
||||
"redox_syscall",
|
||||
]
|
||||
|
||||
@@ -1199,6 +1200,12 @@ dependencies = [
|
||||
"toml",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "plain"
|
||||
version = "0.2.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
|
||||
|
||||
[[package]]
|
||||
name = "portable-atomic"
|
||||
version = "1.13.0"
|
||||
@@ -1381,9 +1388,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "redox-scheme"
|
||||
version = "0.9.0"
|
||||
version = "0.11.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5eb0cee524a5c6e4db180250f699e101ee25f3f79ad2618527e539e028cb6722"
|
||||
checksum = "5928b2f572e06a74e9c210fcacf15b70b8ffa6fdb3d8650f4601b83c12fe194b"
|
||||
dependencies = [
|
||||
"libredox",
|
||||
"redox_syscall",
|
||||
@@ -1418,18 +1425,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.7.3"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16"
|
||||
checksum = "c5102a6aaa05aa011a238e178e6bca86d2cb56fc9f586d37cb80f5bca6e07759"
|
||||
dependencies = [
|
||||
"bitflags 2.10.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "redoxfs"
|
||||
version = "0.9.0"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f790d2ee811995ee2ba5dd7693fae50a222fa2ca529bfd3e23734ddc10f0a065"
|
||||
checksum = "a66d0c043a5768739851a7e5775192a70fdffdbf3418c22fd7927415d41a87c3"
|
||||
dependencies = [
|
||||
"aes",
|
||||
"argon2",
|
||||
|
||||
+2
-2
@@ -34,8 +34,8 @@ pkgar-core = { version = "0.2.2", optional = true }
|
||||
pkgar-keys = { version = "0.2.2", optional = true }
|
||||
rand = { version = "0.9", optional = true }
|
||||
redox-pkg = { version = "0.3.1", features = ["indicatif"], optional = true }
|
||||
redox_syscall = { version = "0.7", optional = true }
|
||||
redoxfs = { version = "0.9", optional = true, default-features = false, features = ["std", "log"] }
|
||||
redox_syscall = { version = "0.9", optional = true }
|
||||
redoxfs = { version = "0.9.1", optional = true, default-features = false, features = ["std", "log"] }
|
||||
rust-argon2 = { version = "3", optional = true }
|
||||
serde = "1"
|
||||
serde_derive = "1.0"
|
||||
|
||||
Generated
+13
-13
@@ -2929,14 +2929,14 @@ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
|
||||
|
||||
[[package]]
|
||||
name = "libredox"
|
||||
version = "0.1.16"
|
||||
version = "0.1.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c"
|
||||
checksum = "c943259e342f1e06ff2da7a83eabdfe7f92ce10262688dbf1895ff0b3e6e4652"
|
||||
dependencies = [
|
||||
"bitflags 2.13.0",
|
||||
"libc",
|
||||
"plain",
|
||||
"redox_syscall 0.7.5",
|
||||
"redox_syscall 0.9.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -4199,12 +4199,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "redox-scheme"
|
||||
version = "0.9.1"
|
||||
version = "0.11.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0ef5279a1ad9567f8a87818ba80320afdf858853db93742c2bb32be31a82ccdb"
|
||||
checksum = "5928b2f572e06a74e9c210fcacf15b70b8ffa6fdb3d8650f4601b83c12fe194b"
|
||||
dependencies = [
|
||||
"libredox",
|
||||
"redox_syscall 0.7.5",
|
||||
"redox_syscall 0.9.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -4233,7 +4233,7 @@ dependencies = [
|
||||
"pkgar-keys",
|
||||
"rand 0.9.4",
|
||||
"redox-pkg",
|
||||
"redox_syscall 0.7.5",
|
||||
"redox_syscall 0.9.0",
|
||||
"redoxfs",
|
||||
"ring",
|
||||
"rust-argon2",
|
||||
@@ -4257,7 +4257,7 @@ dependencies = [
|
||||
"pkgar-core",
|
||||
"pkgar-keys",
|
||||
"redox_installer",
|
||||
"redox_syscall 0.7.5",
|
||||
"redox_syscall 0.9.0",
|
||||
"toml 0.8.23",
|
||||
]
|
||||
|
||||
@@ -4272,9 +4272,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.7.5"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4666a1a60d8412eab19d94f6d13dcc9cea0a5ef4fdf6a5db306537413c661b1b"
|
||||
checksum = "c5102a6aaa05aa011a238e178e6bca86d2cb56fc9f586d37cb80f5bca6e07759"
|
||||
dependencies = [
|
||||
"bitflags 2.13.0",
|
||||
]
|
||||
@@ -4292,9 +4292,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "redoxfs"
|
||||
version = "0.9.0"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f790d2ee811995ee2ba5dd7693fae50a222fa2ca529bfd3e23734ddc10f0a065"
|
||||
checksum = "a66d0c043a5768739851a7e5775192a70fdffdbf3418c22fd7927415d41a87c3"
|
||||
dependencies = [
|
||||
"aes",
|
||||
"argon2",
|
||||
@@ -4313,7 +4313,7 @@ dependencies = [
|
||||
"range-tree",
|
||||
"redox-path",
|
||||
"redox-scheme",
|
||||
"redox_syscall 0.7.5",
|
||||
"redox_syscall 0.9.0",
|
||||
"seahash",
|
||||
"termion",
|
||||
"uuid",
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ pkgar = "0.2"
|
||||
pkgar-core = "0.2"
|
||||
pkgar-keys = "0.2"
|
||||
redox_installer = { path = ".." }
|
||||
redox_syscall = "0.7"
|
||||
redox_syscall = "0.9"
|
||||
toml = "0.8"
|
||||
# TODO: remove after pkgutils update
|
||||
futures-channel = "0.3.32"
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
use std::fs;
|
||||
|
||||
pub fn ask_root(password: &str) -> Result<(), String> {
|
||||
let file = libredox::call::open("/scheme/sudo", libredox::flag::O_CLOEXEC, 0)
|
||||
let file = libredox::Fd::open("/scheme/sudo", libredox::flag::O_CLOEXEC, 0)
|
||||
.map_err(|err| err.to_string())?;
|
||||
|
||||
libredox::call::write(file, password.as_bytes()).map_err(|err| err.to_string())?;
|
||||
file.write(password.as_bytes())
|
||||
.map_err(|err| err.to_string())?;
|
||||
|
||||
// FIXME move to libredox
|
||||
unsafe extern "C" {
|
||||
@@ -12,11 +13,12 @@ pub fn ask_root(password: &str) -> Result<(), String> {
|
||||
}
|
||||
|
||||
// Elevate privileges of our own process with help from the sudo daemon
|
||||
syscall::sendfd(
|
||||
file,
|
||||
syscall::dup(redox_cur_procfd_v0(), &[]).map_err(|err| err.to_string())?,
|
||||
0,
|
||||
0,
|
||||
file.call_wo(
|
||||
&libredox::call::dup(redox_cur_procfd_v0(), &[])
|
||||
.map_err(|err| err.to_string())?
|
||||
.to_ne_bytes(),
|
||||
syscall::CallFlags::FD,
|
||||
&[],
|
||||
)
|
||||
.map_err(|err| err.to_string())?;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user