From ad8319e7f8f09d328e37374fe0e71c64782fd9aa Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 5 Aug 2015 20:56:28 -0700 Subject: Adding support for uid and gid manipulation. * configure: Added check for geteuid and related functions. * sysif.c (getuid_wrap, geteuid_wrap, getgid_wrap, getegid_wrap, getgroups_wrap, setuid_wrap, seteuid_wrap, setgid_wrap, setegid_wrap): New static functions. (sysif_init): Register intrinsics getuid, geteuid, getgid, getegid, getgroups, setuid, seteuid, setgid, setegid. * txr.1: Documented new functions. --- configure | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'configure') diff --git a/configure b/configure index ccd4b927..56d6b59d 100755 --- a/configure +++ b/configure @@ -2019,6 +2019,35 @@ else printf "no\n" fi +printf "Checking for POSIX geteuid function family ... " + +cat > conftest.c < +#include + +int main(int argc, char **argv) +{ + uid_t u = getuid(); + uid_t e = geteuid(); + gid_t g = getgid(); + gid_t h = getegid(); + setuid(u); + seteuid(e); + setgid(g); + setegid(h); + getgroups(0, NULL); + return 0; +} +! + +if conftest ; then + printf "yes\n" + printf "#define HAVE_GETEUID 1\n" >> $config_h + have_unistd=y +else + printf "no\n" +fi + # # Dependent variables # -- cgit v1.2.3