diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/lib/replace/config.m4 | 3 | ||||
-rw-r--r-- | source4/lib/replace/replace.c | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/source4/lib/replace/config.m4 b/source4/lib/replace/config.m4 index a912675d0f..4dfeb5647a 100644 --- a/source4/lib/replace/config.m4 +++ b/source4/lib/replace/config.m4 @@ -15,4 +15,5 @@ if test x"$samba_cv_REPLACE_INET_NTOA" = x"yes"; then AC_DEFINE(REPLACE_INET_NTOA,1,[Whether inet_ntoa should be replaced]) fi -AC_CHECK_FUNCS(strtoull __strtoull strtouq strtoll __strtoll strtoq seteuid setresuid) +AC_CHECK_FUNCS(strtoull __strtoull strtouq strtoll __strtoll strtoq) +AC_CHECK_FUNCS(seteuid setresuid setegid setresgid) diff --git a/source4/lib/replace/replace.c b/source4/lib/replace/replace.c index ae70634215..ef8e053257 100644 --- a/source4/lib/replace/replace.c +++ b/source4/lib/replace/replace.c @@ -515,3 +515,14 @@ int sys_waitpid(pid_t pid,int *status,int options) #endif } #endif + +#ifndef HAVE_SETEGID + int setegid(gid_t egid) +{ +#ifdef HAVE_SETRESGID + return setresgid(-1, egid, -1); +#else +# error "You need a setegid function" +#endif +} +#endif |