Add setresuid/setresgid (suid/sgid stub on Redox).

This commit is contained in:
4lDO2
2024-07-18 23:54:46 +02:00
parent 312b66e547
commit bf26de70e2
4 changed files with 26 additions and 12 deletions
+4 -4
View File
@@ -568,12 +568,12 @@ impl Pal for Sys {
e(unsafe { syscall!(SETPRIORITY, which, who, prio) }) as c_int
}
fn setregid(rgid: gid_t, egid: gid_t) -> c_int {
e(unsafe { syscall!(SETREGID, rgid, egid) }) as c_int
fn setresgid(rgid: gid_t, egid: gid_t, sgid: gid_t) -> c_int {
e(unsafe { syscall!(SETRESGID, rgid, egid, sgid) }) as c_int
}
fn setreuid(ruid: uid_t, euid: uid_t) -> c_int {
e(unsafe { syscall!(SETREUID, ruid, euid) }) as c_int
fn setresuid(ruid: uid_t, euid: uid_t, suid: uid_t) -> c_int {
e(unsafe { syscall!(SETRESUID, ruid, euid, suid) }) as c_int
}
fn setsid() -> c_int {
+2 -2
View File
@@ -207,9 +207,9 @@ pub trait Pal {
fn setpriority(which: c_int, who: id_t, prio: c_int) -> c_int;
fn setregid(rgid: gid_t, egid: gid_t) -> c_int;
fn setresgid(rgid: gid_t, egid: gid_t, sgid: gid_t) -> c_int;
fn setreuid(ruid: uid_t, euid: uid_t) -> c_int;
fn setresuid(ruid: uid_t, euid: uid_t, suid: uid_t) -> c_int;
fn setsid() -> c_int;
+8 -2
View File
@@ -930,11 +930,17 @@ impl Pal for Sys {
}
}
fn setregid(rgid: gid_t, egid: gid_t) -> c_int {
fn setresgid(rgid: gid_t, egid: gid_t, sgid: gid_t) -> c_int {
if sgid != -1 {
println!("TODO: suid");
}
e(syscall::setregid(rgid as usize, egid as usize)) as c_int
}
fn setreuid(ruid: uid_t, euid: uid_t) -> c_int {
fn setresuid(ruid: uid_t, euid: uid_t, suid: uid_t) -> c_int {
if suid != -1 {
println!("TODO: suid");
}
e(syscall::setreuid(ruid as usize, euid as usize)) as c_int
}