Merge branch 'syscall-update' into 'master'

Update redox-syscall

See merge request redox-os/installer!84
This commit is contained in:
Jeremy Soller
2026-07-09 10:47:24 -06:00
5 changed files with 40 additions and 31 deletions
Generated
+15 -8
View File
@@ -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
View File
@@ -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"
+13 -13
View File
@@ -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
View File
@@ -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"
+9 -7
View File
@@ -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())?;