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