mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-25 14:05:15 +00:00
Kernel+LibC: Remove setreuid() / setregid() again
It looks like they're considered a bad idea, so let's not add them before we need them. I figured it's good to have them in git history if we ever do need them though, hence the add/remove dance.
This commit is contained in:
parent
a38754d9f2
commit
dd53e070c5
Notes:
sideshowbarker
2024-07-19 05:33:15 +09:00
Author: https://github.com/nico Commit: https://github.com/SerenityOS/serenity/commit/dd53e070c51 Pull-request: https://github.com/SerenityOS/serenity/pull/2570 Reviewed-by: https://github.com/bugaevc
5 changed files with 0 additions and 60 deletions
|
@ -2187,48 +2187,6 @@ int Process::sys$setgid(gid_t gid)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int Process::sys$setreuid(uid_t ruid, uid_t euid)
|
||||
{
|
||||
REQUIRE_PROMISE(id);
|
||||
|
||||
// This has FreeBSD semantics.
|
||||
// Linux and Solaris also allow id == m_suid.
|
||||
auto ok = [this](uid_t id) { return id == (uid_t)-1 || id == m_uid || id == m_euid; };
|
||||
if ((!ok(ruid) || !ok(euid)) && !is_superuser())
|
||||
return -EPERM;
|
||||
|
||||
if (ruid != (uid_t)-1)
|
||||
m_uid = ruid;
|
||||
if (euid != (uid_t)-1)
|
||||
m_euid = euid;
|
||||
|
||||
if (ruid != (uid_t)-1 || m_euid != m_uid)
|
||||
m_suid = m_euid;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Process::sys$setregid(gid_t rgid, gid_t egid)
|
||||
{
|
||||
REQUIRE_PROMISE(id);
|
||||
|
||||
// This has FreeBSD semantics.
|
||||
// Linux and Solaris also allow id == m_sgid.
|
||||
auto ok = [this](gid_t id) { return id == (gid_t)-1 || id == m_gid || id == m_egid; };
|
||||
if ((!ok(rgid) || !ok(egid)) && !is_superuser())
|
||||
return -EPERM;
|
||||
|
||||
if (rgid != (gid_t)-1)
|
||||
m_gid = rgid;
|
||||
if (egid != (gid_t)-1)
|
||||
m_egid = egid;
|
||||
|
||||
if (rgid != (gid_t)-1 || m_egid != m_gid)
|
||||
m_sgid = m_egid;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Process::sys$setresuid(uid_t ruid, uid_t euid, uid_t suid)
|
||||
{
|
||||
REQUIRE_PROMISE(id);
|
||||
|
|
|
@ -249,8 +249,6 @@ public:
|
|||
int sys$setegid(gid_t);
|
||||
int sys$setuid(uid_t);
|
||||
int sys$setgid(gid_t);
|
||||
int sys$setreuid(uid_t, uid_t);
|
||||
int sys$setregid(gid_t, gid_t);
|
||||
int sys$setresuid(uid_t, uid_t, uid_t);
|
||||
int sys$setresgid(gid_t, gid_t, gid_t);
|
||||
unsigned sys$alarm(unsigned seconds);
|
||||
|
|
|
@ -98,8 +98,6 @@ namespace Kernel {
|
|||
__ENUMERATE_SYSCALL(setegid) \
|
||||
__ENUMERATE_SYSCALL(setuid) \
|
||||
__ENUMERATE_SYSCALL(setgid) \
|
||||
__ENUMERATE_SYSCALL(setreuid) \
|
||||
__ENUMERATE_SYSCALL(setregid) \
|
||||
__ENUMERATE_SYSCALL(setresuid) \
|
||||
__ENUMERATE_SYSCALL(setresgid) \
|
||||
__ENUMERATE_SYSCALL(alarm) \
|
||||
|
|
|
@ -491,18 +491,6 @@ int setgid(gid_t gid)
|
|||
__RETURN_WITH_ERRNO(rc, rc, -1);
|
||||
}
|
||||
|
||||
int setreuid(uid_t ruid, uid_t euid)
|
||||
{
|
||||
int rc = syscall(SC_setreuid, ruid, euid);
|
||||
__RETURN_WITH_ERRNO(rc, rc, -1);
|
||||
}
|
||||
|
||||
int setregid(gid_t rgid, gid_t egid)
|
||||
{
|
||||
int rc = syscall(SC_setregid, rgid, egid);
|
||||
__RETURN_WITH_ERRNO(rc, rc, -1);
|
||||
}
|
||||
|
||||
int setresuid(uid_t ruid, uid_t euid, uid_t suid)
|
||||
{
|
||||
int rc = syscall(SC_setresuid, ruid, euid, suid);
|
||||
|
|
|
@ -92,8 +92,6 @@ int seteuid(uid_t);
|
|||
int setegid(gid_t);
|
||||
int setuid(uid_t);
|
||||
int setgid(gid_t);
|
||||
int setreuid(uid_t, uid_t);
|
||||
int setregid(gid_t, gid_t);
|
||||
int setresuid(uid_t, uid_t, uid_t);
|
||||
int setresgid(gid_t, gid_t, gid_t);
|
||||
pid_t tcgetpgrp(int fd);
|
||||
|
|
Loading…
Add table
Reference in a new issue