From 9dc487e1d8a264b424cf13d8572c8168e0b0564f Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 28 Dec 2025 17:40:14 +0700 Subject: [PATCH] Fix compilation with newer syscall --- Cargo.lock | 23 +++++++++++++++-------- Cargo.toml | 4 ++-- src/bin/sudo.rs | 6 +++++- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c992a6637b..409c25da39 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -116,7 +116,7 @@ source = "git+https://gitlab.redox-os.org/redox-os/libextra.git#cf213969493db866 [[package]] name = "generic-rt" version = "0.1.0" -source = "git+https://gitlab.redox-os.org/redox-os/relibc#7ed934a01d2ac8ab603b6dc24e918d8197192068" +source = "git+https://gitlab.redox-os.org/redox-os/relibc#250f072973b96ee2d2ab921b7c2114b5178ec4d1" [[package]] name = "getrandom" @@ -172,9 +172,9 @@ checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" [[package]] name = "libredox" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" +checksum = "df15f6eac291ed1cf25865b1ee60399f57e7c227e7f51bdbd4c5270396a9ed50" dependencies = [ "bitflags 2.9.4", "libc", @@ -235,23 +235,30 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "redox-path" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436d45c2b6a5b159d43da708e62b25be3a4a3d5550d654b72216ade4c4bfd717" + [[package]] name = "redox-rt" version = "0.1.0" -source = "git+https://gitlab.redox-os.org/redox-os/relibc#7ed934a01d2ac8ab603b6dc24e918d8197192068" +source = "git+https://gitlab.redox-os.org/redox-os/relibc#250f072973b96ee2d2ab921b7c2114b5178ec4d1" dependencies = [ "bitflags 2.9.4", "generic-rt", "goblin", "plain", + "redox-path", "redox_syscall", ] [[package]] name = "redox-scheme" -version = "0.5.0" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a96b9cfb034251dfb0aaa66a67059a7f0ea344039904d1d70cd36266af9c8a2f" +checksum = "2cea2668a5932f878a4298a1d7f8950249bbbb77120fb263da252c589152f5ea" dependencies = [ "libredox", "redox_syscall", @@ -282,8 +289,8 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.17" -source = "git+https://gitlab.redox-os.org/redox-os/syscall.git#aedadf4d5cb915e0c6a22a5c7358fa853354e21d" +version = "0.6.0" +source = "git+https://gitlab.redox-os.org/redox-os/syscall.git#2d11366fd160ec1dd3918164fa324275e1bab070" dependencies = [ "bitflags 2.9.4", ] diff --git a/Cargo.toml b/Cargo.toml index e8ea13a1d6..bccdad39a7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -60,8 +60,8 @@ redox_liner = "0.5.2" libredox = "0.1.3" redox_termios = "0.1.3" redox_event = "0.4" -redox-scheme = "0.5.0" -redox_syscall = "0.5" +redox-scheme = "0.8.3" +redox_syscall = "0.6" redox_users = "0.4.6" termion = "4" diff --git a/src/bin/sudo.rs b/src/bin/sudo.rs index d0b7206b36..1a7b8fe802 100644 --- a/src/bin/sudo.rs +++ b/src/bin/sudo.rs @@ -275,7 +275,11 @@ impl Scheme { match std::mem::replace(handle, Handle::Placeholder) { Handle::AwaitingContextFd => { let mut proc_fd = usize::MAX; - req.obtain_fd(socket, FobtainFdFlags::empty(), Err(&mut proc_fd))?; + req.obtain_fd( + socket, + FobtainFdFlags::empty(), + std::slice::from_mut(&mut proc_fd), + )?; let proc_fd = unsafe { OwnedFd::from_raw_fd(proc_fd as RawFd) }; let [ruid, euid, suid] = [0, 0, 0];