1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-02 09:47:23 +03:00

uid_wrapper: Add uwrap_setresuid().

Autobuild-User: Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date: Fri Oct  7 12:04:05 CEST 2011 on sn-devel-104
This commit is contained in:
Andreas Schneider 2011-10-07 10:30:23 +02:00 committed by Andreas Schneider
parent 17f1276fea
commit 4493c578b0
2 changed files with 17 additions and 0 deletions

View File

@ -84,6 +84,17 @@ _PUBLIC_ int uwrap_setreuid(uid_t ruid, uid_t euid)
return 0;
}
_PUBLIC_ int uwrap_setresuid(uid_t ruid, uid_t euid, uid_t suid)
{
uwrap_init();
if (!uwrap.enabled) {
return setresuid(ruid, euid, suid);
}
/* assume for now that the ruid stays as root */
uwrap.euid = euid;
return 0;
}
_PUBLIC_ uid_t uwrap_geteuid(void)
{
uwrap_init();

View File

@ -22,6 +22,7 @@
int uwrap_enabled(void);
int uwrap_seteuid(uid_t euid);
int uwrap_setreuid(uid_t reuid, uid_t euid);
int uwrap_setresuid(uid_t reuid, uid_t euid, uid_t suid);
uid_t uwrap_geteuid(void);
int uwrap_setegid(gid_t egid);
int uwrap_setregid(gid_t egid);
@ -41,6 +42,11 @@ gid_t uwrap_getgid(void);
#endif
#define setreuid uwrap_setreuid
#ifdef setresuid
#undef setresuid
#endif
#define setresuid uwrap_setresuid
#ifdef setegid
#undef setegid
#endif