From 9a8c988082282f920ccdd6257abe678dfb1aa7c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Tue, 3 Mar 1998 13:29:53 +0100 Subject: [PATCH] Added support for setresuid() in create_process(). Rev: src/signal_handler.c:1.36 --- src/signal_handler.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/signal_handler.c b/src/signal_handler.c index 1892625acf..c3f6297405 100644 --- a/src/signal_handler.c +++ b/src/signal_handler.c @@ -618,12 +618,14 @@ static HANDLE get_inheritable_handle(struct mapping *optional, * * only on UNIX: * - * uid int - * gid int - * nice int + * uid int + * gid int + * nice int + * noinitgroups int + * setgroups array(int) * * FIXME: - * Support for setresuid() and setresgid(). + * Support for setresgid(). */ #ifdef HAVE_GETPWENT @@ -886,7 +888,11 @@ void f_create_process(INT32 args) #ifdef HAVE_SETEUID seteuid(0); -#endif +#else /* !HAVE_SETEUID */ +#ifdef HAVE_SETRESUID + setresuid(0,0,-1); +#endif /* HAVE_SETRESUID */ +#endif /* HAVE_SETEUID */ if(optional) { @@ -1126,7 +1132,11 @@ void f_create_process(INT32 args) #ifdef HAVE_SETEUID seteuid(wanted_uid); -#endif +#else /* !HAVE_SETEUID */ +#ifdef HAVE_SETRESUID + setresuid(wanted_uid, wanted_uid, -1); +#endif /* HAVE_SETRESUID */ +#endif /* HAVE_SETEUID */ my_set_close_on_exec(0,0); my_set_close_on_exec(1,0); -- GitLab