summaryrefslogtreecommitdiff
path: root/lib/uid_wrapper/uid_wrapper.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/uid_wrapper/uid_wrapper.c')
-rw-r--r--lib/uid_wrapper/uid_wrapper.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/uid_wrapper/uid_wrapper.c b/lib/uid_wrapper/uid_wrapper.c
index 05d226b034..091678f27b 100644
--- a/lib/uid_wrapper/uid_wrapper.c
+++ b/lib/uid_wrapper/uid_wrapper.c
@@ -73,6 +73,17 @@ _PUBLIC_ int uwrap_seteuid(uid_t euid)
return 0;
}
+_PUBLIC_ int uwrap_setreuid(uid_t ruid, uid_t euid)
+{
+ uwrap_init();
+ if (!uwrap.enabled) {
+ return setreuid(ruid, euid);
+ }
+ /* assume for now that the ruid stays as root */
+ uwrap.euid = euid;
+ return 0;
+}
+
_PUBLIC_ uid_t uwrap_geteuid(void)
{
uwrap_init();