mirror of
https://github.com/RGBCube/serenity
synced 2025-07-22 22:37:40 +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
5 changed files with 0 additions and 60 deletions
|
@ -2187,48 +2187,6 @@ int Process::sys$setgid(gid_t gid)
|
||||||
return 0;
|
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)
|
int Process::sys$setresuid(uid_t ruid, uid_t euid, uid_t suid)
|
||||||
{
|
{
|
||||||
REQUIRE_PROMISE(id);
|
REQUIRE_PROMISE(id);
|
||||||
|
|
|
@ -249,8 +249,6 @@ public:
|
||||||
int sys$setegid(gid_t);
|
int sys$setegid(gid_t);
|
||||||
int sys$setuid(uid_t);
|
int sys$setuid(uid_t);
|
||||||
int sys$setgid(gid_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$setresuid(uid_t, uid_t, uid_t);
|
||||||
int sys$setresgid(gid_t, gid_t, gid_t);
|
int sys$setresgid(gid_t, gid_t, gid_t);
|
||||||
unsigned sys$alarm(unsigned seconds);
|
unsigned sys$alarm(unsigned seconds);
|
||||||
|
|
|
@ -98,8 +98,6 @@ namespace Kernel {
|
||||||
__ENUMERATE_SYSCALL(setegid) \
|
__ENUMERATE_SYSCALL(setegid) \
|
||||||
__ENUMERATE_SYSCALL(setuid) \
|
__ENUMERATE_SYSCALL(setuid) \
|
||||||
__ENUMERATE_SYSCALL(setgid) \
|
__ENUMERATE_SYSCALL(setgid) \
|
||||||
__ENUMERATE_SYSCALL(setreuid) \
|
|
||||||
__ENUMERATE_SYSCALL(setregid) \
|
|
||||||
__ENUMERATE_SYSCALL(setresuid) \
|
__ENUMERATE_SYSCALL(setresuid) \
|
||||||
__ENUMERATE_SYSCALL(setresgid) \
|
__ENUMERATE_SYSCALL(setresgid) \
|
||||||
__ENUMERATE_SYSCALL(alarm) \
|
__ENUMERATE_SYSCALL(alarm) \
|
||||||
|
|
|
@ -491,18 +491,6 @@ int setgid(gid_t gid)
|
||||||
__RETURN_WITH_ERRNO(rc, rc, -1);
|
__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 setresuid(uid_t ruid, uid_t euid, uid_t suid)
|
||||||
{
|
{
|
||||||
int rc = syscall(SC_setresuid, ruid, euid, suid);
|
int rc = syscall(SC_setresuid, ruid, euid, suid);
|
||||||
|
|
|
@ -92,8 +92,6 @@ int seteuid(uid_t);
|
||||||
int setegid(gid_t);
|
int setegid(gid_t);
|
||||||
int setuid(uid_t);
|
int setuid(uid_t);
|
||||||
int setgid(gid_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 setresuid(uid_t, uid_t, uid_t);
|
||||||
int setresgid(gid_t, gid_t, gid_t);
|
int setresgid(gid_t, gid_t, gid_t);
|
||||||
pid_t tcgetpgrp(int fd);
|
pid_t tcgetpgrp(int fd);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue