From 220534453eecc2c07ad710d72268aafd20b83138 Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 8 May 2015 23:07:47 -0400 Subject: initial commit --- prot.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 prot.c (limited to 'prot.c') diff --git a/prot.c b/prot.c new file mode 100644 index 0000000..79a88c5 --- /dev/null +++ b/prot.c @@ -0,0 +1,21 @@ +/* Public domain. */ + +#include "hasshsgr.h" +#include "prot.h" + +int prot_gid(int gid) +{ +#ifdef HASSHORTSETGROUPS + short x[2]; + x[0] = gid; x[1] = 73; /* catch errors */ + if (setgroups(1,x) == -1) return -1; +#else + if (setgroups(1,&gid) == -1) return -1; +#endif + return setgid(gid); /* _should_ be redundant, but on some systems it isn't */ +} + +int prot_uid(int uid) +{ + return setuid(uid); +} -- cgit v1.2.3