1 /* Public domain. */ 2 3 #include "hasshsgr.h" 4 #include "prot.h" 5 prot_gid(gid_t gid)6int prot_gid(gid_t gid) 7 { 8 #ifdef HASSHORTSETGROUPS 9 short x[2]; 10 x[0] = gid; x[1] = 73; /* catch errors */ 11 if (setgroups(1,x) == -1) return -1; 12 #else 13 if (setgroups(1,&gid) == -1) return -1; 14 #endif 15 return setgid(gid); /* _should_ be redundant, but on some systems it isn't */ 16 } 17 prot_uid(uid_t uid)18int prot_uid(uid_t uid) 19 { 20 return setuid(uid); 21 } 22